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>
16 Project List: <mailto:transport-api@opennetworking.org>
17 Editor: Karthik Sethuraman
18 <mailto:karthik.sethuraman@necam.com>";
\r
20 This module contains TAPI OAM Model definitions.
\r
22 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
\r
23 License: This module is distributed under the Apache License 2.0";
\r
24 revision 2018-08-31 {
\r
25 description "ONF Transport API version 2.1.0
26 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
27 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
\r
28 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
29 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
\r
31 revision 2018-03-07 {
\r
32 description "ONF Transport API version 2.0.2
33 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
34 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
\r
35 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
36 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
\r
38 revision 2018-02-16 {
\r
39 description "ONF Transport API version 2.0.1
40 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
41 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
\r
42 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
43 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
\r
45 revision 2018-01-02 {
\r
46 description "ONF Transport API version 2.0.0
47 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
48 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
\r
49 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
50 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
\r
52 augment "/tapi-common:context" {
\r
54 description "Augments the base TAPI Context with OamService information";
\r
56 augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
\r
57 uses mep-mip-list-g;
\r
61 /*************************
\r
62 * definitions of references
\r
63 *************************/
\r
64 grouping oam-service-ref-g {
\r
65 leaf oam-service-uuid {
\r
67 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:uuid';
\r
74 grouping oam-service-end-point-ref-g {
\r
75 uses oam-service-ref-g;
\r
76 leaf oam-service-end-point-local-id {
\r
78 path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';
\r
85 grouping meg-ref-g {
\r
88 path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';
\r
95 grouping maintenance-entity-ref-g {
\r
97 leaf maintenance-entity-local-id {
\r
99 path '/tapi-common:context/tapi-oam:meg/tapi-oam:me/tapi-oam:local-id';
\r
101 description "none";
\r
103 description "none";
\r
106 grouping mep-ref-g {
\r
108 leaf mep-local-id {
\r
110 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
\r
112 description "none";
\r
114 description "none";
\r
117 grouping mip-ref-g {
\r
119 leaf mip-local-id {
\r
121 path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
\r
123 description "none";
\r
125 description "none";
\r
128 grouping oam-job-ref-g {
\r
129 leaf oam-job-uuid {
\r
131 path '/tapi-common:context/tapi-oam:oam-job/tapi-oam:uuid';
\r
133 description "none";
\r
135 description "none";
\r
138 grouping pm-current-data-ref-g {
\r
139 uses oam-job-ref-g;
\r
140 leaf pm-current-data-local-id {
\r
142 path '/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:local-id';
\r
144 description "none";
\r
146 description "none";
\r
149 grouping pm-history-data-ref-g {
\r
150 uses pm-current-data-ref-g;
\r
151 leaf pm-history-data-local-id {
\r
153 path '/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data/tapi-oam:local-id';
\r
155 description "none";
\r
157 description "none";
\r
160 grouping oam-profile-ref-g {
\r
161 leaf oam-profile-uuid {
\r
163 path '/tapi-common:context/tapi-oam:oam-profile/tapi-oam:uuid';
\r
165 description "none";
\r
167 description "none";
\r
170 grouping pm-threshold-data-ref-g {
\r
171 uses oam-profile-ref-g;
\r
172 leaf pm-threshold-data-local-id {
\r
174 path '/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data/tapi-oam:local-id';
\r
176 description "none";
\r
178 description "none";
\r
181 grouping pm-bin-data-ref-g {
\r
182 uses oam-profile-ref-g;
\r
183 leaf pm-bin-data-local-id {
\r
185 path '/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-bin-data/tapi-oam:local-id';
\r
187 description "none";
\r
189 description "none";
\r
192 /***********************
\r
193 * package object-classes
\r
194 **********************/
\r
196 container oam-service-end-point {
\r
197 uses oam-service-end-point-ref-g;
\r
199 description "none";
\r
201 leaf layer-protocol-name {
\r
202 type tapi-common:layer-protocol-name;
\r
204 description "none";
\r
207 type tapi-common:termination-direction;
\r
209 description "none";
\r
211 leaf mep-identifier {
\r
214 description "none";
\r
216 leaf-list peer-mep-identifier {
\r
220 description "none";
\r
222 uses tapi-common:local-class-g;
\r
223 uses tapi-common:operational-state-pac-g;
\r
224 description "none";
\r
226 grouping oam-job-g {
\r
227 list oam-service-end-point {
\r
228 uses oam-service-end-point-ref-g;
\r
229 key 'oam-service-uuid oam-service-end-point-local-id';
\r
232 description "none";
\r
234 container oam-profile {
\r
235 uses oam-profile-ref-g;
\r
236 description "none";
\r
238 list pm-current-data {
\r
241 uses pm-current-data-g;
\r
242 description "Granularity period of the CurrentData identifies the specific CurrentData instance in the scope of this OamJob.
\r
243 For example, typically at least
\r
246 optionally one additional configurable (< 15min)";
\r
248 leaf oam-job-type {
\r
250 description "none";
\r
252 container schedule {
\r
253 uses tapi-common:time-range-g;
\r
254 description "none";
\r
256 leaf creation-time {
\r
257 type tapi-common:date-and-time;
\r
259 description "none";
\r
261 uses tapi-common:global-class-g;
\r
262 uses tapi-common:admin-state-pac-g;
\r
263 description "none";
\r
270 uses maintenance-entity-g;
\r
271 description "none";
\r
277 description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
\r
278 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
\r
279 3. ME may have 2 MEPs";
\r
285 description "ME may 0, 1, or more MIPs";
\r
287 leaf layer-protocol-name {
\r
288 type tapi-common:layer-protocol-name;
\r
290 description "none";
\r
293 type tapi-common:forwarding-direction;
\r
295 description "none";
\r
300 description "none";
\r
302 leaf meg-identifier {
\r
305 description "none";
\r
307 uses tapi-common:resource-spec-g;
\r
308 uses tapi-common:operational-state-pac-g;
\r
309 description "none";
\r
311 grouping maintenance-entity-g {
\r
314 key 'meg-uuid mep-local-id';
\r
317 description "none";
\r
321 key 'meg-uuid mip-local-id';
\r
323 description "none";
\r
325 container connection-route {
\r
326 uses tapi-connectivity:route-ref-g;
\r
328 description "none";
\r
330 uses tapi-common:local-class-g;
\r
331 description "none";
\r
334 container oam-service-end-point {
\r
335 uses oam-service-end-point-ref-g;
\r
336 description "none";
\r
338 leaf layer-protocol-name {
\r
339 type tapi-common:layer-protocol-name;
\r
341 description "none";
\r
343 uses tapi-common:local-class-g;
\r
344 description "none";
\r
346 grouping oam-service-g {
\r
350 uses oam-service-end-point-g;
\r
351 description "none";
\r
356 description "none";
\r
358 container oam-profile {
\r
359 uses oam-profile-ref-g;
\r
360 description "none";
\r
362 uses tapi-common:service-spec-g;
\r
363 uses tapi-common:admin-state-pac-g;
\r
364 uses oam-constraint-g;
\r
365 description "none";
\r
367 grouping oam-context-g {
\r
370 uses oam-service-g;
\r
371 description "none";
\r
377 description "none";
\r
382 description "none";
\r
386 uses oam-profile-g;
\r
387 description "none";
\r
389 description "none";
\r
391 grouping oam-service-end-point-g {
\r
392 container service-interface-point {
\r
393 uses tapi-common:service-interface-point-ref-g;
\r
394 description "none";
\r
396 container connectivity-service-end-point {
\r
397 uses tapi-connectivity:connectivity-service-end-point-ref-g;
\r
398 description "none";
\r
403 description "none";
\r
408 description "none";
\r
410 leaf layer-protocol-name {
\r
411 type tapi-common:layer-protocol-name;
\r
412 description "none";
\r
415 type tapi-common:port-direction;
\r
416 description "none";
\r
418 uses tapi-common:local-class-g;
\r
419 uses tapi-common:admin-state-pac-g;
\r
420 description "none";
\r
422 grouping mep-mip-list-g {
\r
425 key 'meg-uuid mip-local-id';
\r
426 description "none";
\r
430 key 'meg-uuid mep-local-id';
\r
431 description "none";
\r
433 description "none";
\r
435 grouping oam-constraint-g {
\r
436 leaf layer-protocol-name {
\r
437 type tapi-common:layer-protocol-name;
\r
438 description "none";
\r
441 type tapi-common:forwarding-direction;
\r
442 description "none";
\r
446 description "none";
\r
448 description "none";
\r
450 grouping pm-current-data-g {
\r
451 list pm-history-data {
\r
454 uses pm-history-data-g;
\r
455 description "in case of 24hr Current Data, at least 1 History Data.
\r
456 In case of 15min Current Data, at least 16 History Data.
\r
457 In case of <15min, the number of History Data shall be able to cover a span of 4 hours.";
\r
459 container granularity-period {
\r
460 uses tapi-common:time-period-g;
\r
461 description "none";
\r
464 type tapi-common:date-and-time;
\r
466 description "This attribute indicates the start of the current monitoring interval.
\r
467 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
469 container elapsed-time {
\r
470 uses tapi-common:time-interval-g;
\r
471 description "none";
\r
473 leaf suspect-interval-flag {
\r
475 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
476 – Suspect data were detected by the actual resource doing data collection.
\r
477 – Transition of the administrativeState attribute to/from the 'lock' state.
\r
478 – Transition of the operationalState to/from the 'disabled' state.
\r
479 – Scheduler setting that inhibits the collection function.
\r
480 – The performance counters were reset during the interval.
\r
481 – The currentData (or subclass) object instance was created during the monitoring period.";
\r
483 uses tapi-common:local-class-g;
\r
484 description "none";
\r
486 grouping pm-history-data-g {
\r
487 container granularity-period {
\r
488 uses tapi-common:time-period-g;
\r
489 description "none";
\r
491 leaf period-end-time {
\r
492 type tapi-common:date-and-time;
\r
493 description "none";
\r
495 leaf suspect-interval-flag {
\r
498 description "This attribute indicates that the performance data may not be reliable.";
\r
500 uses tapi-common:local-class-g;
\r
501 description "none";
\r
503 grouping oam-profile-g {
\r
504 list pm-threshold-data {
\r
507 uses pm-threshold-data-g;
\r
508 description "none";
\r
513 uses pm-bin-data-g;
\r
514 description "none";
\r
516 uses tapi-common:global-class-g;
\r
517 description "none";
\r
519 grouping pm-threshold-data-g {
\r
520 container granularity-period {
\r
521 uses tapi-common:time-period-g;
\r
522 description "none";
\r
524 leaf is-transient {
\r
526 description "none";
\r
528 uses tapi-common:local-class-g;
\r
529 description "none";
\r
531 grouping pm-bin-data-g {
\r
532 container granularity-period {
\r
533 uses tapi-common:time-period-g;
\r
534 description "none";
\r
536 uses tapi-common:local-class-g;
\r
537 description "none";
\r
540 /***********************
\r
541 * package type-definitions
\r
542 **********************/
\r
543 identity OAM_JOB_TYPE {
\r
544 description "none";
\r
546 typedef oam-job-type {
\r
550 description "none";
\r
553 /***********************
\r
554 * package interfaces
\r
555 **********************/
\r
556 rpc create-oam-service {
\r
557 description "none";
\r
561 uses oam-service-end-point-g;
\r
562 description "none";
\r
564 container oam-constraint {
\r
565 uses oam-constraint-g;
\r
566 description "none";
\r
570 description "none";
\r
574 container service {
\r
575 uses oam-service-g;
\r
576 description "none";
\r
580 rpc delete-oam-service {
\r
581 description "none";
\r
585 description "none";
\r
589 rpc get-oam-service {
\r
590 description "none";
\r
594 description "none";
\r
598 container service {
\r
599 uses oam-service-g;
\r
600 description "none";
\r
604 rpc create-oam-job {
\r
605 description "none";
\r
607 leaf oam-job-type {
\r
609 description "none";
\r
611 list oam-service-end-point {
\r
614 uses oam-service-end-point-g;
\r
615 description "none";
\r
617 container oam-profile {
\r
618 uses oam-profile-g;
\r
619 description "none";
\r
623 description "none";
\r
627 description "none";
\r
631 container oam-job {
\r
633 description "none";
\r
638 description "none";
\r
642 description "none";
\r
646 container oam-job {
\r
648 description "none";
\r
652 rpc get-oam-service-list {
\r
653 description "none";
\r
656 uses oam-service-g;
\r
657 description "none";
\r
662 description "none";
\r
666 description "none";
\r
672 description "none";
\r
676 rpc update-oam-service {
\r
677 description "none";
\r
681 description "none";
\r
684 uses oam-service-end-point-g;
\r
685 description "none";
\r
687 container oam-constraint {
\r
688 uses oam-constraint-g;
\r
689 description "none";
\r
693 description "none";
\r
697 container service {
\r
698 uses oam-service-g;
\r
699 description "none";
\r
703 rpc delete-oam-job {
\r
704 description "none";
\r
708 description "none";
\r
712 rpc update-oam-job {
\r
713 description "none";
\r
717 description "none";
\r
719 container oam-profile {
\r
720 uses oam-profile-g;
\r
721 description "none";
\r
725 description "none";
\r
729 description "none";
\r
733 container oam-job {
\r
735 description "none";
\r
739 rpc create-oam-service-end-point {
\r
740 description "none";
\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 container end-point {
\r
769 uses oam-service-end-point-g;
\r
770 description "none";
\r
774 rpc delete-oam-service-end-point {
\r
775 description "none";
\r
779 description "none";
\r
783 description "none";
\r
787 rpc update-oam-service-end-point {
\r
788 description "none";
\r
792 description "none";
\r
796 description "none";
\r
800 description "none";
\r
804 container end-point {
\r
805 uses oam-service-end-point-g;
\r
806 description "none";
\r
810 rpc get-oam-service-end-point {
\r
811 description "none";
\r
815 description "none";
\r
819 description "none";
\r
823 container end-point {
\r
824 uses oam-service-end-point-g;
\r
825 description "none";
\r