netconfcentral logo

openconfig-platform-types@2017-12-14



  module openconfig-platform-types {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/platform-types";

    prefix oc-platform-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 "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 "0.7.0";

    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";
      }
    }  // grouping avg-min-max-instant-stats-precision1-celsius

    identity OPENCONFIG_HARDWARE_COMPONENT {
      base 
      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 {
      base 
      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 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";
    }

    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";
    }
  }  // module openconfig-platform-types