+++ /dev/null
-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
- - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.
- - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]
- <https://github.com/OpenNetworkingFoundation/EagleUmlYang>
- and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]
- <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines>
- - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.
- As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.
- - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.
- The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>.
- YANG models included in this release may not be backward compatible with previous TAPI releases.
- Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
- License: This module is distributed under the Apache License 2.0";
- revision 2018-12-10 {
- description "ONF Transport API version 2.1.1.
- Changes included in this TAPI release (v2.1.1) are listed in
- <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.1.md>";
- reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
- }
- revision 2018-10-16 {
- description "ONF Transport API version 2.1.0.
- Changes included in this TAPI release (v2.1.0) are listed in
- <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
- reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
- }
- 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" {
- container oam-context {
- uses oam-context;
- description "Augments the base TAPI Context with OamService information";
- }
- description "Augments the base TAPI Context with OamService information";
- }
- augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" {
- container mep-mip-list {
- uses mep-mip-list;
- description "none";
- }
- description "none";
- }
-
- /**************************
- * definitions of references
- **************************/
- grouping oam-service-ref {
- leaf oam-service-uuid {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-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-local-id {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';
- }
- description "none";
- }
- description "none";
- }
- grouping meg-ref {
- leaf meg-uuid {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:uuid';
- }
- description "none";
- }
- description "none";
- }
- grouping maintenance-entity-ref {
- uses meg-ref;
- leaf maintenance-entity-local-id {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
- }
- description "none";
- }
- description "none";
- }
- grouping mep-ref {
- uses meg-ref;
- leaf mep-local-id {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
- }
- description "none";
- }
- description "none";
- }
- grouping mip-ref {
- uses meg-ref;
- leaf mip-local-id {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
- }
- description "none";
- }
- description "none";
- }
- grouping oam-job-ref {
- leaf oam-job-uuid {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:uuid';
- }
- description "none";
- }
- description "none";
- }
- grouping pm-current-data-ref {
- uses oam-job-ref;
- leaf pm-current-data-local-id {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:local-id';
- }
- description "none";
- }
- description "none";
- }
- grouping pm-history-data-ref {
- uses pm-current-data-ref;
- leaf pm-history-data-local-id {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data/tapi-oam:local-id';
- }
- description "none";
- }
- description "none";
- }
- grouping oam-profile-ref {
- leaf oam-profile-uuid {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:uuid';
- }
- description "none";
- }
- description "none";
- }
- grouping pm-threshold-data-ref {
- uses oam-profile-ref;
- leaf pm-threshold-data-local-id {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data/tapi-oam:local-id';
- }
- description "none";
- }
- description "none";
- }
- grouping pm-bin-data-ref {
- uses oam-profile-ref;
- leaf pm-bin-data-local-id {
- type leafref {
- path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-bin-data/tapi-oam:local-id';
- }
- description "none";
- }
- description "none";
- }
-
- /**************************
- * package object-classes
- **************************/
- grouping mep {
- leaf layer-protocol-name {
- type tapi-common:layer-protocol-name;
- config false;
- description "none";
- }
- leaf direction {
- type tapi-common:termination-direction;
- 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";
- }
- uses tapi-common:local-class;
- uses tapi-common:operational-state-pac;
- description "none";
- }
- grouping oam-job {
- list oam-service-end-point {
- uses oam-service-end-point-ref;
- key 'oam-service-uuid oam-service-end-point-local-id';
- min-elements 1;
- description "none";
- }
- container oam-profile {
- uses oam-profile-ref;
- description "none";
- }
- list pm-current-data {
- key 'local-id';
- config false;
- uses pm-current-data;
- description "Granularity period of the CurrentData identifies the specific CurrentData instance in the scope of this OamJob.
- For example, typically at least
- one 15min and
- one 24hr;
- optionally one additional configurable (< 15min)";
- }
- leaf oam-job-type {
- type oam-job-type;
- description "none";
- }
- container schedule {
- uses tapi-common:time-range;
- description "none";
- }
- leaf creation-time {
- type tapi-common:date-and-time;
- config false;
- description "none";
- }
- uses tapi-common:global-class;
- uses tapi-common:admin-state-pac;
- description "none";
- }
- grouping meg {
- 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 layer-protocol-name {
- type tapi-common:layer-protocol-name;
- config false;
- description "none";
- }
- leaf direction {
- type tapi-common:forwarding-direction;
- config false;
- description "none";
- }
- leaf meg-level {
- type uint64;
- config false;
- description "none";
- }
- leaf meg-identifier {
- type string;
- config false;
- description "none";
- }
- uses tapi-common:resource-spec;
- uses tapi-common:operational-state-pac;
- 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 {
- list end-point {
- key 'local-id';
- min-elements 2;
- uses oam-service-end-point;
- description "none";
- }
- container meg {
- uses meg-ref;
- config false;
- description "none";
- }
- container oam-profile {
- uses oam-profile-ref;
- description "none";
- }
- uses tapi-common:service-spec;
- uses tapi-common:admin-state-pac;
- uses oam-constraint;
- 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";
- }
- list oam-job {
- key 'uuid';
- uses oam-job;
- description "none";
- }
- list oam-profile {
- key 'uuid';
- uses oam-profile;
- 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";
- }
- container mep {
- uses mep-ref;
- config false;
- description "none";
- }
- container mip {
- uses mip-ref;
- config false;
- description "none";
- }
- leaf layer-protocol-name {
- type tapi-common:layer-protocol-name;
- description "none";
- }
- leaf direction {
- type tapi-common:port-direction;
- description "none";
- }
- leaf mep-identifier {
- type string;
- description "This attribute contains the identifier of the MEP.
- This attribute is empty in case the OSEP relates to the provisioing of an MIP.
- ";
- }
- leaf-list peer-mep-identifier {
- type string;
- description "This attribute models the MI_PeerMEP_ID[i] defined in G.8021 and configured as specified in G.8051. It provides the identifiers of the MEPs which are peer to the subject MEP.
- This attribute is not specified in case the OSEP relates to the provisioing of an MIP.
- In case of P2P, there is only one peer";
- }
- uses tapi-common:local-class;
- uses tapi-common:admin-state-pac;
- description "none";
- }
- grouping mep-mip-list {
- list mip {
- uses mip-ref;
- key 'meg-uuid mip-local-id';
- description "none";
- }
- list mep {
- uses mep-ref;
- key 'meg-uuid mep-local-id';
- description "none";
- }
- description "none";
- }
- grouping oam-constraint {
- leaf layer-protocol-name {
- type tapi-common:layer-protocol-name;
- description "none";
- }
- leaf direction {
- type tapi-common:forwarding-direction;
- description "none";
- }
- leaf meg-level {
- type uint64;
- description "none";
- }
- description "none";
- }
- grouping pm-current-data {
- list pm-history-data {
- key 'local-id';
- config false;
- uses pm-history-data;
- description "in case of 24hr Current Data, at least 1 History Data.
- In case of 15min Current Data, at least 16 History Data.
- In case of <15min, the number of History Data shall be able to cover a span of 4 hours.";
- }
- container granularity-period {
- uses tapi-common:time-period;
- description "none";
- }
- leaf timestamp {
- type tapi-common:date-and-time;
- config false;
- description "This attribute indicates the start of the current monitoring interval.
- The value is bound to the quarter of an hour in case of a 15 minute interval and bound to the hour in case of a 24 hour interval.";
- }
- container elapsed-time {
- uses tapi-common:time-interval;
- description "none";
- }
- leaf suspect-interval-flag {
- type boolean;
- description "This attribute is used to indicate that the performance data for the current period may not be reliable. Some reasons for this to occur are:
- – Suspect data were detected by the actual resource doing data collection.
- – Transition of the administrativeState attribute to/from the 'lock' state.
- – Transition of the operationalState to/from the 'disabled' state.
- – Scheduler setting that inhibits the collection function.
- – The performance counters were reset during the interval.
- – The currentData (or subclass) object instance was created during the monitoring period.";
- }
- uses tapi-common:local-class;
- description "none";
- }
- grouping pm-history-data {
- container granularity-period {
- uses tapi-common:time-period;
- description "none";
- }
- leaf period-end-time {
- type tapi-common:date-and-time;
- description "none";
- }
- leaf suspect-interval-flag {
- type boolean;
- config false;
- description "This attribute indicates that the performance data may not be reliable.";
- }
- uses tapi-common:local-class;
- description "none";
- }
- grouping oam-profile {
- list pm-threshold-data {
- key 'local-id';
- min-elements 1;
- uses pm-threshold-data;
- description "none";
- }
- list pm-bin-data {
- key 'local-id';
- min-elements 1;
- uses pm-bin-data;
- description "none";
- }
- uses tapi-common:global-class;
- description "none";
- }
- grouping pm-threshold-data {
- container granularity-period {
- uses tapi-common:time-period;
- description "none";
- }
- leaf is-transient {
- type boolean;
- description "none";
- }
- uses tapi-common:local-class;
- description "none";
- }
- grouping pm-bin-data {
- container granularity-period {
- uses tapi-common:time-period;
- description "none";
- }
- uses tapi-common:local-class;
- description "none";
- }
-
- /**************************
- * package type-definitions
- **************************/
- identity OAM_JOB_TYPE {
- description "none";
- }
- typedef oam-job-type {
- type identityref {
- base OAM_JOB_TYPE;
- }
- description "none";
- }
-
- /**************************
- * package interfaces
- **************************/
- rpc create-oam-service {
- description "none";
- input {
- list end-point {
- key 'local-id';
- min-elements 2;
- uses oam-service-end-point;
- description "none";
- }
- container oam-constraint {
- uses oam-constraint;
- description "none";
- }
- leaf state {
- type string;
- description "none";
- }
- }
- output {
- container service {
- uses oam-service;
- description "none";
- }
- }
- }
- rpc delete-oam-service {
- description "none";
- input {
- leaf service-id {
- type string;
- description "none";
- }
- }
- }
- rpc get-oam-service {
- description "none";
- input {
- leaf service-id {
- type string;
- description "none";
- }
- }
- output {
- container service {
- uses oam-service;
- description "none";
- }
- }
- }
- rpc create-oam-job {
- description "none";
- input {
- leaf oam-job-type {
- type oam-job-type;
- description "none";
- }
- list oam-service-end-point {
- key 'local-id';
- min-elements 2;
- uses oam-service-end-point;
- description "none";
- }
- container oam-profile {
- uses oam-profile;
- description "none";
- }
- leaf state {
- type string;
- description "none";
- }
- leaf schedule {
- type string;
- description "none";
- }
- }
- output {
- container oam-job {
- uses oam-job;
- description "none";
- }
- }
- }
- rpc get-oam-job {
- description "none";
- input {
- leaf job-id {
- type string;
- description "none";
- }
- }
- output {
- container oam-job {
- uses oam-job;
- description "none";
- }
- }
- }
- rpc get-oam-service-list {
- description "none";
- output {
- list service {
- key 'uuid';
- uses oam-service;
- description "none";
- }
- }
- }
- rpc get-meg {
- description "none";
- input {
- leaf service-id {
- type string;
- description "none";
- }
- }
- output {
- container meg {
- uses meg;
- description "none";
- }
- }
- }
- rpc update-oam-service {
- description "none";
- input {
- leaf service-id {
- type string;
- description "none";
- }
- list end-point {
- key 'local-id';
- uses oam-service-end-point;
- description "none";
- }
- container oam-constraint {
- uses oam-constraint;
- description "none";
- }
- leaf state {
- type string;
- description "none";
- }
- }
- output {
- container service {
- uses oam-service;
- description "none";
- }
- }
- }
- rpc delete-oam-job {
- description "none";
- input {
- leaf job-id {
- type string;
- description "none";
- }
- }
- }
- rpc update-oam-job {
- description "none";
- input {
- leaf job-id {
- type string;
- description "none";
- }
- container oam-profile {
- uses oam-profile;
- description "none";
- }
- leaf state {
- type string;
- description "none";
- }
- leaf schedule {
- type string;
- description "none";
- }
- }
- output {
- container oam-job {
- uses oam-job;
- description "none";
- }
- }
- }
- rpc create-oam-service-end-point {
- description "none";
- input {
- leaf service-id {
- type string;
- description "none";
- }
- leaf sip-id {
- type string;
- description "none";
- }
- leaf c-sep-id {
- type string;
- description "none";
- }
- leaf layer {
- type string;
- description "none";
- }
- leaf direction {
- type string;
- description "none";
- }
- leaf state {
- type string;
- description "none";
- }
- leaf mep-identifier {
- type string;
- description "none";
- }
- leaf-list peer-mep-identifier {
- type string;
- description "none";
- }
- }
- output {
- container end-point {
- uses oam-service-end-point;
- description "none";
- }
- }
- }
- rpc delete-oam-service-end-point {
- description "none";
- input {
- leaf service-id {
- type string;
- description "none";
- }
- leaf o-sep-id {
- type string;
- description "none";
- }
- }
- }
- rpc update-oam-service-end-point {
- description "none";
- input {
- leaf service-id {
- type string;
- description "none";
- }
- leaf o-sep-id {
- type string;
- description "none";
- }
- leaf state {
- type string;
- description "none";
- }
- }
- output {
- container end-point {
- uses oam-service-end-point;
- description "none";
- }
- }
- }
- rpc get-oam-service-end-point {
- description "none";
- input {
- leaf service-id {
- type string;
- description "none";
- }
- leaf o-sep-id {
- type string;
- description "none";
- }
- }
- output {
- container end-point {
- uses oam-service-end-point;
- description "none";
- }
- }
- }
-}