1 module org-openroadm-service {
2 namespace "http://org/openroadm/service";
3 prefix org-openroadm-service;
5 import ietf-yang-types {
8 import org-openroadm-routing-constraints {
9 prefix org-openroadm-routing-constraints;
11 import org-openroadm-common-types {
12 prefix org-openroadm-common-types;
14 import org-openroadm-resource-types {
15 prefix org-openroadm-resource-types;
17 import org-openroadm-common-service-types {
18 prefix org-openroadm-common-service-types;
26 "YANG definitions of services.
28 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
29 AT&T Intellectual Property. All other rights reserved.
31 Redistribution and use in source and binary forms, with or without modification,
32 are permitted provided that the following conditions are met:
34 * Redistributions of source code must retain the above copyright notice, this
35 list of conditions and the following disclaimer.
36 * Redistributions in binary form must reproduce the above copyright notice,
37 this list of conditions and the following disclaimer in the documentation and/or
38 other materials provided with the distribution.
39 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
40 contributors may be used to endorse or promote products derived from this software
41 without specific prior written permission.
43 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
44 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
45 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
46 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
47 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
48 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
49 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
50 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
51 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
52 POSSIBILITY OF SUCH DAMAGE";
64 "Identifier for the service to be created in
65 the ROADM network, e.g., CLFI, CLCI, etc. This is reported against the service, but may not get reflected in the service in the network.";
71 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
73 uses org-openroadm-common-service-types:sdnc-request-header;
74 leaf connection-type {
75 type org-openroadm-common-service-types:connection-type;
78 container service-a-end {
79 uses org-openroadm-common-service-types:service-endpoint;
81 container service-z-end {
82 uses org-openroadm-common-service-types:service-endpoint;
84 uses org-openroadm-routing-constraints:routing-constraints;
85 uses org-openroadm-common-service-types:service-information;
88 uses org-openroadm-common-service-types:configuration-response-common;
89 uses org-openroadm-common-service-types:response-parameters;
92 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
93 service-rpc-result Notification shall be sent.";
95 rpc service-feasibility-check {
101 "To be used by the ROADM controller to identify the routing
102 constraints received from planning application (PED).";
104 uses org-openroadm-common-service-types:sdnc-request-header;
105 leaf connection-type {
106 type org-openroadm-common-service-types:connection-type;
108 container service-a-end {
109 uses org-openroadm-common-service-types:service-endpoint;
111 container service-z-end {
112 uses org-openroadm-common-service-types:service-endpoint;
114 uses org-openroadm-routing-constraints:routing-constraints;
115 uses org-openroadm-common-service-types:service-information;
118 uses org-openroadm-common-service-types:configuration-response-common;
119 uses org-openroadm-common-service-types:response-parameters;
120 container service-a-end {
121 uses org-openroadm-common-service-types:service-endpoint;
122 list equipment-required {
124 "List of required equipment, including equipment type and quantity";
125 key "eqipment-identifier";
126 leaf eqipment-identifier {
129 leaf equipment-type {
132 leaf equipment-quantity {
137 container service-z-end {
138 uses org-openroadm-common-service-types:service-endpoint;
139 list equipment-required {
141 "List of required equipment, including equipment type and quantity";
142 key "eqipment-identifier";
143 leaf eqipment-identifier {
146 leaf equipment-type {
149 leaf equipment-quantity {
154 list intermediate-sites {
156 uses org-openroadm-common-service-types:service-endpoint;
157 list equipment-required {
159 "List of required equipment, including equipment type and quantity";
160 key "eqipment-identifier";
161 leaf eqipment-identifier {
164 leaf equipment-type {
167 leaf equipment-quantity {
174 "Whether a service was possible to be created, and if so
175 the routing constraints match and the a and z end connection that have
180 uses org-openroadm-common-service-types:sdnc-request-header;
181 container service-delete-req-info {
185 "Identifier for the service to be deleted in
186 the ROADM network, e.g., CLFI, CLCI, etc.";
190 type yang:date-and-time;
192 "date and time service to be turned down. If missing, now.";
194 leaf tail-retention {
199 "tails are left intact ";
212 uses org-openroadm-common-service-types:configuration-response-common;
215 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
216 service-rpc-result Notification shall be sent. Once the service has been deleted, it no longer will appear in the service list";
218 rpc equipment-notification {
220 uses org-openroadm-common-service-types:sdnc-request-header;
225 leaf equipment-name {
232 leaf equipment-vendor {
236 leaf equipment-customer {
239 leaf equipment-clli {
252 uses org-openroadm-common-service-types:configuration-response-common;
255 rpc temp-service-create {
260 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
263 uses org-openroadm-common-service-types:sdnc-request-header;
264 leaf connection-type {
265 type org-openroadm-common-service-types:connection-type;
268 container service-a-end {
269 uses org-openroadm-common-service-types:service-endpoint;
271 container service-z-end {
272 uses org-openroadm-common-service-types:service-endpoint;
274 uses org-openroadm-routing-constraints:routing-constraints;
275 uses org-openroadm-common-service-types:service-information;
278 uses org-openroadm-common-service-types:configuration-response-common;
279 uses org-openroadm-common-service-types:response-parameters;
282 rpc temp-service-delete {
290 uses org-openroadm-common-service-types:configuration-response-common;
299 "Identifier for the service to be rolled in
300 the ROADM network, e.g., CLFI, CLCI, etc.";
303 type yang:date-and-time;
305 "date and time service to be rolled";
309 uses org-openroadm-common-types:rpc-response-status;
312 rpc service-reconfigure {
318 "Existing identifier for the service to be
319 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
321 leaf new-service-name {
324 "New identifier for the service to be
325 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
330 "To be used by the ROADM controller to identify the routing
331 constraints received from planning application (PED).";
333 leaf connection-type {
334 type org-openroadm-common-service-types:connection-type;
336 container service-a-end {
337 uses org-openroadm-common-service-types:service-endpoint;
339 container service-z-end {
340 uses org-openroadm-common-service-types:service-endpoint;
342 uses org-openroadm-routing-constraints:routing-constraints;
343 uses org-openroadm-common-service-types:service-information;
346 uses org-openroadm-common-types:rpc-response-status;
349 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
350 service-rpc-result Notification shall be sent.";
352 rpc service-restoration {
358 "Identifier for the service to be restored in
359 the ROADM network, e.g., CLFI, CLCI, etc.";
366 "A spare regen can be used to restore the
367 service permanently without reverting back to the
373 "a spare regen can be used to restore the
374 service temporarily. The service needs to be reverted
375 back to the original regen transponder";
382 uses org-openroadm-common-types:rpc-response-status;
385 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
386 service-rpc-result Notification shall be sent.";
388 rpc service-reversion {
394 "Identifier for the service to be reverted
395 in the ROADM network, e.g., CLFI, CLCI, etc. ";
398 type yang:date-and-time;
400 "date and time service to be reverted";
404 uses org-openroadm-common-types:rpc-response-status;
407 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
408 service-rpc-result Notification shall be sent.";
410 rpc service-reroute {
416 "Identifier for the service to be re-routed in
417 the ROADM network, e.g., CLFI, CLCI, etc.";
421 uses org-openroadm-common-types:rpc-response-status;
422 uses org-openroadm-routing-constraints:routing-constraints;
425 "Whether this request was validated and processed correct. If sucessful, it return the proposed new route.
426 If acceptable, this request should be followed by a service-reroute-confirm to complete the reroute operation.";
428 rpc service-reroute-confirm {
434 "Identifier for the service to be re-routed in
435 the ROADM network, e.g., CLFI, CLCI, etc.";
437 uses org-openroadm-routing-constraints:routing-constraints;
440 uses org-openroadm-common-types:rpc-response-status;
443 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
444 service-rpc-result Notification shall be sent.";
446 rpc network-re-optimization {
451 "Identifier for the service in the ROADM network,
452 e.g., CLFI, CLCI, etc. whose path is to be checked by the RNC
453 for re-optimization";
458 "Services whose A-ends are terminated at the
459 specified office location are to be checked by the RNC for
465 "Services whose Z-ends are terminated at the
466 specified office location are to be checked by the RNC for
472 "Services that are pass-through (either via
473 regen or express) at the specified office location are to
474 be checked by the RNC for re-optimization";
479 "Services that belong to the specified customer
480 are to be checked by the RNC for re-optimization ";
484 uses org-openroadm-common-types:rpc-response-status;
485 leaf optimization-candidate {
490 container service-list {
492 "List of service. Can only be created, deleted, modified, etc. using special RPCs.";
495 uses org-openroadm-common-service-types:service;
498 container temp-service-list {
500 "List of temporary services Can only be created, deleted, modified, etc. using special RPCs.";
503 uses org-openroadm-common-service-types:service {
504 refine "service-name" {
510 notification service-rpc-result {
512 "This Notification indicates result of service RPC";
513 leaf notification-type {
514 type org-openroadm-common-service-types:service-notification-types;
516 uses org-openroadm-common-types:rpc-response-status;
517 uses org-openroadm-common-service-types:service-notification-result;
519 notification service-traffic-flow {
521 "This Notification indicates that traffic is flowing again on the service after an administrative action has completed";
525 "Identifier for the service being reported on";
529 type yang:date-and-time;
531 "Actual date and time traffic started flowing";
534 notification service-notification {
536 "This Notification that a service has been added, modified or removed.
537 A resourceCreation notification shall contain the created service in its entirety.
538 A resourceMofified notification shall contain just the modified field, plus the service identifier
539 A resourceDeleted notification shall just contain the service identifier";
540 leaf notificationType {
541 type org-openroadm-resource-types:resource-notification-type;
543 "Whether this notification indicates a service creation, service modification or service deletion.";
545 uses org-openroadm-common-service-types:service;