Remove OpenROADM and TAPI models from project
[transportpce.git] / ordmodels / service / src / main / yang / org-openroadm-common-service-types@2021-12-10.yang
diff --git a/ordmodels/service/src/main/yang/org-openroadm-common-service-types@2021-12-10.yang b/ordmodels/service/src/main/yang/org-openroadm-common-service-types@2021-12-10.yang
deleted file mode 100644 (file)
index 2c4f24e..0000000
+++ /dev/null
@@ -1,1874 +0,0 @@
-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 2021-12-10;
-  }
-  import org-openroadm-topology {
-    prefix org-openroadm-topology;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-common-equipment-types {
-    prefix org-openroadm-common-equipment-types;
-    revision-date 2019-11-29;
-  }
-  import org-openroadm-common-state-types {
-    prefix org-openroadm-common-state-types;
-    revision-date 2019-11-29;
-  }
-  import org-openroadm-common-node-types {
-    prefix org-openroadm-common-node-types;
-    revision-date 2021-05-28;
-  }
-  import org-openroadm-resource-types {
-    prefix org-openroadm-resource-types;
-    revision-date 2021-09-24;
-  }
-  import org-openroadm-otn-common-types {
-    prefix org-openroadm-otn-common-types;
-    revision-date 2021-09-24;
-  }
-  import org-openroadm-common-types {
-    prefix org-openroadm-common-types;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-equipment-states-types {
-    prefix org-openroadm-equipment-states-types;
-    revision-date 2019-11-29;
-  }
-  import org-openroadm-service-format {
-    prefix org-openroadm-service-format;
-    revision-date 2019-11-29;
-  }
-  import org-openroadm-common-attributes {
-    prefix org-openroadm-common-attributes;
-    revision-date 2021-09-24;
-  }
-  import org-openroadm-common-phy-codes {
-    prefix org-openroadm-common-phy-codes;
-    revision-date 2021-05-28;
-  }
-  import org-openroadm-common-optical-channel-types {
-    prefix org-openroadm-common-optical-channel-types;
-    revision-date 2021-12-10;
-  }
-  import org-openroadm-resource {
-    prefix org-openroadm-resource;
-    revision-date 2021-12-10;
-  }
-  
-
-  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 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";
-  }
-
-  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;
-      }
-      enum controller-parameters-setting {
-        value 16;
-      }
-      enum optical-tunnel-create {
-          value 17;
-      }
-      enum optical-tunnel-request-cancel {
-          value 18;
-      }
-      enum fill-catalog-with-or-operational-modes {
-          value 19;
-      }
-      enum fill-catalog-with-specific-operational-modes {
-          value 20;
-      }
-    }
-    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;
-      }
-      enum successful-path-computation-resource-reserved {
-        value 8;
-      }
-      enum path-computation-failed {
-        value 9;
-      }
-    }
-  }
-
-  typedef connection-type {
-    type enumeration {
-      enum service {
-        value 1;
-      }
-      enum infrastructure {
-        value 2;
-      }
-      enum roadm-line {
-        value 3;
-      }
-      enum optical-tunnel {
-        value 4;
-      }
-    }
-  }
-
-  typedef resource-status-type {
-    type enumeration {
-      enum deployed {
-        value 1;
-        description
-          "find the best route using deployed network resources,
-           regardless of network failures; lifecycle-state must
-           be deployed and operational-state is ignored.";
-      }
-      enum in-service {
-        value 2;
-        description
-          "find the best route using deployed network resources,
-           but route around failed resources; lifecycle-state
-           must be deployed and operational-state must be
-           inService.";
-      }
-      enum planned {
-        value 3;
-        description
-          "find the best route using both deployed and planned
-           network resources; lifecycle-state must be planned
-           or deployed (deploying, deployed-updating, deployed-
-           augmented, and deploy-failed may be considered
-           planned states) and operational-state is ignored. if
-           planned is selected, due-date must be specified in
-           the service request.";
-      }
-    }
-    default "deployed";
-    description
-      "identifies the state of network resources required to
-       complete a service request.  default is deployed";
-  }
-
-  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 trail-trace {
-    description
-      "Trail trace grouping";
-    uses org-openroadm-common-attributes:trail-trace-tx;
-    uses org-openroadm-common-attributes:trail-trace-other;
-  }
-
-  grouping tcm-attributes {
-    description
-      "Tandem Connection Monitoring (TCM) attributes";
-    leaf layer {
-      type uint8 {
-        range "1..6";
-      }
-      description
-        "TCM layer";
-    }
-    leaf monitoring-mode {
-      type enumeration {
-        enum not-terminated {
-          description
-            "Not Terminated: no detection or generation.
-             Overhead is passed through the interface transparently in receive direction
-             unless extension is set for erase";
-        }
-        enum terminated {
-          description
-            "Terminated: detection and generation enabled.
-             Overhead is erased (replaced with all zeros) in receive direction, unless
-             extension is set to passthrough";
-        }
-        enum monitored {
-          description
-            "Monitored: detection enabled.
-             Overhead is passed through the interface transparently in receive direction
-             unless extension is set for erase";
-        }
-      }
-      description
-        "Monitoring mode of the TCM layer";
-    }
-    leaf ltc-act-enabled {
-      type boolean;
-      description
-        "enable/disable alarm transfer on detection of Loss of Tandem Connection (LTC)";
-    }
-    leaf proactive-delay-measurement-enabled {
-      type boolean;
-      description
-        "enable/disable proactive Delay Measurement for TCM";
-    }
-    leaf tcm-direction {
-      type org-openroadm-otn-common-types:tcm-direction-enum;
-      description
-        "Direction of TCM.";
-    }
-    uses trail-trace;
-    uses org-openroadm-common-attributes:deg-threshold;
-  }
-
-  grouping otn-attributes-grp {
-    container otn-attributes {
-      when "(../service-format='OTU' or ../service-format='ODU')" {
-        description
-          "For any OTN services (OTU and OTN)";
-      }
-      uses org-openroadm-common-attributes:parent-odu-allocation;
-      uses org-openroadm-common-types:fec-grouping {
-        description
-          "OTN FEC / Forward Error Correction";
-      }
-      uses org-openroadm-common-attributes:trail-trace-tx;
-      uses org-openroadm-common-attributes:trail-trace-other;
-      uses org-openroadm-common-attributes:deg-threshold;
-      leaf-list reserved-tcm-layer {
-        type uint8;
-      }
-      list tcm {
-        key "layer tcm-direction";
-        max-elements 12;
-        description
-          "Tandem Connection Management";
-        uses tcm-attributes;
-      }
-    }
-  }
-
-  grouping ethernet-subrate-attributes-grp {
-    container ethernet-attributes {
-      when "(../service-format='Ethernet')" {
-        description
-          "For any Ethernet services";
-      }
-      uses org-openroadm-common-types:fec-grouping {
-        description
-          "ETH FEC / Forward Error Correction";
-      }
-      uses org-openroadm-common-service-types:subrate-eth-sla;
-    }
-  }
-
-  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 intermediate-site-container {
-    description
-      "Intermediate site used in the service feasibility check output.
-       This is different from the service-endpoint structure";
-    list intermediate-site {
-      key "clli";
-      description
-        "List of intermediate sites in the service feasiblity check
-         output response";
-      leaf clli {
-        type string;
-      }
-      list node {
-        key "node-id";
-        leaf node-id {
-          type org-openroadm-common-node-types:node-id-type;
-          description
-            "List of nodes within a CLLI";
-        }
-        list equipment-required {
-          key "equipment-identifier";
-          description
-            "List of required equipment, including equipment type, state and
-             quantity";
-          uses equipment-info;
-        }
-      }
-    }
-  }
-
-  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 external-interface-characteristics {
-    list supported-operational-modes {
-      key "preference";
-      description
-        "list of supported operational modes associated to a preference
-         for their selection by the Path Computation Engine (1 is the highest priority)
-         only one operational mode shall be associated to a preference. 2 leaves present
-         since this mode could be either specific or an openROADM operational-mode";
-      leaf preference {
-        type int16;
-        description
-          "preference/priority associated to the operational mode";
-      }
-      leaf operational-mode-id {
-        type string;
-        description
-          "the supported operational mode : either openROADM or specific ";
-      }
-    }
-    leaf min-frequency {
-      type org-openroadm-common-optical-channel-types:frequency-THz;
-      description
-        "Minimum acceptable Frequency in THz.";
-    }
-    leaf max-frequency {
-      type org-openroadm-common-optical-channel-types:frequency-THz;
-      description
-        "Minimum acceptable Frequency in THz.";
-    }
-    leaf min-granularity {
-      type org-openroadm-common-optical-channel-types:frequency-GHz;
-      description
-        "Minimum grid granularity in GHz.";
-    }
-  }
-
-  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 is-split-lambda {
-      type boolean;
-      default "false";
-      description
-        "This flag allows to specify whether to use split-lambda. It can be user controlled
-         (or specified) or controller initiated. This is only applicable for line-service or
-         network ports";
-    }
-    leaf split-lambda-service-rate {
-      when "../is-split-lambda = 'true' and
-            ../service-format != 'OMS' and
-            ../service-format != 'ODU'";
-      type uint32;
-      description
-        "This service rate is only applicable when the split-lambda is enabled.
-         It will help to identify how many wavelengths to use. Only applicable
-         to the WDM layer and OTUCn services.";
-    }
-    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 client-phy-code {
-      type identityref {
-        base org-openroadm-common-phy-codes:client-phy-code-identity;
-      }
-      description
-        "Client PHY Code for the service end point.";
-    }
-    uses otn-attributes-grp;
-    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;
-    list tx-direction {
-      key "index";
-      leaf index {
-        type uint8;
-        description
-          "Used to list tx-direction attributes for each split-lambda wavelength/service";
-      }
-      uses service-port;
-      uses service-lgx;
-      uses service-tail;
-    }
-    list rx-direction {
-      key "index";
-      leaf index {
-        type uint8;
-        description
-          "used to list rx-direction attributes for each split-lambda wavelength/service";
-      }
-      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";
-    }
-    uses ethernet-subrate-attributes-grp;
-    leaf project-id {
-        type string;
-        description
-          "Project identifier for the service end point";
-     }
-     leaf project-note {
-        type string;
-        description
-          "Additional details associated with the service end point project";
-     }
-  }
-
-  typedef existing-resource-reuse-type {
-    description
-      "Used to indicate the type of resource that the existing service
-      can reuse wherever possible (best-effort)";
-    type enumeration {
-      enum regenerator {
-        description
-          "Indicates reuse regenerator";
-        value 1;
-      }
-      enum wavelength {
-        description
-          "Indicates reuse of wavelength";
-        value 2;
-      }
-      enum spectrum-portion {
-        description
-          "Indicates reuse of frequency slot(s). Reuse the exact       
-          or partial portion of the spectrum of the original service
-          specturm";
-        value 3;
-      }
-      enum xponder {
-        description
-          "This could be a transponder/muxponder/switchponder";
-        value 4;
-      }
-      enum all {
-        description
-          "Reuse all possible options";
-          value 99;
-      }
-    }
-  }
-
-  grouping existing-service-grouping {
-    container existing-service-attributes {
-      description
-        "This consists of all the attributes related to the existing service";
-      leaf is-existing {
-        type boolean;
-        description
-          "This is set true if feasibility check is on an existing service with or 
-          without new constraints. Feasibility is done as if current service 
-          and its resources are released";
-      }
-      leaf existing-service-name {
-        when "../is-existing = 'true'";
-        type string; 
-        description
-          "Name of the existing service";
-      }
-      leaf reuse-existing-resources {
-        type boolean;
-        description
-          "If true reuse the existing equipment wherever possible";
-      }
-      leaf-list reusable-existing-resources {
-        when "../reuse-existing-resources = 'true'";
-        type existing-resource-reuse-type;
-        description
-          "List of existing resources that can be reused;
-          This list is enabled only when the reuse-existing-equipment 
-          is set true";
-      }
-    }
-  }
-
-  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-circuit-pack-type {
-        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 sla-id {
-      type string;
-      description
-        "Service Level Agreement";
-    }
-    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-order {
-    description
-      "Service Order information for service";
-    leaf order-id {
-      type string;
-      description
-        "Order identifier for this service";
-    }
-    leaf order-note {
-      type string;
-      description
-        "Additional details associated with the service order";
-    }
-  }
-
-  grouping resource-status {
-    description
-      "Grouping used to consisistenty apply resource-status
-       naming to appropriate RPC.";
-    leaf resource-status {
-      type resource-status-type;
-      description
-        "identifies the state of network resources required
-         to complete a service request.";
-    }
-  }
-
-  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 service-order;
-    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.";
-    }
-    uses resource-status;
-    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 decimal64 {
-        fraction-digits 3;
-      }
-      description
-        "One-way latency (in milliseconds) on service";
-      units "milliseconds";
-    }
-    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 service-port-list {
-    list port {
-      key "circuit-pack-name port-name";
-      description
-        "List allows to output more than one piece of equipment per CLLI;
-         Port-name is unique in the context of circuit-pack";
-      leaf circuit-pack-name {
-        type string;
-      }
-      leaf port-name {
-        type string;
-      }
-      leaf lifecycle-state {
-        type org-openroadm-common-state-types:lifecycle-state;
-      }
-    }
-  }
-
-  grouping equipment-info {
-    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-identifier {
-      type string;
-    }
-    leaf lifecycle-state {
-      type org-openroadm-common-state-types:lifecycle-state;
-    }
-    leaf equipment-rack {
-        type string;
-      }
-      leaf equipment-shelf {
-        type string;
-      }
-      leaf equipment-slot {
-        type string;
-      }
-      leaf equipment-sub-slot {
-        type string;
-      }
-      leaf is-reused {
-        type boolean;
-        description
-          "This is set true if the equipment-required is being reused for
-          service roll";
-      }
-    uses service-port-list;
-  }
-
-  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.";
-    }
-  }
-
-  grouping service-hierarchy {
-    leaf service-identifier {
-      type string;
-      description
-        "Based on the level in the service hierarchy, this indentifier can be for the
-         proposed or existing service";
-    }
-    leaf service-layer {
-      type service-layer-type;
-      default "wdm";
-      description
-        "Layer associated with service (e.g. wdm or otn)";
-    }
-    container service-a-end {
-      leaf clli {
-        type string;
-        description
-          "Based on the level in the service hierarchy, A-end CLLI of the
-           proposed or existing service.";
-      }
-    }
-    container service-z-end {
-      leaf clli {
-        type string;
-        description
-          "Based on the level in the service hierarchy, Z-end CLLI of the
-           proposed or existing service.";
-      }
-    }
-    list supporting-service {
-      key "id";
-      uses supporting-service;
-    }
-    container transport-assignment {
-      container mc-ttp {
-        description
-          "Media Channel Trail Termination Point (MC-TTP)";
-        uses org-openroadm-resource:mc-ttp-attributes;
-      }
-      list nmc-ctp {
-        key "id";
-        description
-          "List of Network Media Channel Connection Termination Point (NMC-CTP)";
-        leaf id {
-          type string;
-          description
-            "This used to indentify the NMC in the MC. For example split-lambda would
-            have two NMCs";
-        }
-        uses org-openroadm-resource:nmc-ctp-attributes;
-      }
-      container odu-allocation {
-        description
-          "parent odu allocation";
-        leaf trib-port-number {
-          type uint16 {
-            range "1 .. 80";
-          }
-          description
-            "Assigned tributary port number in parent OPU";
-        }
-        choice trib-slots-choice {
-          description
-            "trib slot selection";
-          case opu {
-            leaf  min-trib-slot {
-              type uint16;
-              description
-                "Minimum assigned trib slots occupied in parent OPU MSI";
-            }
-            leaf  max-trib-slot {
-              type uint16;
-              description
-                "Maximum assigned trib slots occupied in parent OPU MSI";
-            }
-          }
-          case opucn {
-            leaf opucn-min-trib-slot {
-              type org-openroadm-otn-common-types:opucn-trib-slot-def;
-              description
-                "Minimum OPUCn 5G trib slots in the form of TS #A.B (G.709)";
-            }
-            leaf opucn-max-trib-slot {
-              type org-openroadm-otn-common-types:opucn-trib-slot-def;
-              description
-                  "Maximum OPUCn 5G trib slots in the form of TS #A.B (G.709)";
-            }
-          }
-        }
-      }
-      leaf is-reused {
-        type boolean;
-        description
-          "This flag is true if the spectral assignment overlaps--in part or in full--with 
-          that of the active instance of the service. A determination whether the overlap 
-          is full or partial requires a detailed comparison of spectral assignments; it 
-          is not indicated here.";
-      }
-    }
-  }
-
-  grouping supporting-service {
-    leaf service-identifier {
-      type string;
-    }
-    leaf id {
-      type string;
-    }
-    container service-a-end {
-      uses supporting-service-detail;
-    }
-    container service-z-end {
-      uses supporting-service-detail;
-    }
-  }
-
-  grouping supporting-service-detail {
-    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 clli {
-      type string;
-      description
-        "CLLI of the supporting service";
-    }
-    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.";
-    }
-  }
-
-  grouping max-regeneration-options {
-    leaf max-regeneration-options {
-      type uint8;
-      default "1";
-      description
-        "Max regeneration options, is maximum number of regeneration-option-list elements requested in
-         service-feasibility output. RNC can return less number of regeneration-options based on it's
-         calculation but should not return more than max-regeneration-options. The goal of this field
-         is to avoid RNC from having performance issues.";
-    }
-  }
-
-  grouping regeneration-option-list {
-    list regeneration-option-list {
-      key "regeneration-option-rank";
-      leaf regeneration-option-rank {
-        type uint8;
-        description
-          "Regen option rank is derived rank based on optical performance or based on other metrics.";
-      }
-      list regeneration-clli-list {
-        key "sequence-id";
-        leaf sequence-id {
-          type uint8;
-          description
-            "Sequence id will define order of regeneration location for output path in A to Z direction.";
-        }
-        leaf regeneration-clli {
-          type string;
-          description
-            "CLLI for the site where regeneraton is located or bring proposed.";
-        }
-        leaf lifecycle-state {
-          type org-openroadm-common-state-types:lifecycle-state;
-          description
-            "Lifecycle State for regeneration CLLI indicating whether regen is already deployed or being proposed
-             for at this site.";
-        }
-      }
-    }
-  }
-}