1 module nbi-notifications {
3 namespace "nbi-notifications";
4 prefix nbinotifications;
6 import org-openroadm-service {
9 import org-openroadm-common-service-types {
10 prefix org-openroadm-common-service-types;
12 import org-openroadm-common-state-types {
13 prefix org-openroadm-common-state-types;
15 import org-openroadm-resource {
16 prefix org-openroadm-resource;
20 revision-date 2018-12-10;
22 import tapi-notification {
23 prefix tapi-notification;
24 revision-date 2018-12-10;
30 "transportPCE committers - ODL";
32 "YANG definitions for using REST API in NBI notifications module. Copyright
33 (c) 2020 ORANGE and others. All rights reserved.";
37 "Implement new models, RPC for TAPI service notification";
42 "Adding service-rpc-result data details to the publish-notification-process-service";
47 "Rename the groupings, containers and RPCs";
52 "Implement new models, RPC for service alarms";
57 "Initial revision of NBI notifications";
60 grouping notification-process-service {
65 "Message for the specified service";
71 "Identifier for the service to be created in the ROADM network, e.g., CLFI, CLCI, etc.
72 This is reported against the service, but may not get reflected in the service in the network.";
77 "To be used by the ROADM controller to identify the routing constraints
78 received from planning application (PED).";
80 leaf connection-type {
81 type org-openroadm-common-service-types:connection-type;
84 container service-a-end {
85 uses org-openroadm-common-service-types:service-endpoint;
87 container service-z-end {
88 uses org-openroadm-common-service-types:service-endpoint;
90 leaf response-failed {
93 "Response of the error if the service request encountered an anomaly";
95 leaf operational-state {
96 type org-openroadm-common-state-types:state;
99 "Operational State: Actual state of service";
101 leaf is-temp-service {
105 "Used to indicate if the it is a temp-service or not";
108 when "../is-temp-service = 'true'" {
110 "a-to-z is only used for temp-service-cerate";
112 uses org-openroadm-resource:common-och-otsi-attributes;
113 uses org-openroadm-resource:path-computation-outputs;
116 when "../is-temp-service = 'true'" {
118 "a-to-z is only used for temp-service-cerate";
120 uses org-openroadm-resource:common-och-otsi-attributes;
121 uses org-openroadm-resource:path-computation-outputs;
124 grouping notification-alarm-service {
129 "Message for the specified service";
135 "Identifier for the service to be created in the ROADM network, e.g., CLFI, CLCI, etc.
136 This is reported against the service, but may not get reflected in the service in the network.";
138 leaf connection-type {
139 type org-openroadm-common-service-types:connection-type;
142 leaf operational-state {
143 type org-openroadm-common-state-types:state;
146 "Operational State: Actual state of service";
150 grouping notification-tapi-service {
151 leaf notification-type {
152 type tapi-notification:notification-type;
155 leaf target-object-type {
156 type tapi-notification:object-type;
159 leaf target-object-identifier {
160 type tapi-common:uuid;
163 list target-object-name {
166 uses tapi-common:name-and-value;
169 leaf event-time-stamp {
170 type tapi-common:date-and-time;
173 leaf sequence-number {
176 description "A monotonous increasing sequence number associated with the notification.
177 The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined.";
179 leaf source-indicator {
180 type tapi-notification:source-indicator;
183 leaf layer-protocol-name {
184 type tapi-common:layer-protocol-name;
187 list changed-attributes {
189 uses tapi-notification:name-and-value-change;
192 list additional-info {
194 uses tapi-common:name-and-value;
197 leaf additional-text {
202 uses tapi-notification:tca-info;
205 container alarm-info {
206 uses tapi-notification:alarm-info;
209 uses tapi-common:resource-spec;
213 container notification-process-service {
215 "Model used to send a notification from a service request";
216 uses notification-process-service;
219 container notification-alarm-service {
221 "Model used to send a notification from the service listener";
222 uses notification-alarm-service;
225 container notification-tapi-service {
227 "Model used to send a tapi notification";
228 uses notification-tapi-service;
231 rpc get-notifications-process-service {
232 description "Get the notifications service sent by ServiceHandler through filtering connection type";
234 leaf connection-type {
235 type org-openroadm-common-service-types:connection-type;
238 "Type connection of the service ";
244 "Unique ID for the consumer";
250 "ID Group for the consumer";
254 list notifications-process-service {
255 uses notification-process-service;
260 rpc get-notifications-alarm-service {
261 description "Get the notifications alarm service sent by ServiceListener through filtering connection type";
263 leaf connection-type {
264 type org-openroadm-common-service-types:connection-type;
267 "Type connection of the service";
273 "Unique ID for the consumer";
279 "ID Group for the consumer";
283 list notifications-alarm-service {
284 uses notification-alarm-service;
289 notification publish-notification-process-service {
290 description "Publish the notifications service through a publisher";
291 leaf publisher-name {
295 "Name of the publisher";
297 uses notification-process-service;
300 notification publish-notification-alarm-service {
301 description "Publish the notifications service alarm through a publisher";
302 leaf publisher-name {
306 "Name of the publisher";
308 uses notification-alarm-service;
311 notification publish-tapi-notification-service {
312 description "Publish the TAPI notifications service for topic";
317 "Topic where to send the notification service";
319 uses tapi-notification:notification;