module openconfig-platform-linecard { yang-version "1"; // namespace namespace "http://openconfig.net/yang/platform/linecard"; prefix "oc-linecard"; import openconfig-platform { prefix oc-platform; } import openconfig-platform-types { prefix oc-platform-types; } import openconfig-extensions { prefix oc-ext; } // meta organization "OpenConfig working group"; contact "OpenConfig working group www.openconfig.net"; description "This module defines data related to LINECARD components in the openconfig-platform model"; oc-ext:openconfig-version "0.1.0"; revision "2017-08-03" { description "Initial revision"; reference "0.1.0"; } // extension statements // feature statements // identity statements // typedef statements // grouping statements grouping linecard-config { description "Configuration data for linecard components"; leaf power-admin-state { type oc-platform-types:component-power-type; default POWER_ENABLED; description "Enable or disable power to the linecard"; } } grouping linecard-state { description "Operational state data for linecard components"; leaf slot-id { type string; description "Identifier for the slot or chassis position in which the linecard is installed"; } } grouping linecard-top { description "Top-level grouping for linecard data"; container linecard { description "Top-level container for linecard data"; container config { description "Configuration data for linecards"; uses linecard-config; } container state { config false; description "Operational state data for linecards"; uses linecard-config; uses linecard-state; } } } // data definition statements // augment statements augment "/oc-platform:components/oc-platform:component" { description "Adding linecard data to physical inventory"; uses linecard-top { when "current()/oc-platform:state/" + "oc-platform:type = 'LINECARD'" { description "Augment is active when component is of type LINECARD"; } } } // rpc statements // notification statements }