aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-platform-types.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-platform-types.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-platform-types.yang271
1 files changed, 271 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-platform-types.yang b/src/plugins/yang/openconfig/openconfig-platform-types.yang
new file mode 100644
index 0000000..a997439
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-platform-types.yang
@@ -0,0 +1,271 @@
+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.9.0";
+
+ revision "2018-05-05" {
+ description
+ "Added min-max-time to
+ avg-min-max-instant-stats-precision1-celsius,
+ added new CONTROLLER_CARD identity";
+ reference "0.9.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";
+ }
+
+ uses oc-types:stat-interval-state;
+ uses oc-types:min-max-time;
+ }
+
+ // 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 CONTROLLER_CARD {
+ base OPENCONFIG_HARDWARE_COMPONENT;
+ description
+ "A type of linecard whose primary role is management or control
+ rather than data forwarding.";
+ }
+
+ 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";
+ }
+
+}