Remove honeynode source code
[transportpce.git] / tests / honeynode / 1.2.1 / honeynode-plugin-impl / src / main / resources / honeycomb-minimal-resources / config / yang / openconfig / openconfig-terminal-device@2017-07-08.yang
diff --git a/tests/honeynode/1.2.1/honeynode-plugin-impl/src/main/resources/honeycomb-minimal-resources/config/yang/openconfig/openconfig-terminal-device@2017-07-08.yang b/tests/honeynode/1.2.1/honeynode-plugin-impl/src/main/resources/honeycomb-minimal-resources/config/yang/openconfig/openconfig-terminal-device@2017-07-08.yang
deleted file mode 100644 (file)
index 0319a6c..0000000
+++ /dev/null
@@ -1,1141 +0,0 @@
-module openconfig-terminal-device {
-
-  yang-version "1";
-
-  // namespace
-  namespace "http://openconfig.net/yang/terminal-device";
-
-  prefix "oc-opt-term";
-
-  import openconfig-types { prefix oc-types; }
-  import openconfig-transport-types { prefix oc-opt-types; }
-  import openconfig-if-ethernet { prefix oc-eth; }
-  import openconfig-platform { prefix oc-platform; }
-  import openconfig-platform-transceiver { prefix oc-transceiver; }
-  import openconfig-extensions { prefix oc-ext; }
-  import ietf-yang-types { prefix yang; }
-
-
-  // meta
-  organization "OpenConfig working group";
-
-  contact
-    "OpenConfig working group
-    www.openconfig.net";
-
-  description
-    "This module describes a terminal optics device model for
-    managing the terminal systems (client and line side) in a
-    DWDM transport network.
-
-    Elements of the model:
-
-    physical port: corresponds to a physical, pluggable client
-    port on the terminal device. Examples includes 10G, 40G, 100G
-    (e.g., 10x10G, 4x25G or 1x100G) and 400G/1T in the future.
-    Physical client ports will have associated operational state or
-    PMs.
-
-    physical channel: a physical lane or channel in the
-    physical client port.  Each physical client port has 1 or more
-    channels. An example is 100GBASE-LR4 client physical port having
-    4x25G channels. Channels have their own optical PMs and can be
-    monitored independently within a client physical port (e.g.,
-    channel power).  Physical client channels are defined in the
-    model as part of a physical client port, and are modeled
-    primarily for reading their PMs.
-
-    logical channel: a logical grouping of logical grooming elements
-    that may be assigned to subsequent grooming stages for
-    multiplexing / de-multiplexing, or to an optical channel for
-    line side transmission.  The logical channels can represent, for
-    example, an ODU/OTU logical packing of the client
-    data onto the line side.  Tributaries are similarly logical
-    groupings of demand that can be represented in this structure and
-    assigned to an optical channel.  Note that different types of
-    logical channels may be present, each with their corresponding
-    PMs.
-
-    optical channel:  corresponds to an optical carrier and is
-    assigned a wavelength/frequency.  Optical channels have PMs
-    such as power, BER, and operational mode.
-
-    Directionality:
-
-    To maintain simplicity in the model, the configuration is
-    described from client-to-line direction.  The assumption is that
-    equivalent reverse configuration is implicit, resulting in
-    the same line-to-client configuration.
-
-    Physical layout:
-
-    The model does not assume a particular physical layout of client
-    and line ports on the terminal device (e.g., such as number of
-    ports per linecard, separate linecards for client and line ports,
-    etc.).";
-
-  oc-ext:openconfig-version "1.0.0";
-
-  revision "2017-07-08" {
-    description
-      "Adds test-signal";
-    reference "1.0.0";
-  }
-
-  revision "2016-12-22" {
-    description
-      "Fixes and additions to terminal optics model";
-    reference "0.4.0";
-  }
-
-
-  grouping terminal-input-optical-power {
-    description
-      "Reusable leaves related to input optical power";
-
-    leaf input-power {
-      type decimal64 {
-        fraction-digits 2;
-      }
-      units dBm;
-      description
-        "The input optical power of this port in units of 0.01dBm.
-        If the port is an aggregate of multiple physical channels,
-        this attribute is the total power or sum of all channels.";
-    }
-  }
-
-  grouping terminal-ethernet-protocol-config {
-    description
-      "Configuration data for logical channels with Ethernet
-      framing";
-
-    //TODO:currently a empty container
-  }
-
-  grouping terminal-ethernet-protocol-state {
-    description
-      "Ethernet-specific counters when logical channel
-      is using Ethernet protocol framing, e.g., 10GE, 100GE";
-
-      uses oc-eth:ethernet-interface-state-counters;
-  }
-
-  grouping terminal-ethernet-protocol-top {
-    description
-      "Top-level grouping for data related to Ethernet protocol
-      framing on logical channels";
-
-    container ethernet {
-      description
-        "Top level container for data related to Ethernet framing
-        for the logical channel";
-
-      container config {
-        description
-          "Configuration data for Ethernet protocol framing on
-          logical channels";
-
-        uses terminal-ethernet-protocol-config;
-      }
-
-      container state {
-        config false;
-        description
-          "Operational state data for Ethernet protocol framing
-          on logical channels";
-
-        uses terminal-ethernet-protocol-state;
-      }
-    }
-  }
-
-  grouping terminal-otn-protocol-config {
-    description
-      "OTU configuration when logical channel
-      framing is using an OTU protocol, e.g., OTU1, OTU3, etc.";
-
-    leaf tti-msg-transmit {
-      type string;
-      description
-        "Trail trace identifier (TTI) message transmitted";
-    }
-
-    leaf tti-msg-expected {
-      type string;
-      description
-        "Trail trace identifier (TTI) message expected";
-    }
-
-    leaf tti-msg-auto {
-      type boolean;
-      description
-        "Trail trace identifier (TTI) transmit message automatically
-        created.  If true, then setting a custom transmit message
-        would be invalid.";
-    }
-  }
-
-  grouping terminal-otn-protocol-counter-stats {
-    description
-      "Counter based statistics containers for logical channels
-      using OTN framing";
-
-    leaf errored-seconds {
-      type yang:counter64;
-      description
-        "The number of seconds that at least one errored blocks
-        occurs, at least one code violation occurs, loss of sync is
-        detected or loss of signal is detected";
-    }
-
-    leaf severely-errored-seconds {
-      type yang:counter64;
-      description
-        "The number of seconds that loss of frame is detected OR
-        the number of errored blocks, code violations, loss of sync
-        or loss of signal is detected exceeds a predefined
-        threshold";
-    }
-
-    leaf unavailable-seconds {
-      type yang:counter64;
-      description
-        "The number of seconds during which the link is unavailable";
-    }
-
-    leaf code-violations {
-      type yang:counter64;
-      description
-        "For ethernet or fiberchannel links, the number of 8b/10b
-        coding violations. For SONET/SDH, the number of BIP (bit
-        interleaved parity) errors";
-    }
-
-    leaf fec-uncorrectable-words {
-      type yang:counter64;
-      description
-        "The number words that were uncorrectable by the FEC";
-    }
-
-    leaf fec-corrected-bytes {
-      type yang:counter64;
-      description
-        "The number of bytes that were corrected by the FEC";
-    }
-
-    leaf fec-corrected-bits {
-      type yang:counter64;
-      description
-        "The number of bits that were corrected by the FEC";
-    }
-
-    leaf background-block-errors {
-      type yang:counter64;
-      description
-        "The number of background block errors";
-    }
-  }
-
-  grouping terminal-otn-protocol-multi-stats {
-    description
-      "Multi-value statistics containers for logical channels using
-      OTN framing (e.g., max, min, avg, instant)";
-
-    container pre-fec-ber {
-      description
-        "Bit error rate before forward error correction -- computed
-        value with 18 decimal precision. Note that decimal64
-        supports values as small as i x 10^-18 where i is an
-        integer. Values smaller than this should be reported as 0
-        to inidicate error free or near error free performance.
-        Values include the instantaneous, average, minimum, and
-        maximum statistics. If avg/min/max statistics are not
-        supported, the target is expected to just supply the
-        instant value";
-
-      uses oc-opt-types:avg-min-max-instant-stats-precision18-ber;
-    }
-
-    container post-fec-ber {
-      description
-        "Bit error rate after forward error correction -- computed
-        value with 18 decimal precision. Note that decimal64
-        supports values as small as i x 10^-18 where i is an
-        integer. Values smaller than this should be reported as 0
-        to inidicate error free or near error free performance.
-        Values include the instantaneous, average, minimum, and
-        maximum statistics. If avg/min/max statistics are not
-        supported, the target is expected to just supply the
-        instant value";
-
-      uses oc-opt-types:avg-min-max-instant-stats-precision18-ber;
-    }
-
-    container q-value {
-      description
-        "Quality value (factor) in dB of a channel with two
-        decimal precision. Values include the instantaneous,
-        average, minimum, and maximum statistics. If avg/min/max
-        statistics are not supported, the target is expected
-        to just supply the instant value";
-
-      uses oc-types:avg-min-max-instant-stats-precision2-dB;
-    }
-
-    container esnr {
-      description
-        "Electrical signal to noise ratio. Baud rate
-        normalized signal to noise ratio based on
-        error vector magnitude in dB with two decimal
-        precision. Values include the instantaneous, average,
-        minimum, and maximum statistics. If avg/min/max
-        statistics are not supported, the target is expected
-        to just supply the instant value";
-
-      uses oc-types:avg-min-max-instant-stats-precision2-dB;
-    }
-  }
-
-  grouping terminal-otn-protocol-state {
-    description
-      "OTU operational state when logical channel
-      framing is using an OTU protocol, e.g., OTU1, OTU3, etc.";
-
-
-      leaf tti-msg-recv {
-        type string;
-        description
-          "Trail trace identifier (TTI) message received";
-      }
-
-      leaf rdi-msg {
-        type string;
-        description
-          "Remote defect indication (RDI) message received";
-      }
-      uses terminal-otn-protocol-counter-stats;
-      uses terminal-otn-protocol-multi-stats;
-  }
-
-  grouping terminal-otn-protocol-top {
-    description
-      "Top-level grouping for data related to OTN protocol framing";
-
-    container otn {
-      description
-        "Top level container for OTU configuration when logical
-        channel framing is using an OTU protocol, e.g., OTU1, OTU3,
-        etc.";
-
-      container config {
-        description
-          "Configuration data for OTN protocol framing";
-
-        uses terminal-otn-protocol-config;
-      }
-
-      container state {
-
-        config false;
-
-        description
-          "Operational state data for OTN protocol PMs, statistics,
-          etc.";
-
-        uses terminal-otn-protocol-config;
-        uses terminal-otn-protocol-state;
-      }
-    }
-  }
-
-  grouping terminal-client-port-assignment-config {
-    description
-      "Configuration data for assigning physical client ports to
-      logical channels";
-
-    leaf index {
-      type uint32;
-      description
-        "Index of the client port assignment";
-    }
-
-    leaf description {
-      type string;
-      description
-        "Descriptive name for the client port-to-logical channel
-        mapping";
-    }
-
-    leaf logical-channel {
-      type leafref {
-        path "/oc-opt-term:terminal-device/oc-opt-term:logical-channels" +
-          "/oc-opt-term:channel/oc-opt-term:index";
-      }
-      description
-        "Reference to the logical channel for this
-        assignment";
-    }
-
-    leaf allocation {
-      type decimal64 {
-        fraction-digits 3;
-      }
-      units Gbps;
-      description
-        "Allocation of the client physical port to the assigned
-        logical channel expressed in Gbps.  In most cases,
-        the full client physical port rate is assigned to a single
-        logical channel.";
-    }
-
-  }
-
-  grouping terminal-client-port-assignment-state {
-    description
-      "Operational state data for assigning physical client ports
-      to logical channels";
-  }
-
-  grouping terminal-client-port-assignment-top {
-    description
-      "Top-level grouping for the assigment of client physical ports
-      to logical channels";
-    //TODO: this grouping could be removed, instead reusing a common
-    //grouping for logical client assignment pointers
-
-    container logical-channel-assignments {
-      description
-        "Enclosing container for client port to logical client
-        mappings";
-
-      list assignment {
-        key "index";
-        description
-          "List of assignments to logical clients";
-
-        leaf index {
-          type leafref {
-            path "../config/index";
-          }
-          description
-            "Reference to the index of this logical client
-            assignment";
-        }
-
-        container config {
-          description
-            "Configuration data for the logical client assignment";
-
-          uses terminal-client-port-assignment-config;
-        }
-
-        container state {
-
-          config false;
-
-          description
-            "Operational state data for the logical client
-            assignment";
-
-          uses terminal-client-port-assignment-config;
-          uses terminal-client-port-assignment-state;
-        }
-      }
-    }
-  }
-
-
-  grouping terminal-logical-chan-assignment-config {
-    description
-      "Configuration data for assigning client logical channels
-      to line-side tributaries";
-
-    leaf index {
-      type uint32;
-      description
-        "Index of the current logical client channel to tributary
-        mapping";
-    }
-
-    leaf description {
-      type string;
-      description
-        "Name assigned to the logical client channel";
-    }
-
-    leaf assignment-type {
-      type enumeration {
-        enum LOGICAL_CHANNEL {
-          description
-            "Subsequent channel is a logical channel";
-        }
-        enum OPTICAL_CHANNEL {
-          description
-            "Subsequent channel is a optical channel / carrier";
-        }
-      }
-      description
-        "Each logical channel element may be assigned to subsequent
-        stages of logical elements to implement further grooming, or
-        can be assigned to a line-side optical channel for
-        transmission.  Each assignment also has an associated
-        bandwidth allocation.";
-    }
-
-    leaf logical-channel {
-      type leafref {
-        path "/oc-opt-term:terminal-device/" +
-          "oc-opt-term:logical-channels/oc-opt-term:channel/" +
-          "oc-opt-term:index";
-      }
-      must "../assignment-type = 'LOGICAL_CHANNEL'" {
-        description
-          "The assignment-type must be set to LOGICAL_CHANNEL for
-          this leaf to be valid";
-      }
-      description
-         "Reference to another stage of logical channel elements.";
-    }
-
-    leaf optical-channel {
-      type leafref {
-        path "/oc-platform:components/oc-platform:component/" +
-          "oc-platform:name";
-      }
-      must "../assignment-type = 'OPTICAL_CHANNEL'" {
-        description
-          "The assignment-type must be set to OPTICAL_CHANNEL for
-          this leaf to be valid";
-      }
-      description
-        "Reference to the line-side optical channel that should
-        carry the current logical channel element.  Use this
-        reference to exit the logical element stage.";
-    }
-
-    leaf allocation {
-      type decimal64 {
-        fraction-digits 3;
-      }
-      units Gbps;
-      description
-        "Allocation of the logical client channel to the tributary
-        or sub-channel, expressed in Gbps";
-    }
-
-  }
-
-  grouping terminal-logical-chan-assignment-state {
-    description
-      "Operational state data for the assignment of logical client
-      channel to line-side tributary";
-  }
-
-  grouping terminal-logical-chan-assignment-top {
-    description
-      "Top-level grouping for the list of logical client channel-to-
-      tributary assignments";
-
-    container logical-channel-assignments {
-      //TODO: we need a commonly understood name for this logical
-      //channel structure
-      description
-        "Enclosing container for tributary assignments";
-
-      list assignment {
-        key "index";
-        description
-          "Logical channel elements may be assigned directly to
-          optical channels for line-side transmission, or can be
-          further groomed into additional stages of logical channel
-          elements.  The grooming can multiplex (i.e., split the
-          current element into multiple elements in the subsequent
-          stage) or de-multiplex (i.e., combine the current element
-          with other elements into the same element in the subsequent
-          stage) logical elements in each stage.
-
-          Note that to support the ability to groom the logical
-          elements, the list of logical channel elements should be
-          populated with an entry for the logical elements at
-          each stage, starting with the initial assignment from the
-          respective client physical port.
-
-          Each logical element assignment consists of a pointer to
-          an element in the next stage, or to an optical channel,
-          along with a bandwidth allocation for the corresponding
-          assignment (e.g., to split or combine signal).";
-
-        leaf index {
-          type leafref {
-            path "../config/index";
-          }
-          description
-            "Reference to the index for the current tributary
-            assignment";
-        }
-
-        container config {
-          description
-            "Configuration data for tributary assignments";
-
-          uses terminal-logical-chan-assignment-config;
-        }
-
-        container state {
-
-          config false;
-
-          description
-            "Operational state data for tributary assignments";
-
-          uses terminal-logical-chan-assignment-config;
-          uses terminal-logical-chan-assignment-state;
-        }
-      }
-    }
-  }
-
-  grouping terminal-logical-channel-ingress-config {
-    description
-      "Configuration data for ingress signal to logical channel";
-
-    leaf transceiver {
-      type leafref {
-        path "/oc-platform:components/oc-platform:component/" +
-        "oc-platform:name";
-      }
-      description
-        "Reference to the transceiver carrying the input signal
-        for the logical channel.  If specific physical channels
-        are mapped to the logical channel (as opposed to all
-        physical channels carried by the transceiver), they can be
-        specified in the list of physical channel references.";
-    }
-
-    leaf-list physical-channel {
-      type leafref {
-        path "/oc-platform:components/oc-platform:component/" +
-          "oc-transceiver:transceiver/" +
-          "oc-transceiver:physical-channels/" +
-          "oc-transceiver:channel/oc-transceiver:index";
-      }
-      description
-        "This list should be populated with references
-        to the client physical channels that feed this logical
-        channel from the transceiver specified in the 'transceiver'
-        leaf, which must be specified.  If this leaf-list is empty,
-        all physical channels in the transceiver are assumed to be
-        mapped to the logical channel.";
-    }
-  }
-
-  grouping terminal-logical-channel-ingress-state {
-    description
-      "Operational state data for ingress signal to logical channel";
-  }
-
-  grouping terminal-logical-channel-ingress-top {
-    description
-      "Top-level grouping for ingress signal to logical channel";
-
-    container ingress {
-      description
-        "Top-level container for specifying references to the
-        source of signal for the logical channel, either a
-        transceiver or individual physical channels";
-
-      container config {
-        description
-          "Configuration data for the signal source for the
-          logical channel";
-
-        uses terminal-logical-channel-ingress-config;
-      }
-
-      container state {
-
-        config false;
-
-        description
-          "Operational state data for the signal source for the
-          logical channel";
-
-        uses terminal-logical-channel-ingress-config;
-        uses terminal-logical-channel-ingress-state;
-      }
-    }
-  }
-
-  grouping terminal-logical-channel-config {
-    description
-      "Configuration data for logical channels";
-
-    leaf index {
-      type uint32;
-      description
-        "Index of the current logical channel";
-    }
-
-    leaf description {
-      type string;
-      description
-        "Description of the logical channel";
-    }
-
-    leaf admin-state {
-      type oc-opt-types:admin-state-type;
-      description
-          "Sets the admin state of the logical channel";
-    }
-
-    leaf rate-class {
-      type identityref {
-        base oc-opt-types:TRIBUTARY_RATE_CLASS_TYPE;
-      }
-      description
-        "Rounded bit rate of the tributary signal. Exact bit rate
-        will be refined by protocol selection.";
-    }
-
-    leaf trib-protocol {
-      type identityref {
-        base oc-opt-types:TRIBUTARY_PROTOCOL_TYPE;
-      }
-      description
-        "Protocol framing of the tributary signal. If this
-        LogicalChannel is directly connected to a Client-Port or
-        Optical-Channel, this is the protocol of the associated port.
-        If the LogicalChannel is connected to other LogicalChannels,
-        the TributaryProtocol of the LogicalChannels will define a
-        specific mapping/demapping or multiplexing/demultiplexing
-        function.
-
-        Not all protocols are valid, depending on the value
-        of trib-rate-class.  The expectation is that the NMS
-        will validate that a correct combination of rate class
-        and protocol are specfied.  Basic combinations are:
-
-        rate class: 1G
-        protocols: 1GE
-
-        rate class: 2.5G
-        protocols: OC48, STM16
-
-        rate class: 10G
-        protocols:  10GE LAN, 10GE WAN, OC192, STM64, OTU2, OTU2e,
-                    OTU1e, ODU2, ODU2e, ODU1e
-
-        rate class: 40G
-        protocols:  40GE, OC768, STM256, OTU3, ODU3
-
-        rate class: 100G
-        protocols:  100GE, 100G MLG, OTU4, OTUCn, ODU4";
-    }
-
-    leaf logical-channel-type {
-      type identityref {
-        base oc-opt-types:LOGICAL_ELEMENT_PROTOCOL_TYPE;
-      }
-      description
-        "The type / stage of the logical element determines the
-        configuration and operational state parameters (PMs)
-        available for the logical element";
-    }
-
-    leaf loopback-mode {
-      type oc-opt-types:loopback-mode-type;
-      description
-        "Sets the loopback type on the logical channel. Setting the
-        mode to something besides NONE activates the loopback in
-        the specified mode.";
-    }
-
-    leaf test-signal {
-      type boolean;
-      description
-        "When enabled the logical channel's DSP will generate a pseudo
-        randmon bit stream (PRBS) which can be used during testing.";
-    }
-  }
-
-
-  grouping terminal-logical-channel-state {
-    description
-      "Operational state data for logical client channels";
-
-    leaf link-state {
-      type enumeration {
-        enum UP {
-          description
-            "Logical channel is operationally up";
-        }
-        enum DOWN {
-          description
-            "Logical channel is operationally down";
-        }
-      }
-      description
-        "Link-state of the Ethernet protocol on the logical channel,
-        SONET / SDH framed signal, etc.";
-    }
-
-  }
-
-  grouping terminal-logical-channel-top {
-    description
-      "Top-level grouping for logical channels";
-
-    container logical-channels {
-      description
-        "Enclosing container the list of logical channels";
-
-      list channel {
-        key "index";
-        description
-          "List of logical channels";
-        //TODO: naming for this list of logical elements should be
-        //revisited.
-
-        leaf index {
-          type leafref {
-            path "../config/index";
-          }
-          description
-            "Reference to the index of the logical channel";
-        }
-
-        container config {
-          description
-            "Configuration data for logical channels";
-
-          uses terminal-logical-channel-config;
-
-        }
-
-        container state {
-
-          config false;
-
-          description
-            "Operational state data for logical channels";
-
-          uses terminal-logical-channel-config;
-          uses terminal-logical-channel-state;
-        }
-
-        uses terminal-otn-protocol-top {
-          when "config/logical-channel-type = 'PROT_OTN'" {
-            description
-              "Include the OTN protocol data only when the
-              channel is using OTN framing.";
-          }
-        }
-        uses terminal-ethernet-protocol-top {
-          when "config/logical-channel-type = 'PROT_ETHERNET'" {
-            description
-              "Include the Ethernet protocol statistics only when the
-              protocol used by the link is Ethernet.";
-          }
-        }
-        uses terminal-logical-channel-ingress-top;
-        uses terminal-logical-chan-assignment-top;
-      }
-    }
-  }
-
-
-  grouping terminal-optical-channel-config {
-    description
-      "Configuration data for describing optical channels";
-
-    leaf frequency {
-      type oc-opt-types:frequency-type;
-      description
-        "Frequency of the optical channel, expressed in MHz";
-    }
-
-    leaf target-output-power {
-      type decimal64 {
-        fraction-digits 2;
-      }
-      units dBm;
-      description
-        "Target output optical power level of the optical channel,
-        expressed in increments of 0.01 dBm (decibel-milliwats)";
-    }
-
-    leaf operational-mode {
-      type uint16;
-      description
-        "Vendor-specific mode identifier -- sets the operational
-        mode for the channel.  The specified operational mode must
-        exist in the list of supported operational modes supplied
-        by the device";
-      //
-      // Ideally, this leaf should be a leafref to the supported
-      // operational modes, but YANG 1.0 does not allow a r/w
-      // leaf to be a leafref to a r/o leaf.
-    }
-
-
-    leaf line-port {
-      type leafref {
-        path "/oc-platform:components/oc-platform:component/" +
-          "oc-platform:name";
-      }
-      description
-        "Reference to the line-side physical port that carries
-        this optical channel.  The target port should be
-        a component in the physical inventory data model.";
-    }
-  }
-
-  grouping terminal-optical-channel-state {
-    description
-      "Operational state data for optical channels";
-
-    leaf group-id {
-      type uint32;
-      description
-        "If the device places constraints on which optical
-        channels must be managed together (e.g., transmitted on the
-        same line port), it can indicate that by setting the group-id
-        to the same value across related optical channels.";
-    }
-
-    uses oc-transceiver:optical-power-state;
-
-    container chromatic-dispersion {
-      description
-        "Chromatic Dispersion of an optical channel in
-        picoseconds / nanometer (ps/nm) as reported by receiver
-        with two decimal precision. Values include the instantaneous,
-        average, minimum, and maximum statistics. If avg/min/max
-        statistics are not supported, the target is expected to just
-        supply the instant value";
-
-      uses oc-opt-types:avg-min-max-instant-stats-precision2-ps-nm;
-    }
-
-    container polarization-mode-dispersion {
-      description
-        "Polarization Mode Dispersion of an optical channel
-        in picosends (ps) as reported by receiver with two decimal
-        precision. Values include the instantaneous, average,
-        minimum, and maximum statistics. If avg/min/max statistics
-        are not supported, the target is expected to just supply the
-        instant value";
-
-      uses oc-opt-types:avg-min-max-instant-stats-precision2-ps;
-    }
-
-    container second-order-polarization-mode-dispersion {
-      description
-        "Second Order Polarization Mode Dispersion of an optical
-        channel in picoseconds squared (ps^2) as reported by
-        receiver with two decimal precision. Values include the
-        instantaneous, average, minimum, and maximum statistics.
-        If avg/min/max statistics are not supported, the target
-        is expected to just supply the instant value";
-
-      uses oc-opt-types:avg-min-max-instant-stats-precision2-ps2;
-    }
-
-    container polarization-dependent-loss {
-      description
-        "Polarization Dependent Loss of an optical channel
-        in dB as reported by receiver with two decimal precision.
-        Values include the instantaneous, average, minimum, and
-        maximum statistics. If avg/min/max statistics are not
-        supported, the target is expected to just supply the
-        instant value";
-
-      uses oc-types:avg-min-max-instant-stats-precision2-dB;
-    }
-  }
-
-  grouping terminal-optical-channel-top {
-    description
-      "Top-level grouping for optical channel data";
-
-    container optical-channel {
-      description
-        "Enclosing container for the list of optical channels";
-
-      container config {
-        description
-          "Configuration data for optical channels";
-
-        uses terminal-optical-channel-config;
-      }
-
-      container state {
-
-        config false;
-
-        description
-          "Operational state data for optical channels";
-
-        uses terminal-optical-channel-config;
-        uses terminal-optical-channel-state;
-      }
-    }
-  }
-
-  grouping terminal-operational-mode-config {
-    description
-      "Configuration data for vendor-supported operational modes";
-  }
-
-  grouping terminal-operational-mode-state {
-    description
-      "Operational state data for vendor-supported operational
-      modes";
-
-      leaf mode-id {
-        type uint16;
-        description
-          "Two-octet encoding of the vendor-defined operational
-          mode";
-      }
-
-      leaf description {
-        type string;
-        description
-          "Vendor-supplied textual description of the characteristics
-          of this operational mode to enable operators to select the
-          appropriate mode for the application.";
-      }
-
-      //TODO: examples of the kind of info that would be useful to
-      //report in the operational mode:
-      //Symbol rate (32G, 40G, 43G, 64G, etc.)
-      //Modulation (QPSK, 8-QAM, 16-QAM, etc.)
-      //Differential encoding (on, off/pilot symbol, etc)
-      //State of polarization tracking mode (default, med.
-      //high-speed, etc.)
-      //Pulse shaping (RRC, RC, roll-off factor)
-      //FEC mode (SD, HD, % OH)
-
-      leaf vendor-id {
-        type string;
-        description
-          "Identifier to represent the vendor / supplier of the
-          platform and the associated operational mode information";
-      }
-  }
-
-  grouping terminal-operational-mode-top {
-    description
-      "Top-level grouping for vendor-supported operational modes";
-
-    container operational-modes {
-      description
-        "Enclosing container for list of operational modes";
-
-      list mode {
-        key "mode-id";
-        config false;
-        description
-          "List of operational modes supported by the platform.
-          The operational mode provides a platform-defined summary
-          of information such as symbol rate, modulation, pulse
-          shaping, etc.";
-
-        leaf mode-id {
-          type leafref {
-            path "../state/mode-id";
-          }
-          description
-            "Reference to mode-id";
-        }
-
-        container config {
-          description
-            "Configuration data for operational mode";
-
-          uses terminal-operational-mode-config;
-        }
-
-        container state {
-
-          config false;
-
-          description
-            "Operational state data for the platform-defined
-            operational mode";
-
-          uses terminal-operational-mode-config;
-          uses terminal-operational-mode-state;
-        }
-      }
-    }
-  }
-
-
-  grouping terminal-device-config {
-    description
-      "Configuration data for transport terminal devices at a
-      device-wide level";
-  }
-
-  grouping terminal-device-state {
-    description
-      "Operational state data for transport terminal devices at a
-      device-wide level";
-  }
-
-  grouping terminal-device-top {
-    description
-      "Top-level grouping for data for terminal devices";
-
-    container terminal-device {
-      description
-        "Top-level container for the terminal device";
-
-      container config {
-        description
-          "Configuration data for global terminal-device";
-
-        uses terminal-device-config;
-      }
-
-      container state {
-
-        config false;
-
-        description
-          "Operational state data for global terminal device";
-
-        uses terminal-device-config;
-        uses terminal-device-state;
-      }
-
-      uses terminal-logical-channel-top;
-      uses terminal-operational-mode-top;
-
-    }
-  }
-
-  // data definition statements
-
-  uses terminal-device-top;
-
-  // augment statements
-
-  augment "/oc-platform:components/oc-platform:component" {
-    when "/oc-platform:components/oc-platform:component/" +
-      "oc-platform:state/oc-platform:type = 'OPTICAL_CHANNEL'" {
-      description
-        "Augment is active when component is of type
-        OPTICAL_CHANNEL";
-    }
-    description
-      "Adding optical channel data to physical inventory";
-
-    uses terminal-optical-channel-top {
-    }
-  }
-
-}