+++ /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;
- revision-date 2013-07-15;
- }
- import ietf-inet-types {
- prefix inet;
- revision-date 2013-07-15;
- }
- import org-openroadm-routing-constraints {
- prefix org-openroadm-routing-constraints;
- revision-date 2019-03-29;
- }
- import org-openroadm-topology {
- prefix org-openroadm-topology;
- revision-date 2019-05-31;
- }
- import org-openroadm-common-equipment-types {
- prefix org-openroadm-common-equipment-types;
- revision-date 2018-11-30;
- }
- import org-openroadm-common-state-types {
- prefix org-openroadm-common-state-types;
- revision-date 2018-11-30;
- }
- import org-openroadm-common-node-types {
- prefix org-openroadm-common-node-types;
- revision-date 2018-11-30;
- }
- import org-openroadm-resource-types {
- prefix org-openroadm-resource-types;
- revision-date 2018-11-30;
- }
- import org-openroadm-otn-common-types {
- prefix org-openroadm-otn-common-types;
- revision-date 2018-11-30;
- }
- import org-openroadm-common-types {
- prefix org-openroadm-common-types;
- revision-date 2019-05-31;
- }
- import org-openroadm-equipment-states-types {
- prefix org-openroadm-equipment-states-types;
- revision-date 2018-11-30;
- }
- import org-openroadm-service-format {
- prefix org-openroadm-service-format;
- revision-date 2019-05-31;
- }
-
- 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,
- 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 2019-05-31 {
- description
- "Version 5.1.0";
- }
- revision 2019-03-29 {
- description
- "Version 5.0.0";
- }
- revision 2018-11-30 {
- description
- "Version 4.1.0";
- }
- revision 2018-09-28 {
- description
- "Version 4.0.0";
- }
- revision 2018-05-30 {
- description
- "Version 3.1.0";
- }
- revision 2018-03-30 {
- description
- "Version 3.0.0";
- }
- revision 2017-12-15 {
- description
- "Version 2.2";
- }
- revision 2017-09-29 {
- description
- "Version 2.1";
- }
- revision 2017-07-28 {
- description
- "Version 2.0.1 - added revision-date to imports";
- }
- revision 2017-06-26 {
- description
- "Version 2.0";
- }
- revision 2016-10-14 {
- description
- "Version 1.2";
- }
-
- identity service-resiliency-type-identity {
- description
- "A unique resiliency type identification of the service.";
- }
-
- identity unprotected {
- base service-resiliency-type-identity;
- description
- "the service is not protected in the OpenROADM layer";
- }
-
- identity unprotected-diversely-routed {
- base service-resiliency-type-identity;
- description
- "the service is not protected in the OpenROADM layer, but may be protected in a higher layer
- a coupled service that may be routed partially or fully disjointly is defined";
- }
-
- identity protected {
- base service-resiliency-type-identity;
- description
- "the service is protected in the OpenROADM layer : the protection is handled
- autonomously in this layer";
- }
-
- identity restorable {
- base service-resiliency-type-identity;
- description
- "the service can be restored autonomously in the OpenROADM layer";
- }
-
- identity external-trigger-restorable {
- base service-resiliency-type-identity;
- description
- "the service can be restored in the OpenROADM layer, but the restoration is triggered
- at a higher layer through service models' rpc";
- }
-
- typedef rpc-actions {
- 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;
- }
- enum "service-feasibility-check-bulk" {
- value 14;
- }
- enum "ber-test" {
- value 15;
- }
- }
- description
- "rpc-actions include all the rpc methods";
- }
-
- typedef ethernet-encoding-type {
- type enumeration {
- enum "10GBASE-W" {
- value 1;
- }
- enum "10GBASE-R" {
- value 2;
- }
- }
- }
-
- typedef mapping-mode-type {
- type enumeration {
- enum "GFP-F" {
- value 1;
- reference "GFP-F - ITU-T G.7041 SubClause 7.1, Payload Only";
- }
- enum "GFP-E" {
- value 2;
- reference "GFP-E - ITU-T G.7041 SubClause 7.9, Payload + Preamble + Ordered Sets";
- }
- enum "PCS-Transparent" {
- value 3;
- reference "PCS-Transparent - ITU-T G.709 Subclause 17.2 , CBR10G3 mapping to ODU2e";
- }
- }
- }
-
- typedef service-layer-type {
- type enumeration {
- enum "wdm" {
- value 1;
- }
- enum "otn" {
- value 2;
- }
- }
- }
-
- 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;
- }
- }
- }
-
- grouping service-and-supporting-services {
- description
- "Service identifiers and supporting services details";
- uses service-identifiers-container;
- uses supporting-services-identifiers-and-ends;
- }
-
- grouping supporting-services-identifiers-and-ends {
- container supporting-services {
- list supporting-service-details {
- key "index";
- leaf index {
- type uint16;
- description
- "Service number of the supporting service";
- }
- uses service-identifiers-container;
- uses service-ends-container;
- }
- }
- }
-
- grouping service-ends-container {
- container service-a-end {
- uses service-endpoint-summary;
- }
- container service-z-end {
- uses service-endpoint-summary;
- }
- }
-
- grouping service-endpoint-summary {
- description
- "Brief form of service-endpoint";
- container service-endpoint-details {
- leaf clli {
- type string;
- mandatory true;
- description
- "CLLI. Note this CLLI must match the site associated with the device-id of this endpoint";
- }
- uses org-openroadm-resource-types:device-id;
- container tx-direction {
- uses service-port;
- }
- container rx-direction {
- uses service-port;
- }
- }
- }
-
- grouping service-identifiers-container {
- container service-identifiers {
- leaf service-name {
- type string;
- }
- leaf common-id {
- type string;
- }
- leaf version-number {
- type uint64;
- }
- }
- }
-
- 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 {
- description
- "Violated soft constraints";
- uses org-openroadm-routing-constraints:routing-constraints;
- }
- }
-
- grouping subrate-eth-sla {
- container subrate-eth-sla {
- presence "Explicit assignment of subrate ethernet allocation";
- description
- "SLA (Service Level Agreement) for subrate Ethernet";
- uses org-openroadm-common-types:eth-rate-and-burst-size;
- }
- }
-
- grouping service-endpoint {
- leaf service-format {
- type org-openroadm-service-format:service-format;
- mandatory true;
- description
- "Format of the requested service: Ethernet, OTU, etc.";
- }
- leaf service-rate {
- when "../service-format != 'OMS' and ../service-format != 'ODU'" {
- description
- "service rate not applicable when service
- format is roadmline or ODU; valid for OTU since service-rate has
- already been supported for wdm layer OTU services (100 for OTU4)";
- }
- type uint32;
- description
- "Rate of the requested service in GBps";
- }
- leaf other-service-format-and-rate {
- type string;
- description
- "Used when service-format is set to other in the bookend xponder use case.
- The use of other-service-format-and-rate is not standardized in the Open ROADM MSA
- and intended to allow the controller to support non-Open ROADM service formats.
- This value encodes both the service format and the rate supported.
- This field should not be specified when service format != other.";
- }
- leaf otu-service-rate {
- when "../service-format = 'OTU'" {
- description
- "only applicable for OTU services";
- }
- type identityref {
- base org-openroadm-otn-common-types:otu-rate-identity;
- }
- description
- "OTU Rate of the requested service";
- }
- leaf odu-service-rate {
- when "../service-format = 'ODU'" {
- description
- "only applicable for ODU services";
- }
- type identityref {
- base org-openroadm-otn-common-types:odu-rate-identity;
- }
- description
- "ODU Rate of the requested service";
- }
- leaf ethernet-encoding {
- when
- "(../service-format='Ethernet')
- and
- (../service-rate=10)" {
- description
- "Applicable only to Ethernet 10G services";
- }
- type ethernet-encoding-type;
- description
- "Ethernet encoding type";
- }
- leaf mapping-mode {
- when
- "(../service-format='Ethernet')
- and
- (../service-rate=10)" {
- description
- "Mapping Mode, currently only defined for Ethernet 10G services";
- }
- type mapping-mode-type;
- description
- "Mapping mode.";
- }
- leaf clli {
- type string;
- mandatory true;
- description
- "CLLI. Note this CLLI must match the site associated with the device-id of this
- endpoint";
- }
- uses org-openroadm-resource-types:device-id;
- 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-equipment-types:optic-types;
- }
- container router {
- description
- "Needed for communication with DWDM pluggable";
- leaf node-id {
- type org-openroadm-common-node-types:node-id-type;
- 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";
- }
- container subrate-eth-sla {
- when "(../service-format='Ethernet')" {
- description
- "For any Ethernet services";
- }
- uses org-openroadm-common-service-types:subrate-eth-sla;
- }
- }
-
- 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 {
- description
- "From the device model perspective the port-device-name plus the port-circuit-pack-name plus the port-name uniquely identifies the port.
- From the network model perspective the openroadm-topology-ref plus port-device-name plus port-name uniquely identify the termination point in the network model.";
- leaf port-device-name {
- type string;
- }
- leaf port-circuit-pack-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;
- mandatory false;
- description
- "Date and time service to be removed";
- }
- uses eventHorizon;
- 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.";
- }
- leaf service-layer {
- type service-layer-type;
- default "wdm";
- description
- "Layer associated with service (e.g. wdm or otn)";
- }
- leaf clli-network-ref {
- type string;
- description
- "Assumption: a service would not span multiple clli-network layers.
- Reference to the network-id of the clli-network layer.";
- }
- leaf openroadm-network-ref {
- type string;
- description
- "Assumption: a service would not span multiple openroadm-network layers.
- Reference to the network-id of the openroadm-network layer.";
- }
- leaf openroadm-topology-ref {
- type string;
- description
- "Assumption: a service would not span multiple topology layers.
- Reference to the network-id of either the openroadm-topology
- or the otn-topology layer depending upon service-layer (wdm or otn).";
- }
- leaf bandwidth-calendaring {
- type boolean;
- description
- "True if service is active only during a specific time period";
- }
- container bw-calendaring-parameters {
- when "../bandwidth-calendaring = 'true'" {
- description
- "Includes all attributes associated with bandwidth calendaring option.
- Used to set service profile : each service corresponds to one specific
- time-period. Services defined on complementary time periods can be linked
- together through the coupled-service attribute ";
- }
- list bw-calendaring-coupled-services {
- key "service-index";
- leaf service-index {
- type uint16;
- description
- "service-number of the service that may be associated to the considered service";
- }
- leaf service-name {
- type string;
- description
- "service-name of the service that may be associated to the considered service in service-list";
- }
- leaf common-id {
- type string;
- description
- "common-id of the service that may be associated to the considered service in temp-service-list";
- }
- leaf version-number {
- type uint64;
- description
- "common-id of the service that may be associated to the considered service in versioned-service-list";
- }
- }
- list recurrence-pattern {
- key "recurrence-id";
- leaf recurrence-id {
- type uint32;
- description
- "id of the pattern defining the time during which the service is active ";
- }
- leaf-list day-of-the-week {
- type enumeration {
- enum "Monday" {
- value 1;
- }
- enum "Tuesday" {
- value 2;
- }
- enum "Wednesday" {
- value 3;
- }
- enum "Thursday" {
- value 4;
- }
- enum "Friday" {
- value 5;
- }
- enum "Saturday" {
- value 6;
- }
- enum "Sunday" {
- value 7;
- }
- }
- description
- "Each day for which the service is active from stat-time to end-time";
- }
- leaf start-time {
- type string {
- pattern "\\d{2}:\\d{2}:\\d{2}";
- }
- description
- "start time expressed as hour:min:seconds";
- }
- leaf end-time {
- type string {
- pattern "\\d{2}:\\d{2}:\\d{2}";
- }
- description
- "end time expressed as hour:min:seconds";
- }
- }
- }
- }
-
- grouping routing-metric {
- container routing-metric {
- description
- "Describes the metrics used to route a service.
- All parameters of integer type, to set the priority of the routing criterion
- '0' means the criterion is not used,
- '1'coresponds to the highest priority,
- '255'coresponds to the lowest priority.
- Priority might be handled in several way : 1) To select one from several paths with the same metrics,
- using lower priority metrics until metrics calculated allow the selection; 2) Using priority as
- a weight for composite metric calculation";
- leaf wdm-hop-count {
- type uint8 {
- range "0..255";
- }
- default "1";
- description
- "Metric corresponding to the number of hop in the wdm layer";
- }
- leaf otn-hop-count {
- type uint8 {
- range "0..255";
- }
- default "0";
- description
- "Metric corresponding to the number of hop in the otn layer";
- }
- leaf wdm-load {
- type uint8 {
- range "0..255";
- }
- default "0";
- description
- "Metric corresponding to the load of the wdm layer
- Can be used to avoid using heavy loaded links ";
- }
- leaf otn-load {
- type uint8 {
- range "0..255";
- }
- default "0";
- description
- "Metric corresponding to the load of the otn layer.
- Can be used to avoid using heavy loaded links/switchs ";
- }
- leaf latency {
- type uint8 {
- range "0..255";
- }
- default "0";
- description
- "Metric corresponding to the latency. Total path latency can be calculated from
- SRLG length of the OMS and the latency introduced by the equipment";
- }
- leaf distance {
- type uint8 {
- range "0..255";
- }
- default "0";
- description
- "Metric associated with the distance. Total path distance can be
- calculated from SRLG length of the OMS";
- }
- leaf wdm-TE-metric {
- type uint8 {
- range "0..255";
- }
- default "0";
- description
- "Used when routing shall be performed according to specific pre-defined
- TE-Metric. Total path metric can be calculated from OMS TE-metric attribute
- defined in org-openroadm-link module";
- }
- leaf adaptation-number {
- type uint8 {
- range "0..255";
- }
- default "0";
- description
- "Metric associated with the adaptation between layers. Total path metric can
- can be calculated from the total number of transition between layers";
- }
- leaf otn-TE-metric {
- type uint8 {
- range "0..255";
- }
- default "0";
- description
- "Used when routing shall be performed according to specific pre-defined
- metric associated with OTN (OTU/ODU level)";
- }
- }
- }
-
- grouping service-resiliency {
- container service-resiliency {
- leaf resiliency {
- type identityref {
- base service-resiliency-type-identity;
- }
- description
- "describes the type of resiliency and the associated layer ";
- }
- leaf revertive {
- when "../resiliency != 'unprotected' and ../resiliency != 'unprotected-diversely-routed'" {
- description
- "revertive not applicable when service is neither protected nor restorable";
- }
- type boolean;
- description
- "defines if the service shall revert to the initial working path
- after protection or restoration has been triggered and fault condition
- has disappeared";
- }
- leaf wait-to-restore {
- when "../revertive = 'true'" {
- description
- "wait-to-restore applies for service defined as revertive ";
- }
- type uint64;
- units "ms";
- description
- "time delay to revert to initial path after conditions for reversion are satisfied";
- }
- leaf holdoff-time {
- when "../resiliency != 'unprotected' and ../resiliency != 'unprotected-diversely-routed'" {
- description
- "holdoff-time applies when services are either protected or restorable";
- }
- type uint64;
- units "ms";
- description
- "time delay to initiate a protection or restoration event";
- }
- leaf pre-calculated-backup-path-number {
- when "../resiliency = 'restorable' or ../resiliency = 'external-trigger-restorable'" {
- description
- "when service is restorable, defines the
- number of paths that shall be or have been pre-calculated";
- }
- type uint8;
- description
- "Associated to service-create / reconfigure / feasibility-check rpcs
- --> defines the target number of backup-paths to be calculated by PCE. This is an
- optional parameter : operator can provide it to conform with specific engineering rules.
- If not provided, PCE will evaluate the number of backup path to be provided automously.
- Associated with service --> gives the effective number of backup-paths
- returned/calculated by PCE that can be find in topology container";
- }
- container coupled-service {
- when "../resiliency = 'unprotected-diversely-routed'" {
- description
- "for unprotected-diversely-routed services only one path is defined.
- Allows providing a link between services that are coupled
- through a routing disjonction criterion";
- }
- list coupled-services {
- key "service-index";
- leaf service-index {
- type uint16;
- description
- "service-number of the service that may be routed disjointly to the considered service";
- }
- leaf service-name {
- type string;
- description
- "service-name of the service that may be routed disjointly to the considered service in service-list";
- }
- leaf common-id {
- type string;
- description
- "common-id of the service that may be routed disjointly to the considered service in temp-service-list";
- }
- leaf version-number {
- type uint64;
- description
- "common-id of the service that may be routed disjointly to the considered service in versioned-service-list";
- }
- }
- }
- }
- }
-
- grouping service {
- leaf service-name {
- type string;
- description
- "Identifier for the service to be created 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).";
- }
- uses sdnc-request-header;
- uses service-resiliency;
- uses routing-metric;
- leaf connection-type {
- type connection-type;
- mandatory true;
- description
- "Connection type";
- }
- leaf lifecycle-state {
- type org-openroadm-common-state-types:lifecycle-state;
- description
- "Lifecycle State of service. Whether it is planned, deployed, in maintenance, etc.";
- }
- leaf administrative-state {
- type org-openroadm-equipment-states-types:admin-states;
- description
- "Administrative State: Intended state of service";
- }
- leaf operational-state {
- type org-openroadm-common-state-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 {
- type string;
- 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.";
- }
- leaf current-active-path-id {
- type uint8;
- description
- "defines the current active path : '0' if active path is the working path
- id of the active backup path if protection or restoration has been triggered";
- }
- container topology {
- description
- "topology corresponds to working-path which is the default path. It defines the initial path
- to which services defined as revertive may revert to when the failure condition disappear";
- uses org-openroadm-topology:topology;
- }
- container backup-topology {
- list backup-path {
- key "backup-path-id";
- leaf backup-path-id {
- type uint8 {
- range "1..255";
- }
- description
- "Several backup paths may be used when backup-paths are pre-calculated.
- Backup-path-id avoids 0 which is associated with working path in current-active-path";
- }
- leaf failure-case-id {
- type string;
- description
- "A failure case Id can be used to associate a backup-path to a specific failure (srlg, OMS,...)";
- }
- uses org-openroadm-topology:topology;
- }
- }
- container network-topology {
- uses org-openroadm-topology:network-topology;
- }
- container network-backup-topology {
- list backup-path {
- key "backup-path-id";
- leaf backup-path-id {
- type uint8 {
- range "1..255";
- }
- description
- "Several backup paths may be used when backup-paths are pre-calculated.
- Backup-path-id avoids 0 which is associated with working path in current-active-path";
- }
- leaf failure-case-id {
- type string;
- description
- "A failure case Id can be used to associate a backup-path to a specific failure (srlg, OMS,...)";
- }
- uses org-openroadm-topology:network-topology;
- }
- }
- leaf is-bandwidth-locked {
- type boolean;
- default "false";
- description
- "Bandwidth lock (true, false) indicates whether the service is administratively
- prohibited from taking on more capacity - ie whether it can be used as a supporting
- service in any new service creations. Unlike administrative status, this does not
- impact any previous planned or deployed services.";
- }
- }
-
- grouping service-notification-result {
- leaf service-name {
- type string;
- description
- "Identifier for the service e.g., CLFI, CLCI, etc.";
- }
- leaf version-number {
- type uint64;
- description
- "Identifier for the versioned service";
- }
- leaf common-id {
- type string;
- description
- "Identifier for the temp service";
- }
- leaf actual-date {
- type yang:date-and-time;
- description
- "Actual date and time (if successful)";
- }
- }
-
- grouping equipment-info {
- leaf equipment-identifier {
- type string;
- }
- leaf equipment-type {
- type string;
- description
- "The set of valid value is derived from the equipment-type grouping used in the device model.";
- }
- leaf equipment-quantity {
- type uint32;
- }
- leaf lifecycle-state {
- type org-openroadm-common-state-types:lifecycle-state;
- }
- }
-
- grouping eventHorizon {
- leaf eventHorizonStart {
- type yang:date-and-time;
- description
- "Start time to ensure that the service is routable and viable. Required resources shall
- be considered reserved from this time. If not provided, defaults to due-date.";
- }
- leaf eventHorizonEnd {
- type yang:date-and-time;
- description
- "End time to ensure that the service is routable and viable. Required resources shall
- be considered reserved until this time. If not provided, defaults to end-date.";
- }
- }
-}