+++ /dev/null
-module openconfig-platform-types {
-
- yang-version "1";
-
- // namespace
- namespace "http://openconfig.net/yang/platform-types";
-
- prefix "oc-platform-types";
-
- import openconfig-types { prefix oc-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.8.0";
-
- revision "2018-01-16" {
- description
- "Added new per-component common data; add temp alarm";
- reference "0.8.0";
- }
-
- revision "2017-12-14" {
- description
- "Added anchor containers for component data, added new
- component types";
- reference "0.7.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";
- }
-
- leaf interval {
- type oc-types:stat-interval;
- description
- "The time interval over which the min/max/average statistics
- are computed by the system.";
- }
- }
-
- // 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 FABRIC {
- base OPENCONFIG_HARDWARE_COMPONENT;
- description
- "Interconnect between ingress and egress ports on the
- device (e.g., a crossbar switch).";
- }
-
- 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 FRU {
- base OPENCONFIG_HARDWARE_COMPONENT;
- description
- "Replaceable hardware component that does not have a more
- specific defined schema.";
- }
-
- 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 STORAGE {
- base OPENCONFIG_HARDWARE_COMPONENT;
- description
- "A storage subsystem on the device (disk, SSD, etc.)";
- }
-
- identity INTEGRATED_CIRCUIT {
- base OPENCONFIG_HARDWARE_COMPONENT;
- description
- "A special purpose processing unit, typically for traffic
- switching/forwarding (e.g., switching ASIC, NPU, forwarding
- chip, etc.)";
- }
-
- identity OPERATING_SYSTEM {
- base OPENCONFIG_SOFTWARE_COMPONENT;
- description
- "Operating system running on a component";
- }
-
-
- identity COMPONENT_OPER_STATUS {
- description
- "Current operational status of a platform component";
- }
-
- identity ACTIVE {
- base COMPONENT_OPER_STATUS;
- description
- "Component is enabled and active (i.e., up)";
- }
-
- identity INACTIVE {
- base COMPONENT_OPER_STATUS;
- description
- "Component is enabled but inactive (i.e., down)";
- }
-
- identity DISABLED {
- base COMPONENT_OPER_STATUS;
- description
- "Component is administratively disabled.";
- }
-
- // 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";
- }
-
-}
\ No newline at end of file