--- /dev/null
+module tapi-oam {\r
+ namespace "urn:onf:otcc:yang:tapi-oam";\r
+ prefix tapi-oam;\r
+ import tapi-common {\r
+ prefix tapi-common;\r
+ }\r
+ import tapi-connectivity {\r
+ prefix tapi-connectivity;\r
+ }\r
+ import tapi-topology {\r
+ prefix tapi-topology;\r
+ }\r
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+ contact "\r
+ Project Web: <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OTCC/TAPI__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G39KDEbL$ >\r
+ Project List: <mailto:transport-api@opennetworking.org>\r
+ Editor: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>\r
+ Andrea Mazzini <mailto:andrea.mazzini@nokia.com>\r
+ Arturo Mayoral <mailto:arturo.mayoral@telefonica.com>\r
+ Nigel Davis <mailto:ndavis@ciena.com>";\r
+ description "\r
+ This module contains TAPI OAM Model definitions.\r
+ Source: TapiOam.uml\r
+ - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.\r
+ - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/EagleUmlYang__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G4QHf0bG$ >\r
+ and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]\r
+ <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OIMT/UML*-*YANG*Guidelines__;Kysr!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G8IIivez$ >\r
+ - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.\r
+ As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.\r
+ - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.\r
+ The YANG model backward compatibility criteria are outlined in section 11 of <https://urldefense.com/v3/__https://tools.ietf.org/html/rfc7950__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G3bKxRf2$ >.\r
+ YANG models included in this release may not be backward compatible with previous TAPI releases.\r
+ Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
+ License: This module is distributed under the Apache License 2.0";\r
+ revision 2020-04-23 {\r
+ description "ONF Transport API version 2.1.3.\r
+ Changes included in this TAPI release (v2.1.3) are listed in\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop_v2_1/CHANGE_LOG/change-log.2.1.3.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7tqhxFK$ >";\r
+ reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
+ }\r
+ revision 2019-07-16 {\r
+ description "ONF Transport API version 2.1.2.\r
+ Changes included in this TAPI release (v2.1.2) are listed in\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop_v2_1/CHANGE_LOG/change-log.2.1.2.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7eDS6-t$ >";\r
+ reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
+ }\r
+ revision 2018-12-10 {\r
+ description "ONF Transport API version 2.1.1.\r
+ Changes included in this TAPI release (v2.1.1) are listed in\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.1.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1ftwU5J$ >";\r
+ reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
+ }\r
+ revision 2018-10-16 {\r
+ description "ONF Transport API version 2.1.0.\r
+ Changes included in this TAPI release (v2.1.0) are listed in\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G-5JStw4$ >";\r
+ reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";\r
+ }\r
+ revision 2018-03-07 {\r
+ description "ONF Transport API version 2.0.2\r
+ This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
+ Changes in this revision: <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1Yf4AAN$ >";\r
+ reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G27-pJK_$ >";\r
+ }\r
+ revision 2018-02-16 {\r
+ description "ONF Transport API version 2.0.1\r
+ This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
+ Changes in this revision: <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G8RnGvXg$ >";\r
+ reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6Gy6YoeAv$ >";\r
+ }\r
+ revision 2018-01-02 {\r
+ description "ONF Transport API version 2.0.0\r
+ This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.\r
+ Changes in this revision: <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6GyqYDgG_$ >";\r
+ reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model\r
+ <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1V9Thk9$ >";\r
+ }\r
+ augment "/tapi-common:context" {\r
+ container oam-context {\r
+ uses oam-context;\r
+ description "Augments the base TAPI Context with OamService information";\r
+ }\r
+ description "Augments the base TAPI Context with OamService information";\r
+ }\r
+ 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" {\r
+ container mep-mip-list {\r
+ uses mep-mip-list;\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+\r
+ /**************************\r
+ * definitions of references\r
+ **************************/\r
+ grouping oam-service-ref {\r
+ leaf oam-service-uuid {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:uuid';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping oam-service-end-point-ref {\r
+ uses oam-service-ref;\r
+ leaf oam-service-end-point-local-id {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping meg-ref {\r
+ leaf meg-uuid {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:uuid';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping maintenance-entity-ref {\r
+ uses meg-ref;\r
+ leaf maintenance-entity-local-id {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:me/tapi-oam:local-id';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping mep-ref {\r
+ uses meg-ref;\r
+ leaf mep-local-id {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping mip-ref {\r
+ uses meg-ref;\r
+ leaf mip-local-id {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping oam-job-ref {\r
+ leaf oam-job-uuid {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:uuid';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping pm-current-data-ref {\r
+ uses oam-job-ref;\r
+ leaf pm-current-data-local-id {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:local-id';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping pm-history-data-ref {\r
+ uses pm-current-data-ref;\r
+ leaf pm-history-data-local-id {\r
+ type leafref {\r
+ 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';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping oam-profile-ref {\r
+ leaf oam-profile-uuid {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:uuid';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping pm-threshold-data-ref {\r
+ uses oam-profile-ref;\r
+ leaf pm-threshold-data-local-id {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data/tapi-oam:local-id';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping pm-bin-data-ref {\r
+ uses oam-profile-ref;\r
+ leaf pm-bin-data-local-id {\r
+ type leafref {\r
+ path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-bin-data/tapi-oam:local-id';\r
+ }\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+\r
+ /**************************\r
+ * package object-classes\r
+ **************************/\r
+ grouping mep {\r
+ leaf layer-protocol-name {\r
+ type tapi-common:layer-protocol-name;\r
+ config false;\r
+ description "none";\r
+ }\r
+ leaf direction {\r
+ type tapi-common:termination-direction;\r
+ config false;\r
+ description "none";\r
+ }\r
+ leaf mep-identifier {\r
+ type string;\r
+ config false;\r
+ description "none";\r
+ }\r
+ leaf-list peer-mep-identifier {\r
+ type string;\r
+ config false;\r
+ min-elements 1;\r
+ description "none";\r
+ }\r
+ uses tapi-common:local-class;\r
+ uses tapi-common:operational-state-pac;\r
+ description "none";\r
+ }\r
+ grouping oam-job {\r
+ list oam-service-end-point {\r
+ uses oam-service-end-point-ref;\r
+ key 'oam-service-uuid oam-service-end-point-local-id';\r
+ min-elements 1;\r
+ description "none";\r
+ }\r
+ container oam-profile {\r
+ uses oam-profile-ref;\r
+ description "none";\r
+ }\r
+ list pm-current-data {\r
+ key 'local-id';\r
+ config false;\r
+ uses pm-current-data;\r
+ description "Granularity period of the CurrentData identifies the specific CurrentData instance in the scope of this OamJob.\r
+ For example, typically at least\r
+ one 15min and\r
+ one 24hr;\r
+ optionally one additional configurable (< 15min)";\r
+ }\r
+ leaf oam-job-type {\r
+ type oam-job-type;\r
+ description "none";\r
+ }\r
+ container schedule {\r
+ uses tapi-common:time-range;\r
+ description "none";\r
+ }\r
+ leaf creation-time {\r
+ type tapi-common:date-and-time;\r
+ config false;\r
+ description "none";\r
+ }\r
+ uses tapi-common:global-class;\r
+ uses tapi-common:admin-state-pac;\r
+ description "none";\r
+ }\r
+ grouping meg {\r
+ list mep {\r
+ key 'local-id';\r
+ config false;\r
+ uses mep;\r
+ description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)\r
+ 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)\r
+ 3. ME may have 2 MEPs";\r
+ }\r
+ list mip {\r
+ key 'local-id';\r
+ config false;\r
+ uses mip;\r
+ description "ME may 0, 1, or more MIPs";\r
+ }\r
+ leaf layer-protocol-name {\r
+ type tapi-common:layer-protocol-name;\r
+ config false;\r
+ description "none";\r
+ }\r
+ leaf direction {\r
+ type tapi-common:forwarding-direction;\r
+ config false;\r
+ description "none";\r
+ }\r
+ leaf meg-level {\r
+ type uint64;\r
+ config false;\r
+ description "none";\r
+ }\r
+ leaf meg-identifier {\r
+ type string;\r
+ config false;\r
+ description "none";\r
+ }\r
+ uses tapi-common:resource-spec;\r
+ uses tapi-common:operational-state-pac;\r
+ description "none";\r
+ }\r
+ grouping mip {\r
+ leaf layer-protocol-name {\r
+ type tapi-common:layer-protocol-name;\r
+ config false;\r
+ description "none";\r
+ }\r
+ uses tapi-common:local-class;\r
+ description "none";\r
+ }\r
+ grouping oam-service {\r
+ list end-point {\r
+ key 'local-id';\r
+ min-elements 2;\r
+ uses oam-service-end-point;\r
+ description "none";\r
+ }\r
+ container meg {\r
+ uses meg-ref;\r
+ config false;\r
+ description "none";\r
+ }\r
+ container oam-profile {\r
+ uses oam-profile-ref;\r
+ description "none";\r
+ }\r
+ uses tapi-common:service-spec;\r
+ uses tapi-common:admin-state-pac;\r
+ uses oam-constraint;\r
+ description "none";\r
+ }\r
+ grouping oam-context {\r
+ list oam-service {\r
+ key 'uuid';\r
+ uses oam-service;\r
+ description "none";\r
+ }\r
+ list meg {\r
+ key 'uuid';\r
+ config false;\r
+ uses meg;\r
+ description "none";\r
+ }\r
+ list oam-job {\r
+ key 'uuid';\r
+ uses oam-job;\r
+ description "none";\r
+ }\r
+ list oam-profile {\r
+ key 'uuid';\r
+ uses oam-profile;\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping oam-service-end-point {\r
+ container service-interface-point {\r
+ uses tapi-common:service-interface-point-ref;\r
+ description "none";\r
+ }\r
+ container connectivity-service-end-point {\r
+ uses tapi-connectivity:connectivity-service-end-point-ref;\r
+ description "none";\r
+ }\r
+ container mep {\r
+ uses mep-ref;\r
+ config false;\r
+ description "none";\r
+ }\r
+ container mip {\r
+ uses mip-ref;\r
+ config false;\r
+ description "none";\r
+ }\r
+ leaf layer-protocol-name {\r
+ type tapi-common:layer-protocol-name;\r
+ description "none";\r
+ }\r
+ leaf direction {\r
+ type tapi-common:port-direction;\r
+ description "none";\r
+ }\r
+ leaf mep-identifier {\r
+ type string;\r
+ description "This attribute contains the identifier of the MEP.\r
+ This attribute is empty in case the OSEP relates to the provisioing of an MIP.\r
+ ";\r
+ }\r
+ leaf-list peer-mep-identifier {\r
+ type string;\r
+ 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.\r
+ This attribute is not specified in case the OSEP relates to the provisioing of an MIP.\r
+ In case of P2P, there is only one peer";\r
+ }\r
+ uses tapi-common:local-class;\r
+ uses tapi-common:admin-state-pac;\r
+ description "none";\r
+ }\r
+ grouping mep-mip-list {\r
+ list mip {\r
+ uses mip-ref;\r
+ key 'meg-uuid mip-local-id';\r
+ description "none";\r
+ }\r
+ list mep {\r
+ uses mep-ref;\r
+ key 'meg-uuid mep-local-id';\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping oam-constraint {\r
+ leaf layer-protocol-name {\r
+ type tapi-common:layer-protocol-name;\r
+ description "none";\r
+ }\r
+ leaf direction {\r
+ type tapi-common:forwarding-direction;\r
+ description "none";\r
+ }\r
+ leaf meg-level {\r
+ type uint64;\r
+ description "none";\r
+ }\r
+ description "none";\r
+ }\r
+ grouping pm-current-data {\r
+ list pm-history-data {\r
+ key 'local-id';\r
+ config false;\r
+ uses pm-history-data;\r
+ description "in case of 24hr Current Data, at least 1 History Data.\r
+ In case of 15min Current Data, at least 16 History Data.\r
+ In case of <15min, the number of History Data shall be able to cover a span of 4 hours.";\r
+ }\r
+ container granularity-period {\r
+ uses tapi-common:time-period;\r
+ description "none";\r
+ }\r
+ leaf timestamp {\r
+ type tapi-common:date-and-time;\r
+ config false;\r
+ description "This attribute indicates the start of the current monitoring interval.\r
+ 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.";\r
+ }\r
+ container elapsed-time {\r
+ uses tapi-common:time-interval;\r
+ description "none";\r
+ }\r
+ leaf suspect-interval-flag {\r
+ type boolean;\r
+ 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:\r
+ - Suspect data were detected by the actual resource doing data collection.\r
+ - Transition of the administrativeState attribute to/from the 'lock' state.\r
+ - Transition of the operationalState to/from the 'disabled' state.\r
+ - Scheduler setting that inhibits the collection function.\r
+ - The performance counters were reset during the interval.\r
+ - The currentData (or subclass) object instance was created during the monitoring period.";\r
+ }\r
+ uses tapi-common:local-class;\r
+ description "none";\r
+ }\r
+ grouping pm-history-data {\r
+ container granularity-period {\r
+ uses tapi-common:time-period;\r
+ description "none";\r
+ }\r
+ leaf period-end-time {\r
+ type tapi-common:date-and-time;\r
+ description "none";\r
+ }\r
+ leaf suspect-interval-flag {\r
+ type boolean;\r
+ config false;\r
+ description "This attribute indicates that the performance data may not be reliable.";\r
+ }\r
+ uses tapi-common:local-class;\r
+ description "none";\r
+ }\r
+ grouping oam-profile {\r
+ list pm-threshold-data {\r
+ key 'local-id';\r
+ min-elements 1;\r
+ uses pm-threshold-data;\r
+ description "none";\r
+ }\r
+ list pm-bin-data {\r
+ key 'local-id';\r
+ min-elements 1;\r
+ uses pm-bin-data;\r
+ description "none";\r
+ }\r
+ uses tapi-common:global-class;\r
+ description "none";\r
+ }\r
+ grouping pm-threshold-data {\r
+ container granularity-period {\r
+ uses tapi-common:time-period;\r
+ description "none";\r
+ }\r
+ leaf is-transient {\r
+ type boolean;\r
+ description "none";\r
+ }\r
+ uses tapi-common:local-class;\r
+ description "none";\r
+ }\r
+ grouping pm-bin-data {\r
+ container granularity-period {\r
+ uses tapi-common:time-period;\r
+ description "none";\r
+ }\r
+ uses tapi-common:local-class;\r
+ description "none";\r
+ }\r
+\r
+ /**************************\r
+ * package type-definitions\r
+ **************************/\r
+ identity OAM_JOB_TYPE {\r
+ description "none";\r
+ }\r
+ typedef oam-job-type {\r
+ type identityref {\r
+ base OAM_JOB_TYPE;\r
+ }\r
+ description "none";\r
+ }\r
+\r
+ /**************************\r
+ * package interfaces\r
+ **************************/\r
+ rpc create-oam-service {\r
+ description "none";\r
+ input {\r
+ list end-point {\r
+ key 'local-id';\r
+ min-elements 2;\r
+ uses oam-service-end-point;\r
+ description "none";\r
+ }\r
+ container oam-constraint {\r
+ uses oam-constraint;\r
+ description "none";\r
+ }\r
+ leaf state {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container service {\r
+ uses oam-service;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc delete-oam-service {\r
+ description "none";\r
+ input {\r
+ leaf service-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc get-oam-service {\r
+ description "none";\r
+ input {\r
+ leaf service-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container service {\r
+ uses oam-service;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc create-oam-job {\r
+ description "none";\r
+ input {\r
+ leaf oam-job-type {\r
+ type oam-job-type;\r
+ description "none";\r
+ }\r
+ list oam-service-end-point {\r
+ key 'local-id';\r
+ min-elements 2;\r
+ uses oam-service-end-point;\r
+ description "none";\r
+ }\r
+ container oam-profile {\r
+ uses oam-profile;\r
+ description "none";\r
+ }\r
+ leaf state {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf schedule {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container oam-job {\r
+ uses oam-job;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc get-oam-job {\r
+ description "none";\r
+ input {\r
+ leaf job-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container oam-job {\r
+ uses oam-job;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc get-oam-service-list {\r
+ description "none";\r
+ output {\r
+ list service {\r
+ key 'uuid';\r
+ uses oam-service;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc get-meg {\r
+ description "none";\r
+ input {\r
+ leaf service-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container meg {\r
+ uses meg;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc update-oam-service {\r
+ description "none";\r
+ input {\r
+ leaf service-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ list end-point {\r
+ key 'local-id';\r
+ uses oam-service-end-point;\r
+ description "none";\r
+ }\r
+ container oam-constraint {\r
+ uses oam-constraint;\r
+ description "none";\r
+ }\r
+ leaf state {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container service {\r
+ uses oam-service;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc delete-oam-job {\r
+ description "none";\r
+ input {\r
+ leaf job-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc update-oam-job {\r
+ description "none";\r
+ input {\r
+ leaf job-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ container oam-profile {\r
+ uses oam-profile;\r
+ description "none";\r
+ }\r
+ leaf state {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf schedule {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container oam-job {\r
+ uses oam-job;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc create-oam-service-end-point {\r
+ description "none";\r
+ input {\r
+ leaf service-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf sip-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf c-sep-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf layer {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf direction {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf state {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf mep-identifier {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf-list peer-mep-identifier {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container end-point {\r
+ uses oam-service-end-point;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc delete-oam-service-end-point {\r
+ description "none";\r
+ input {\r
+ leaf service-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf o-sep-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc update-oam-service-end-point {\r
+ description "none";\r
+ input {\r
+ leaf service-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf o-sep-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf state {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container end-point {\r
+ uses oam-service-end-point;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+ rpc get-oam-service-end-point {\r
+ description "none";\r
+ input {\r
+ leaf service-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ leaf o-sep-id {\r
+ type string;\r
+ description "none";\r
+ }\r
+ }\r
+ output {\r
+ container end-point {\r
+ uses oam-service-end-point;\r
+ description "none";\r
+ }\r
+ }\r
+ }\r
+\r
+}\r