+++ /dev/null
-module org-openroadm-service {
- namespace "http://org/openroadm/service";
- prefix org-openroadm-service;
-
- import ietf-yang-types {
- prefix yang;
- }
- import org-openroadm-routing-constraints {
- prefix org-openroadm-routing-constraints;
- revision-date 2016-10-14;
- }
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2016-10-14;
-
- }
- import org-openroadm-resource-types {
- prefix org-openroadm-resource-types;
- revision-date 2016-10-14;
- }
- import org-openroadm-common-service-types {
- prefix org-openroadm-common-service-types;
- revision-date 2016-10-14;
- }
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org";
- description
- "YANG definitions of services.
-
- Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016,
- AT&T Intellectual Property. All other rights reserved.
-
- Redistribution and use in source and binary forms, with or without modification,
- are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
- * Neither the Members of the Open ROADM MSA Agreement nor the names of its
- contributors may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS''
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT,
- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
- OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE";
-
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- rpc service-create {
- input {
- leaf service-name {
- type string;
- description
- "Identifier for the service to be created in
- 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.";
- mandatory true;
- }
- leaf common-id {
- type string;
- description
- "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
- }
- uses org-openroadm-common-service-types:sdnc-request-header;
- leaf connection-type {
- type org-openroadm-common-service-types:connection-type;
- mandatory true;
- }
- container service-a-end {
- uses org-openroadm-common-service-types:service-endpoint;
- }
- container service-z-end {
- uses org-openroadm-common-service-types:service-endpoint;
- }
- uses org-openroadm-routing-constraints:routing-constraints;
- uses org-openroadm-common-service-types:service-information;
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- uses org-openroadm-common-service-types:response-parameters;
- }
- description
- "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
- service-rpc-result Notification shall be sent.";
- }
- rpc service-feasibility-check {
- input {
- leaf common-id {
- type string;
- mandatory true;
- description
- "To be used by the ROADM controller to identify the routing
- constraints received from planning application (PED).";
- }
- uses org-openroadm-common-service-types:sdnc-request-header;
- leaf connection-type {
- type org-openroadm-common-service-types:connection-type;
- }
- container service-a-end {
- uses org-openroadm-common-service-types:service-endpoint;
- }
- container service-z-end {
- uses org-openroadm-common-service-types:service-endpoint;
- }
- uses org-openroadm-routing-constraints:routing-constraints;
- uses org-openroadm-common-service-types:service-information;
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- uses org-openroadm-common-service-types:response-parameters;
- container service-a-end {
- uses org-openroadm-common-service-types:service-endpoint;
- list equipment-required {
- description
- "List of required equipment, including equipment type and quantity";
- key "eqipment-identifier";
- leaf eqipment-identifier {
- type string;
- }
- leaf equipment-type {
- type string;
- }
- leaf equipment-quantity {
- type uint32;
- }
- }
- }
- container service-z-end {
- uses org-openroadm-common-service-types:service-endpoint;
- list equipment-required {
- description
- "List of required equipment, including equipment type and quantity";
- key "eqipment-identifier";
- leaf eqipment-identifier {
- type string;
- }
- leaf equipment-type {
- type string;
- }
- leaf equipment-quantity {
- type uint32;
- }
- }
- }
- list intermediate-sites {
- key "clli";
- uses org-openroadm-common-service-types:service-endpoint;
- list equipment-required {
- description
- "List of required equipment, including equipment type and quantity";
- key "eqipment-identifier";
- leaf eqipment-identifier {
- type string;
- }
- leaf equipment-type {
- type string;
- }
- leaf equipment-quantity {
- type uint32;
- }
- }
- }
- }
- description
- "Whether a service was possible to be created, and if so
- the routing constraints match and the a and z end connection that have
- to match";
- }
- rpc service-delete {
- input {
- uses org-openroadm-common-service-types:sdnc-request-header;
- container service-delete-req-info {
- leaf service-name {
- type string;
- description
- "Identifier for the service to be deleted in
- the ROADM network, e.g., CLFI, CLCI, etc.";
- mandatory true;
- }
- leaf due-date {
- type yang:date-and-time;
- description
- "date and time service to be turned down. If missing, now.";
- }
- leaf tail-retention {
- type enumeration {
- enum "yes" {
- value 1;
- description
- "tails are left intact ";
- }
- enum "no" {
- value 2;
- description
- "tails are deleted";
- }
- }
- mandatory true;
- }
- }
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- }
- description
- "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
- service-rpc-result Notification shall be sent. Once the service has been deleted, it no longer will appear in the service list";
- }
- rpc equipment-notification {
- input {
- uses org-openroadm-common-service-types:sdnc-request-header;
- leaf equiptment-id {
- type string;
- mandatory true;
- }
- leaf equipment-name {
- type string;
- }
- leaf equipemt-type {
- type string;
- mandatory true;
- }
- leaf equipment-vendor {
- type string;
- mandatory true;
- }
- leaf equipment-customer {
- type string;
- }
- leaf equipment-clli {
- type string;
- mandatory true;
- }
- leaf equipment-ip {
- type string;
- }
- leaf controller-id {
- type string;
- mandatory true;
- }
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- }
- }
- rpc temp-service-create {
- input {
- leaf common-id {
- type string;
- description
- "To be used by the ROADM controller to identify the routing constraints received from planning application (PED).";
- mandatory true;
- }
- uses org-openroadm-common-service-types:sdnc-request-header;
- leaf connection-type {
- type org-openroadm-common-service-types:connection-type;
- mandatory true;
- }
- container service-a-end {
- uses org-openroadm-common-service-types:service-endpoint;
- }
- container service-z-end {
- uses org-openroadm-common-service-types:service-endpoint;
- }
- uses org-openroadm-routing-constraints:routing-constraints;
- uses org-openroadm-common-service-types:service-information;
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- uses org-openroadm-common-service-types:response-parameters;
- }
- }
- rpc temp-service-delete {
- input {
- leaf common-id {
- type string;
- mandatory true;
- }
- }
- output {
- uses org-openroadm-common-service-types:configuration-response-common;
- }
- }
- rpc service-roll {
- input {
- leaf service-name {
- type string;
- mandatory true;
- description
- "Identifier for the service to be rolled in
- the ROADM network, e.g., CLFI, CLCI, etc.";
- }
- leaf due-date {
- type yang:date-and-time;
- description
- "date and time service to be rolled";
- }
- }
- output {
- uses org-openroadm-common-types:rpc-response-status;
- }
- }
- rpc service-reconfigure {
- input {
- leaf service-name {
- type string;
- mandatory true;
- description
- "Existing identifier for the service to be
- reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
- }
- leaf new-service-name {
- type string;
- description
- "New identifier for the service to be
- reconfigured in the ROADM network, e.g., CLFI, CLCI, etc.";
- }
- leaf common-id {
- type string;
- description
- "To be used by the ROADM controller to identify the routing
- constraints received from planning application (PED).";
- }
- leaf connection-type {
- type org-openroadm-common-service-types:connection-type;
- }
- container service-a-end {
- uses org-openroadm-common-service-types:service-endpoint;
- }
- container service-z-end {
- uses org-openroadm-common-service-types:service-endpoint;
- }
- uses org-openroadm-routing-constraints:routing-constraints;
- uses org-openroadm-common-service-types:service-information;
- }
- output {
- uses org-openroadm-common-types:rpc-response-status;
- }
- description
- "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
- service-rpc-result Notification shall be sent.";
- }
- rpc service-restoration {
- input {
- leaf service-name {
- type string;
- mandatory true;
- description
- "Identifier for the service to be restored in
- the ROADM network, e.g., CLFI, CLCI, etc.";
- }
- leaf option {
- type enumeration {
- enum "permanent" {
- value 1;
- description
- "A spare regen can be used to restore the
- service permanently without reverting back to the
- original regen";
- }
- enum "temporary" {
- value 2;
- description
- "a spare regen can be used to restore the
- service temporarily. The service needs to be reverted
- back to the original regen transponder";
- }
- }
- mandatory true;
- }
- }
- output {
- uses org-openroadm-common-types:rpc-response-status;
- }
- description
- "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
- service-rpc-result Notification shall be sent.";
- }
- rpc service-reversion {
- input {
- leaf service-name {
- type string;
- mandatory true;
- description
- "Identifier for the service to be reverted
- in the ROADM network, e.g., CLFI, CLCI, etc. ";
- }
- leaf due-date {
- type yang:date-and-time;
- description
- "date and time service to be reverted";
- }
- }
- output {
- uses org-openroadm-common-types:rpc-response-status;
- }
- description
- "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
- service-rpc-result Notification shall be sent.";
- }
- rpc service-reroute {
- input {
- leaf service-name {
- type string;
- mandatory true;
- description
- "Identifier for the service to be re-routed in
- the ROADM network, e.g., CLFI, CLCI, etc.";
- }
- }
- output {
- uses org-openroadm-common-types:rpc-response-status;
- uses org-openroadm-routing-constraints:routing-constraints;
- }
- description
- "Whether this request was validated and processed correct. If sucessful, it return the proposed new route.
- If acceptable, this request should be followed by a service-reroute-confirm to complete the reroute operation.";
- }
- rpc service-reroute-confirm {
- input {
- leaf service-name {
- type string;
- mandatory true;
- description
- "Identifier for the service to be re-routed in
- the ROADM network, e.g., CLFI, CLCI, etc.";
- }
- uses org-openroadm-routing-constraints:routing-constraints;
- }
- output {
- uses org-openroadm-common-types:rpc-response-status;
- }
- description
- "Whether this request passed initial validation and was accepted for processing. Once the request completes processing, a
- service-rpc-result Notification shall be sent.";
- }
- rpc network-re-optimization {
- input {
- leaf service-name {
- type string;
- description
- "Identifier for the service in the ROADM network,
- e.g., CLFI, CLCI, etc. whose path is to be checked by the RNC
- for re-optimization";
- }
- leaf a-end {
- type string;
- description
- "Services whose A-ends are terminated at the
- specified office location are to be checked by the RNC for
- re-optimization";
- }
- leaf z-end {
- type string;
- description
- "Services whose Z-ends are terminated at the
- specified office location are to be checked by the RNC for
- re-optimization ";
- }
- leaf pass-through {
- type string;
- description
- "Services that are pass-through (either via
- regen or express) at the specified office location are to
- be checked by the RNC for re-optimization";
- }
- leaf customer-code {
- type string;
- description
- "Services that belong to the specified customer
- are to be checked by the RNC for re-optimization ";
- }
- }
- output {
- uses org-openroadm-common-types:rpc-response-status;
- leaf optimization-candidate {
- type string;
- }
- }
- }
- container service-list {
- description
- "List of service. Can only be created, deleted, modified, etc. using special RPCs.";
- list services {
- key "service-name";
- uses org-openroadm-common-service-types:service;
- }
- }
- container temp-service-list {
- description
- "List of temporary services Can only be created, deleted, modified, etc. using special RPCs.";
- list services {
- key "common-id";
- uses org-openroadm-common-service-types:service {
- refine "service-name" {
- mandatory false;
- }
- }
- }
- }
- notification service-rpc-result {
- description
- "This Notification indicates result of service RPC";
- leaf notification-type {
- type org-openroadm-common-service-types:service-notification-types;
- }
- uses org-openroadm-common-types:rpc-response-status;
- uses org-openroadm-common-service-types:service-notification-result;
- }
- notification service-traffic-flow {
- description
- "This Notification indicates that traffic is flowing again on the service after an administrative action has completed";
- leaf service-name {
- type string;
- description
- "Identifier for the service being reported on";
- mandatory true;
- }
- leaf actual-date {
- type yang:date-and-time;
- description
- "Actual date and time traffic started flowing";
- }
- }
- notification service-notification {
- description
- "This Notification that a service has been added, modified or removed.
- A resourceCreation notification shall contain the created service in its entirety.
- A resourceMofified notification shall contain just the modified field, plus the service identifier
- A resourceDeleted notification shall just contain the service identifier";
- leaf notificationType {
- type org-openroadm-resource-types:resource-notification-type;
- description
- "Whether this notification indicates a service creation, service modification or service deletion.";
- }
- uses org-openroadm-common-service-types:service;
- }
-}