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 2022-11-21;
22 import tapi-notification {
23 prefix tapi-notification;
24 revision-date 2022-11-21;
28 revision-date 2022-11-21;
34 "transportPCE committers - ODL";
36 "YANG definitions for using REST API in NBI notifications module. Copyright
37 (c) 2020 ORANGE and others. All rights reserved.";
39 revision "2023-07-28" {
41 "Migration towards TAPI 2.4";
46 "Adding service-rpc-result data details to the publish-notification-process-service";
51 "Implement new models, RPC for TAPI service notification";
56 "Adding service-rpc-result data details to the publish-notification-process-service";
61 "Rename the groupings, containers and RPCs";
66 "Implement new models, RPC for service alarms";
71 "Initial revision of NBI notifications";
74 grouping notification-process-service {
79 "Message for the specified service";
85 "Identifier for the service to be created in the ROADM network, e.g., CLFI, CLCI, etc.
86 This is reported against the service, but may not get reflected in the service in the network.";
91 "To be used by the ROADM controller to identify the routing constraints
92 received from planning application (PED).";
94 leaf connection-type {
95 type org-openroadm-common-service-types:connection-type;
98 container service-a-end {
99 uses org-openroadm-common-service-types:service-endpoint;
101 container service-z-end {
102 uses org-openroadm-common-service-types:service-endpoint;
104 leaf response-failed {
107 "Response of the error if the service request encountered an anomaly";
109 leaf operational-state {
110 type org-openroadm-common-state-types:state;
113 "Operational State: Actual state of service";
115 leaf is-temp-service {
119 "Used to indicate if the it is a temp-service or not";
122 when "../is-temp-service = 'true'" {
124 "a-to-z is only used for temp-service-cerate";
126 uses org-openroadm-resource:common-och-otsi-attributes;
127 uses org-openroadm-resource:path-computation-outputs;
130 when "../is-temp-service = 'true'" {
132 "a-to-z is only used for temp-service-cerate";
134 uses org-openroadm-resource:common-och-otsi-attributes;
135 uses org-openroadm-resource:path-computation-outputs;
138 grouping notification-alarm-service {
143 "Message for the specified service";
149 "Identifier for the service to be created in the ROADM network, e.g., CLFI, CLCI, etc.
150 This is reported against the service, but may not get reflected in the service in the network.";
152 leaf connection-type {
153 type org-openroadm-common-service-types:connection-type;
156 leaf operational-state {
157 type org-openroadm-common-state-types:state;
160 "Operational State: Actual state of service";
164 grouping alarm-tca-info {
165 container alarm-info {
166 uses tapi-fm:alarm-info;
170 uses tapi-fm:tca-info;
175 grouping notification-tapi-service {
176 leaf notification-type {
177 type tapi-notification:notification-type;
180 leaf target-object-type {
181 type tapi-common:object-type;
184 leaf target-object-identifier {
185 type tapi-common:uuid;
188 list target-object-name {
191 uses tapi-common:name-and-value;
194 leaf event-time-stamp {
195 type tapi-common:date-and-time;
198 leaf sequence-number {
201 description "A monotonous increasing sequence number associated with the notification.
202 The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined.";
204 leaf source-indicator {
205 type tapi-notification:source-indicator;
208 leaf layer-protocol-name {
209 type tapi-common:layer-protocol-name;
212 leaf layer-protocol-qualifier {
213 type tapi-common:layer-protocol-qualifier;
217 list changed-attributes {
219 uses tapi-notification:name-and-value-change;
222 list additional-info {
224 uses tapi-common:name-and-value;
227 leaf additional-text {
232 uses tapi-common:global-class;
236 container notification-process-service {
238 "Model used to send a notification from a service request";
239 uses notification-process-service;
242 container notification-alarm-service {
244 "Model used to send a notification from the service listener";
245 uses notification-alarm-service;
248 container notification-tapi-service {
250 "Model used to send a tapi notification";
251 uses notification-tapi-service;
254 rpc get-notifications-process-service {
255 description "Get the notifications service sent by ServiceHandler through filtering connection type";
257 leaf connection-type {
258 type org-openroadm-common-service-types:connection-type;
261 "Type connection of the service ";
267 "Unique ID for the consumer";
273 "ID Group for the consumer";
277 list notifications-process-service {
278 uses notification-process-service;
283 rpc get-notifications-alarm-service {
284 description "Get the notifications alarm service sent by ServiceListener through filtering connection type";
286 leaf connection-type {
287 type org-openroadm-common-service-types:connection-type;
290 "Type connection of the service";
296 "Unique ID for the consumer";
302 "ID Group for the consumer";
306 list notifications-alarm-service {
307 uses notification-alarm-service;
312 notification publish-notification-process-service {
313 description "Publish the notifications service through a publisher";
314 leaf publisher-name {
318 "Name of the publisher";
320 uses notification-process-service;
323 notification publish-notification-alarm-service {
324 description "Publish the notifications service alarm through a publisher";
325 leaf publisher-name {
329 "Name of the publisher";
331 uses notification-alarm-service;
334 notification publish-tapi-notification-service {
335 description "Publish the TAPI notifications service for topic";
340 "Topic where to send the notification service";
343 uses tapi-notification:notification;