1 module tapi-notification {
2 namespace "urn:onf:otcc:yang:tapi-notification";
3 prefix tapi-notification;
7 organization "ONF OTCC (Open Transport Configuration & Control) Project";
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>";
14 This module contains TAPI Notification Model definitions.
15 Source: TapiNotification.uml
16 - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK.
17 - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool]
18 <https://github.com/OpenNetworkingFoundation/EagleUmlYang>
19 and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines]
20 <https://wiki.opennetworking.org/display/OIMT/UML+-+YANG+Guidelines>
21 - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts.
22 As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts.
23 - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases.
24 The YANG model backward compatibility criteria are outlined in section 11 of <https://tools.ietf.org/html/rfc7950>.
25 YANG models included in this release may not be backward compatible with previous TAPI releases.
26 Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
27 License: This module is distributed under the Apache License 2.0";
29 description "ONF Transport API version 2.1.1.
30 Changes included in this TAPI release (v2.1.1) are listed in
31 <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.1.md>";
32 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
33 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
36 description "ONF Transport API version 2.1.0.
37 Changes included in this TAPI release (v2.1.0) are listed in
38 <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
39 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model
40 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
43 description "ONF Transport API version 2.0.2
44 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
45 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
46 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
47 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
50 description "ONF Transport API version 2.0.1
51 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
52 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
53 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
54 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
57 description "ONF Transport API version 2.0.0
58 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
59 Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
60 reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
61 <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
63 augment "/tapi-common:context" {
64 container notification-context {
65 uses notification-context;
66 description "Augments the base TAPI Context with NotificationService information";
68 description "Augments the base TAPI Context with NotificationService information";
71 /**************************
72 * package object-classes
73 **************************/
74 grouping notification-subscription-service {
81 container notification-channel {
82 uses notification-channel;
85 container subscription-filter {
86 uses subscription-filter;
89 leaf subscription-state {
90 type subscription-state;
93 leaf-list supported-notification-types {
94 type notification-type;
99 leaf-list supported-object-types {
105 uses tapi-common:service-spec;
108 grouping subscription-filter {
109 leaf-list requested-notification-types {
110 type notification-type;
114 leaf-list requested-object-types {
119 leaf-list requested-layer-protocols {
120 type tapi-common:layer-protocol-name;
124 leaf-list requested-object-identifier {
125 type tapi-common:uuid;
129 leaf include-content {
132 description "Indicates whether the published Notification includes content or just the Notification Id (which enables retrieval of the notification at the later stage)";
134 uses tapi-common:local-class;
137 notification notification {
141 grouping notification {
142 leaf notification-type {
143 type notification-type;
146 leaf target-object-type {
150 leaf target-object-identifier {
151 type tapi-common:uuid;
154 list target-object-name {
157 uses tapi-common:name-and-value;
160 leaf event-time-stamp {
161 type tapi-common:date-and-time;
164 leaf sequence-number {
167 description "A monotonous increasing sequence number associated with the notification.
168 The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined.";
170 leaf source-indicator {
171 type source-indicator;
174 leaf layer-protocol-name {
175 type tapi-common:layer-protocol-name;
178 list changed-attributes {
180 uses name-and-value-change;
183 list additional-info {
185 uses tapi-common:name-and-value;
188 leaf additional-text {
196 container alarm-info {
200 uses tapi-common:resource-spec;
203 grouping notification-channel {
204 leaf stream-address {
207 description "The address/location/URI of the channel/stream to which the subscribed notifications are published.
208 This specifics of this is typically dependent on the implementation protocol & mechanism and hence is typed as a string.";
210 leaf next-sequence-no {
213 description "The sequence number of the next notification that will be published on the channel";
215 uses tapi-common:local-class;
218 grouping notification-context {
219 list notif-subscription {
221 uses notification-subscription-service;
232 grouping alarm-info {
238 leaf perceived-severity {
239 type perceived-severity-type;
243 leaf probable-cause {
248 leaf service-affecting {
249 type service-affecting;
260 leaf threshold-crossing {
261 type threshold-crossing-type;
264 leaf threshold-parameter {
269 leaf threshold-value {
274 leaf perceived-severity {
275 type perceived-tca-severity;
278 leaf measurement-interval {
279 type tapi-common:date-and-time;
282 leaf suspect-interval-flag {
289 /**************************
290 * package type-definitions
291 **************************/
292 grouping name-and-value-change {
295 description "The name of the value. The value need not have a name.";
299 description "The value";
303 description "The value";
305 description "A scoped name-value triple, including old value and new value";
307 typedef notification-type {
309 enum OBJECT_CREATION {
310 description "Not a normal state. The system is unable to determine the correct value.";
312 enum OBJECT_DELETION {
315 enum ATTRIBUTE_VALUE_CHANGE {
321 enum THRESHOLD_CROSSING_ALERT {
325 description "List of supported Notifications types.";
327 typedef object-type {
344 enum CONNECTIVITY_SERVICE {
347 enum VIRTUAL_NETWORK_SERVICE {
350 enum PATH_COMPUTATION_SERVICE {
353 enum NODE_EDGE_POINT {
356 enum SERVICE_INTERFACE_POINT {
359 enum CONNECTION_END_POINT {
362 enum MAINTENANCE_ENTITY_GROUP {
365 enum MAINTENANCE_ENTITY {
371 enum MEG_INTERMEDIATE_POINT {
374 enum SWITCH_CONTROL {
383 enum NODE_RULE_GROUP {
386 enum INTER_RULE_GROUP {
396 description "The list of TAPI Global Object Class types on which Notifications can be raised.";
398 typedef source-indicator {
400 enum RESOURCE_OPERATION {
403 enum MANAGEMENT_OPERATION {
412 typedef subscription-state {
423 typedef perceived-severity-type {
443 typedef threshold-crossing-type {
445 enum THRESHOLD_ABOVE {
448 enum THRESHOLD_BELOW {
457 typedef service-affecting {
459 enum SERVICE_AFFECTING {
462 enum NOT_SERVICE_AFFECTING {
471 typedef perceived-tca-severity {
483 /**************************
485 **************************/
486 rpc get-supported-notification-types {
489 leaf-list supported-notification-types {
490 type notification-type;
494 leaf-list supported-object-types {
501 rpc create-notification-subscription-service {
504 container subscription-filter {
505 uses subscription-filter;
508 leaf subscription-state {
509 type subscription-state;
514 container subscription-service {
515 uses notification-subscription-service;
520 rpc update-notification-subscription-service {
523 leaf subscription-id-or-name {
527 container subscription-filter {
528 uses subscription-filter;
531 leaf subscription-state {
532 type subscription-state;
537 container subscription-service {
538 uses notification-subscription-service;
543 rpc delete-notification-subscription-service {
546 leaf subscription-id-or-name {
552 container subscription-service {
553 uses notification-subscription-service;
558 rpc get-notification-subscription-service-details {
561 leaf subscription-id-or-name {
567 container subscription-service {
568 uses notification-subscription-service;
573 rpc get-notification-subscription-service-list {
576 list subscription-service {
578 uses notification-subscription-service;
583 rpc get-notification-list {
586 leaf subscription-id-or-name {