1 module openconfig-platform-types {
6 namespace "http://openconfig.net/yang/platform-types";
8 prefix "oc-platform-types";
10 import openconfig-types { prefix oc-types; }
11 import openconfig-extensions { prefix oc-ext; }
15 organization "OpenConfig working group";
18 "OpenConfig working group
22 "This module defines data types (e.g., YANG identities)
23 to support the OpenConfig component inventory model.";
25 oc-ext:openconfig-version "0.8.0";
27 revision "2018-01-16" {
29 "Added new per-component common data; add temp alarm";
33 revision "2017-12-14" {
35 "Added anchor containers for component data, added new
40 revision "2017-08-16" {
42 "Added power state enumerated type";
46 revision "2016-12-22" {
48 "Added temperature state variable to component";
52 // grouping statements
54 grouping avg-min-max-instant-stats-precision1-celsius {
56 "Common grouping for recording temperature values in
57 Celsius with 1 decimal precision. Values include the
58 instantaneous, average, minimum, and maximum statistics";
66 "The instantaneous value of the statistic.";
75 "The arithmetic mean value of the statistic over the
85 "The minimum value of the statistic over the sampling
95 "The maximum value of the statistic over the sampling
100 type oc-types:stat-interval;
102 "The time interval over which the min/max/average statistics
103 are computed by the system.";
107 // identity statements
109 identity OPENCONFIG_HARDWARE_COMPONENT {
111 "Base identity for hardware related components in a managed
112 device. Derived identities are partially based on contents
113 of the IANA Entity MIB.";
115 "IANA Entity MIB and RFC 6933";
119 identity OPENCONFIG_SOFTWARE_COMPONENT {
121 "Base identity for software-related components in a managed
128 base OPENCONFIG_HARDWARE_COMPONENT;
130 "Chassis component, typically with multiple slots / shelves";
134 base OPENCONFIG_HARDWARE_COMPONENT;
136 "Backplane component for aggregating traffic, typically
137 contained in a chassis component";
141 base OPENCONFIG_HARDWARE_COMPONENT;
143 "Interconnect between ingress and egress ports on the
144 device (e.g., a crossbar switch).";
147 identity POWER_SUPPLY {
148 base OPENCONFIG_HARDWARE_COMPONENT;
150 "Component that is supplying power to the device";
154 base OPENCONFIG_HARDWARE_COMPONENT;
156 "Cooling fan, or could be some other heat-reduction component";
160 base OPENCONFIG_HARDWARE_COMPONENT;
162 "Physical sensor, e.g., a temperature sensor in a chassis";
166 base OPENCONFIG_HARDWARE_COMPONENT;
168 "Replaceable hardware component that does not have a more
169 specific defined schema.";
173 base OPENCONFIG_HARDWARE_COMPONENT;
175 "Linecard component, typically inserted into a chassis slot";
179 base OPENCONFIG_HARDWARE_COMPONENT;
181 "Physical port, e.g., for attaching pluggables and networking
185 identity TRANSCEIVER {
186 base OPENCONFIG_HARDWARE_COMPONENT;
188 "Pluggable module present in a port";
192 base OPENCONFIG_HARDWARE_COMPONENT;
194 "Processing unit, e.g., a management processor";
198 base OPENCONFIG_HARDWARE_COMPONENT;
200 "A storage subsystem on the device (disk, SSD, etc.)";
203 identity INTEGRATED_CIRCUIT {
204 base OPENCONFIG_HARDWARE_COMPONENT;
206 "A special purpose processing unit, typically for traffic
207 switching/forwarding (e.g., switching ASIC, NPU, forwarding
211 identity OPERATING_SYSTEM {
212 base OPENCONFIG_SOFTWARE_COMPONENT;
214 "Operating system running on a component";
218 identity COMPONENT_OPER_STATUS {
220 "Current operational status of a platform component";
224 base COMPONENT_OPER_STATUS;
226 "Component is enabled and active (i.e., up)";
230 base COMPONENT_OPER_STATUS;
232 "Component is enabled but inactive (i.e., down)";
236 base COMPONENT_OPER_STATUS;
238 "Component is administratively disabled.";
241 // typedef statements
243 typedef component-power-type {
247 "Enable power on the component";
249 enum POWER_DISABLED {
251 "Disable power on the component";
255 "A generic type reflecting whether a hardware component
256 is powered on or off";