--- /dev/null
+module iana-hardware {\r
+yang-version 1.1;\r
+namespace "urn:ietf:params:xml:ns:yang:iana-hardware";\r
+prefix ianahw;\r
+\r
+organization "IANA";\r
+contact\r
+ " Internet Assigned Numbers Authority\r
+ Postal: ICANN\r
+ 12025 Waterfront Drive, Suite 300\r
+ Los Angeles, CA 90094-2536\r
+ United States of America\r
+ Tel: +1 310 301 5800\r
+ E-Mail: iana@iana.org>";\r
+\r
+description\r
+ "IANA-defined identities for hardware class.\r
+ The latest revision of this YANG module can be obtained from\r
+ the IANA website.\r
+ Requests for new values should be made to IANA via\r
+ email (iana@iana.org).\r
+ Copyright (c) 2018 IETF Trust and the persons identified as\r
+ authors of the code. All rights reserved.\r
+ Redistribution and use in source and binary forms, with or\r
+ without modification, is permitted pursuant to, and subject\r
+ to the license terms contained in, the Simplified BSD License\r
+ set forth in Section 4.c of the IETF Trust's Legal Provisions\r
+ Relating to IETF Documents\r
+ (https://trustee.ietf.org/license-info).\r
+ The initial version of this YANG module is part of RFC 8348;\r
+ see the RFC itself for full legal notices.";\r
+reference\r
+ "https://www.iana.org/assignments/yang-parameters";\r
+\r
+revision 2018-03-13 {\r
+ description\r
+ "Initial revision.";\r
+ reference\r
+ "RFC 8348: A YANG Data Model for Hardware Management";\r
+}\r
+\r
+/*\r
+ * Identities\r
+ */\r
+\r
+identity hardware-class {\r
+ description\r
+ "This identity is the base for all hardware class\r
+ identifiers.";\r
+}\r
+\r
+identity unknown {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is unknown\r
+ to the server.";\r
+}\r
+\r
+identity chassis {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is an\r
+ overall container for networking equipment. Any class of\r
+ physical component, except a stack, may be contained within a\r
+ chassis; a chassis may only be contained within a stack.";\r
+}\r
+\r
+identity backplane {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is some sort\r
+ of device for aggregating and forwarding networking traffic,\r
+ such as a shared backplane in a modular ethernet switch. Note\r
+ that an implementation may model a backplane as a single\r
+ physical component, which is actually implemented as multiple\r
+ discrete physical components (within a chassis or stack).";\r
+}\r
+\r
+identity container {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is capable\r
+ of containing one or more removable physical entities,\r
+ possibly of different types. For example, each (empty or\r
+ full) slot in a chassis will be modeled as a container. Note\r
+ that all removable physical components should be modeled\r
+ within a container component, such as field-replaceable\r
+ modules, fans, or power supplies. Note that all known\r
+ containers should be modeled by the agent, including empty\r
+ containers.";\r
+}\r
+\r
+identity power-supply {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is a\r
+ power-supplying component.";\r
+}\r
+\r
+identity fan {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is a fan or\r
+ other heat-reduction component.";\r
+}\r
+\r
+identity sensor {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is some sort\r
+ of sensor, such as a temperature sensor within a router\r
+ chassis.";\r
+}\r
+\r
+identity module {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is some sort\r
+ of self-contained sub-system. If a module component is\r
+ removable, then it should be modeled within a container\r
+ component; otherwise, it should be modeled directly within\r
+ another physical component (e.g., a chassis or another\r
+ module).";\r
+}\r
+\r
+identity port {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is some sort\r
+ of networking port capable of receiving and/or transmitting\r
+ networking traffic.";\r
+}\r
+\r
+identity stack {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is some sort\r
+ of super-container (possibly virtual) intended to group\r
+ together multiple chassis entities. A stack may be realized\r
+ by a virtual cable, a real interconnect cable attached to\r
+ multiple chassis, or multiple interconnect cables. A stack\r
+ should not be modeled within any other physical components,\r
+ but a stack may be contained within another stack. Only\r
+ chassis components should be contained within a stack.";\r
+}\r
+\r
+identity cpu {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is some sort\r
+ of central processing unit.";\r
+}\r
+\r
+identity energy-object {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is some sort\r
+ of energy object, i.e., it is a piece of equipment that is\r
+ part of or attached to a communications network that is\r
+ monitored, it is controlled, or it aids in the management of\r
+ another device for Energy Management.";\r
+}\r
+\r
+identity battery {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is some sort\r
+ of battery.";\r
+}\r
+\r
+identity storage-drive {\r
+ base ianahw:hardware-class;\r
+ description\r
+ "This identity is applicable if the hardware class is some sort\r
+ of component with data storage capability as its main\r
+ functionality, e.g., hard disk drive (HDD), solid-state device\r
+ (SSD), solid-state hybrid drive (SSHD), object storage device\r
+ (OSD), or other.";\r
+}\r
+}\r