openconfig-platform-types

This module defines data types (e.g., YANG identities) to support the OpenConfig component inventory model.

  • Version: 2024-04-30

    openconfig-platform-types@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.