module openconfig-platform-types {

  yang-version "1";

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

  prefix "oc-platform-types";

  import openconfig-extensions {
    prefix oc-ext;
    revision-date "2015-10-09";
  }

  // 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.4.0";

  revision "2016-06-06" {
    description
      "Public release";
    reference "0.4.0";
  }

  // 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 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 MODULE {
    base OPENCONFIG_HARDWARE_COMPONENT;
    description
      "Replaceable hardware module, e.g., a daughtercard";
  }

  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 OPERATING_SYSTEM {
    base OPENCONFIG_SOFTWARE_COMPONENT;
    description
      "Operating system running on a component";
  }


}
