blob: 261f5f03fea87f2fd150a15e5f7dcd67b8567182 [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-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
<https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
}
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.
Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
<https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
}
revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
<https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/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";
}
/*************************
* definitions of references
*************************/
grouping oam-service-ref {
leaf oam-service-id {
type leafref {
path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:uuid';
}
description "none";
}
description "none";
}
grouping oam-service-end-point-ref {
uses oam-service-ref;
leaf oam-service-end-point-id {
type leafref {
path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';
}
description "none";
}
description "none";
}
grouping meg-ref {
leaf meg-id {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';
}
description "none";
}
description "none";
}
grouping mep-ref {
uses meg-ref;
leaf mep-id {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
}
description "none";
}
description "none";
}
grouping mip-ref {
uses meg-ref;
leaf mip-id {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
}
description "none";
}
description "none";
}
grouping me-ref {
uses meg-ref;
leaf me-id {
type leafref {
path '/tapi-common:context/tapi-oam:meg/tapi-oam:me/tapi-oam:local-id';
}
description "none";
}
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 {
list mep {
uses mep-ref;
key 'meg-id mep-id';
config false;
max-elements 2;
description "none";
}
list mip {
uses mip-ref;
key 'meg-id mip-id';
config false;
description "none";
}
container connection-route {
uses tapi-connectivity:route-ref;
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 {
container meg {
uses meg-ref;
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 {
container service-interface-point {
uses tapi-common:service-interface-point-ref;
description "none";
}
container connectivity-service-end-point {
uses tapi-connectivity:connectivity-service-end-point-ref;
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";
}
container associated-mep {
uses mep-ref;
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 {
list mip {
uses mip-ref;
key 'meg-id mip-id';
description "none";
}
list mep {
uses mep-ref;
key 'meg-id mep-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";
}
}