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://wiki.opennetworking.org/display/OTCC/TAPI>
10 Project List: <mailto:transport-api@opennetworking.org>
11 Editor: Karthik Sethuraman
12 <mailto:karthik.sethuraman@necam.com>";
\r
14 This module contains TAPI Notification Model definitions.
\r
15 Source: TapiNotification.uml
\r
16 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
\r
17 License: This module is distributed under the Apache License 2.0";
\r
18 revision 2018-08-31 {
\r
19 description "ONF Transport API version 2.1.0
20 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
21 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
\r
22 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
23 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
\r
25 revision 2018-03-07 {
\r
26 description "ONF Transport API version 2.0.2
27 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
28 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
\r
29 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
30 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
\r
32 revision 2018-02-16 {
\r
33 description "ONF Transport API version 2.0.1
34 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
35 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
\r
36 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
37 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
\r
39 revision 2018-01-02 {
\r
40 description "ONF Transport API version 2.0.0
41 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
42 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
\r
43 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
44 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
\r
46 augment "/tapi-common:context" {
\r
47 uses notification-context-g;
\r
48 description "Augments the base TAPI Context with NotificationService information";
\r
50 /***********************
\r
51 * package object-classes
\r
52 **********************/
\r
53 grouping notification-subscription-service-g {
\r
57 uses notification-g;
\r
60 container notification-channel {
\r
61 uses notification-channel-g;
\r
64 container subscription-filter {
\r
65 uses subscription-filter-g;
\r
68 leaf subscription-state {
\r
69 type subscription-state;
\r
72 leaf-list supported-notification-types {
\r
73 type notification-type;
\r
78 leaf-list supported-object-types {
\r
84 uses tapi-common:service-spec-g;
\r
87 grouping subscription-filter-g {
\r
88 leaf-list requested-notification-types {
\r
89 type notification-type;
\r
93 leaf-list requested-object-types {
\r
98 leaf-list requested-layer-protocols {
\r
99 type tapi-common:layer-protocol-name;
\r
101 description "none";
\r
103 leaf-list requested-object-identifier {
\r
104 type tapi-common:uuid;
\r
106 description "none";
\r
108 leaf include-content {
\r
111 description "Indicates whether the published Notification includes content or just the Notification Id (which enables retrieval of the notification at the later stage)";
\r
113 uses tapi-common:local-class-g;
\r
114 description "none";
\r
116 notification notification {
\r
117 uses notification-g;
\r
118 description "none";
\r
120 grouping notification-g {
\r
121 leaf notification-type {
\r
122 type notification-type;
\r
123 description "none";
\r
125 leaf target-object-type {
\r
127 description "none";
\r
129 leaf target-object-identifier {
\r
130 type tapi-common:uuid;
\r
131 description "none";
\r
133 list target-object-name {
\r
136 uses tapi-common:name-and-value-g;
\r
137 description "none";
\r
139 leaf event-time-stamp {
\r
140 type tapi-common:date-and-time;
\r
141 description "none";
\r
143 leaf sequence-number {
\r
146 description "A monotonous increasing sequence number associated with the notification.
\r
147 The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined.";
\r
149 leaf source-indicator {
\r
150 type source-indicator;
\r
151 description "none";
\r
153 leaf layer-protocol-name {
\r
154 type tapi-common:layer-protocol-name;
\r
155 description "none";
\r
157 list changed-attributes {
\r
159 uses name-and-value-change-g;
\r
160 description "none";
\r
162 list additional-info {
\r
164 uses tapi-common:name-and-value-g;
\r
165 description "none";
\r
167 leaf additional-text {
\r
169 description "none";
\r
171 container tca-info {
\r
173 description "none";
\r
175 container alarm-info {
\r
177 description "none";
\r
179 uses tapi-common:resource-spec-g;
\r
180 description "none";
\r
182 grouping notification-channel-g {
\r
183 leaf stream-address {
\r
186 description "The address/location/URI of the channel/stream to which the subscribed notifications are published.
\r
187 This specifics of this is typically dependent on the implementation protocol & mechanism and hence is typed as a string.";
\r
189 leaf next-sequence-no {
\r
192 description "The sequence number of the next notification that will be published on the channel";
\r
194 uses tapi-common:local-class-g;
\r
195 description "none";
\r
197 grouping notification-context-g {
\r
198 list notif-subscription {
\r
200 uses notification-subscription-service-g;
\r
201 description "none";
\r
203 list notification {
\r
206 uses notification-g;
\r
207 description "none";
\r
209 description "none";
\r
211 grouping alarm-info-g {
\r
212 leaf is-transient {
\r
215 description "none";
\r
217 leaf perceived-severity {
\r
218 type perceived-severity-type;
\r
220 description "none";
\r
222 leaf probable-cause {
\r
225 description "none";
\r
227 leaf service-affecting {
\r
228 type service-affecting;
\r
229 description "none";
\r
231 description "none";
\r
233 grouping tca-info-g {
\r
234 leaf is-transient {
\r
237 description "none";
\r
239 leaf threshold-crossing {
\r
240 type threshold-crossing-type;
\r
241 description "none";
\r
243 leaf threshold-parameter {
\r
246 description "none";
\r
248 leaf threshold-value {
\r
251 description "none";
\r
253 leaf perceived-severity {
\r
254 type perceived-tca-severity;
\r
255 description "none";
\r
257 leaf measurement-interval {
\r
258 type tapi-common:date-and-time;
\r
259 description "none";
\r
261 leaf suspect-interval-flag {
\r
263 description "none";
\r
265 description "none";
\r
268 /***********************
\r
269 * package type-definitions
\r
270 **********************/
\r
271 grouping name-and-value-change-g {
\r
274 description "The name of the value. The value need not have a name.";
\r
278 description "The value";
\r
282 description "The value";
\r
284 description "A scoped name-value triple, including old value and new value";
\r
286 typedef notification-type {
\r
288 enum OBJECT_CREATION {
\r
289 description "Not a normal state. The system is unable to determine the correct value.";
\r
291 enum OBJECT_DELETION {
\r
292 description "none";
\r
294 enum ATTRIBUTE_VALUE_CHANGE {
\r
295 description "none";
\r
298 description "none";
\r
300 enum THRESHOLD_CROSSING_ALERT {
\r
301 description "none";
\r
304 description "List of supported Notifications types.";
\r
306 typedef object-type {
\r
309 description "none";
\r
312 description "none";
\r
315 description "none";
\r
318 description "none";
\r
321 description "none";
\r
323 enum CONNECTIVITY_SERVICE {
\r
324 description "none";
\r
326 enum VIRTUAL_NETWORK_SERVICE {
\r
327 description "none";
\r
329 enum PATH_COMPUTATION_SERVICE {
\r
330 description "none";
\r
332 enum NODE_EDGE_POINT {
\r
333 description "none";
\r
335 enum SERVICE_INTERFACE_POINT {
\r
336 description "none";
\r
338 enum CONNECTION_END_POINT {
\r
339 description "none";
\r
341 enum MAINTENANCE_ENTITY_GROUP {
\r
342 description "none";
\r
344 enum MAINTENANCE_ENTITY {
\r
345 description "none";
\r
347 enum MEG_END_POINT {
\r
348 description "none";
\r
350 enum MEG_INTERMEDIATE_POINT {
\r
351 description "none";
\r
353 enum SWITCH_CONTROL {
\r
354 description "none";
\r
357 description "none";
\r
360 description "none";
\r
362 enum NODE_RULE_GROUP {
\r
363 description "none";
\r
365 enum INTER_RULE_GROUP {
\r
366 description "none";
\r
369 description "none";
\r
372 description "none";
\r
375 description "The list of TAPI Global Object Class types on which Notifications can be raised.";
\r
377 typedef source-indicator {
\r
379 enum RESOURCE_OPERATION {
\r
380 description "none";
\r
382 enum MANAGEMENT_OPERATION {
\r
383 description "none";
\r
386 description "none";
\r
389 description "none";
\r
391 typedef subscription-state {
\r
394 description "none";
\r
397 description "none";
\r
400 description "none";
\r
402 typedef perceived-severity-type {
\r
405 description "none";
\r
408 description "none";
\r
411 description "none";
\r
414 description "none";
\r
417 description "none";
\r
420 description "none";
\r
422 typedef threshold-crossing-type {
\r
424 enum THRESHOLD_ABOVE {
\r
425 description "none";
\r
427 enum THRESHOLD_BELOW {
\r
428 description "none";
\r
431 description "none";
\r
434 description "none";
\r
436 typedef service-affecting {
\r
438 enum SERVICE_AFFECTING {
\r
439 description "none";
\r
441 enum NOT_SERVICE_AFFECTING {
\r
442 description "none";
\r
445 description "none";
\r
448 description "none";
\r
450 typedef perceived-tca-severity {
\r
453 description "none";
\r
456 description "none";
\r
459 description "none";
\r
462 /***********************
\r
463 * package interfaces
\r
464 **********************/
\r
465 rpc get-supported-notification-types {
\r
466 description "none";
\r
468 leaf-list supported-notification-types {
\r
469 type notification-type;
\r
471 description "none";
\r
473 leaf-list supported-object-types {
\r
476 description "none";
\r
480 rpc create-notification-subscription-service {
\r
481 description "none";
\r
483 container subscription-filter {
\r
484 uses subscription-filter-g;
\r
485 description "none";
\r
487 leaf subscription-state {
\r
488 type subscription-state;
\r
489 description "none";
\r
493 container subscription-service {
\r
494 uses notification-subscription-service-g;
\r
495 description "none";
\r
499 rpc update-notification-subscription-service {
\r
500 description "none";
\r
502 leaf subscription-id-or-name {
\r
504 description "none";
\r
506 container subscription-filter {
\r
507 uses subscription-filter-g;
\r
508 description "none";
\r
510 leaf subscription-state {
\r
511 type subscription-state;
\r
512 description "none";
\r
516 container subscription-service {
\r
517 uses notification-subscription-service-g;
\r
518 description "none";
\r
522 rpc delete-notification-subscription-service {
\r
523 description "none";
\r
525 leaf subscription-id-or-name {
\r
527 description "none";
\r
531 container subscription-service {
\r
532 uses notification-subscription-service-g;
\r
533 description "none";
\r
537 rpc get-notification-subscription-service-details {
\r
538 description "none";
\r
540 leaf subscription-id-or-name {
\r
542 description "none";
\r
546 container subscription-service {
\r
547 uses notification-subscription-service-g;
\r
548 description "none";
\r
552 rpc get-notification-subscription-service-list {
\r
553 description "none";
\r
555 list subscription-service {
\r
556 uses notification-subscription-service-g;
\r
557 description "none";
\r
561 rpc get-notification-list {
\r
562 description "none";
\r
564 leaf subscription-id-or-name {
\r
566 description "none";
\r
570 description "none";
\r
574 list notification {
\r
575 uses notification-g;
\r
576 description "none";
\r