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://wiki.opennetworking.org/display/OTCC/TAPI>
\r
16 Project List: <mailto:transport-api@opennetworking.org>
\r
17 Editor: Karthik Sethuraman
\r
18 <mailto:karthik.sethuraman@necam.com>";
\r
20 This module contains TAPI OAM Model definitions.
\r
22 - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.
\r
23 - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]
\r
24 <https://github.com/OpenNetworkingFoundation/EagleUmlYang>
\r
25 and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]
\r
26 <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines>
\r
27 - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.
\r
28 As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.
\r
29 - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.
\r
30 The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>.
\r
31 YANG models included in this release may not be backward compatible with previous TAPI releases.
\r
32 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
\r
33 License: This module is distributed under the Apache License 2.0";
\r
34 revision 2018-12-10 {
\r
35 description "ONF Transport API version 2.1.1.
\r
36 Changes included in this TAPI release (v2.1.1) are listed in
\r
37 <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.1.md>";
\r
38 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
39 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
\r
41 revision 2018-10-16 {
\r
42 description "ONF Transport API version 2.1.0.
\r
43 Changes included in this TAPI release (v2.1.0) are listed in
\r
44 <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
\r
45 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
46 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
\r
48 revision 2018-03-07 {
\r
49 description "ONF Transport API version 2.0.2
\r
50 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
\r
51 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
\r
52 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
\r
53 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
\r
55 revision 2018-02-16 {
\r
56 description "ONF Transport API version 2.0.1
\r
57 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
\r
58 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
\r
59 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
\r
60 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
\r
62 revision 2018-01-02 {
\r
63 description "ONF Transport API version 2.0.0
\r
64 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
\r
65 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
\r
66 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
\r
67 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
\r
69 augment "/tapi-common:context" {
\r
70 container oam-context {
\r
72 description "Augments the base TAPI Context with OamService information";
\r
74 description "Augments the base TAPI Context with OamService information";
\r
76 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
77 container mep-mip-list {
\r
84 /**************************
\r
85 * definitions of references
\r
86 **************************/
\r
87 grouping oam-service-ref {
\r
88 leaf oam-service-uuid {
\r
90 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:uuid';
\r
96 grouping oam-service-end-point-ref {
\r
97 uses oam-service-ref;
\r
98 leaf oam-service-end-point-local-id {
\r
100 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';
\r
102 description "none";
\r
104 description "none";
\r
109 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:uuid';
\r
111 description "none";
\r
113 description "none";
\r
115 grouping maintenance-entity-ref {
\r
117 leaf maintenance-entity-local-id {
\r
119 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
\r
121 description "none";
\r
123 description "none";
\r
127 leaf mep-local-id {
\r
129 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
\r
131 description "none";
\r
133 description "none";
\r
137 leaf mip-local-id {
\r
139 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
\r
141 description "none";
\r
143 description "none";
\r
145 grouping oam-job-ref {
\r
146 leaf oam-job-uuid {
\r
148 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:uuid';
\r
150 description "none";
\r
152 description "none";
\r
154 grouping pm-current-data-ref {
\r
156 leaf pm-current-data-local-id {
\r
158 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:local-id';
\r
160 description "none";
\r
162 description "none";
\r
164 grouping pm-history-data-ref {
\r
165 uses pm-current-data-ref;
\r
166 leaf pm-history-data-local-id {
\r
168 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
170 description "none";
\r
172 description "none";
\r
174 grouping oam-profile-ref {
\r
175 leaf oam-profile-uuid {
\r
177 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:uuid';
\r
179 description "none";
\r
181 description "none";
\r
183 grouping pm-threshold-data-ref {
\r
184 uses oam-profile-ref;
\r
185 leaf pm-threshold-data-local-id {
\r
187 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data/tapi-oam:local-id';
\r
189 description "none";
\r
191 description "none";
\r
193 grouping pm-bin-data-ref {
\r
194 uses oam-profile-ref;
\r
195 leaf pm-bin-data-local-id {
\r
197 path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-bin-data/tapi-oam:local-id';
\r
199 description "none";
\r
201 description "none";
\r
204 /**************************
\r
205 * package object-classes
\r
206 **************************/
\r
208 leaf layer-protocol-name {
\r
209 type tapi-common:layer-protocol-name;
\r
211 description "none";
\r
214 type tapi-common:termination-direction;
\r
216 description "none";
\r
218 leaf mep-identifier {
\r
221 description "none";
\r
223 leaf-list peer-mep-identifier {
\r
227 description "none";
\r
229 uses tapi-common:local-class;
\r
230 uses tapi-common:operational-state-pac;
\r
231 description "none";
\r
234 list oam-service-end-point {
\r
235 uses oam-service-end-point-ref;
\r
236 key 'oam-service-uuid oam-service-end-point-local-id';
\r
238 description "none";
\r
240 container oam-profile {
\r
241 uses oam-profile-ref;
\r
242 description "none";
\r
244 list pm-current-data {
\r
247 uses pm-current-data;
\r
248 description "Granularity period of the CurrentData identifies the specific CurrentData instance in the scope of this OamJob.
\r
249 For example, typically at least
\r
252 optionally one additional configurable (< 15min)";
\r
254 leaf oam-job-type {
\r
256 description "none";
\r
258 container schedule {
\r
259 uses tapi-common:time-range;
\r
260 description "none";
\r
262 leaf creation-time {
\r
263 type tapi-common:date-and-time;
\r
265 description "none";
\r
267 uses tapi-common:global-class;
\r
268 uses tapi-common:admin-state-pac;
\r
269 description "none";
\r
276 description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
\r
277 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
\r
278 3. ME may have 2 MEPs";
\r
284 description "ME may 0, 1, or more MIPs";
\r
286 leaf layer-protocol-name {
\r
287 type tapi-common:layer-protocol-name;
\r
289 description "none";
\r
292 type tapi-common:forwarding-direction;
\r
294 description "none";
\r
299 description "none";
\r
301 leaf meg-identifier {
\r
304 description "none";
\r
306 uses tapi-common:resource-spec;
\r
307 uses tapi-common:operational-state-pac;
\r
308 description "none";
\r
311 leaf layer-protocol-name {
\r
312 type tapi-common:layer-protocol-name;
\r
314 description "none";
\r
316 uses tapi-common:local-class;
\r
317 description "none";
\r
319 grouping oam-service {
\r
323 uses oam-service-end-point;
\r
324 description "none";
\r
329 description "none";
\r
331 container oam-profile {
\r
332 uses oam-profile-ref;
\r
333 description "none";
\r
335 uses tapi-common:service-spec;
\r
336 uses tapi-common:admin-state-pac;
\r
337 uses oam-constraint;
\r
338 description "none";
\r
340 grouping oam-context {
\r
344 description "none";
\r
350 description "none";
\r
355 description "none";
\r
360 description "none";
\r
362 description "none";
\r
364 grouping oam-service-end-point {
\r
365 container service-interface-point {
\r
366 uses tapi-common:service-interface-point-ref;
\r
367 description "none";
\r
369 container connectivity-service-end-point {
\r
370 uses tapi-connectivity:connectivity-service-end-point-ref;
\r
371 description "none";
\r
376 description "none";
\r
381 description "none";
\r
383 leaf layer-protocol-name {
\r
384 type tapi-common:layer-protocol-name;
\r
385 description "none";
\r
388 type tapi-common:port-direction;
\r
389 description "none";
\r
391 leaf mep-identifier {
\r
393 description "This attribute contains the identifier of the MEP.
\r
394 This attribute is empty in case the OSEP relates to the provisioing of an MIP.
\r
397 leaf-list peer-mep-identifier {
\r
399 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
400 This attribute is not specified in case the OSEP relates to the provisioing of an MIP.
\r
401 In case of P2P, there is only one peer";
\r
403 uses tapi-common:local-class;
\r
404 uses tapi-common:admin-state-pac;
\r
405 description "none";
\r
407 grouping mep-mip-list {
\r
410 key 'meg-uuid mip-local-id';
\r
411 description "none";
\r
415 key 'meg-uuid mep-local-id';
\r
416 description "none";
\r
418 description "none";
\r
420 grouping oam-constraint {
\r
421 leaf layer-protocol-name {
\r
422 type tapi-common:layer-protocol-name;
\r
423 description "none";
\r
426 type tapi-common:forwarding-direction;
\r
427 description "none";
\r
431 description "none";
\r
433 description "none";
\r
435 grouping pm-current-data {
\r
436 list pm-history-data {
\r
439 uses pm-history-data;
\r
440 description "in case of 24hr Current Data, at least 1 History Data.
\r
441 In case of 15min Current Data, at least 16 History Data.
\r
442 In case of <15min, the number of History Data shall be able to cover a span of 4 hours.";
\r
444 container granularity-period {
\r
445 uses tapi-common:time-period;
\r
446 description "none";
\r
449 type tapi-common:date-and-time;
\r
451 description "This attribute indicates the start of the current monitoring interval.
\r
452 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
454 container elapsed-time {
\r
455 uses tapi-common:time-interval;
\r
456 description "none";
\r
458 leaf suspect-interval-flag {
\r
460 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
461 – Suspect data were detected by the actual resource doing data collection.
\r
462 – Transition of the administrativeState attribute to/from the 'lock' state.
\r
463 – Transition of the operationalState to/from the 'disabled' state.
\r
464 – Scheduler setting that inhibits the collection function.
\r
465 – The performance counters were reset during the interval.
\r
466 – The currentData (or subclass) object instance was created during the monitoring period.";
\r
468 uses tapi-common:local-class;
\r
469 description "none";
\r
471 grouping pm-history-data {
\r
472 container granularity-period {
\r
473 uses tapi-common:time-period;
\r
474 description "none";
\r
476 leaf period-end-time {
\r
477 type tapi-common:date-and-time;
\r
478 description "none";
\r
480 leaf suspect-interval-flag {
\r
483 description "This attribute indicates that the performance data may not be reliable.";
\r
485 uses tapi-common:local-class;
\r
486 description "none";
\r
488 grouping oam-profile {
\r
489 list pm-threshold-data {
\r
492 uses pm-threshold-data;
\r
493 description "none";
\r
499 description "none";
\r
501 uses tapi-common:global-class;
\r
502 description "none";
\r
504 grouping pm-threshold-data {
\r
505 container granularity-period {
\r
506 uses tapi-common:time-period;
\r
507 description "none";
\r
509 leaf is-transient {
\r
511 description "none";
\r
513 uses tapi-common:local-class;
\r
514 description "none";
\r
516 grouping pm-bin-data {
\r
517 container granularity-period {
\r
518 uses tapi-common:time-period;
\r
519 description "none";
\r
521 uses tapi-common:local-class;
\r
522 description "none";
\r
525 /**************************
\r
526 * package type-definitions
\r
527 **************************/
\r
528 identity OAM_JOB_TYPE {
\r
529 description "none";
\r
531 typedef oam-job-type {
\r
535 description "none";
\r
538 /**************************
\r
539 * package interfaces
\r
540 **************************/
\r
541 rpc create-oam-service {
\r
542 description "none";
\r
547 uses oam-service-end-point;
\r
548 description "none";
\r
550 container oam-constraint {
\r
551 uses oam-constraint;
\r
552 description "none";
\r
556 description "none";
\r
560 container service {
\r
562 description "none";
\r
566 rpc delete-oam-service {
\r
567 description "none";
\r
571 description "none";
\r
575 rpc get-oam-service {
\r
576 description "none";
\r
580 description "none";
\r
584 container service {
\r
586 description "none";
\r
590 rpc create-oam-job {
\r
591 description "none";
\r
593 leaf oam-job-type {
\r
595 description "none";
\r
597 list oam-service-end-point {
\r
600 uses oam-service-end-point;
\r
601 description "none";
\r
603 container oam-profile {
\r
605 description "none";
\r
609 description "none";
\r
613 description "none";
\r
617 container oam-job {
\r
619 description "none";
\r
624 description "none";
\r
628 description "none";
\r
632 container oam-job {
\r
634 description "none";
\r
638 rpc get-oam-service-list {
\r
639 description "none";
\r
644 description "none";
\r
649 description "none";
\r
653 description "none";
\r
659 description "none";
\r
663 rpc update-oam-service {
\r
664 description "none";
\r
668 description "none";
\r
672 uses oam-service-end-point;
\r
673 description "none";
\r
675 container oam-constraint {
\r
676 uses oam-constraint;
\r
677 description "none";
\r
681 description "none";
\r
685 container service {
\r
687 description "none";
\r
691 rpc delete-oam-job {
\r
692 description "none";
\r
696 description "none";
\r
700 rpc update-oam-job {
\r
701 description "none";
\r
705 description "none";
\r
707 container oam-profile {
\r
709 description "none";
\r
713 description "none";
\r
717 description "none";
\r
721 container oam-job {
\r
723 description "none";
\r
727 rpc create-oam-service-end-point {
\r
728 description "none";
\r
732 description "none";
\r
736 description "none";
\r
740 description "none";
\r
744 description "none";
\r
748 description "none";
\r
752 description "none";
\r
754 leaf mep-identifier {
\r
756 description "none";
\r
758 leaf-list peer-mep-identifier {
\r
760 description "none";
\r
764 container end-point {
\r
765 uses oam-service-end-point;
\r
766 description "none";
\r
770 rpc delete-oam-service-end-point {
\r
771 description "none";
\r
775 description "none";
\r
779 description "none";
\r
783 rpc update-oam-service-end-point {
\r
784 description "none";
\r
788 description "none";
\r
792 description "none";
\r
796 description "none";
\r
800 container end-point {
\r
801 uses oam-service-end-point;
\r
802 description "none";
\r
806 rpc get-oam-service-end-point {
\r
807 description "none";
\r
811 description "none";
\r
815 description "none";
\r
819 container end-point {
\r
820 uses oam-service-end-point;
\r
821 description "none";
\r