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;
13 revision-date 2016-10-14;
15 import org-openroadm-resource-types {
16 prefix org-openroadm-resource-types;
18 import org-openroadm-common-service-types {
19 prefix org-openroadm-common-service-types;
27 "YANG definitions of services.
29 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
30 AT&T Intellectual Property. All other rights reserved.
32 Redistribution and use in source and binary forms, with or without modification,
33 are permitted provided that the following conditions are met:
35 * Redistributions of source code must retain the above copyright notice, this
36 list of conditions and the following disclaimer.
37 * Redistributions in binary form must reproduce the above copyright notice,
38 this list of conditions and the following disclaimer in the documentation and/or
39 other materials provided with the distribution.
40 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
41 contributors may be used to endorse or promote products derived from this software
42 without specific prior written permission.
44 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
45 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
46 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
47 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
48 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
49 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
50 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
51 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
52 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
53 POSSIBILITY OF SUCH DAMAGE";
65 "Identifier for the service to be created in
66 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.";
72 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
74 uses org-openroadm-common-service-types:sdnc-request-header;
75 leaf connection-type {
76 type org-openroadm-common-service-types:connection-type;
79 container service-a-end {
80 uses org-openroadm-common-service-types:service-endpoint;
82 container service-z-end {
83 uses org-openroadm-common-service-types:service-endpoint;
85 uses org-openroadm-routing-constraints:routing-constraints;
86 uses org-openroadm-common-service-types:service-information;
89 uses org-openroadm-common-service-types:configuration-response-common;
90 uses org-openroadm-common-service-types:response-parameters;
93 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
94 service-rpc-result Notification shall be sent.";
96 rpc service-feasibility-check {
102 "To be used by the ROADM controller to identify the routing
103 constraints received from planning application (PED).";
105 uses org-openroadm-common-service-types:sdnc-request-header;
106 leaf connection-type {
107 type org-openroadm-common-service-types:connection-type;
109 container service-a-end {
110 uses org-openroadm-common-service-types:service-endpoint;
112 container service-z-end {
113 uses org-openroadm-common-service-types:service-endpoint;
115 uses org-openroadm-routing-constraints:routing-constraints;
116 uses org-openroadm-common-service-types:service-information;
119 uses org-openroadm-common-service-types:configuration-response-common;
120 uses org-openroadm-common-service-types:response-parameters;
121 container service-a-end {
122 uses org-openroadm-common-service-types:service-endpoint;
123 list equipment-required {
125 "List of required equipment, including equipment type and quantity";
126 key "eqipment-identifier";
127 leaf eqipment-identifier {
130 leaf equipment-type {
133 leaf equipment-quantity {
138 container service-z-end {
139 uses org-openroadm-common-service-types:service-endpoint;
140 list equipment-required {
142 "List of required equipment, including equipment type and quantity";
143 key "eqipment-identifier";
144 leaf eqipment-identifier {
147 leaf equipment-type {
150 leaf equipment-quantity {
155 list intermediate-sites {
157 uses org-openroadm-common-service-types:service-endpoint;
158 list equipment-required {
160 "List of required equipment, including equipment type and quantity";
161 key "eqipment-identifier";
162 leaf eqipment-identifier {
165 leaf equipment-type {
168 leaf equipment-quantity {
175 "Whether a service was possible to be created, and if so
176 the routing constraints match and the a and z end connection that have
181 uses org-openroadm-common-service-types:sdnc-request-header;
182 container service-delete-req-info {
186 "Identifier for the service to be deleted in
187 the ROADM network, e.g., CLFI, CLCI, etc.";
191 type yang:date-and-time;
193 "date and time service to be turned down. If missing, now.";
195 leaf tail-retention {
200 "tails are left intact ";
213 uses org-openroadm-common-service-types:configuration-response-common;
216 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
217 service-rpc-result Notification shall be sent. Once the service has been deleted, it no longer will appear in the service list";
219 rpc equipment-notification {
221 uses org-openroadm-common-service-types:sdnc-request-header;
226 leaf equipment-name {
233 leaf equipment-vendor {
237 leaf equipment-customer {
240 leaf equipment-clli {
253 uses org-openroadm-common-service-types:configuration-response-common;
256 rpc temp-service-create {
261 "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
264 uses org-openroadm-common-service-types:sdnc-request-header;
265 leaf connection-type {
266 type org-openroadm-common-service-types:connection-type;
269 container service-a-end {
270 uses org-openroadm-common-service-types:service-endpoint;
272 container service-z-end {
273 uses org-openroadm-common-service-types:service-endpoint;
275 uses org-openroadm-routing-constraints:routing-constraints;
276 uses org-openroadm-common-service-types:service-information;
279 uses org-openroadm-common-service-types:configuration-response-common;
280 uses org-openroadm-common-service-types:response-parameters;
283 rpc temp-service-delete {
291 uses org-openroadm-common-service-types:configuration-response-common;
300 "Identifier for the service to be rolled in
301 the ROADM network, e.g., CLFI, CLCI, etc.";
304 type yang:date-and-time;
306 "date and time service to be rolled";
310 uses org-openroadm-common-types:rpc-response-status;
313 rpc service-reconfigure {
319 "Existing identifier for the service to be
320 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
322 leaf new-service-name {
325 "New identifier for the service to be
326 reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
331 "To be used by the ROADM controller to identify the routing
332 constraints received from planning application (PED).";
334 leaf connection-type {
335 type org-openroadm-common-service-types:connection-type;
337 container service-a-end {
338 uses org-openroadm-common-service-types:service-endpoint;
340 container service-z-end {
341 uses org-openroadm-common-service-types:service-endpoint;
343 uses org-openroadm-routing-constraints:routing-constraints;
344 uses org-openroadm-common-service-types:service-information;
347 uses org-openroadm-common-types:rpc-response-status;
350 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
351 service-rpc-result Notification shall be sent.";
353 rpc service-restoration {
359 "Identifier for the service to be restored in
360 the ROADM network, e.g., CLFI, CLCI, etc.";
367 "A spare regen can be used to restore the
368 service permanently without reverting back to the
374 "a spare regen can be used to restore the
375 service temporarily. The service needs to be reverted
376 back to the original regen transponder";
383 uses org-openroadm-common-types:rpc-response-status;
386 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
387 service-rpc-result Notification shall be sent.";
389 rpc service-reversion {
395 "Identifier for the service to be reverted
396 in the ROADM network, e.g., CLFI, CLCI, etc. ";
399 type yang:date-and-time;
401 "date and time service to be reverted";
405 uses org-openroadm-common-types:rpc-response-status;
408 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
409 service-rpc-result Notification shall be sent.";
411 rpc service-reroute {
417 "Identifier for the service to be re-routed in
418 the ROADM network, e.g., CLFI, CLCI, etc.";
422 uses org-openroadm-common-types:rpc-response-status;
423 uses org-openroadm-routing-constraints:routing-constraints;
426 "Whether this request was validated and processed correct. If sucessful, it return the proposed new route.
427 If acceptable, this request should be followed by a service-reroute-confirm to complete the reroute operation.";
429 rpc service-reroute-confirm {
435 "Identifier for the service to be re-routed in
436 the ROADM network, e.g., CLFI, CLCI, etc.";
438 uses org-openroadm-routing-constraints:routing-constraints;
441 uses org-openroadm-common-types:rpc-response-status;
444 "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
445 service-rpc-result Notification shall be sent.";
447 rpc network-re-optimization {
452 "Identifier for the service in the ROADM network,
453 e.g., CLFI, CLCI, etc. whose path is to be checked by the RNC
454 for re-optimization";
459 "Services whose A-ends are terminated at the
460 specified office location are to be checked by the RNC for
466 "Services whose Z-ends are terminated at the
467 specified office location are to be checked by the RNC for
473 "Services that are pass-through (either via
474 regen or express) at the specified office location are to
475 be checked by the RNC for re-optimization";
480 "Services that belong to the specified customer
481 are to be checked by the RNC for re-optimization ";
485 uses org-openroadm-common-types:rpc-response-status;
486 leaf optimization-candidate {
491 container service-list {
493 "List of service. Can only be created, deleted, modified, etc. using special RPCs.";
496 uses org-openroadm-common-service-types:service;
499 container temp-service-list {
501 "List of temporary services Can only be created, deleted, modified, etc. using special RPCs.";
504 uses org-openroadm-common-service-types:service {
505 refine "service-name" {
511 notification service-rpc-result {
513 "This Notification indicates result of service RPC";
514 leaf notification-type {
515 type org-openroadm-common-service-types:service-notification-types;
517 uses org-openroadm-common-types:rpc-response-status;
518 uses org-openroadm-common-service-types:service-notification-result;
520 notification service-traffic-flow {
522 "This Notification indicates that traffic is flowing again on the service after an administrative action has completed";
526 "Identifier for the service being reported on";
530 type yang:date-and-time;
532 "Actual date and time traffic started flowing";
535 notification service-notification {
537 "This Notification that a service has been added, modified or removed.
538 A resourceCreation notification shall contain the created service in its entirety.
539 A resourceMofified notification shall contain just the modified field, plus the service identifier
540 A resourceDeleted notification shall just contain the service identifier";
541 leaf notificationType {
542 type org-openroadm-resource-types:resource-notification-type;
544 "Whether this notification indicates a service creation, service modification or service deletion.";
546 uses org-openroadm-common-service-types:service;