+++ /dev/null
-module org-openroadm-common-service-types {
- namespace "http://org/openroadm/common/service/types";
- prefix org-openroadm-common-service-types;
-
- import ietf-yang-types {
- prefix yang;
- }
- import ietf-inet-types {
- prefix inet;
- }
- import org-openroadm-routing-constraints {
- prefix org-openroadm-routing-constraints;
- }
- import org-openroadm-topology {
- prefix org-openroadm-topology;
- }
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- }
- import org-openroadm-resource-types {
- prefix org-openroadm-resource-types;
- }
-
- organization
- "Open ROADM MSA";
- contact
- "OpenROADM.org";
- description
- "YANG definitions of common service types.
-
- 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";
- }
-
- grouping configuration-response-common {
- container configuration-response-common {
- leaf request-id {
- type string;
- mandatory true;
- }
- leaf response-code {
- type string;
- mandatory true;
- }
- leaf response-message {
- type string;
- }
- leaf ack-final-indicator {
- type string;
- mandatory true;
- }
- }
- }
-
- grouping response-parameters {
- container response-parameters {
- uses org-openroadm-routing-constraints:routing-constraints;
- }
- }
-
- grouping service-endpoint {
- leaf service-format {
- type service-format;
- mandatory true;
- description
- "Format of the requested service: Ethernet, OTU, etc.";
- }
- leaf service-rate {
- when "../service-format!='OMS'"{
- description "service rate not applicable when service
- format is roadmline";
- }
- type uint32;
- mandatory true;
- description
- "Rate of the requested service in GBps";
- }
- leaf clli {
- type string;
- mandatory true;
- description
- "CLLI";
- }
- uses org-openroadm-resource-types:device-id;
- container site;
- container tx-direction {
- uses service-port;
- uses service-lgx;
- uses service-tail;
- }
- container rx-direction {
- uses service-port;
- uses service-lgx;
- uses service-tail;
- }
- leaf optic-type {
- type org-openroadm-common-types:optic-types;
- }
- container router {
- description
- "Needed for communication with DWDM pluggable";
- leaf node-id {
- type string;
- description
- "Node id. This is reported against the service, but may not get reflected in the service in the network.";
- }
- leaf ip-address {
- type inet:ip-address;
- description
- "Router IP Address. This is reported against the service, but may not get reflected in the service in the network.";
- }
- leaf url {
- type string;
- description
- "URL needed for communication with DWDM pluggable. This is reported against the service, but may not get reflected in the service in the network.";
- }
- }
- leaf user-label {
- type string;
- mandatory false;
- description
- "Label for service endpoint, defined by the user";
- }
- }
-
- typedef rpc-actions {
- description "rpc-actions include all the rpc methods";
- type enumeration {
- enum service-create {
- value "1";
- }
- enum service-feasibility-check {
- value "2";
- }
- enum service-delete {
- value "3";
- }
- enum equipment-notification {
- value "4";
- }
- enum temp-service-create {
- value "5";
- }
- enum temp-service-delete {
- value "6";
- }
- enum service-roll {
- value "7";
- }
- enum service-reconfigure {
- value "8";
- }
- enum service-restoration {
- value "9";
- }
- enum service-reversion {
- value "10";
- }
- enum service-reroute {
- value "11";
- }
- enum service-reroute-confirm {
- value "12";
- }
- enum network-re-optimization {
- value "13";
- }
- }
- }
-
- grouping sdnc-request-header {
- container sdnc-request-header {
- leaf request-id {
- type string;
- }
- leaf rpc-action {
- type rpc-actions;
- }
- leaf notification-url {
- type string;
- }
- leaf request-system-id{
- type string;
- }
- }
- }
-
- grouping service-port {
- container port {
- leaf port-device-name {
- type string;
- }
- leaf port-type {
- type string;
- }
- leaf port-name {
- type string;
- }
- leaf port-rack {
- type string;
- }
- leaf port-shelf {
- type string;
- }
- leaf port-slot {
- type string;
- }
- leaf port-sub-slot {
- type string;
- }
- }
- }
-
- grouping service-lgx {
- container lgx {
- leaf lgx-device-name {
- type string;
- }
- leaf lgx-port-name {
- type string;
- }
- leaf lgx-port-rack {
- type string;
- }
- leaf lgx-port-shelf {
- type string;
- }
- }
- }
-
- grouping service-tail {
- container tail {
- container tail-roadm {
- description
- "ROADM on which the transponder is connected to (TID, IP Address,
- or FQDN)";
- uses org-openroadm-resource-types:device-id;
- }
- container xponder-port {
- description
- "Muxponder port used in tail, that will get used as a service endpoint.";
- leaf circuit-pack-name {
- type string;
- }
- leaf port-name {
- type string;
- }
- }
- leaf tail-roadm-port-aid {
- type string;
- description
- "This will provide the transponder port needed to inter-city ROADM
- connection";
- }
- leaf tail-roadm-port-rack-location {
- type string;
- description
- "Transponder's location";
- }
- }
- }
-
- grouping service-information {
- leaf due-date {
- type yang:date-and-time;
- description
- "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";
- }
- leaf end-date {
- type yang:date-and-time;
- description
- "Date and time service to be removed";
- mandatory false;
- }
- leaf nc-code {
- type string;
- description
- "NC code applied to wavelength service only.This is reported against the service, but may not get reflected in the service in the network.";
- }
- leaf nci-code {
- type string;
- description
- "NCI code applied to wavelength service only.This is reported against the service, but may not get reflected in the service in the network.";
- }
- leaf secondary-nci-code {
- type string;
- description
- "NC code applied to wavelength service only.This is reported against the service, but may not get reflected in the service in the network.";
- }
- leaf customer {
- type string;
- description
- "To be included in ticket information.This is reported against the service, but may not get reflected in the service in the network.";
- }
- leaf customer-contact {
- type string;
- description
- "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.";
- }
- leaf operator-contact {
- type string;
- description
- "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.";
- }
- }
-
- grouping service {
- leaf service-name {
- type string;
- description
- "Identifier for the service to be created in
- the ROADM network, e.g., CLFI, CLCI, etc.";
- 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 sdnc-request-header;
- leaf connection-type {
- type connection-type;
- mandatory true;
- description
- "Connection type";
- }
- leaf lifecycle-state {
- type org-openroadm-common-types:lifecycle-state;
- description
- "Lifecycle State of service. Whether it is planned, deployed, in maintenance, etc.";
- }
- leaf administrative-state {
- type org-openroadm-common-types:state;
- description
- "Administrative State: Intended state of service";
- }
- leaf operational-state {
- type org-openroadm-common-types:state;
- config false;
- description
- "Operational State: Actual state of service";
- }
- leaf condition {
- type service-condition;
- description
- "Service Condition: Additional information about the state of the service. Only sent when applicable.";
- }
- container service-a-end {
- uses service-endpoint;
- }
- container service-z-end {
- uses service-endpoint;
- }
- uses org-openroadm-routing-constraints:routing-constraints;
- uses service-information;
- leaf latency {
- type uint32;
- description
- "Latency on service";
- }
- leaf-list fiber-span-srlgs {
- type string;
- description
- "Shared risk link group identifiers";
- }
- list equipment-srgs {
- key "srg-number";
- uses org-openroadm-resource-types:srg-number;
- }
- leaf-list supporting-service-name {
- description
- "The service name that this runs over top. If connection-type is service, then this is the related
- connection-type = infrastructure service, for example.";
- type string;
- }
- container topology {
- uses org-openroadm-topology:topology;
- }
- }
-
- grouping service-notification-result {
- leaf service-name {
- type string;
- description
- "Identifier for the service e.g., CLFI, CLCI, etc.";
- mandatory true;
- }
- leaf actual-date {
- type yang:date-and-time;
- description
- "Actual date and time (if successful)";
- }
- }
-
- typedef service-format {
- type enumeration {
- enum "Ethernet" {
- value 1;
- }
- enum "OTU" {
- value 2;
- }
- enum "OC" {
- value 3;
- }
- enum "STM" {
- value 4;
- }
- enum "OMS" {
- value 5;
- }
- enum "ODU" {
- value 6;
- }
- enum "OTM" {
- value 7;
- }
- }
- }
-
- typedef service-notification-types {
- type enumeration {
- enum "service-create-result" {
- value 1;
- }
- enum "service-reconfigure-result" {
- value 2;
- }
- enum "service-delete-result" {
- value 3;
- }
- enum "service-roll-result" {
- value 4;
- }
- enum "service-revert-result" {
- value 5;
- }
- enum "service-reroute-result" {
- value 6;
- }
- enum "service-restoration-result" {
- value 7;
- }
- }
- }
-
- typedef connection-type {
- type enumeration {
- enum "service" {
- value 1;
- }
- enum "infrastructure" {
- value 2;
- }
- enum "roadm-line" {
- value 3;
- }
- }
- }
-
- typedef service-condition {
- type enumeration {
- enum "restored-temporarily" {
- value 1;
- }
- enum "re-routed-temporarily" {
- value 2;
- }
- enum "activated-for-service" {
- value 3;
- }
- enum "activated-for-further-check" {
- value 4;
- }
- enum "activated-for-troubleshooting-failure" {
- value 5;
- }
- }
- }
-}