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;
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.";
35 revision "2023-07-28" {
37 "Migration towards TAPI 2.4";
42 "Adding service-rpc-result data details to the publish-notification-process-service";
47 "Implement new models, RPC for TAPI service notification";
52 "Adding service-rpc-result data details to the publish-notification-process-service";
57 "Rename the groupings, containers and RPCs";
62 "Implement new models, RPC for service alarms";
67 "Initial revision of NBI notifications";
70 grouping notification-process-service {
75 "Message for the specified service";
81 "Identifier for the service to be created in the ROADM network, e.g., CLFI, CLCI, etc.
82 This is reported against the service, but may not get reflected in the service in the network.";
87 "To be used by the ROADM controller to identify the routing constraints
88 received from planning application (PED).";
90 leaf connection-type {
91 type org-openroadm-common-service-types:connection-type;
94 container service-a-end {
95 uses org-openroadm-common-service-types:service-endpoint;
97 container service-z-end {
98 uses org-openroadm-common-service-types:service-endpoint;
100 leaf response-failed {
103 "Response of the error if the service request encountered an anomaly";
105 leaf operational-state {
106 type org-openroadm-common-state-types:state;
109 "Operational State: Actual state of service";
111 leaf is-temp-service {
115 "Used to indicate if the it is a temp-service or not";
118 when "../is-temp-service = 'true'" {
120 "a-to-z is only used for temp-service-cerate";
122 uses org-openroadm-resource:common-och-otsi-attributes;
123 uses org-openroadm-resource:path-computation-outputs;
126 when "../is-temp-service = 'true'" {
128 "a-to-z is only used for temp-service-cerate";
130 uses org-openroadm-resource:common-och-otsi-attributes;
131 uses org-openroadm-resource:path-computation-outputs;
134 grouping notification-alarm-service {
139 "Message for the specified service";
145 "Identifier for the service to be created in the ROADM network, e.g., CLFI, CLCI, etc.
146 This is reported against the service, but may not get reflected in the service in the network.";
148 leaf connection-type {
149 type org-openroadm-common-service-types:connection-type;
152 leaf operational-state {
153 type org-openroadm-common-state-types:state;
156 "Operational State: Actual state of service";
160 grouping notification-tapi-service {
161 leaf notification-type {
162 type tapi-notification:notification-type;
165 leaf target-object-type {
166 type tapi-common:object-type;
169 leaf target-object-identifier {
170 type tapi-common:uuid;
173 list target-object-name {
176 uses tapi-common:name-and-value;
179 leaf event-time-stamp {
180 type tapi-common:date-and-time;
183 leaf sequence-number {
186 description "A monotonous increasing sequence number associated with the notification.
187 The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined.";
189 leaf source-indicator {
190 type tapi-notification:source-indicator;
193 leaf layer-protocol-name {
194 type tapi-common:layer-protocol-name;
197 leaf layer-protocol-qualifier {
198 type tapi-common:layer-protocol-qualifier;
202 list changed-attributes {
204 uses tapi-notification:name-and-value-change;
207 list additional-info {
209 uses tapi-common:name-and-value;
212 leaf additional-text {
216 uses tapi-common:global-class;
220 container notification-process-service {
222 "Model used to send a notification from a service request";
223 uses notification-process-service;
226 container notification-alarm-service {
228 "Model used to send a notification from the service listener";
229 uses notification-alarm-service;
232 container notification-tapi-service {
234 "Model used to send a tapi notification";
235 uses notification-tapi-service;
238 rpc get-notifications-process-service {
239 description "Get the notifications service sent by ServiceHandler through filtering connection type";
241 leaf connection-type {
242 type org-openroadm-common-service-types:connection-type;
245 "Type connection of the service ";
251 "Unique ID for the consumer";
257 "ID Group for the consumer";
261 list notifications-process-service {
262 uses notification-process-service;
267 rpc get-notifications-alarm-service {
268 description "Get the notifications alarm service sent by ServiceListener through filtering connection type";
270 leaf connection-type {
271 type org-openroadm-common-service-types:connection-type;
274 "Type connection of the service";
280 "Unique ID for the consumer";
286 "ID Group for the consumer";
290 list notifications-alarm-service {
291 uses notification-alarm-service;
296 notification publish-notification-process-service {
297 description "Publish the notifications service through a publisher";
298 leaf publisher-name {
302 "Name of the publisher";
304 uses notification-process-service;
307 notification publish-notification-alarm-service {
308 description "Publish the notifications service alarm through a publisher";
309 leaf publisher-name {
313 "Name of the publisher";
315 uses notification-alarm-service;
318 notification publish-tapi-notification-service {
319 description "Publish the TAPI notifications service for topic";
324 "Topic where to send the notification service";
326 uses tapi-notification:notification;