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;
10 revision-date 2016-10-14;
12 import org-openroadm-common-types {
13 prefix org-openroadm-common-types;
14 revision-date 2016-10-14;
17 import org-openroadm-resource-types {
18 prefix org-openroadm-resource-types;
19 revision-date 2016-10-14;
21 import org-openroadm-common-service-types {
22 prefix org-openroadm-common-service-types;
23 revision-date 2016-10-14;
31 "YANG definitions of services.
33 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
34 AT&T Intellectual Property. All other rights reserved.
36 Redistribution and use in source and binary forms, with or without modification,
37 are permitted provided that the following conditions are met:
39 * Redistributions of source code must retain the above copyright notice, this
40 list of conditions and the following disclaimer.
41 * Redistributions in binary form must reproduce the above copyright notice,
42 this list of conditions and the following disclaimer in the documentation and/or
43 other materials provided with the distribution.
44 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
45 contributors may be used to endorse or promote products derived from this software
46 without specific prior written permission.
48 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
49 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
50 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
51 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
52 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
53 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
54 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
55 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
56 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
57 POSSIBILITY OF SUCH DAMAGE";
69 "Identifier for the service to be created in
70 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.";
76 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
78 uses org-openroadm-common-service-types:sdnc-request-header;
79 leaf connection-type {
80 type org-openroadm-common-service-types:connection-type;
83 container service-a-end {
84 uses org-openroadm-common-service-types:service-endpoint;
86 container service-z-end {
87 uses org-openroadm-common-service-types:service-endpoint;
89 uses org-openroadm-routing-constraints:routing-constraints;
90 uses org-openroadm-common-service-types:service-information;
93 uses org-openroadm-common-service-types:configuration-response-common;
94 uses org-openroadm-common-service-types:response-parameters;
97 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
98 service-rpc-result Notification shall be sent.";
100 rpc service-feasibility-check {
106 "To be used by the ROADM controller to identify the routing
107 constraints received from planning application (PED).";
109 uses org-openroadm-common-service-types:sdnc-request-header;
110 leaf connection-type {
111 type org-openroadm-common-service-types:connection-type;
113 container service-a-end {
114 uses org-openroadm-common-service-types:service-endpoint;
116 container service-z-end {
117 uses org-openroadm-common-service-types:service-endpoint;
119 uses org-openroadm-routing-constraints:routing-constraints;
120 uses org-openroadm-common-service-types:service-information;
123 uses org-openroadm-common-service-types:configuration-response-common;
124 uses org-openroadm-common-service-types:response-parameters;
125 container service-a-end {
126 uses org-openroadm-common-service-types:service-endpoint;
127 list equipment-required {
129 "List of required equipment, including equipment type and quantity";
130 key "eqipment-identifier";
131 leaf eqipment-identifier {
134 leaf equipment-type {
137 leaf equipment-quantity {
142 container service-z-end {
143 uses org-openroadm-common-service-types:service-endpoint;
144 list equipment-required {
146 "List of required equipment, including equipment type and quantity";
147 key "eqipment-identifier";
148 leaf eqipment-identifier {
151 leaf equipment-type {
154 leaf equipment-quantity {
159 list intermediate-sites {
161 uses org-openroadm-common-service-types:service-endpoint;
162 list equipment-required {
164 "List of required equipment, including equipment type and quantity";
165 key "eqipment-identifier";
166 leaf eqipment-identifier {
169 leaf equipment-type {
172 leaf equipment-quantity {
179 "Whether a service was possible to be created, and if so
180 the routing constraints match and the a and z end connection that have
185 uses org-openroadm-common-service-types:sdnc-request-header;
186 container service-delete-req-info {
190 "Identifier for the service to be deleted in
191 the ROADM network, e.g., CLFI, CLCI, etc.";
195 type yang:date-and-time;
197 "date and time service to be turned down. If missing, now.";
199 leaf tail-retention {
204 "tails are left intact ";
217 uses org-openroadm-common-service-types:configuration-response-common;
220 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
221 service-rpc-result Notification shall be sent. Once the service has been deleted, it no longer will appear in the service list";
223 rpc equipment-notification {
225 uses org-openroadm-common-service-types:sdnc-request-header;
230 leaf equipment-name {
237 leaf equipment-vendor {
241 leaf equipment-customer {
244 leaf equipment-clli {
257 uses org-openroadm-common-service-types:configuration-response-common;
260 rpc temp-service-create {
265 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
268 uses org-openroadm-common-service-types:sdnc-request-header;
269 leaf connection-type {
270 type org-openroadm-common-service-types:connection-type;
273 container service-a-end {
274 uses org-openroadm-common-service-types:service-endpoint;
276 container service-z-end {
277 uses org-openroadm-common-service-types:service-endpoint;
279 uses org-openroadm-routing-constraints:routing-constraints;
280 uses org-openroadm-common-service-types:service-information;
283 uses org-openroadm-common-service-types:configuration-response-common;
284 uses org-openroadm-common-service-types:response-parameters;
287 rpc temp-service-delete {
295 uses org-openroadm-common-service-types:configuration-response-common;
304 "Identifier for the service to be rolled in
305 the ROADM network, e.g., CLFI, CLCI, etc.";
308 type yang:date-and-time;
310 "date and time service to be rolled";
314 uses org-openroadm-common-types:rpc-response-status;
317 rpc service-reconfigure {
323 "Existing identifier for the service to be
324 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
326 leaf new-service-name {
329 "New identifier for the service to be
330 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
335 "To be used by the ROADM controller to identify the routing
336 constraints received from planning application (PED).";
338 leaf connection-type {
339 type org-openroadm-common-service-types:connection-type;
341 container service-a-end {
342 uses org-openroadm-common-service-types:service-endpoint;
344 container service-z-end {
345 uses org-openroadm-common-service-types:service-endpoint;
347 uses org-openroadm-routing-constraints:routing-constraints;
348 uses org-openroadm-common-service-types:service-information;
351 uses org-openroadm-common-types:rpc-response-status;
354 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
355 service-rpc-result Notification shall be sent.";
357 rpc service-restoration {
363 "Identifier for the service to be restored in
364 the ROADM network, e.g., CLFI, CLCI, etc.";
371 "A spare regen can be used to restore the
372 service permanently without reverting back to the
378 "a spare regen can be used to restore the
379 service temporarily. The service needs to be reverted
380 back to the original regen transponder";
387 uses org-openroadm-common-types:rpc-response-status;
390 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
391 service-rpc-result Notification shall be sent.";
393 rpc service-reversion {
399 "Identifier for the service to be reverted
400 in the ROADM network, e.g., CLFI, CLCI, etc. ";
403 type yang:date-and-time;
405 "date and time service to be reverted";
409 uses org-openroadm-common-types:rpc-response-status;
412 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
413 service-rpc-result Notification shall be sent.";
415 rpc service-reroute {
421 "Identifier for the service to be re-routed in
422 the ROADM network, e.g., CLFI, CLCI, etc.";
426 uses org-openroadm-common-types:rpc-response-status;
427 uses org-openroadm-routing-constraints:routing-constraints;
430 "Whether this request was validated and processed correct. If sucessful, it return the proposed new route.
431 If acceptable, this request should be followed by a service-reroute-confirm to complete the reroute operation.";
433 rpc service-reroute-confirm {
439 "Identifier for the service to be re-routed in
440 the ROADM network, e.g., CLFI, CLCI, etc.";
442 uses org-openroadm-routing-constraints:routing-constraints;
445 uses org-openroadm-common-types:rpc-response-status;
448 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
449 service-rpc-result Notification shall be sent.";
451 rpc network-re-optimization {
456 "Identifier for the service in the ROADM network,
457 e.g., CLFI, CLCI, etc. whose path is to be checked by the RNC
458 for re-optimization";
463 "Services whose A-ends are terminated at the
464 specified office location are to be checked by the RNC for
470 "Services whose Z-ends are terminated at the
471 specified office location are to be checked by the RNC for
477 "Services that are pass-through (either via
478 regen or express) at the specified office location are to
479 be checked by the RNC for re-optimization";
484 "Services that belong to the specified customer
485 are to be checked by the RNC for re-optimization ";
489 uses org-openroadm-common-types:rpc-response-status;
490 leaf optimization-candidate {
495 container service-list {
497 "List of service. Can only be created, deleted, modified, etc. using special RPCs.";
500 uses org-openroadm-common-service-types:service;
503 container temp-service-list {
505 "List of temporary services Can only be created, deleted, modified, etc. using special RPCs.";
508 uses org-openroadm-common-service-types:service {
509 refine "service-name" {
515 notification service-rpc-result {
517 "This Notification indicates result of service RPC";
518 leaf notification-type {
519 type org-openroadm-common-service-types:service-notification-types;
521 uses org-openroadm-common-types:rpc-response-status;
522 uses org-openroadm-common-service-types:service-notification-result;
524 notification service-traffic-flow {
526 "This Notification indicates that traffic is flowing again on the service after an administrative action has completed";
530 "Identifier for the service being reported on";
534 type yang:date-and-time;
536 "Actual date and time traffic started flowing";
539 notification service-notification {
541 "This Notification that a service has been added, modified or removed.
542 A resourceCreation notification shall contain the created service in its entirety.
543 A resourceMofified notification shall contain just the modified field, plus the service identifier
544 A resourceDeleted notification shall just contain the service identifier";
545 leaf notificationType {
546 type org-openroadm-resource-types:resource-notification-type;
548 "Whether this notification indicates a service creation, service modification or service deletion.";
550 uses org-openroadm-common-service-types:service;