2 namespace "urn:onf:otcc:yang:tapi-oam";
\r
7 import tapi-connectivity {
\r
8 prefix tapi-connectivity;
\r
10 import tapi-topology {
\r
11 prefix tapi-topology;
\r
13 organization "ONF OTCC (Open Transport Configuration & Control) Project";
\r
15 Project Web: <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OTCC/TAPI__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G39KDEbL$ >
\r
16 Project List: <mailto:transport-api@opennetworking.org>
\r
17 Editor: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>
\r
18 Andrea Mazzini <mailto:andrea.mazzini@nokia.com>
\r
19 Arturo Mayoral <mailto:arturo.mayoral@telefonica.com>
\r
20 Nigel Davis <mailto:ndavis@ciena.com>";
\r
22 This module contains TAPI OAM Model definitions.
\r
24 - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.
\r
25 - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]
\r
26 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/EagleUmlYang__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G4QHf0bG$ >
\r
27 and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]
\r
28 <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OIMT/UML*-*YANG*Guidelines__;Kysr!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G8IIivez$ >
\r
29 - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.
\r
30 As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.
\r
31 - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.
\r
32 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
33 YANG models included in this release may not be backward compatible with previous TAPI releases.
\r
34 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
\r
35 License: This module is distributed under the Apache License 2.0";
\r
36 revision 2020-04-23 {
\r
37 description "ONF Transport API version 2.1.3.
\r
38 Changes included in this TAPI release (v2.1.3) are listed in
\r
39 <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
40 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
41 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";
\r
43 revision 2019-07-16 {
\r
44 description "ONF Transport API version 2.1.2.
\r
45 Changes included in this TAPI release (v2.1.2) are listed in
\r
46 <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
47 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
48 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";
\r
50 revision 2018-12-10 {
\r
51 description "ONF Transport API version 2.1.1.
\r
52 Changes included in this TAPI release (v2.1.1) are listed in
\r
53 <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
54 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
55 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";
\r
57 revision 2018-10-16 {
\r
58 description "ONF Transport API version 2.1.0.
\r
59 Changes included in this TAPI release (v2.1.0) are listed in
\r
60 <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
61 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
62 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";
\r
64 revision 2018-03-07 {
\r
65 description "ONF Transport API version 2.0.2
\r
66 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
\r
67 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
68 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
\r
69 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G27-pJK_$ >";
\r
71 revision 2018-02-16 {
\r
72 description "ONF Transport API version 2.0.1
\r
73 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
\r
74 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
75 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
\r
76 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6Gy6YoeAv$ >";
\r
78 revision 2018-01-02 {
\r
79 description "ONF Transport API version 2.0.0
\r
80 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
\r
81 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
82 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
\r
83 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1V9Thk9$ >";
\r
85 augment "/tapi-common:context" {
\r
86 container oam-context {
\r
88 description "Augments the base TAPI Context with OamService information";
\r
90 description "Augments the base TAPI Context with OamService information";
\r
92 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
93 container mep-mip-list {
\r
100 /**************************
\r
101 * definitions of references
\r
102 **************************/
\r
103 grouping oam-service-ref {
\r
104 leaf oam-service-uuid {
\r
106 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:uuid';
\r
108 description "none";
\r
110 description "none";
\r
112 grouping oam-service-end-point-ref {
\r
113 uses oam-service-ref;
\r
114 leaf oam-service-end-point-local-id {
\r
116 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';
\r
118 description "none";
\r
120 description "none";
\r
125 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:uuid';
\r
127 description "none";
\r
129 description "none";
\r
131 grouping maintenance-entity-ref {
\r
133 leaf maintenance-entity-local-id {
\r
135 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:me/tapi-oam:local-id';
\r
137 description "none";
\r
139 description "none";
\r
143 leaf mep-local-id {
\r
145 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
\r
147 description "none";
\r
149 description "none";
\r
153 leaf mip-local-id {
\r
155 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
\r
157 description "none";
\r
159 description "none";
\r
161 grouping oam-job-ref {
\r
162 leaf oam-job-uuid {
\r
164 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:uuid';
\r
166 description "none";
\r
168 description "none";
\r
170 grouping pm-current-data-ref {
\r
172 leaf pm-current-data-local-id {
\r
174 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:local-id';
\r
176 description "none";
\r
178 description "none";
\r
180 grouping pm-history-data-ref {
\r
181 uses pm-current-data-ref;
\r
182 leaf pm-history-data-local-id {
\r
184 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
186 description "none";
\r
188 description "none";
\r
190 grouping oam-profile-ref {
\r
191 leaf oam-profile-uuid {
\r
193 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:uuid';
\r
195 description "none";
\r
197 description "none";
\r
199 grouping pm-threshold-data-ref {
\r
200 uses oam-profile-ref;
\r
201 leaf pm-threshold-data-local-id {
\r
203 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data/tapi-oam:local-id';
\r
205 description "none";
\r
207 description "none";
\r
209 grouping pm-bin-data-ref {
\r
210 uses oam-profile-ref;
\r
211 leaf pm-bin-data-local-id {
\r
213 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-bin-data/tapi-oam:local-id';
\r
215 description "none";
\r
217 description "none";
\r
220 /**************************
\r
221 * package object-classes
\r
222 **************************/
\r
224 leaf layer-protocol-name {
\r
225 type tapi-common:layer-protocol-name;
\r
227 description "none";
\r
230 type tapi-common:termination-direction;
\r
232 description "none";
\r
234 leaf mep-identifier {
\r
237 description "none";
\r
239 leaf-list peer-mep-identifier {
\r
243 description "none";
\r
245 uses tapi-common:local-class;
\r
246 uses tapi-common:operational-state-pac;
\r
247 description "none";
\r
250 list oam-service-end-point {
\r
251 uses oam-service-end-point-ref;
\r
252 key 'oam-service-uuid oam-service-end-point-local-id';
\r
254 description "none";
\r
256 container oam-profile {
\r
257 uses oam-profile-ref;
\r
258 description "none";
\r
260 list pm-current-data {
\r
263 uses pm-current-data;
\r
264 description "Granularity period of the CurrentData identifies the specific CurrentData instance in the scope of this OamJob.
\r
265 For example, typically at least
\r
268 optionally one additional configurable (< 15min)";
\r
270 leaf oam-job-type {
\r
272 description "none";
\r
274 container schedule {
\r
275 uses tapi-common:time-range;
\r
276 description "none";
\r
278 leaf creation-time {
\r
279 type tapi-common:date-and-time;
\r
281 description "none";
\r
283 uses tapi-common:global-class;
\r
284 uses tapi-common:admin-state-pac;
\r
285 description "none";
\r
292 description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
\r
293 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
\r
294 3. ME may have 2 MEPs";
\r
300 description "ME may 0, 1, or more MIPs";
\r
302 leaf layer-protocol-name {
\r
303 type tapi-common:layer-protocol-name;
\r
305 description "none";
\r
308 type tapi-common:forwarding-direction;
\r
310 description "none";
\r
315 description "none";
\r
317 leaf meg-identifier {
\r
320 description "none";
\r
322 uses tapi-common:resource-spec;
\r
323 uses tapi-common:operational-state-pac;
\r
324 description "none";
\r
327 leaf layer-protocol-name {
\r
328 type tapi-common:layer-protocol-name;
\r
330 description "none";
\r
332 uses tapi-common:local-class;
\r
333 description "none";
\r
335 grouping oam-service {
\r
339 uses oam-service-end-point;
\r
340 description "none";
\r
345 description "none";
\r
347 container oam-profile {
\r
348 uses oam-profile-ref;
\r
349 description "none";
\r
351 uses tapi-common:service-spec;
\r
352 uses tapi-common:admin-state-pac;
\r
353 uses oam-constraint;
\r
354 description "none";
\r
356 grouping oam-context {
\r
360 description "none";
\r
366 description "none";
\r
371 description "none";
\r
376 description "none";
\r
378 description "none";
\r
380 grouping oam-service-end-point {
\r
381 container service-interface-point {
\r
382 uses tapi-common:service-interface-point-ref;
\r
383 description "none";
\r
385 container connectivity-service-end-point {
\r
386 uses tapi-connectivity:connectivity-service-end-point-ref;
\r
387 description "none";
\r
392 description "none";
\r
397 description "none";
\r
399 leaf layer-protocol-name {
\r
400 type tapi-common:layer-protocol-name;
\r
401 description "none";
\r
404 type tapi-common:port-direction;
\r
405 description "none";
\r
407 leaf mep-identifier {
\r
409 description "This attribute contains the identifier of the MEP.
\r
410 This attribute is empty in case the OSEP relates to the provisioing of an MIP.
\r
413 leaf-list peer-mep-identifier {
\r
415 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
416 This attribute is not specified in case the OSEP relates to the provisioing of an MIP.
\r
417 In case of P2P, there is only one peer";
\r
419 uses tapi-common:local-class;
\r
420 uses tapi-common:admin-state-pac;
\r
421 description "none";
\r
423 grouping mep-mip-list {
\r
426 key 'meg-uuid mip-local-id';
\r
427 description "none";
\r
431 key 'meg-uuid mep-local-id';
\r
432 description "none";
\r
434 description "none";
\r
436 grouping oam-constraint {
\r
437 leaf layer-protocol-name {
\r
438 type tapi-common:layer-protocol-name;
\r
439 description "none";
\r
442 type tapi-common:forwarding-direction;
\r
443 description "none";
\r
447 description "none";
\r
449 description "none";
\r
451 grouping pm-current-data {
\r
452 list pm-history-data {
\r
455 uses pm-history-data;
\r
456 description "in case of 24hr Current Data, at least 1 History Data.
\r
457 In case of 15min Current Data, at least 16 History Data.
\r
458 In case of <15min, the number of History Data shall be able to cover a span of 4 hours.";
\r
460 container granularity-period {
\r
461 uses tapi-common:time-period;
\r
462 description "none";
\r
465 type tapi-common:date-and-time;
\r
467 description "This attribute indicates the start of the current monitoring interval.
\r
468 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
470 container elapsed-time {
\r
471 uses tapi-common:time-interval;
\r
472 description "none";
\r
474 leaf suspect-interval-flag {
\r
476 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
477 - Suspect data were detected by the actual resource doing data collection.
\r
478 - Transition of the administrativeState attribute to/from the 'lock' state.
\r
479 - Transition of the operationalState to/from the 'disabled' state.
\r
480 - Scheduler setting that inhibits the collection function.
\r
481 - The performance counters were reset during the interval.
\r
482 - The currentData (or subclass) object instance was created during the monitoring period.";
\r
484 uses tapi-common:local-class;
\r
485 description "none";
\r
487 grouping pm-history-data {
\r
488 container granularity-period {
\r
489 uses tapi-common:time-period;
\r
490 description "none";
\r
492 leaf period-end-time {
\r
493 type tapi-common:date-and-time;
\r
494 description "none";
\r
496 leaf suspect-interval-flag {
\r
499 description "This attribute indicates that the performance data may not be reliable.";
\r
501 uses tapi-common:local-class;
\r
502 description "none";
\r
504 grouping oam-profile {
\r
505 list pm-threshold-data {
\r
508 uses pm-threshold-data;
\r
509 description "none";
\r
515 description "none";
\r
517 uses tapi-common:global-class;
\r
518 description "none";
\r
520 grouping pm-threshold-data {
\r
521 container granularity-period {
\r
522 uses tapi-common:time-period;
\r
523 description "none";
\r
525 leaf is-transient {
\r
527 description "none";
\r
529 uses tapi-common:local-class;
\r
530 description "none";
\r
532 grouping pm-bin-data {
\r
533 container granularity-period {
\r
534 uses tapi-common:time-period;
\r
535 description "none";
\r
537 uses tapi-common:local-class;
\r
538 description "none";
\r
541 /**************************
\r
542 * package type-definitions
\r
543 **************************/
\r
544 identity OAM_JOB_TYPE {
\r
545 description "none";
\r
547 typedef oam-job-type {
\r
551 description "none";
\r
554 /**************************
\r
555 * package interfaces
\r
556 **************************/
\r
557 rpc create-oam-service {
\r
558 description "none";
\r
563 uses oam-service-end-point;
\r
564 description "none";
\r
566 container oam-constraint {
\r
567 uses oam-constraint;
\r
568 description "none";
\r
572 description "none";
\r
576 container service {
\r
578 description "none";
\r
582 rpc delete-oam-service {
\r
583 description "none";
\r
587 description "none";
\r
591 rpc get-oam-service {
\r
592 description "none";
\r
596 description "none";
\r
600 container service {
\r
602 description "none";
\r
606 rpc create-oam-job {
\r
607 description "none";
\r
609 leaf oam-job-type {
\r
611 description "none";
\r
613 list oam-service-end-point {
\r
616 uses oam-service-end-point;
\r
617 description "none";
\r
619 container oam-profile {
\r
621 description "none";
\r
625 description "none";
\r
629 description "none";
\r
633 container oam-job {
\r
635 description "none";
\r
640 description "none";
\r
644 description "none";
\r
648 container oam-job {
\r
650 description "none";
\r
654 rpc get-oam-service-list {
\r
655 description "none";
\r
660 description "none";
\r
665 description "none";
\r
669 description "none";
\r
675 description "none";
\r
679 rpc update-oam-service {
\r
680 description "none";
\r
684 description "none";
\r
688 uses oam-service-end-point;
\r
689 description "none";
\r
691 container oam-constraint {
\r
692 uses oam-constraint;
\r
693 description "none";
\r
697 description "none";
\r
701 container service {
\r
703 description "none";
\r
707 rpc delete-oam-job {
\r
708 description "none";
\r
712 description "none";
\r
716 rpc update-oam-job {
\r
717 description "none";
\r
721 description "none";
\r
723 container oam-profile {
\r
725 description "none";
\r
729 description "none";
\r
733 description "none";
\r
737 container oam-job {
\r
739 description "none";
\r
743 rpc create-oam-service-end-point {
\r
744 description "none";
\r
748 description "none";
\r
752 description "none";
\r
756 description "none";
\r
760 description "none";
\r
764 description "none";
\r
768 description "none";
\r
770 leaf mep-identifier {
\r
772 description "none";
\r
774 leaf-list peer-mep-identifier {
\r
776 description "none";
\r
780 container end-point {
\r
781 uses oam-service-end-point;
\r
782 description "none";
\r
786 rpc delete-oam-service-end-point {
\r
787 description "none";
\r
791 description "none";
\r
795 description "none";
\r
799 rpc update-oam-service-end-point {
\r
800 description "none";
\r
804 description "none";
\r
808 description "none";
\r
812 description "none";
\r
816 container end-point {
\r
817 uses oam-service-end-point;
\r
818 description "none";
\r
822 rpc get-oam-service-end-point {
\r
823 description "none";
\r
827 description "none";
\r
831 description "none";
\r
835 container end-point {
\r
836 uses oam-service-end-point;
\r
837 description "none";
\r