1 module org-openroadm-common-service-types {
2 namespace "http://org/openroadm/common/service/types";
3 prefix org-openroadm-common-service-types;
5 import ietf-yang-types {
8 import ietf-inet-types {
11 import org-openroadm-routing-constraints {
12 prefix org-openroadm-routing-constraints;
14 import org-openroadm-topology {
15 prefix org-openroadm-topology;
17 import org-openroadm-common-types {
18 prefix org-openroadm-common-types;
20 import org-openroadm-resource-types {
21 prefix org-openroadm-resource-types;
29 "YANG definitions of common service types.
31 Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
32 AT&T Intellectual Property. All other rights reserved.
34 Redistribution and use in source and binary forms, with or without modification,
35 are permitted provided that the following conditions are met:
37 * Redistributions of source code must retain the above copyright notice, this
38 list of conditions and the following disclaimer.
39 * Redistributions in binary form must reproduce the above copyright notice,
40 this list of conditions and the following disclaimer in the documentation and/or
41 other materials provided with the distribution.
42 * Neither the Members of the Open ROADM MSA Agreement nor the names of its
43 contributors may be used to endorse or promote products derived from this software
44 without specific prior written permission.
46 THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
47 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
48 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
49 IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
50 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
51 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
52 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
53 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
54 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
55 POSSIBILITY OF SUCH DAMAGE";
62 grouping configuration-response-common {
63 container configuration-response-common {
72 leaf response-message {
75 leaf ack-final-indicator {
82 grouping response-parameters {
83 container response-parameters {
84 uses org-openroadm-routing-constraints:routing-constraints;
88 grouping service-endpoint {
93 "Format of the requested service: Ethernet, OTU, etc.";
96 when "../service-format!='OMS'"{
97 description "service rate not applicable when service
103 "Rate of the requested service in GBps";
111 uses org-openroadm-resource-types:device-id;
113 container tx-direction {
118 container rx-direction {
124 type org-openroadm-common-types:optic-types;
128 "Needed for communication with DWDM pluggable";
132 "Node id. This is reported against the service, but may not get reflected in the service in the network.";
135 type inet:ip-address;
137 "Router IP Address. This is reported against the service, but may not get reflected in the service in the network.";
142 "URL needed for communication with DWDM pluggable. This is reported against the service, but may not get reflected in the service in the network.";
149 "Label for service endpoint, defined by the user";
153 typedef rpc-actions {
154 description "rpc-actions include all the rpc methods";
156 enum service-create {
159 enum service-feasibility-check {
162 enum service-delete {
165 enum equipment-notification {
168 enum temp-service-create {
171 enum temp-service-delete {
177 enum service-reconfigure {
180 enum service-restoration {
183 enum service-reversion {
186 enum service-reroute {
189 enum service-reroute-confirm {
192 enum network-re-optimization {
198 grouping sdnc-request-header {
199 container sdnc-request-header {
206 leaf notification-url {
209 leaf request-system-id{
215 grouping service-port {
217 leaf port-device-name {
241 grouping service-lgx {
243 leaf lgx-device-name {
252 leaf lgx-port-shelf {
258 grouping service-tail {
260 container tail-roadm {
262 "ROADM on which the transponder is connected to (TID, IP Address,
264 uses org-openroadm-resource-types:device-id;
266 container xponder-port {
268 "Muxponder port used in tail, that will get used as a service endpoint.";
269 leaf circuit-pack-name {
276 leaf tail-roadm-port-aid {
279 "This will provide the transponder port needed to inter-city ROADM
282 leaf tail-roadm-port-rack-location {
285 "Transponder's location";
290 grouping service-information {
292 type yang:date-and-time;
294 "Date and time service to be turn up. If time is not specified for a given date, default to midnight. Service turned up immediately if no due date is specified";
297 type yang:date-and-time;
299 "Date and time service to be removed";
305 "NC code applied to wavelength service only.This is reported against the service, but may not get reflected in the service in the network.";
310 "NCI code applied to wavelength service only.This is reported against the service, but may not get reflected in the service in the network.";
312 leaf secondary-nci-code {
315 "NC code applied to wavelength service only.This is reported against the service, but may not get reflected in the service in the network.";
320 "To be included in ticket information.This is reported against the service, but may not get reflected in the service in the network.";
322 leaf customer-contact {
325 "Customer contact information To be included in ticket information. This is reported against the service, but may not get reflected in the service in the network.";
327 leaf operator-contact {
330 "Operator contact information to be included in ticket information. This is reported against the service, but may not get reflected in the service in the network.";
338 "Identifier for the service to be created in
339 the ROADM network, e.g., CLFI, CLCI, etc.";
345 "To be used by the ROADM controller to identify the routing
346 constraints received from planning application (PED).";
348 uses sdnc-request-header;
349 leaf connection-type {
350 type connection-type;
355 leaf lifecycle-state {
356 type org-openroadm-common-types:lifecycle-state;
358 "Lifecycle State of service. Whether it is planned, deployed, in maintenance, etc.";
360 leaf administrative-state {
361 type org-openroadm-common-types:state;
363 "Administrative State: Intended state of service";
365 leaf operational-state {
366 type org-openroadm-common-types:state;
369 "Operational State: Actual state of service";
372 type service-condition;
374 "Service Condition: Additional information about the state of the service. Only sent when applicable.";
376 container service-a-end {
377 uses service-endpoint;
379 container service-z-end {
380 uses service-endpoint;
382 uses org-openroadm-routing-constraints:routing-constraints;
383 uses service-information;
387 "Latency on service";
389 leaf-list fiber-span-srlgs {
392 "Shared risk link group identifiers";
394 list equipment-srgs {
396 uses org-openroadm-resource-types:srg-number;
398 leaf-list supporting-service-name {
400 "The service name that this runs over top. If connection-type is service, then this is the related
401 connection-type = infrastructure service, for example.";
405 uses org-openroadm-topology:topology;
409 grouping service-notification-result {
413 "Identifier for the service e.g., CLFI, CLCI, etc.";
417 type yang:date-and-time;
419 "Actual date and time (if successful)";
423 typedef service-format {
449 typedef service-notification-types {
451 enum "service-create-result" {
454 enum "service-reconfigure-result" {
457 enum "service-delete-result" {
460 enum "service-roll-result" {
463 enum "service-revert-result" {
466 enum "service-reroute-result" {
469 enum "service-restoration-result" {
475 typedef connection-type {
480 enum "infrastructure" {
489 typedef service-condition {
491 enum "restored-temporarily" {
494 enum "re-routed-temporarily" {
497 enum "activated-for-service" {
500 enum "activated-for-further-check" {
503 enum "activated-for-troubleshooting-failure" {