Structure of YANG Models
YANG data models can be represented in a hierarchical, tree-based structure with nodes. This representation makes the models easy to understand.
There are two Terminal-device models for Cisco NCS 1004, such as:
-
OpenConfig Terminal model
-
OpenConfig Platform model
For more details on supported versions, see Supported YANG Models in NCS 1004.
The following is the tree structure of the OpenConfig Terminal model:
module: openconfig-terminal-device
+--rw terminal-device
+--ro state
+--rw logical-channels
| +--rw channel* [index]
| +--rw index
| +--rw config
| | +--rw index? uint32
| | +--rw description? string
| | +--rw admin-state? oc-opt-types:admin-state-type
| | +--rw rate-class? identityref
| | +--rw trib-protocol? identityref
| | +--rw logical-channel-type? identityref
| | +--rw loopback-mode? oc-opt-types:loopback-mode-type
| +--ro state
| | +--ro index? uint32
| | +--ro description? string
| | +--ro admin-state? oc-opt-types:admin-state-type
| | +--ro rate-class? identityref
| | +--ro trib-protocol? identityref
| | +--ro logical-channel-type? identityref
| | +--ro loopback-mode? oc-opt-types:loopback-mode-type
| | +--ro link-state? enumeration
| +--rw otn
| | +--rw config
| | | +--rw tti-msg-transmit? string
| | | +--rw tti-msg-expected? string
| | | +--rw tti-msg-auto? boolean
| | +--ro state
| | +--ro tti-msg-transmit? string
| | +--ro tti-msg-expected? string
| | +--ro tti-msg-recv? string
| | +--ro errored-seconds? yang:counter64
| | +--ro severely-errored-seconds? yang:counter64
| | +--ro unavailable-seconds? yang:counter64
| | +--ro fec-corrected-bits? yang:counter64
| | +--ro background-block-errors? yang:counter64
+--ro fec-uncorrectable-words
| | +--ro pre-fec-ber
| | | +--ro instant? decimal64
| | | +--ro avg? decimal64
| | | +--ro min? decimal64
| | | +--ro max? decimal64
| | +--ro post-fec-ber
| | | +--ro instant? decimal64
| | | +--ro avg? decimal64
| | | +--ro min? decimal64
| | | +--ro max? decimal64
| +--rw ethernet
| | +--rw config
| | +--ro state
| | +--ro in-mac-pause-frames? yang:counter64
| | +--ro in-oversize-frames? yang:counter64
| | +--ro in-jabber-frames? yang:counter64
| | +--ro in-fragment-frames? yang:counter64
| | +--ro in-crc-errors? yang:counter64
| | +--ro out-mac-pause-frames? yang:counter64
| +--rw ingress
| | +--rw config
| | | +--rw transceiver? -> /oc-platform:components/component/name
| | | +--rw physical-channel* -> /oc-platform:components/component/oc-transceiver:transceiver/physical-channels/channel/index
| | +--ro state
| | +--ro transceiver? -> /oc-platform:components/component/name
| | +--ro physical-channel* -> /oc-platform:components/component/oc-transceiver:transceiver/physical-channels/channel/index
| +--rw logical-channel-assignments
| +--rw assignment* [index]
| +--rw index -> ../config/index
| +--rw config
| | +--rw index? uint32
| | +--rw description? string
| | +--rw assignment-type? enumeration
| | +--rw logical-channel? -> /terminal-device/logical-channels/channel/index
| | +--rw optical-channel? -> /oc-platform:components/component/name
| | +--rw allocation? decimal64
| +--ro state
| +--ro index? uint32
| +--ro description? string
| +--ro assignment-type? enumeration
| +--ro logical-channel? -> /terminal-device/logical-channels/channel/index
| +--ro optical-channel? -> /oc-platform:components/component/name
| +--ro allocation? decimal64
+--rw operational-modes
+--ro mode* [mode-id]
+--ro mode-id -> ../state/mode-id
+--ro config
+--ro state
+--ro mode-id? uint16
+--ro description? string
+--ro vendor-id? string
The following is the tree structure of the OpenConfig Platform model:
module: openconfig-platform
+--rw components
+--rw component* [name]
+--rw name -> ../config/name
+--rw config
| +--rw name? string
+--ro state
| +--ro name? string
| +--ro type? union
| +--ro id? string
| +--ro description? string
| +--ro mfg-name? string
| +--ro version? string
| +--ro serial-no? string
| +--ro part-no? string
+--rw oc-transceiver:transceiver
| +--ro oc-transceiver:state
| | +--ro oc-transceiver:form-factor? identityref
| | +--ro oc-transceiver:present? enumeration
| | +--ro oc-transceiver:connector-type? identityref
| | +--ro oc-transceiver:internal-temp? int16
| | +--ro oc-transceiver:vendor? string
| | +--ro oc-transceiver:vendor-part? string
| | +--ro oc-transceiver:vendor-rev? string
| | +--ro oc-transceiver:ethernet-compliance-code? identityref
| | +--ro oc-transceiver:sonet-sdh-compliance-code? identityref
| | +--ro oc-transceiver:otn-compliance-code? identityref
| | +--ro oc-transceiver:serial-no? string
| | +--ro oc-transceiver:date-code? yang:date-and-time
| | +--ro oc-transceiver:fault-condition? boolean
| +--rw oc-transceiver:physical-channels
| +--rw oc-transceiver:channel* [index]
| +--rw oc-transceiver:index -> ../config/index
| +--ro oc-transceiver:output-frequency? oc-opt-types:frequency-type
| +--ro oc-transceiver:output-power
| | +--ro oc-transceiver:instant? decimal64
| | +--ro oc-transceiver:avg? decimal64
| | +--ro oc-transceiver:min? decimal64
| | +--ro oc-transceiver:max? decimal64
| +--ro oc-transceiver:input-power
| | +--ro oc-transceiver:instant? decimal64
| | +--ro oc-transceiver:avg? decimal64
| | +--ro oc-transceiver:min? decimal64
| | +--ro oc-transceiver:max? decimal64
| +--ro oc-transceiver:laser-bias-current
| +--ro oc-transceiver:instant? decimal64
| +--ro oc-transceiver:avg? decimal64
| +--ro oc-transceiver:min? decimal64
| +--ro oc-transceiver:max? decimal64
+--rw oc-opt-term:optical-channel
+--rw oc-opt-term:config
| +--rw oc-opt-term:frequency? oc-opt-types:frequency-type
| +--rw oc-opt-term:target-output-power? decimal64
| +--rw oc-opt-term:operational-mode? uint16
| +--rw oc-opt-term:line-port? -> /oc-platform:components/component/name
+--ro oc-opt-term:state
+--ro oc-opt-term:frequency? oc-opt-types:frequency-type
+--ro oc-opt-term:target-output-power? decimal64
+--ro oc-opt-term:operational-mode? uint16
+--ro oc-opt-term:line-port? -> /oc-platform:components/component/name
+--ro oc-opt-term:chromatic-dispersion
| +--ro oc-opt-term:instant? decimal64
| +--ro oc-opt-term:avg? decimal64
| +--ro oc-opt-term:min? decimal64
| +--ro oc-opt-term:max? decimal64
+--ro oc-opt-term:second-order-polarization-mode-dispersion
| +--ro oc-opt-term:instant? decimal64
| +--ro oc-opt-term:avg? decimal64
| +--ro oc-opt-term:min? decimal64
| +--ro oc-opt-term:max? decimal64
+--ro oc-opt-term:polarization-dependent-loss
+--ro oc-opt-term:instant? decimal64
+--ro oc-opt-term:avg? decimal64
+--ro oc-opt-term:min? decimal64
+--ro oc-opt-term:max? decimal64