1 module tapi-notification {
\r
2 namespace "urn:onf:otcc:yang:tapi-notification";
\r
3 prefix tapi-notification;
\r
7 organization "ONF OTCC (Open Transport Configuration & Control) Project";
\r
9 Project Web: <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OTCC/TAPI__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G39KDEbL$ >
\r
10 Project List: <mailto:transport-api@opennetworking.org>
\r
11 Editor: Karthik Sethuraman <mailto:karthik.sethuraman@necam.com>
\r
12 Andrea Mazzini <mailto:andrea.mazzini@nokia.com>
\r
13 Arturo Mayoral <mailto:arturo.mayoral@telefonica.com>
\r
14 Nigel Davis <mailto:ndavis@ciena.com>";
\r
16 This module contains TAPI Notification Model definitions.
\r
17 Source: TapiNotification.uml
\r
18 - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.
\r
19 - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]
\r
20 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/EagleUmlYang__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G4QHf0bG$ >
\r
21 and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]
\r
22 <https://urldefense.com/v3/__https://wiki.opennetworking.org/display/OIMT/UML*-*YANG*Guidelines__;Kysr!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G8IIivez$ >
\r
23 - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.
\r
24 As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.
\r
25 - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.
\r
26 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
27 YANG models included in this release may not be backward compatible with previous TAPI releases.
\r
28 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
\r
29 License: This module is distributed under the Apache License 2.0";
\r
30 revision 2020-06-16 {
\r
31 description "ONF Transport API version 2.1.3.
\r
32 - Added DEVICE to ObjectType.
\r
33 Changes included in this TAPI release (v2.1.3) are listed in
\r
34 <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
35 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
36 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";
\r
38 revision 2019-07-16 {
\r
39 description "ONF Transport API version 2.1.2.
\r
40 Changes included in this TAPI release (v2.1.2) are listed in
\r
41 <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
42 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
43 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";
\r
45 revision 2018-12-10 {
\r
46 description "ONF Transport API version 2.1.1.
\r
47 Changes included in this TAPI release (v2.1.1) are listed in
\r
48 <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
49 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
50 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";
\r
52 revision 2018-10-16 {
\r
53 description "ONF Transport API version 2.1.0.
\r
54 Changes included in this TAPI release (v2.1.0) are listed in
\r
55 <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
56 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
\r
57 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G7KeAhLL$ >";
\r
59 revision 2018-03-07 {
\r
60 description "ONF Transport API version 2.0.2
\r
61 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
\r
62 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
63 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
\r
64 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G27-pJK_$ >";
\r
66 revision 2018-02-16 {
\r
67 description "ONF Transport API version 2.0.1
\r
68 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
\r
69 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
70 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
\r
71 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6Gy6YoeAv$ >";
\r
73 revision 2018-01-02 {
\r
74 description "ONF Transport API version 2.0.0
\r
75 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
\r
76 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
77 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
\r
78 <https://urldefense.com/v3/__https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML__;!!OSsGDw!d_dJlNtYLmD585It0DKukzB2TS5KZqBZQ-pdI1D-6c6c5hRDotd6G1V9Thk9$ >";
\r
80 augment "/tapi-common:context" {
\r
81 container notification-context {
\r
82 uses notification-context;
\r
83 description "Augments the base TAPI Context with NotificationService information";
\r
85 description "Augments the base TAPI Context with NotificationService information";
\r
87 /**************************
\r
88 * package object-classes
\r
89 **************************/
\r
90 grouping notification-subscription-service {
\r
97 container notification-channel {
\r
99 uses notification-channel;
\r
100 description "none";
\r
102 container subscription-filter {
\r
103 uses subscription-filter;
\r
104 description "none";
\r
106 leaf subscription-state {
\r
107 type subscription-state;
\r
108 description "none";
\r
110 leaf-list supported-notification-types {
\r
111 type notification-type;
\r
114 description "none";
\r
116 leaf-list supported-object-types {
\r
120 description "none";
\r
122 uses tapi-common:service-spec;
\r
123 description "none";
\r
125 grouping subscription-filter {
\r
126 leaf-list requested-notification-types {
\r
127 type notification-type;
\r
128 description "none";
\r
130 leaf-list requested-object-types {
\r
132 description "none";
\r
134 leaf-list requested-layer-protocols {
\r
135 type tapi-common:layer-protocol-name;
\r
136 description "none";
\r
138 leaf-list requested-object-identifier {
\r
139 type tapi-common:uuid;
\r
140 description "none";
\r
142 leaf include-content {
\r
144 description "Indicates whether the published Notification includes content or just the Notification Id (which enables retrieval of the notification at the later stage)";
\r
146 uses tapi-common:local-class;
\r
147 description "none";
\r
149 notification notification {
\r
151 description "none";
\r
153 grouping notification {
\r
154 leaf notification-type {
\r
155 type notification-type;
\r
156 description "none";
\r
158 leaf target-object-type {
\r
160 description "none";
\r
162 leaf target-object-identifier {
\r
163 type tapi-common:uuid;
\r
164 description "none";
\r
166 list target-object-name {
\r
169 uses tapi-common:name-and-value;
\r
170 description "none";
\r
172 leaf event-time-stamp {
\r
173 type tapi-common:date-and-time;
\r
174 description "none";
\r
176 leaf sequence-number {
\r
179 description "A monotonous increasing sequence number associated with the notification.
\r
180 The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined.";
\r
182 leaf source-indicator {
\r
183 type source-indicator;
\r
184 description "none";
\r
186 leaf layer-protocol-name {
\r
187 type tapi-common:layer-protocol-name;
\r
188 description "none";
\r
190 list changed-attributes {
\r
192 uses name-and-value-change;
\r
193 description "none";
\r
195 list additional-info {
\r
197 uses tapi-common:name-and-value;
\r
198 description "none";
\r
200 leaf additional-text {
\r
202 description "none";
\r
204 container tca-info {
\r
206 description "none";
\r
208 container alarm-info {
\r
210 description "none";
\r
212 uses tapi-common:resource-spec;
\r
213 description "none";
\r
215 grouping notification-channel {
\r
216 leaf stream-address {
\r
219 description "The address/location/URI of the channel/stream to which the subscribed notifications are published.
\r
220 This specifics of this is typically dependent on the implementation protocol & mechanism and hence is typed as a string.";
\r
222 leaf next-sequence-no {
\r
225 description "The sequence number of the next notification that will be published on the channel";
\r
227 uses tapi-common:local-class;
\r
228 description "none";
\r
230 grouping notification-context {
\r
231 list notif-subscription {
\r
233 uses notification-subscription-service;
\r
234 description "none";
\r
236 list notification {
\r
240 description "none";
\r
242 description "none";
\r
244 grouping alarm-info {
\r
245 leaf is-transient {
\r
248 description "none";
\r
250 leaf perceived-severity {
\r
251 type perceived-severity-type;
\r
253 description "none";
\r
255 leaf probable-cause {
\r
258 description "none";
\r
260 leaf service-affecting {
\r
261 type service-affecting;
\r
262 description "none";
\r
264 description "none";
\r
266 grouping tca-info {
\r
267 leaf is-transient {
\r
270 description "none";
\r
272 leaf threshold-crossing {
\r
273 type threshold-crossing-type;
\r
274 description "none";
\r
276 leaf threshold-parameter {
\r
279 description "none";
\r
281 leaf threshold-value {
\r
284 description "none";
\r
286 leaf perceived-severity {
\r
287 type perceived-tca-severity;
\r
288 description "none";
\r
290 leaf measurement-interval {
\r
291 type tapi-common:date-and-time;
\r
292 description "none";
\r
294 leaf suspect-interval-flag {
\r
296 description "none";
\r
298 description "none";
\r
301 /**************************
\r
302 * package type-definitions
\r
303 **************************/
\r
304 grouping name-and-value-change {
\r
307 description "The name of the value. The value need not have a name.";
\r
311 description "The value";
\r
315 description "The value";
\r
317 description "A scoped name-value triple, including old value and new value";
\r
319 typedef notification-type {
\r
321 enum OBJECT_CREATION {
\r
322 description "Not a normal state. The system is unable to determine the correct value.";
\r
324 enum OBJECT_DELETION {
\r
325 description "none";
\r
327 enum ATTRIBUTE_VALUE_CHANGE {
\r
328 description "none";
\r
331 description "none";
\r
333 enum THRESHOLD_CROSSING_ALERT {
\r
334 description "none";
\r
337 description "List of supported Notifications types.";
\r
339 typedef object-type {
\r
342 description "none";
\r
345 description "none";
\r
348 description "none";
\r
351 description "none";
\r
354 description "none";
\r
356 enum CONNECTIVITY_SERVICE {
\r
357 description "none";
\r
359 enum VIRTUAL_NETWORK_SERVICE {
\r
360 description "none";
\r
362 enum PATH_COMPUTATION_SERVICE {
\r
363 description "none";
\r
365 enum NODE_EDGE_POINT {
\r
366 description "none";
\r
368 enum SERVICE_INTERFACE_POINT {
\r
369 description "none";
\r
371 enum CONNECTION_END_POINT {
\r
372 description "none";
\r
374 enum MAINTENANCE_ENTITY_GROUP {
\r
375 description "none";
\r
377 enum MAINTENANCE_ENTITY {
\r
378 description "none";
\r
380 enum MEG_END_POINT {
\r
381 description "none";
\r
383 enum MEG_INTERMEDIATE_POINT {
\r
384 description "none";
\r
386 enum SWITCH_CONTROL {
\r
387 description "none";
\r
390 description "none";
\r
393 description "none";
\r
395 enum NODE_RULE_GROUP {
\r
396 description "none";
\r
398 enum INTER_RULE_GROUP {
\r
399 description "none";
\r
402 description "none";
\r
405 description "none";
\r
408 description "none";
\r
411 description "none";
\r
414 description "none";
\r
416 enum PHYSICAL_SPAN {
\r
417 description "none";
\r
419 enum ABSTRACT_STRAND {
\r
420 description "none";
\r
423 description "none";
\r
426 description "The list of TAPI Global Object Class types on which Notifications can be raised.";
\r
428 typedef source-indicator {
\r
430 enum RESOURCE_OPERATION {
\r
431 description "none";
\r
433 enum MANAGEMENT_OPERATION {
\r
434 description "none";
\r
437 description "none";
\r
440 description "none";
\r
442 typedef subscription-state {
\r
445 description "none";
\r
448 description "none";
\r
451 description "none";
\r
453 typedef perceived-severity-type {
\r
456 description "none";
\r
459 description "none";
\r
462 description "none";
\r
465 description "none";
\r
468 description "none";
\r
471 description "none";
\r
473 typedef threshold-crossing-type {
\r
475 enum THRESHOLD_ABOVE {
\r
476 description "none";
\r
478 enum THRESHOLD_BELOW {
\r
479 description "none";
\r
482 description "none";
\r
485 description "none";
\r
487 typedef service-affecting {
\r
489 enum SERVICE_AFFECTING {
\r
490 description "none";
\r
492 enum NOT_SERVICE_AFFECTING {
\r
493 description "none";
\r
496 description "none";
\r
499 description "none";
\r
501 typedef perceived-tca-severity {
\r
504 description "none";
\r
507 description "none";
\r
510 description "none";
\r
513 /**************************
\r
514 * package interfaces
\r
515 **************************/
\r
516 rpc get-supported-notification-types {
\r
517 description "none";
\r
519 leaf-list supported-notification-types {
\r
520 type notification-type;
\r
522 description "none";
\r
524 leaf-list supported-object-types {
\r
527 description "none";
\r
531 rpc create-notification-subscription-service {
\r
532 description "none";
\r
534 container subscription-filter {
\r
535 uses subscription-filter;
\r
536 description "none";
\r
538 leaf subscription-state {
\r
539 type subscription-state;
\r
540 description "none";
\r
544 container subscription-service {
\r
545 uses notification-subscription-service;
\r
546 description "none";
\r
550 rpc update-notification-subscription-service {
\r
551 description "none";
\r
553 leaf subscription-id-or-name {
\r
555 description "none";
\r
557 container subscription-filter {
\r
558 uses subscription-filter;
\r
559 description "none";
\r
561 leaf subscription-state {
\r
562 type subscription-state;
\r
563 description "none";
\r
567 container subscription-service {
\r
568 uses notification-subscription-service;
\r
569 description "none";
\r
573 rpc delete-notification-subscription-service {
\r
574 description "none";
\r
576 leaf subscription-id-or-name {
\r
578 description "none";
\r
582 container subscription-service {
\r
583 uses notification-subscription-service;
\r
584 description "none";
\r
588 rpc get-notification-subscription-service-details {
\r
589 description "none";
\r
591 leaf subscription-id-or-name {
\r
593 description "none";
\r
597 container subscription-service {
\r
598 uses notification-subscription-service;
\r
599 description "none";
\r
603 rpc get-notification-subscription-service-list {
\r
604 description "none";
\r
606 list subscription-service {
\r
608 uses notification-subscription-service;
\r
609 description "none";
\r
613 rpc get-notification-list {
\r
614 description "none";
\r
616 leaf subscription-id-or-name {
\r
618 description "none";
\r
622 description "none";
\r
626 list notification {
\r
629 description "none";
\r