This module defines data types (e.g., YANG identities) to support the OpenConfig component inventory model.
Version: 2024-04-30
module openconfig-platform-types { yang-version 1; namespace "http://openconfig.net/yang/platform-types"; prefix oc-platform-types; import openconfig-types { prefix oc-types; } import openconfig-extensions { prefix oc-ext; } 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."; revision "2024-04-30" { description "Add FAN_TRAY"; reference "1.8.0"; } revision "2024-01-30" { description "Add component-last-poweroff-reason grouping"; reference "1.7.0"; } revision "2023-06-27" { description "Add WIFI_ACCESS_POINT"; reference "1.6.0"; } revision "2022-07-28" { description "Add grouping for component power management"; reference "1.5.0"; } revision "2022-03-27" { description "Add identity for BIOS"; reference "1.4.0"; } revision "2022-02-02" { description "Add support for component reboot and switchover."; reference "1.3.0"; } revision "2021-07-29" { description "Add several avg-min-max-instant-stats groupings"; reference "1.2.0"; } revision "2021-01-18" { description "Add identity for software modules"; reference "1.1.0"; } revision "2019-06-03" { description "Add OpenConfig component operating system patch type."; reference "1.0.0"; } revision "2018-11-21" { description "Add OpenConfig module metadata extensions."; reference "0.10.1"; } revision "2018-11-16" { description "Added FEC_MODE_TYPE and FEC_STATUS_TYPE"; reference "0.10.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"; } oc-ext:openconfig-version "1.8.0"; oc-ext:regexp-posix; oc-ext:catalog-organization "openconfig"; oc-ext:origin "openconfig"; 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"; } 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 FAN_TRAY { base OPENCONFIG_HARDWARE_COMPONENT; description "Contains multiple fans that work in unison to cool the router components."; } 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 WIFI_ACCESS_POINT { base OPENCONFIG_HARDWARE_COMPONENT; description "A device that attaches to a an Ethernet network and creates a wireless local area network"; } identity OPERATING_SYSTEM { base OPENCONFIG_SOFTWARE_COMPONENT; description "Operating system running on a component"; } identity OPERATING_SYSTEM_UPDATE { base OPENCONFIG_SOFTWARE_COMPONENT; description "An operating system update - which should be a subcomponent of the `OPERATING_SYSTEM` running on a component. An update is defined to be a set of software changes that are atomically installed (and uninstalled) together. Multiple updates may be present for the Operating System. A system should not list all installed software packages using this type -- but rather updates that are bundled together as a single installable item"; } identity BIOS { base OPENCONFIG_SOFTWARE_COMPONENT; description "Legacy BIOS or UEFI firmware interface responsible for initializing hardware components and first stage boot loader."; } identity BOOT_LOADER { base OPENCONFIG_SOFTWARE_COMPONENT; description "Software layer responsible for loading and booting the device OS or network OS."; } identity SOFTWARE_MODULE { base OPENCONFIG_SOFTWARE_COMPONENT; description "A base identity for software modules installed and/or running on the device. Modules include user-space programs and kernel modules that provide specific functionality. A component with type SOFTWARE_MODULE should also have a module type that indicates the specific type of software module"; } 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."; } identity FEC_MODE_TYPE { description "Base identity for FEC operational modes."; } identity FEC_ENABLED { base FEC_MODE_TYPE; description "FEC is administratively enabled."; } identity FEC_DISABLED { base FEC_MODE_TYPE; description "FEC is administratively disabled."; } identity FEC_AUTO { base FEC_MODE_TYPE; description "System will determine whether to enable or disable FEC on a transceiver."; } identity FEC_STATUS_TYPE { description "Base identity for FEC operational statuses."; } identity FEC_STATUS_LOCKED { base FEC_STATUS_TYPE; description "FEC is operationally locked."; } identity FEC_STATUS_UNLOCKED { base FEC_STATUS_TYPE; description "FEC is operationally unlocked."; } typedef component-power-type { type enumeration { enum "POWER_ENABLED" { value 0; description "Enable power on the component"; } enum "POWER_DISABLED" { value 1; description "Disable power on the component"; } } description "A generic type reflecting whether a hardware component is powered on or off"; } identity COMPONENT_REBOOT_REASON { description "Base entity for component reboot reasons."; } identity REBOOT_USER_INITIATED { base COMPONENT_REBOOT_REASON; description "User initiated the reboot of the componenent."; } identity REBOOT_POWER_FAILURE { base COMPONENT_REBOOT_REASON; description "The component reboots due to power failure."; } identity REBOOT_CRITICAL_ERROR { base COMPONENT_REBOOT_REASON; description "The component reboots due to critical errors."; } typedef component-redundant-role { type enumeration { enum "PRIMARY" { value 0; description "Component is acting the primary role."; } enum "SECONDARY" { value 1; description "Component is acting the secondary role."; } } description "A generic type reflecting the component's redundanty role. For example, a device might have dual supervisors components for redundant purpose, with one being the primary and the other secondary."; } typedef component-redundant-role-switchover-reason-trigger { type enumeration { enum "USER_INITIATED" { value 0; description "User initiated the switchover, e.g. via command line."; } enum "SYSTEM_INITIATED" { value 1; description "The system initiated the switchover, e.g. due to critical errors in the component of the primar role."; } } description "Records how the role switchover is triggered."; } typedef component-last-poweroff-reason-trigger { type enumeration { enum "USER_INITIATED" { value 0; description "User initiated the power-off, e.g. via command line."; } enum "SYSTEM_INITIATED" { value 1; description "The system initiated the power-off, e.g. due to critical errors in the component of the primary role."; } enum "POWER_FAILURE" { value 2; description "The last power-off was due to power failure."; } } description "Records how the last power-off was triggered."; } } // module openconfig-platform-types
© 2023 YumaWorks, Inc. All rights reserved.