blob: 71658637d9a70a5b002e2d0806674b55d0cdeb02 [file] [log] [blame]
Elia Battiston589addb2022-04-04 16:40:01 +02001module iana-hardware {
2 yang-version 1.1;
3 namespace "urn:ietf:params:xml:ns:yang:iana-hardware";
4 prefix ianahw;
5
6 organization "IANA";
7 contact
8 " Internet Assigned Numbers Authority
9
10 Postal: ICANN
11 12025 Waterfront Drive, Suite 300
12 Los Angeles, CA 90094-2536
13 United States of America
14
15 Tel: +1 310 301 5800
16 E-Mail: iana@iana.org>";
17
18 description
19 "IANA-defined identities for hardware class.
20
21 The latest revision of this YANG module can be obtained from
22 the IANA website.
23
24 Requests for new values should be made to IANA via
25 email (iana@iana.org).
26
27 Copyright (c) 2018 IETF Trust and the persons identified as
28 authors of the code. All rights reserved.
29
30 Redistribution and use in source and binary forms, with or
31 without modification, is permitted pursuant to, and subject
32 to the license terms contained in, the Simplified BSD License
33 set forth in Section 4.c of the IETF Trust's Legal Provisions
34 Relating to IETF Documents
35 (https://trustee.ietf.org/license-info).
36
37 The initial version of this YANG module is part of RFC 8348;
38 see the RFC itself for full legal notices.";
39 reference
40 "https://www.iana.org/assignments/yang-parameters";
41
42 revision 2018-03-13 {
43 description
44 "Initial revision.";
45 reference
46 "RFC 8348: A YANG Data Model for Hardware Management";
47 }
48
49 /*
50 * Identities
51 */
52
53 identity hardware-class {
54 description
55 "This identity is the base for all hardware class
56 identifiers.";
57 }
58
59 identity unknown {
60 base ianahw:hardware-class;
61 description
62 "This identity is applicable if the hardware class is unknown
63 to the server.";
64 }
65
66 identity chassis {
67 base ianahw:hardware-class;
68 description
69 "This identity is applicable if the hardware class is an
70 overall container for networking equipment. Any class of
71 physical component, except a stack, may be contained within a
72 chassis; a chassis may only be contained within a stack.";
73 }
74
75 identity backplane {
76 base ianahw:hardware-class;
77 description
78 "This identity is applicable if the hardware class is some sort
79 of device for aggregating and forwarding networking traffic,
80 such as a shared backplane in a modular ethernet switch. Note
81 that an implementation may model a backplane as a single
82 physical component, which is actually implemented as multiple
83 discrete physical components (within a chassis or stack).";
84 }
85
86 identity container {
87 base ianahw:hardware-class;
88 description
89 "This identity is applicable if the hardware class is capable
90 of containing one or more removable physical entities,
91 possibly of different types. For example, each (empty or
92 full) slot in a chassis will be modeled as a container. Note
93 that all removable physical components should be modeled
94 within a container component, such as field-replaceable
95 modules, fans, or power supplies. Note that all known
96 containers should be modeled by the agent, including empty
97 containers.";
98 }
99
100 identity power-supply {
101 base ianahw:hardware-class;
102 description
103 "This identity is applicable if the hardware class is a
104 power-supplying component.";
105 }
106
107 identity fan {
108 base ianahw:hardware-class;
109 description
110 "This identity is applicable if the hardware class is a fan or
111 other heat-reduction component.";
112 }
113
114 identity sensor {
115 base ianahw:hardware-class;
116 description
117 "This identity is applicable if the hardware class is some sort
118 of sensor, such as a temperature sensor within a router
119 chassis.";
120 }
121
122 identity module {
123 base ianahw:hardware-class;
124 description
125 "This identity is applicable if the hardware class is some sort
126 of self-contained sub-system. If a module component is
127 removable, then it should be modeled within a container
128 component; otherwise, it should be modeled directly within
129 another physical component (e.g., a chassis or another
130 module).";
131 }
132
133 identity port {
134 base ianahw:hardware-class;
135 description
136 "This identity is applicable if the hardware class is some sort
137 of networking port capable of receiving and/or transmitting
138 networking traffic.";
139 }
140
141 identity stack {
142 base ianahw:hardware-class;
143 description
144 "This identity is applicable if the hardware class is some sort
145 of super-container (possibly virtual) intended to group
146 together multiple chassis entities. A stack may be realized
147 by a virtual cable, a real interconnect cable attached to
148 multiple chassis, or multiple interconnect cables. A stack
149 should not be modeled within any other physical components,
150 but a stack may be contained within another stack. Only
151 chassis components should be contained within a stack.";
152 }
153
154 identity cpu {
155 base ianahw:hardware-class;
156 description
157 "This identity is applicable if the hardware class is some sort
158 of central processing unit.";
159 }
160
161 identity energy-object {
162 base ianahw:hardware-class;
163 description
164 "This identity is applicable if the hardware class is some sort
165 of energy object, i.e., it is a piece of equipment that is
166 part of or attached to a communications network that is
167 monitored, it is controlled, or it aids in the management of
168 another device for Energy Management.";
169 }
170
171 identity battery {
172 base ianahw:hardware-class;
173 description
174 "This identity is applicable if the hardware class is some sort
175 of battery.";
176 }
177
178 identity storage-drive {
179 base ianahw:hardware-class;
180 description
181 "This identity is applicable if the hardware class is some sort
182 of component with data storage capability as its main
183 functionality, e.g., hard disk drive (HDD), solid-state device
184 (SSD), solid-state hybrid drive (SSHD), object storage device
185 (OSD), or other.";
186 }
187}