| module openconfig-platform-types { |
| |
| yang-version "1"; |
| |
| // namespace |
| namespace "http://openconfig.net/yang/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 types (e.g., YANG identities) |
| to support the OpenConfig component inventory model."; |
| |
| oc-ext:openconfig-version "0.6.0"; |
| |
| revision "2017-08-16" { |
| description |
| "Added power state enumerated type"; |
| reference "0.6.0"; |
| } |
| |
| revision "2016-12-22" { |
| description |
| "Added temperature state variable to component"; |
| reference "0.5.0"; |
| } |
| |
| // grouping statements |
| |
| grouping avg-min-max-instant-stats-precision1-celsius { |
| description |
| "Common grouping for recording temperature values in |
| Celsius with 1 decimal precision. Values include the |
| instantaneous, average, minimum, and maximum statistics"; |
| |
| leaf instant { |
| type decimal64 { |
| fraction-digits 1; |
| } |
| units celsius; |
| description |
| "The instantaneous value of the statistic."; |
| } |
| |
| leaf avg { |
| type decimal64 { |
| fraction-digits 1; |
| } |
| units celsius; |
| description |
| "The arithmetic mean value of the statistic over the |
| sampling period."; |
| } |
| |
| leaf min { |
| type decimal64 { |
| fraction-digits 1; |
| } |
| units celsius; |
| description |
| "The minimum value of the statistic over the sampling |
| period"; |
| } |
| |
| leaf max { |
| type decimal64 { |
| fraction-digits 1; |
| } |
| units celsius; |
| description |
| "The maximum value of the statistic over the sampling |
| period"; |
| } |
| } |
| |
| // identity statements |
| |
| identity OPENCONFIG_HARDWARE_COMPONENT { |
| description |
| "Base identity for hardware related components in a managed |
| device. Derived identities are partially based on contents |
| of the IANA Entity MIB."; |
| reference |
| "IANA Entity MIB and RFC 6933"; |
| } |
| |
| |
| identity OPENCONFIG_SOFTWARE_COMPONENT { |
| description |
| "Base identity for software-related components in a managed |
| device"; |
| } |
| |
| // hardware types |
| |
| identity CHASSIS { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Chassis component, typically with multiple slots / shelves"; |
| } |
| |
| identity BACKPLANE { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Backplane component for aggregating traffic, typically |
| contained in a chassis component"; |
| } |
| |
| identity POWER_SUPPLY { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Component that is supplying power to the device"; |
| } |
| |
| identity FAN { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Cooling fan, or could be some other heat-reduction component"; |
| } |
| |
| identity SENSOR { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Physical sensor, e.g., a temperature sensor in a chassis"; |
| } |
| |
| identity MODULE { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Replaceable hardware module, e.g., a daughtercard"; |
| } |
| |
| identity LINECARD { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Linecard component, typically inserted into a chassis slot"; |
| } |
| |
| identity PORT { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Physical port, e.g., for attaching pluggables and networking |
| cables"; |
| } |
| |
| identity TRANSCEIVER { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Pluggable module present in a port"; |
| } |
| |
| identity CPU { |
| base OPENCONFIG_HARDWARE_COMPONENT; |
| description |
| "Processing unit, e.g., a management processor"; |
| } |
| |
| identity OPERATING_SYSTEM { |
| base OPENCONFIG_SOFTWARE_COMPONENT; |
| description |
| "Operating system running on a component"; |
| } |
| |
| // typedef statements |
| |
| typedef component-power-type { |
| type enumeration { |
| enum POWER_ENABLED { |
| description |
| "Enable power on the component"; |
| } |
| enum POWER_DISABLED { |
| description |
| "Disable power on the component"; |
| } |
| } |
| description |
| "A generic type reflecting whether a hardware component |
| is powered on or off"; |
| } |
| |
| } |