blob: f6205712d135ff6d1a9d526efc000c2e7ade1262 [file] [log] [blame]
module tapi-oam {
namespace "urn:onf:otcc:yang:tapi-oam";
prefix tapi-oam;
import tapi-common {
prefix tapi-common;
}
import tapi-connectivity {
prefix tapi-connectivity;
}
import tapi-topology {
prefix tapi-topology;
}
organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
<mailto:karthik.sethuraman@necam.com>";
description "
This module contains TAPI OAM Model definitions.
Source: TapiOam.uml
Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
License: This module is distributed under the Apache License 2.0";
revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool version .
<https://wiki.opennetworking.org/display/OIMT/IISOMI>
Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
<https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
}
augment "/tapi-common:context" {
uses oam-context;
description "Augments the base TAPI Context with OamService information";
}
augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
uses mep-mip-list;
description "none";
}
augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
uses mep-mip-list;
description "none";
}
/***********************
* package object-classes
**********************/
grouping mep {
leaf-list on-demand-measurement-job {
type leafref {
path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:on-demand-measurement-job/tapi-oam:local-id';
}
config false;
description "none";
}
leaf-list pro-active-measurement-job {
type leafref {
path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:pro-active-measurement-job/tapi-oam:local-id';
}
config false;
description "none";
}
leaf layer-protocol-name {
type tapi-common:layer-protocol-name;
config false;
description "none";
}
leaf meg-identifier {
type string;
config false;
description "none";
}
leaf mep-identifier {
type string;
config false;
description "none";
}
leaf-list peer-mep-identifier {
type string;
config false;
min-elements 1;
description "none";
}
leaf monitored-direction {
type tapi-common:termination-direction;
description "none";
}
uses tapi-common:local-class;
description "none";
}
grouping on-demand-measurement-job {
uses tapi-common:local-class;
uses tapi-common:admin-state-pac;
description "none";
}
grouping pro-active-measurement-job {
uses tapi-common:local-class;
uses tapi-common:admin-state-pac;
description "none";
}
grouping meg {
list me {
key 'local-id';
config false;
min-elements 1;
uses me;
description "none";
}
list mep {
key 'local-id';
config false;
uses mep;
description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
3. ME may have 2 MEPs";
}
list mip {
key 'local-id';
config false;
uses mip;
description "ME may 0, 1, or more MIPs";
}
leaf meg-level {
type uint64;
config false;
description "none";
}
uses tapi-common:resource-spec;
description "none";
}
grouping me {
leaf-list mep {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
}
config false;
max-elements 2;
description "none";
}
leaf-list mip {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
}
config false;
description "none";
}
leaf connection-route {
type leafref {
path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id';
}
config false;
description "none";
}
uses tapi-common:local-class;
description "none";
}
grouping mip {
leaf layer-protocol-name {
type tapi-common:layer-protocol-name;
config false;
description "none";
}
uses tapi-common:local-class;
description "none";
}
grouping oam-service {
leaf meg {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';
}
config false;
description "none";
}
list end-point {
key 'local-id';
min-elements 1;
uses oam-service-end-point;
description "none";
}
uses tapi-common:service-spec;
description "none";
}
grouping oam-context {
list oam-service {
key 'uuid';
uses oam-service;
description "none";
}
list meg {
key 'uuid';
config false;
uses meg;
description "none";
}
description "none";
}
grouping oam-service-end-point {
leaf service-interface-point {
type leafref {
path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
}
description "none";
}
leaf connectivity-service-end-point {
type leafref {
path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id';
}
description "none";
}
list pro-active-measurement-job {
key 'local-id';
uses pro-active-measurement-job;
description "none";
}
list on-demand-measurement-job {
key 'local-id';
uses on-demand-measurement-job;
description "none";
}
leaf associated-mep {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
}
config false;
description "none";
}
leaf direction {
type tapi-common:port-direction;
config false;
description "none";
}
uses tapi-common:local-class;
description "none";
}
grouping mep-mip-list {
leaf-list mip {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
}
description "none";
}
leaf-list mep {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
}
description "none";
}
description "none";
}
/***********************
* package interfaces
**********************/
rpc abort-measurement-job {
description "none";
}
rpc disable-pro-active-measurement-job {
description "none";
}
rpc enable-pro-active-measurement-job {
description "none";
}
rpc establish-measurement-job {
description "none";
}
rpc get-contained-measurement-jobs {
description "none";
}
rpc terminate-measurement-job {
description "none";
}
rpc get-all-contained-meg {
description "none";
}
}