Remove OpenROADM and TAPI models from project
[transportpce.git] / ordmodels / service / src / main / yang / org-openroadm-service@2021-12-10.yang
diff --git a/ordmodels/service/src/main/yang/org-openroadm-service@2021-12-10.yang b/ordmodels/service/src/main/yang/org-openroadm-service@2021-12-10.yang
deleted file mode 100644 (file)
index 9f9f0b1..0000000
+++ /dev/null
@@ -1,1697 +0,0 @@
-module org-openroadm-service {
-  yang-version 1.1;
-  namespace "http://org/openroadm/service";
-  prefix org-openroadm-service;
-
-  import ietf-yang-types {
-    prefix yang;
-    revision-date 2013-07-15;
-  }
-  import org-openroadm-routing-constraints {
-    prefix org-openroadm-routing-constraints;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-common-types {
-    prefix org-openroadm-common-types;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-resource-types {
-    prefix org-openroadm-resource-types;
-    revision-date 2021-09-24;
-  }
-  import org-openroadm-resource {
-    prefix org-openroadm-resource;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-common-service-types {
-    prefix org-openroadm-common-service-types;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-controller-customization {
-    prefix org-openroadm-controller-customization;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-topology {
-    prefix org-openroadm-topology;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-operational-mode-catalog {
-    prefix org-openroadm-operational-mode-catalog;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-common-optical-channel-types {
-    prefix org-openroadm-common-optical-channel-types;
-    revision-date 2021-12-10;
-  }
-
-  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,
-      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 2021-12-10 {
-    description
-      "Version 10.1";
-  }
-  revision 2021-09-24 {
-    description
-      "Version 10.0";
-  }
-  revision 2021-05-28 {
-    description
-      "Version 9.1";
-  }
-  revision 2021-03-26 {
-    description
-      "Version 9.0";
-  }
-  revision 2020-12-11 {
-    description
-      "Version 8.1";
-  }
-  revision 2020-09-25 {
-    description
-      "Version 8.0";
-  }
-  revision 2020-05-29 {
-    description
-      "Version 7.1.0";
-  }
-  revision 2020-03-27 {
-    description
-      "Version 7.0.0";
-  }
-  revision 2019-11-29 {
-    description
-      "Version 6.1.0";
-  }
-  revision 2019-09-27 {
-    description
-      "Version 6.0.0";
-  }
-  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";
-  }
-
-  grouping proposed-equipment-g {
-    leaf propose-equipment {
-      type enumeration {
-        enum never {
-          value 1;
-        }
-        enum ifNeeded {
-          value 2;
-        }
-        enum always {
-          value 3;
-        }
-      }
-      default "ifNeeded";
-      description
-        "Whether or not this request can propose new equipment that could
-         be used to fulfill this request. If never, the request will just
-         use existing deployed and planned equipment. If ifNeeded, routes using existing equipment
-         will be preferred. If always, a route with proposed equipment shall be returned, if possible";
-    }
-  }
-
-  grouping service-feasibility-check-inputs {
-    leaf connection-type {
-      type org-openroadm-common-service-types:connection-type;
-    }
-    uses org-openroadm-common-service-types:resource-status;
-    uses org-openroadm-common-service-types:routing-metric;
-    uses org-openroadm-common-service-types:service-resiliency;
-    uses proposed-equipment-g;
-    container service-a-end {
-      uses org-openroadm-common-service-types:service-endpoint;
-      container requesting-interface-properties {
-        when "../../connection-type = 'optical-tunnel'" {
-          description
-            "an optical-tunnel service creation request triggers a container
-              that includes the description of the characteristics of the
-              external optical transceiver handled by a 3rd party controller";
-        }
-        uses org-openroadm-common-service-types:external-interface-characteristics;
-      }
-    }
-    container service-z-end {
-      uses org-openroadm-common-service-types:service-endpoint;
-      container requesting-interface-properties {
-        when "../../connection-type = 'optical-tunnel'" {
-          description
-            "an optical-tunnel service creation request triggers a container
-              that includes the description of the characteristics of the
-              external optical transceiver handled by a 3rd party controller";
-        }
-        uses org-openroadm-common-service-types:external-interface-characteristics;
-      }
-    }
-    uses org-openroadm-routing-constraints:routing-constraints;
-    uses org-openroadm-common-service-types:service-information;
-    uses org-openroadm-common-service-types:max-regeneration-options;
-    uses org-openroadm-common-service-types:existing-service-grouping {
-      refine "existing-service-attributes/reusable-existing-resources" {
-        default "all";
-      }
-    }
-  }
-
-  grouping service-feasibility-check-outputs {
-    leaf connection-type {
-      type org-openroadm-common-service-types:connection-type;
-    }
-    uses org-openroadm-common-service-types:resource-status;
-    uses org-openroadm-common-service-types:routing-metric;
-    uses org-openroadm-common-service-types:service-resiliency;
-    uses proposed-equipment-g;
-    uses org-openroadm-common-service-types:service-information;
-    container service-a-end {
-      uses org-openroadm-common-service-types:service-endpoint;
-      list equipment-required {
-        key "equipment-identifier";
-        description
-          "List of required equipment, including equipment type, state and
-           quantity";
-        uses org-openroadm-common-service-types:equipment-info;
-      }
-      container expected-settings-and-performances {
-        when "(../../connection-type = 'optical-tunnel' or ../../connection-type = 'infrastructure')" {
-          description
-            "Performances and settings are provided for wavelength services
-             whether they are based on end to end services or optical-tunnels";
-        }
-        uses org-openroadm-resource:common-och-otsi-attributes;
-        uses org-openroadm-resource:path-computation-outputs;
-      }
-    }
-    container service-z-end {
-      uses org-openroadm-common-service-types:service-endpoint;
-      list equipment-required {
-        key "equipment-identifier";
-        description
-          "List of required equipment, including equipment type, state and
-           quantity";
-        uses org-openroadm-common-service-types:equipment-info;
-      }
-      container expected-settings-and-performances {
-        when "(../../connection-type = 'optical-tunnel' or ../../connection-type = 'infrastructure')" {
-          description
-            "Performances and settings are provided for wavelength services
-             whether they are based on end to end services or optical-tunnels";
-        }
-        uses org-openroadm-resource:common-och-otsi-attributes;
-        uses org-openroadm-resource:path-computation-outputs;
-      }
-    }
-    uses org-openroadm-common-service-types:intermediate-site-container;
-    container requested-service-topology {
-      description
-        "This corresponds to the topology of the service requested. Includes all the
-         containers: topology, backup topology, network topology, and
-         network backup-topology";
-      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;
-        }
-      }
-    }
-    list supporting-service-hierarchy {
-      key "service-identifier";
-      description
-        "This lists all the supporting services and their respective hierarchy, includes the
-         proposed one";
-      uses org-openroadm-common-service-types:service-hierarchy;
-    }
-    uses service-path-metrics;
-    uses org-openroadm-common-service-types:max-regeneration-options;
-    uses org-openroadm-common-service-types:regeneration-option-list;
-    uses org-openroadm-common-service-types:existing-service-grouping {
-      refine "existing-service-attributes/reusable-existing-resources" {
-        default "all";
-      }
-    }
-  }
-
-  grouping service-path-metrics {
-    container primary-path-metrics {
-      description
-        "These service metrics are associated with primary
-         service path";
-      uses service-metrics;
-    }
-    list backup-path-metrics {
-      key "backup-path-id";
-      description
-        "These service metrics are associated with the backup
-         service path";
-      leaf backup-path-id {
-        type uint8 {
-          range "1..255";
-        }
-        description
-          "Unique identifier for the backup service path";
-      }
-      uses service-metrics;
-    }
-  }
-
-  grouping service-metrics {
-    container service-metrics {
-      description
-        "All the metrics associated with end-to-end service feasibility
-         This container will have all the metrics that have'max' contraint in
-         org-openroadm-routing-constraints";
-      leaf latency {
-        description
-          "Provides one-way end-to-end latency (in milliseconds) of a service-path; 
-          It can be measured or estimated";
-        type decimal64 {
-          fraction-digits 3;
-        }
-        units "milliseconds";
-      }
-      leaf distance {
-        type decimal64 {
-          fraction-digits 2;
-        }
-        units "km";
-        description
-          "Provides end-to-end distance of a service-path";
-      }
-      container hop-count {
-        description
-          "Maximum hops allowed";
-        leaf wdm-hop-count {
-          type uint8;
-        }
-        leaf otn-hop-count {
-          type uint8;
-        }
-      }
-      container TE-metric {
-        description
-          "Maximum cost allowed";
-        leaf wdm-TE-metric {
-          type uint32;
-        }
-        leaf otn-TE-metric {
-          type uint32;
-        }
-      }
-    }
-  }
-
-  rpc service-create {
-    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.";
-    input {
-      leaf service-name {
-        type string;
-        mandatory true;
-        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.";
-      }
-      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:service-order;
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      uses org-openroadm-common-service-types:routing-metric;
-      uses org-openroadm-common-service-types:service-resiliency;
-      leaf connection-type {
-        type org-openroadm-common-service-types:connection-type;
-        mandatory true;
-      }
-      uses org-openroadm-common-service-types:resource-status;
-      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 service-create-bulk {
-    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. This is 'all' or 'nothing' operation, which means that either all services
-       are created or none of them will be created.";
-    input {
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      list service-request-list {
-        key "service-name";
-        leaf service-name {
-          type string;
-          mandatory true;
-          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.";
-        }
-        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:service-order;
-        uses org-openroadm-common-service-types:routing-metric;
-        uses org-openroadm-common-service-types:service-resiliency;
-        leaf connection-type {
-          type org-openroadm-common-service-types:connection-type;
-          mandatory true;
-        }
-        uses org-openroadm-common-service-types:resource-status;
-        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;
-      list service-response-list {
-        key "service-name";
-        leaf service-name {
-          type string;
-          mandatory true;
-        }
-        uses org-openroadm-common-service-types:response-parameters;
-      }
-    }
-  }
-
-  rpc temp-service-create-bulk {
-    input {
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      list service-request-list {
-        key "common-id";
-        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:service-order;
-        uses org-openroadm-common-service-types:routing-metric;
-        uses org-openroadm-common-service-types:service-resiliency;
-        leaf connection-type {
-          type org-openroadm-common-service-types:connection-type;
-          mandatory true;
-        }
-        uses org-openroadm-common-service-types:resource-status;
-        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;
-        uses org-openroadm-common-service-types:existing-service-grouping {
-            refine "existing-service-attributes/reusable-existing-resources" {
-              default "all";
-            }
-        }
-      }
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      list service-response-list {
-        key "common-id";
-        leaf common-id {
-          type string;
-          mandatory true;
-        }
-        uses org-openroadm-common-service-types:response-parameters;
-        uses org-openroadm-common-service-types:existing-service-grouping {
-            refine "existing-service-attributes/reusable-existing-resources" {
-              default "all";
-            }
-        }
-      }
-    }
-  }
-
-  rpc service-create-result-notification-request {
-    description
-      "This is the callback notification that the controller invokes on the carrier system.";
-    input {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:service-identifiers-container;
-      uses service-path-metrics;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-create-complex-result-notification-request {
-    description
-      "This is the callback notification that the controller invokes on the carrier system.";
-    input {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:service-and-supporting-services;
-      uses service-path-metrics;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-delete-result-notification-request {
-    description
-      "This is the callback notification that the controller invokes on the carrier system.";
-    input {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:service-identifiers-container;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-delete-complex-result-notification-request {
-    description
-      "This is the callback notification that the controller invokes on the carrier system.";
-    input {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:service-and-supporting-services;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-feasibility-check {
-    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
-       Takes a potential service and determines if it is possible in the network
-       using equipment that is installed on the network, formally planned or proposed for planning.
-       No resources are reserved, provisioned or planned as a result of this operation";
-    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;
-      uses service-feasibility-check-inputs;
-    }
-    output {
-      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:configuration-response-common;
-      uses org-openroadm-common-service-types:response-parameters;
-      uses service-feasibility-check-outputs;
-    }
-  }
-
-  rpc service-feasibility-check-bulk {
-    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
-
-       Takes a list of potential services and determines if they are possible in the network
-       using equipment that is installed on the network, formally planned or proposed for planning.
-       All services are treated collectively to ensure that a given resource is not used more than once.
-       No resources are reserved, provisioned or planned as a result of this operation";
-    input {
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      list service-request-list {
-        key "common-id";
-        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 service-feasibility-check-inputs;
-      }
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      list service-response-list {
-        key "common-id";
-        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:response-parameters;
-        uses service-feasibility-check-outputs;
-      }
-    }
-  }
-
-  rpc service-delete {
-    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";
-    input {
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      container service-delete-req-info {
-        leaf service-name {
-          type string;
-          mandatory true;
-          description
-            "Identifier for the service to be deleted in
-             the ROADM network, e.g., CLFI, CLCI, etc.";
-        }
-        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;
-    }
-  }
-
-  rpc equipment-notification {
-    input {
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      leaf equipment-id {
-        type string;
-        mandatory true;
-      }
-      leaf equipment-name {
-        type string;
-      }
-      leaf equipment-type {
-        type string;
-        mandatory true;
-        description
-          "The set of valid value is derived from the equipment-type grouping used in the device model.";
-      }
-      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;
-        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:service-order;
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      leaf connection-type {
-        type org-openroadm-common-service-types:connection-type;
-        mandatory true;
-      }
-      uses org-openroadm-common-service-types:resource-status;
-      container service-a-end {
-        uses org-openroadm-common-service-types:service-endpoint;
-        container requesting-interface-properties {
-          when "../../connection-type = 'optical-tunnel'" {
-            description
-              "an optical-tunnel service creation request triggers a container
-               that includes the description of the characteristics of the
-               external optical transceiver handled by a 3rd party controller";
-          }
-          uses org-openroadm-common-service-types:external-interface-characteristics;
-        }
-      }
-      container service-z-end {
-        uses org-openroadm-common-service-types:service-endpoint;
-        container requesting-interface-properties {
-          when "../../connection-type = 'optical-tunnel'" {
-            description
-              "an optical-tunnel service creation request triggers a container
-               that includes the description of the characteristics of the
-               external optical transceiver handled by a 3rd party controller";
-          }
-          uses org-openroadm-common-service-types:external-interface-characteristics;
-        }
-      }
-      uses org-openroadm-routing-constraints:routing-constraints;
-      uses org-openroadm-common-service-types:service-information;
-      uses org-openroadm-common-service-types:routing-metric;
-      uses org-openroadm-common-service-types:service-resiliency;
-      uses org-openroadm-common-service-types:existing-service-grouping {
-        refine "existing-service-attributes/reusable-existing-resources" {
-          default "all";
-        }
-      }
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:response-parameters;
-      uses org-openroadm-common-service-types:existing-service-grouping {
-        refine "existing-service-attributes/reusable-existing-resources" {
-          default "all";
-        }
-      }
-    }
-  }
-
-  rpc temp-service-delete {
-    input {
-      leaf common-id {
-        type string;
-        mandatory true;
-      }
-      uses org-openroadm-common-service-types:sdnc-request-header;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-roll {
-    description
-      "This rpc can be use to roll a service according to 2 possible options :
-         A new path may (no path pre-calculation) or may not be calculated according
-         to the parameters provided (which includes metrics). If path computation has been triggered
-         and is successful, a new path is provided, and the service can be rolled according to that path.";
-    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";
-      }
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      uses org-openroadm-common-service-types:routing-metric;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-roll-result-notification-request {
-    description
-      "This is the callback notification that the controller invokes on the carrier system.";
-    input {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:service-identifiers-container;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-reconfigure {
-    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.";
-    input {
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      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 data-reload {
-        type boolean;
-        description 
-          "Indicates whether the data of existing service needs to be refreshed or 
-          reloaded. No reprovisioning/reconfiguration should be done to the service, 
-          only data is updated. May generate data conflict to existing service         
-          after reload. If set true, the data of existing service will be refreshed";
-      }
-      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:service-order;
-      leaf connection-type {
-        type org-openroadm-common-service-types:connection-type;
-      }
-      uses org-openroadm-common-service-types:resource-status;
-      container service-a-end {
-        uses org-openroadm-common-service-types:service-endpoint;
-        container requesting-interface-properties {
-          when "../../connection-type = 'optical-tunnel'" {
-            description
-              "an optical-tunnel service creation request triggers a container
-                that includes the description of the characteristics of the
-                external optical transceiver handled by a 3rd party controller";
-          }
-          uses org-openroadm-common-service-types:external-interface-characteristics;
-        }
-      }
-      container service-z-end {
-        uses org-openroadm-common-service-types:service-endpoint;
-        container requesting-interface-properties {
-          when "../../connection-type = 'optical-tunnel'" {
-            description
-              "an optical-tunnel service creation request triggers a container
-                that includes the description of the characteristics of the
-                external optical transceiver handled by a 3rd party controller";
-          }
-          uses org-openroadm-common-service-types:external-interface-characteristics;
-        }
-      }
-      uses org-openroadm-routing-constraints:routing-constraints;
-      uses org-openroadm-common-service-types:service-information;
-      uses org-openroadm-common-service-types:routing-metric;
-      uses org-openroadm-common-service-types:service-resiliency;
-    }
-    output {
-      // Augment the reconfigure response with the data-reload
-      uses org-openroadm-common-service-types:configuration-response-common {
-        augment "configuration-response-common" {
-          leaf ack-data-reload-indicator {
-            type string;
-            description
-              "This optional, meaning this will be populated only when
-              the data-reload indicator is set true";
-          }
-        }
-      }
-      uses org-openroadm-common-service-types:response-parameters;
-    }
-  }
-
-  rpc service-reconfigure-bulk {
-         description
-      "Whether bulk of requests passed initial validation and was accepted for 
-      processing. Once the request completes processing, a service-rpc-result 
-      Notification shall be sent.";
-         input {
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      list service-reconfigure-list {
-        key "service-name";
-        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 data-reload {
-          type boolean;
-          description 
-            "Indicates whether the data of existing service needs to be refreshed or 
-            reloaded. No reprovisioning/reconfiguration should be done to the service, 
-            only data is updated. May generate data conflict to existing service       
-            after reload. If set true, the data of existing service will be refreshed";
-        }
-        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:service-order;
-        leaf connection-type {
-          type org-openroadm-common-service-types:connection-type;
-        }
-        uses org-openroadm-common-service-types:resource-status;
-        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;
-        uses org-openroadm-common-service-types:routing-metric;
-        uses org-openroadm-common-service-types:service-resiliency;
-      }
-    }
-    output {
-                 uses org-openroadm-common-service-types:configuration-response-common {
-                   augment "configuration-response-common" {
-                           leaf ack-data-reload-indicator {
-                       type string;
-            description
-                   "This optional, meaning this will be populated only when 
-               the data-reload indicator is set true";
-                   }
-                   } 
-                 }
-                 list service-reconfigure-response-list {
-                   key "service-name";
-                   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.";
-                   } 
-      }
-      uses org-openroadm-common-service-types:response-parameters;
-    }
-  }
-
-
-
-
-  rpc service-reconfigure-result-notification-request {
-    description
-      "This is the callback notification that the controller invokes on the carrier system.";
-    input {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:service-identifiers-container;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-restoration {
-    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.
-       This rpc can be use to reroute a service according to 2 possible options :
-        \t_Option1 : neither the backup-path-id nor the failure-case-id are provided, a new path shall be
-           calculated according to the parameters provided (which includes metrics). If path computation
-           is successful, a new path is provided, and the service is rerouted according to that path.
-        \t_Option2 : if a backup-path-id or a failure-case-id are provided, the service shall
-           be rerouted according to the corresponding path. If path computation is triggered and successful,
-           a new path is provided, and the service is rerouted according to that path.";
-    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;
-      }
-      leaf backup-path-id {
-        type uint8 {
-          range "1..255";
-        }
-        description
-          "When present, states that the service shall be rerouted according to a specific backup path";
-      }
-      leaf failure-case-id {
-        type string;
-        description
-          "When present, states that the service shall be rerouted according to a specific backup path.
-           This last corresponds to the provided failure case id";
-      }
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      uses org-openroadm-common-service-types:routing-metric;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-restoration-result-notification-request {
-    description
-      "This is the callback notification that the controller invokes on the carrier system.";
-    input {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:service-identifiers-container;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-reversion {
-    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.";
-    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";
-      }
-      uses org-openroadm-common-service-types:sdnc-request-header;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-reversion-result-notification-request {
-    description
-      "This is the callback notification that the controller invokes on the carrier system.";
-    input {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:service-identifiers-container;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-reroute {
-    description
-      "Whether this request was validated and processed correctly. If successful, it returns the proposed new route.
-       If acceptable, this request should be followed by a service-reroute-confirm to complete the reroute operation.";
-    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-common-service-types:sdnc-request-header;
-      uses org-openroadm-common-service-types:routing-metric;
-      uses org-openroadm-common-service-types:service-resiliency;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-routing-constraints:routing-constraints;
-    }
-  }
-
-  rpc service-reroute-confirm {
-    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.";
-    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-common-service-types:sdnc-request-header;
-      uses org-openroadm-routing-constraints:routing-constraints;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc service-reroute-confirm-result-notification-request {
-    description
-      "This is the callback notification that the controller invokes on the carrier system.";
-    input {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      uses org-openroadm-common-service-types:service-identifiers-container;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc optical-tunnel-create {
-    description
-      "This rpc is used in a second step of service creation when the connection-type is
-          an optical-tunnel. The optical tunnel rendering implies that end terminals optical
-          interfaces such as router pluggables are tuned to the a correct wavelength and that
-          the output power is set so that control loop can operate during connection setting.
-          The rpc is invoked to confirm the optical tunnel can be established.";
-    input {
-      leaf service-name {
-        type string;
-        mandatory true;
-        description
-          "Identifier used in the second step of the optical-tunnel service creation.  
-           Identifies the service (optical tunnel between SRG PPs) to be created 
-           in the ROADM network.";
-      }
-      leaf common-id {
-        type string;
-        mandatory true;
-        description
-          "Identifier used in the first step of optical-tunnelservice creation using 
-          temp-service-create rpc. Identifies the temporary service for which resources 
-          have been reserved after a successful path computation";
-      }
-      leaf set-frequency {
-        type org-openroadm-common-optical-channel-types:frequency-THz;
-        mandatory true;
-        description
-          "Center Frequency in THz.";
-      }
-      leaf full-bandwidth-at-3dB {
-        type org-openroadm-common-optical-channel-types:frequency-GHz;
-        mandatory true;
-        description
-          "Signal full bandwidth at 3dB bellow the peak in GHz.";
-      }
-      leaf full-bandwidth-at-10dB {
-        type org-openroadm-common-optical-channel-types:frequency-GHz;
-        mandatory true;
-        description
-            "Signal full bandwidth at 10dB bellow the peak in GHz.";
-      }
-      uses org-openroadm-common-service-types:sdnc-request-header;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  rpc optical-tunnel-request-cancel {
-    description
-      "This rpc is used to abort service creation when the connection-type is
-            an optical-tunnel, if the conditions required to set-up the end to end service
-          can not be met by the end terminals optical interfaces such as router pluggables.
-          When the rpc is invoked, any resource temporary reserved for the second step of
-          service creation shall be released : this rpc cancels service path rendering between
-          SRG PPs.";
-    input {
-      leaf service-name {
-        type string;
-        description
-          "Identifier used in the first step of service creation using service create rpc.";
-      }
-      leaf common-id {
-        type string;
-        description
-          "Identifier used in the first step of optical-tunnelservice creation using 
-           temp-service-create rpc. Identifies the temporary service for which resources 
-           have been reserved after a successful path computation";
-      } 
-      uses org-openroadm-common-service-types:sdnc-request-header;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-
-  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 ";
-      }
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      uses org-openroadm-common-service-types:routing-metric;
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-      leaf optimization-candidate {
-        type string;
-      }
-    }
-  }
-
-rpc add-openroadm-operational-modes-to-catalog {
-           description
-             "This rpc is used to feed the operational mode catalog with openroadm operational modes";
-           input {
-             uses org-openroadm-common-service-types:sdnc-request-header;
-             container operational-mode-info {
-                    container grid-parameters {
-                                    description
-                                      "Parameters associated with global spectrum use";
-                                    uses org-openroadm-operational-mode-catalog:operational-mode-grid-parameters;
-                            }
-                                container xponders-pluggables {
-                                        description
-                                           "Parameters associated with xponders and pluggables";
-                                    list xponder-pluggable-openroadm-operational-mode {
-                                               key "openroadm-operational-mode-id";
-                                               description
-                                                 "defines the openroadm operational mode pointing to an official specification ";
-                                               leaf openroadm-operational-mode-id {
-                                                   type string;
-                                                   description
-                                                       "openroadm operational mode which points to a specific spreadsheet of optical specifications";
-                                                   }
-                                       uses org-openroadm-operational-mode-catalog:operational-mode-transponder-parameters;
-                        }
-                                }
-                                container roadms {
-                                    description
-                                      "Parameters associated with roadms";
-                                    uses org-openroadm-operational-mode-catalog:operational-mode-roadm-express-parameters;
-                                    uses org-openroadm-operational-mode-catalog:operational-mode-roadm-add-parameters;
-                                    uses org-openroadm-operational-mode-catalog:operational-mode-roadm-drop-parameters;
-                            }
-                                container amplifiers {
-                                    description
-                                      "Parameters associated with amplifiers";
-                                    uses org-openroadm-operational-mode-catalog:operational-mode-amplifier-parameters;
-                            }
-             }
-           }
-           output {
-             uses org-openroadm-common-service-types:configuration-response-common;
-           }
-  }
-  rpc add-specific-operational-modes-to-catalog {
-    description
-      "This rpc is used to feed the operational mode catalog with specific operational modes for
-           \txponders or external pluggables";
-    input {
-      uses org-openroadm-common-service-types:sdnc-request-header;
-      container operational-mode-info {
-        container specific-operational-modes {
-          description
-            "All specific operational modes corresponding to bookended or alien units";
-          list specific-operational-mode {
-            key "operational-mode-id";
-            description
-              "List of all declared specific operationnal modes";
-            leaf operational-mode-id {
-              type string;
-              description
-                "unique identifier which identifies the operational mode";
-            }
-            uses org-openroadm-operational-mode-catalog:operational-mode-grid-parameters;
-            uses org-openroadm-operational-mode-catalog:operational-mode-transponder-parameters;
-          }
-        }
-      }
-    }
-    output {
-      uses org-openroadm-common-service-types:configuration-response-common;
-    }
-  }
-  
-  rpc service-srlg-get {
-    input {
-      leaf service-name {
-        type string;
-        description
-          "Identifier for the service in the ROADM network,
-          e.g., CLFI, CLCI, etc. whose path or other risks must be evaluated by the RNC";
-      }
-      leaf SRLG-type {
-        type org-openroadm-common-types:SRLG-type;
-        description
-          "Type of SRLG, Site SRLG, Node SRLG, Fiber SRLG or Link SRLG. If SRLG-type is not provided 
-          in input, output should include all types of SRLGs for a given service-name";
-      }
-      leaf due-date {
-        type yang:date-and-time;
-        description
-          "Due-date is required to get list of SRLGs for specific validity period. If Due-date is not 
-          provited in the input, RPC should return list of current/active SRLGS";
-      }
-    }
-    output {
-      list SRLG-list {
-        key "SRLG-Id";
-        leaf SRLG-Id {
-          type uint32;
-          description
-            "unique identifier for SRLG";
-        }
-        leaf SRLG-name {
-          type string;
-          description
-            "Name of the SRLG";
-        }
-        leaf SRLG-type {
-          type org-openroadm-common-types:SRLG-type; 
-          description
-            "Type of SRLG, Site SRLG, Node SRLG, Fiber SRLG or Link SRLG";
-        }
-        leaf SRLG-length {
-          type decimal64 {
-            fraction-digits 2;
-          }
-          description
-            "Fiber length in desired distance unit of measure";
-        }
-      }
-    } 
-  }
-
-  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;
-    container path-computation-result {
-      when "../notification-type = 'path-computation-result'" {
-        description
-          "an optical-tunnel service triggers the leaf providing
-           information on the operationnal mode selected by the pce";
-      }
-      container aToZ {
-        description
-          "Describes the settings and the performances for the A to Z path";
-        uses org-openroadm-resource:common-och-otsi-attributes;
-        uses org-openroadm-resource:path-computation-outputs;
-      }
-      container zToA {
-        description
-          "Describes the settings and the performances for the Z to A path";
-        uses org-openroadm-resource:common-och-otsi-attributes;
-        uses org-openroadm-resource:path-computation-outputs;
-      }
-    }
-  }
-
-  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;
-      mandatory true;
-      description
-        "Identifier for the service being reported on";
-    }
-    leaf version-number {
-      type uint64;
-      description
-        "Identifier for the versioned service";
-    }
-    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 resourceModified 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.";
-    }
-    leaf version-number {
-      type uint64;
-      description
-        "Identifier for the versioned service";
-    }
-    uses org-openroadm-common-service-types:service;
-  }
-
-  notification optical-tunnel-created {
-    description
-      "This Notification is used to confirm that an optical-tunnel service has been created.
-       It shall contain the created service in its entirety";
-    leaf notificationType {
-      type org-openroadm-resource-types:resource-notification-type;
-      description
-        "Whether this notification indicates a service creation, or service-reconfigure.";
-    }
-    leaf version-number {
-      type uint64;
-      description
-        "Identifier for the versioned service";
-    }
-    leaf actual-date {
-      type yang:date-and-time;
-      description
-        "Actual date and time traffic started flowing";
-    }
-    uses org-openroadm-common-service-types:service;
-  }
-  
-  notification non-rpc-related-notification {
-    description
-      "Used to notify SDN controller that :
-       _a change occured in the data tree associated with the topology or the service Datastore of the RNC
-       _the attenuation on a ROADM to ROADM link as exceeded the value that can be accepted with current design
-       _the restoration of an optical OTN/WDM service";
-    leaf notificationType {
-      type org-openroadm-controller-customization:non-rpc-related-notification-type;
-      description
-        "This notification indicates whether a change occured in the data tree
-         associated with the topology or the service Datastore, an out of limit
-         attenuation on a WDM link, or the restoration of an optical WDM/OTN service.";
-    }
-    leaf notificationId {
-      type string;
-      description
-        "Unique identifier for the notification.";
-    }
-    leaf notification-time {
-      type yang:date-and-time;
-      description
-        "Time at which notification is raised";
-    }
-    leaf service-name {
-      when "../notificationType = 'service-state-change' or ../notificationType = 'autonomous-optical-restoration-triggered'" {
-        description
-          "When Service Data store is modified, or a restoration has been triggered
-           service-name is provided";
-      }
-      type string;
-    }
-    leaf impacted-resource-type {
-      when "../notificationType = 'topology-change' or ../notificationType = 'service-state-change'" {
-        description
-          "Used to provide additional information on the type of resource impacted by the
-           change in the data-store, to target more effectively consecutive request";
-      }
-      type string;
-    }
-    leaf impacted-resource-id {
-      when "../notificationType = 'topology-change' or ../notificationType = 'service-state-change'" {
-        description
-          "Identifies the resource impacted by the change in the data-store";
-      }
-      type string;
-    }
-    leaf topology-layer {
-      when "../notificationType = 'topology-change'" {
-        description
-          "indicates the layer associated with the topological change";
-      }
-      type enumeration {
-        enum openroadm-topology {
-          value 1;
-        }
-        enum otn-topology {
-          value 2;
-        }
-      }
-    }
-  }
-
-  container service-list {
-    description
-      "List of service. Can only be created, deleted, modified, etc. using special RPCs. Will only contain one service with a given name.
-       Does not contain historical (deleted or rather those passed their end time) or draft services. If two services exist with the same
-       name (with non-lapping start-end times for example), this table will contain the current one. If only planned services exist for
-       the name, the one with the earliest start time will be present
-      ";
-    list services {
-      key "service-name";
-      uses org-openroadm-common-service-types:service;
-    }
-  }
-  container versioned-service-list {
-    description
-      "List of service, regardless of lifecycle state. Can only be created, deleted, modified, etc. using special RPCs. Can report more than one
-       version of a service, if supported by the implementation. May contain deleted services, multiple versions of the same service, as identified
-       by its name, etc.";
-    list services {
-      key "service-name version-number";
-      leaf version-number {
-        type uint64;
-      }
-      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;
-        }
-        augment "service-a-end" {
-          list equipment-required {
-            key "equipment-identifier";
-            description
-              "List of required equipment, including equipment type, state and
-              quantity";
-            uses org-openroadm-common-service-types:equipment-info;
-          }
-        }
-        augment "service-z-end" {
-          list equipment-required {
-            key "equipment-identifier";
-            description
-              "List of required equipment, including equipment type, state and
-              quantity";
-            uses org-openroadm-common-service-types:equipment-info;
-          }
-        }
-      }
-      uses org-openroadm-common-service-types:intermediate-site-container;
-      list supporting-service-hierarchy {
-        key "service-identifier";
-        uses org-openroadm-common-service-types:service-hierarchy;
-        description
-          "This lists all the supporting services and their respective hierarchy, includes the
-          proposed one";
-      }
-      uses org-openroadm-common-service-types:existing-service-grouping {
-        refine "existing-service-attributes/reusable-existing-resources" {
-          default "all";
-        }
-      }
-    }
-  }
-  container controller-behaviour-settings {
-    description
-      "Parameters allowing to set the controller behaviour";
-    uses org-openroadm-controller-customization:controller-parameters;
-  }
-  container operational-mode-catalog {
-    description
-      "Store parameters associated with openroadm specifications and specific operational modes";
-    uses org-openroadm-operational-mode-catalog:operational-mode-catalog;
-  }
-}