xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/Resource.v1_22_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/Resource.v1_22_0.json",
3    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
4    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
5    "definitions": {
6        "ConditionType": {
7            "enum": [
8                "Alert",
9                "Informational",
10                "Subsystem"
11            ],
12            "enumDescriptions": {
13                "Alert": "The condition is an alert.",
14                "Informational": "The condition is informational.",
15                "Subsystem": "The condition is the health of a subsystem."
16            },
17            "enumLongDescriptions": {
18                "Alert": "This value shall indicate a condition that requires correction, such as a fault.",
19                "Informational": "This value shall indicate a condition that requires attention, maintenance, or some other user intervention, such as performing a reset to activate new firmware.",
20                "Subsystem": "This value shall indicate a condition that contains the health of a subsystem.  If supported by the service, the service shall always provide this condition in responses."
21            },
22            "type": "string"
23        },
24        "ContactInfo": {
25            "additionalProperties": false,
26            "description": "Contact information for this resource.",
27            "longDescription": "This object shall contain contact information for an individual or organization responsible for this resource.",
28            "patternProperties": {
29                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
30                    "description": "This property shall specify a valid odata or Redfish property.",
31                    "type": [
32                        "array",
33                        "boolean",
34                        "integer",
35                        "number",
36                        "null",
37                        "object",
38                        "string"
39                    ]
40                }
41            },
42            "properties": {
43                "ContactName": {
44                    "description": "Name of this contact.",
45                    "longDescription": "This property shall contain the name of a person or organization to contact for information about this resource.",
46                    "readonly": false,
47                    "type": [
48                        "string",
49                        "null"
50                    ],
51                    "versionAdded": "v1_7_0"
52                },
53                "EmailAddress": {
54                    "description": "Email address for this contact.",
55                    "longDescription": "This property shall contain the email address for a person or organization to contact for information about this resource.",
56                    "readonly": false,
57                    "type": [
58                        "string",
59                        "null"
60                    ],
61                    "versionAdded": "v1_7_0"
62                },
63                "PhoneNumber": {
64                    "description": "Phone number for this contact.",
65                    "longDescription": "This property shall contain the phone number for a person or organization to contact for information about this resource.",
66                    "readonly": false,
67                    "type": [
68                        "string",
69                        "null"
70                    ],
71                    "versionAdded": "v1_7_0"
72                }
73            },
74            "type": "object"
75        },
76        "DurableNameFormat": {
77            "enum": [
78                "NAA",
79                "iQN",
80                "FC_WWN",
81                "UUID",
82                "EUI",
83                "NQN",
84                "NSID",
85                "NGUID",
86                "MACAddress",
87                "GCXLID"
88            ],
89            "enumDeprecated": {
90                "NSID": "This value has been deprecated due to its non-uniqueness and `NGUID` should be used."
91            },
92            "enumDescriptions": {
93                "EUI": "The IEEE-defined 64-bit Extended Unique Identifier (EUI).",
94                "FC_WWN": "The Fibre Channel (FC) World Wide Name (WWN).",
95                "GCXLID": "The globally unique CXL logical device identifier (GCXLID).",
96                "MACAddress": "The media access control address (MAC address).",
97                "NAA": "The Name Address Authority (NAA) format.",
98                "NGUID": "The Namespace Globally Unique Identifier (NGUID).",
99                "NQN": "The NVMe Qualified Name (NQN).",
100                "NSID": "The NVM Namespace Identifier (NSID).",
101                "UUID": "The Universally Unique Identifier (UUID).",
102                "iQN": "The iSCSI Qualified Name (iQN)."
103            },
104            "enumLongDescriptions": {
105                "EUI": "This durable name shall contain the hexadecimal representation of the IEEE-defined 64-bit Extended Unique Identifier (EUI), as defined in the IEEE's Guidelines for 64-bit Global Identifier (EUI-64) Specification.  The `DurableName` property shall follow the regular expression pattern `^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$`, where the most significant octet is first.",
106                "FC_WWN": "This durable name shall contain a hexadecimal representation of the World-Wide Name (WWN) format, as defined in the T11 Fibre Channel Physical and Signaling Interface Specification.  The `DurableName` property shall follow the regular expression pattern `^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$`, where the most significant octet is first.",
107                "GCXLID": "This durable name shall be in the globally unique CXL logical device identifier (GCXLID).  The `DurableName` property shall follow the regular expression pattern `^([0-9A-Fa-f]{2}-){7}[0-9A-Fa-f]{2}:([0-9A-Fa-f]{4})$`, where the first eight hyphen-delimited octets contain the PCIe serial number, where the most significant octet is first, and the remaining 16-bit field contains the CXL Logical Device Identifier, with the most significant byte first.",
108                "MACAddress": "This durable name shall be a media access control address (MAC address), which is a unique identifier assigned to a network interface controller (NIC) for use as a network address.  This value should not be used if a more specific type of identifier is available.  The `DurableName` property shall follow the regular expression pattern `^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$`, where the most significant octet is first.",
109                "NAA": "This durable name shall contain a hexadecimal representation of the Name Address Authority structure, as defined in the T11 Fibre Channel - Framing and Signaling - 3 (FC-FS-3) specification.  The `DurableName` property shall follow the regular expression pattern `^(([0-9A-Fa-f]{2}){8}){1,2}$`, where the most significant octet is first.",
110                "NGUID": "This durable name shall be in the Namespace Globally Unique Identifier (NGUID), as defined in the NVN Express Specification.  The `DurableName` property shall follow the regular expression pattern `^([0-9A-Fa-f]{2}){16}$`, where the most significant octet is first.",
111                "NQN": "This durable name shall be in the NVMe Qualified Name (NQN) format, as defined in the NVN Express over Fabric Specification.",
112                "NSID": "This durable name shall be in the NVM Namespace Identifier (NSID) format, as defined in the NVN Express Specification.",
113                "UUID": "This durable name shall contain the hexadecimal representation of the UUID, as defined by RFC4122.  The `DurableName` property shall follow the regular expression pattern '([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})'.",
114                "iQN": "This durable name shall be in the iSCSI Qualified Name (iQN) format, as defined in RFC3720 and RFC3721."
115            },
116            "enumVersionAdded": {
117                "GCXLID": "v1_15_0",
118                "MACAddress": "v1_14_0",
119                "NGUID": "v1_10_0",
120                "NQN": "v1_6_0",
121                "NSID": "v1_6_0"
122            },
123            "enumVersionDeprecated": {
124                "NSID": "v1_12_0"
125            },
126            "type": "string"
127        },
128        "Identifier": {
129            "additionalProperties": false,
130            "description": "Any additional identifiers for a resource.",
131            "longDescription": "This type shall contain any additional identifiers for a resource.",
132            "patternProperties": {
133                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
134                    "description": "This property shall specify a valid odata or Redfish property.",
135                    "type": [
136                        "array",
137                        "boolean",
138                        "integer",
139                        "number",
140                        "null",
141                        "object",
142                        "string"
143                    ]
144                }
145            },
146            "properties": {
147                "DurableName": {
148                    "description": "The world-wide, persistent name of the resource.",
149                    "longDescription": "This property shall contain the world-wide unique identifier for the resource.  The string shall be in the format described by the value in the `DurableNameFormat` property.",
150                    "readonly": true,
151                    "type": [
152                        "string",
153                        "null"
154                    ],
155                    "versionAdded": "v1_1_0"
156                },
157                "DurableNameFormat": {
158                    "anyOf": [
159                        {
160                            "$ref": "#/definitions/DurableNameFormat"
161                        },
162                        {
163                            "type": "null"
164                        }
165                    ],
166                    "description": "The format of the durable name property.",
167                    "longDescription": "This property shall represent the format of the `DurableName` property.",
168                    "readonly": true,
169                    "versionAdded": "v1_1_0"
170                }
171            },
172            "type": "object"
173        },
174        "Location": {
175            "additionalProperties": false,
176            "description": "The location of a resource.",
177            "longDescription": "This type shall describe the location of a resource.",
178            "patternProperties": {
179                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
180                    "description": "This property shall specify a valid odata or Redfish property.",
181                    "type": [
182                        "array",
183                        "boolean",
184                        "integer",
185                        "number",
186                        "null",
187                        "object",
188                        "string"
189                    ]
190                }
191            },
192            "properties": {
193                "AltitudeMeters": {
194                    "description": "The altitude of the resource in meters.",
195                    "longDescription": "This property shall contain the altitude of the resource, in meter units, defined as the elevation above sea level.",
196                    "readonly": false,
197                    "type": [
198                        "number",
199                        "null"
200                    ],
201                    "units": "m",
202                    "versionAdded": "v1_6_0"
203                },
204                "Contacts": {
205                    "description": "An array of contact information.",
206                    "items": {
207                        "anyOf": [
208                            {
209                                "$ref": "#/definitions/ContactInfo"
210                            },
211                            {
212                                "type": "null"
213                            }
214                        ]
215                    },
216                    "longDescription": "This property shall contain an array of contact information for an individual or organization responsible for this resource.",
217                    "type": "array",
218                    "versionAdded": "v1_7_0"
219                },
220                "Info": {
221                    "deprecated": "This property has been deprecated in favor of the `PostalAddress`, `Placement`, and `PartLocation` properties.",
222                    "description": "The location of the resource.",
223                    "longDescription": "This property shall represent the location of the resource.",
224                    "readonly": true,
225                    "type": [
226                        "string",
227                        "null"
228                    ],
229                    "versionAdded": "v1_1_0",
230                    "versionDeprecated": "v1_5_0"
231                },
232                "InfoFormat": {
233                    "deprecated": "This property has been deprecated in favor of the `PostalAddress`, `Placement`, and `PartLocation` properties.",
234                    "description": "The format of the `Info` property.",
235                    "longDescription": "This property shall represent the `Info` property format.",
236                    "readonly": true,
237                    "type": [
238                        "string",
239                        "null"
240                    ],
241                    "versionAdded": "v1_1_0",
242                    "versionDeprecated": "v1_5_0"
243                },
244                "Latitude": {
245                    "description": "The latitude of the resource.",
246                    "longDescription": "This property shall contain the latitude of the resource specified in degree units using a decimal format and not minutes or seconds.",
247                    "readonly": false,
248                    "type": [
249                        "number",
250                        "null"
251                    ],
252                    "units": "deg",
253                    "versionAdded": "v1_6_0"
254                },
255                "Longitude": {
256                    "description": "The longitude of the resource in degree units.",
257                    "longDescription": "This property shall contain the longitude of the resource specified in degree units using a decimal format and not minutes or seconds.",
258                    "readonly": false,
259                    "type": [
260                        "number",
261                        "null"
262                    ],
263                    "units": "deg",
264                    "versionAdded": "v1_6_0"
265                },
266                "Oem": {
267                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
268                    "description": "The OEM extension property.",
269                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements.",
270                    "versionAdded": "v1_1_0"
271                },
272                "PartLocation": {
273                    "$ref": "#/definitions/PartLocation",
274                    "description": "The part location for a resource within an enclosure.",
275                    "longDescription": "This property shall contain the part location for a resource within an enclosure.  This representation shall indicate the location of a part within a location specified by the `Placement` property.",
276                    "versionAdded": "v1_5_0"
277                },
278                "PartLocationContext": {
279                    "description": "Human-readable string to enable differentiation between `PartLocation` values for parts in the same enclosure, which might include hierarchical information of containing `PartLocation` values for the part.",
280                    "longDescription": "This property shall contain a human-readable string to enable differentiation between `PartLocation` values for parts in the same enclosure, which may include hierarchical information of containing `PartLocation` values for the part.  The value of this property shall not include values of the `PartLocation` properties for the part itself.  The purpose of this value, in conjunction with the `PartLocation` of the part itself, is to allow clients to determine the physical location of the part without tracing through the `PartLocation` of multiple resources.",
281                    "readonly": true,
282                    "type": [
283                        "string",
284                        "null"
285                    ],
286                    "versionAdded": "v1_16_0"
287                },
288                "PhysicalAddress": {
289                    "$ref": "#/definitions/PhysicalAddress",
290                    "description": "The physical address for a resource.",
291                    "longDescription": "This property shall contain a physical address for a resource.  This property should be present for resources that represent physical objects that can operate without requiring physical containment by another resource.  For example, a server chassis might be contained by a rack, but it might also be deployed individually, while a drive is always contained by a chassis and therefore is described by the containing resource.",
292                    "versionAdded": "v1_17_0"
293                },
294                "Placement": {
295                    "$ref": "#/definitions/Placement",
296                    "description": "A place within the addressed location.",
297                    "longDescription": "This property shall contain a place within the addressed location.",
298                    "versionAdded": "v1_3_0"
299                },
300                "PostalAddress": {
301                    "$ref": "#/definitions/PostalAddress",
302                    "description": "The postal address of the addressed resource.",
303                    "longDescription": "This property shall contain a postal address of the resource.",
304                    "versionAdded": "v1_3_0"
305                }
306            },
307            "type": "object"
308        },
309        "LocationType": {
310            "description": "The types of locations for a part within an enclosure.",
311            "enum": [
312                "Slot",
313                "Bay",
314                "Connector",
315                "Socket",
316                "Backplane",
317                "Embedded"
318            ],
319            "enumDescriptions": {
320                "Backplane": "A backplane.",
321                "Bay": "A bay.",
322                "Connector": "A connector or port.",
323                "Embedded": "Embedded within a part.",
324                "Slot": "A slot.",
325                "Socket": "A socket."
326            },
327            "enumLongDescriptions": {
328                "Backplane": "This value shall indicate the part is a backplane in an enclosure.",
329                "Bay": "This value shall indicate the part is located in a bay.",
330                "Connector": "This value shall indicate the part is located in a connector or port.",
331                "Embedded": "This value shall indicate the part is embedded or otherwise permanently incorporated into a larger part or device.  This value shall not be used for parts that can be removed by a user or are considered field-replaceable.",
332                "Slot": "This value shall indicate the part is located in a slot.",
333                "Socket": "This value shall indicate the part is located in a socket."
334            },
335            "enumVersionAdded": {
336                "Backplane": "v1_12_0",
337                "Embedded": "v1_13_0"
338            },
339            "longDescription": "This enumeration shall list the types of locations for a part within an enclosure.",
340            "type": "string"
341        },
342        "Orientation": {
343            "description": "The orientations for the ordering of the part location ordinal value.",
344            "enum": [
345                "FrontToBack",
346                "BackToFront",
347                "TopToBottom",
348                "BottomToTop",
349                "LeftToRight",
350                "RightToLeft"
351            ],
352            "enumDescriptions": {
353                "BackToFront": "The ordering for the LocationOrdinalValue is back to front.",
354                "BottomToTop": "The ordering for `LocationOrdinalValue` is bottom to top.",
355                "FrontToBack": "The ordering for `LocationOrdinalValue` is front to back.",
356                "LeftToRight": "The ordering for the LocationOrdinalValue is left to right.",
357                "RightToLeft": "The ordering for the LocationOrdinalValue is right to left.",
358                "TopToBottom": "The ordering for the LocationOrdinalValue is top to bottom."
359            },
360            "enumLongDescriptions": {
361                "BackToFront": "This value shall indicate the ordering for `LocationOrdinalValue` is back to front.",
362                "BottomToTop": "This value shall indicate the ordering for `LocationOrdinalValue` is bottom to top.",
363                "FrontToBack": "This value shall indicate the ordering for `LocationOrdinalValue` is front to back.",
364                "LeftToRight": "This value shall indicate the ordering for `LocationOrdinalValue` is left to right.",
365                "RightToLeft": "This value shall indicate the ordering for `LocationOrdinalValue` is right to left.",
366                "TopToBottom": "This value shall indicate the ordering for `LocationOrdinalValue` is top to bottom."
367            },
368            "longDescription": "This enumeration shall list the orientations for the ordering of the `LocationOrdinalValue` property.",
369            "type": "string"
370        },
371        "PartLocation": {
372            "additionalProperties": false,
373            "description": "The part location for a resource within an enclosure.",
374            "longDescription": "This type shall describe a location for a resource within an enclosure.",
375            "patternProperties": {
376                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
377                    "description": "This property shall specify a valid odata or Redfish property.",
378                    "type": [
379                        "array",
380                        "boolean",
381                        "integer",
382                        "number",
383                        "null",
384                        "object",
385                        "string"
386                    ]
387                }
388            },
389            "properties": {
390                "LocationOrdinalValue": {
391                    "description": "The number that represents the location of the part.  For example, if `LocationType` is `Slot` and this unit is in slot 2, the LocationOrdinalValue is `2`.",
392                    "longDescription": "This property shall contain the number that represents the location of the part based on the `LocationType`.  `LocationOrdinalValue` shall be measured based on the Orientation value starting with `0`.",
393                    "readonly": true,
394                    "type": [
395                        "integer",
396                        "null"
397                    ],
398                    "versionAdded": "v1_5_0"
399                },
400                "LocationType": {
401                    "anyOf": [
402                        {
403                            "$ref": "#/definitions/LocationType"
404                        },
405                        {
406                            "type": "null"
407                        }
408                    ],
409                    "description": "The type of location of the part.",
410                    "longDescription": "This property shall contain the type of location of the part.",
411                    "readonly": true,
412                    "versionAdded": "v1_5_0"
413                },
414                "Orientation": {
415                    "anyOf": [
416                        {
417                            "$ref": "#/definitions/Orientation"
418                        },
419                        {
420                            "type": "null"
421                        }
422                    ],
423                    "description": "The orientation for the ordering of the slot enumeration used by the `LocationOrdinalValue` property.",
424                    "longDescription": "This property shall contain the orientation for the ordering used by the `LocationOrdinalValue` property.",
425                    "readonly": true,
426                    "versionAdded": "v1_5_0"
427                },
428                "Reference": {
429                    "anyOf": [
430                        {
431                            "$ref": "#/definitions/Reference"
432                        },
433                        {
434                            "type": "null"
435                        }
436                    ],
437                    "description": "The reference point for the part location.  Provides guidance about the general location of the part.",
438                    "longDescription": "This property shall contain the general location within the unit of the part.",
439                    "readonly": true,
440                    "versionAdded": "v1_5_0"
441                },
442                "ServiceLabel": {
443                    "description": "The label of the part location, such as a silk-screened name or a printed label.",
444                    "longDescription": "This property shall contain the label assigned for service at the part location.",
445                    "readonly": true,
446                    "type": [
447                        "string",
448                        "null"
449                    ],
450                    "versionAdded": "v1_5_0"
451                }
452            },
453            "type": "object"
454        },
455        "PhysicalAddress": {
456            "additionalProperties": false,
457            "description": "The physical address for a resource.",
458            "longDescription": "This type shall contain a physical address for a resource.",
459            "patternProperties": {
460                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
461                    "description": "This property shall specify a valid odata or Redfish property.",
462                    "type": [
463                        "array",
464                        "boolean",
465                        "integer",
466                        "number",
467                        "null",
468                        "object",
469                        "string"
470                    ]
471                }
472            },
473            "properties": {
474                "City": {
475                    "description": "City, township, or shi (JP).",
476                    "longDescription": "This property shall contain the city, township, or shi (JP) location for this resource.",
477                    "readonly": false,
478                    "type": [
479                        "string",
480                        "null"
481                    ],
482                    "versionAdded": "v1_17_0"
483                },
484                "Country": {
485                    "description": "The country.",
486                    "longDescription": "This property shall contain the country location for this resource.",
487                    "readonly": false,
488                    "type": [
489                        "string",
490                        "null"
491                    ],
492                    "versionAdded": "v1_17_0"
493                },
494                "ISOCountryCode": {
495                    "description": "The ISO 3166-1 country code.",
496                    "longDescription": "This property shall contain the ISO 3166-1-defined alpha-2 or alpha-3 country code.",
497                    "pattern": "^([A-Z]{2}|[A-Z]{3})$",
498                    "readonly": false,
499                    "type": [
500                        "string",
501                        "null"
502                    ],
503                    "versionAdded": "v1_17_0"
504                },
505                "ISOSubdivisionCode": {
506                    "description": "ISO 3166-2 subdivision code.",
507                    "longDescription": "This property shall contain the ISO 3166-2-defined state, province, or territory subdivision code for this resource.",
508                    "pattern": "^[A-Z0-9]{1,3}$",
509                    "readonly": false,
510                    "type": [
511                        "string",
512                        "null"
513                    ],
514                    "versionAdded": "v1_17_0"
515                },
516                "PostalCode": {
517                    "description": "The postal code.",
518                    "longDescription": "The property shall contain the postal code for this resource.  The value shall conform to the RFC5139-defined requirements of the PC field.",
519                    "readonly": false,
520                    "type": [
521                        "string",
522                        "null"
523                    ],
524                    "versionAdded": "v1_17_0"
525                },
526                "StateOrProvince": {
527                    "description": "State or province.",
528                    "longDescription": "This property shall contain the state, province, or territory location within the country for this resource.",
529                    "readonly": false,
530                    "type": [
531                        "string",
532                        "null"
533                    ],
534                    "versionAdded": "v1_17_0"
535                },
536                "StreetAddress": {
537                    "description": "The street-level address, including building, room, or other identifiers.",
538                    "longDescription": "This property shall contain the street-level physical address of the resource, including identifiers such as apartment, room, or building to further locate the resource within a given street address.",
539                    "readonly": false,
540                    "type": [
541                        "string",
542                        "null"
543                    ],
544                    "versionAdded": "v1_17_0"
545                }
546            },
547            "type": "object"
548        },
549        "Placement": {
550            "additionalProperties": false,
551            "description": "The placement within the addressed location.",
552            "longDescription": "The value shall describe a location within a resource.  Examples include a shelf in a rack.",
553            "patternProperties": {
554                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
555                    "description": "This property shall specify a valid odata or Redfish property.",
556                    "type": [
557                        "array",
558                        "boolean",
559                        "integer",
560                        "number",
561                        "null",
562                        "object",
563                        "string"
564                    ]
565                }
566            },
567            "properties": {
568                "AdditionalInfo": {
569                    "description": "Area designation or other additional info.",
570                    "longDescription": "This property shall contain additional information, such as Tile, Column (Post), Wall, or other designation that describes a location that cannot be conveyed with other properties defined for the Placement object.",
571                    "readonly": false,
572                    "type": [
573                        "string",
574                        "null"
575                    ],
576                    "versionAdded": "v1_7_0"
577                },
578                "Rack": {
579                    "description": "The name of a rack location within a row.",
580                    "longDescription": "This property shall contain the name of the rack within a row.",
581                    "readonly": false,
582                    "type": [
583                        "string",
584                        "null"
585                    ],
586                    "versionAdded": "v1_3_0"
587                },
588                "RackOffset": {
589                    "description": "The vertical location of the item, in terms of RackOffsetUnits.",
590                    "longDescription": "The vertical location of the item in the rack.  Rack offset units shall be measured from bottom to top, starting with 0.",
591                    "readonly": false,
592                    "type": [
593                        "integer",
594                        "null"
595                    ],
596                    "versionAdded": "v1_3_0"
597                },
598                "RackOffsetUnits": {
599                    "anyOf": [
600                        {
601                            "$ref": "#/definitions/RackUnits"
602                        },
603                        {
604                            "type": "null"
605                        }
606                    ],
607                    "description": "The type of rack units in use.",
608                    "longDescription": "This property shall contain a RackUnit enumeration literal that indicates the type of rack units in use.",
609                    "readonly": false,
610                    "versionAdded": "v1_3_0"
611                },
612                "Row": {
613                    "description": "The name of the row.",
614                    "longDescription": "This property shall contain the name of the row.",
615                    "readonly": false,
616                    "type": [
617                        "string",
618                        "null"
619                    ],
620                    "versionAdded": "v1_3_0"
621                }
622            },
623            "type": "object"
624        },
625        "PostalAddress": {
626            "additionalProperties": false,
627            "deprecated": "This object and its properties have been deprecated in favor of `PhysicalAddress`.",
628            "description": "The postal address for a resource.",
629            "longDescription": "Instances shall describe a postal address for a resource.  For more information, see RFC5139.  Depending on use, the instance can represent a past, current, or future location.",
630            "patternProperties": {
631                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
632                    "description": "This property shall specify a valid odata or Redfish property.",
633                    "type": [
634                        "array",
635                        "boolean",
636                        "integer",
637                        "number",
638                        "null",
639                        "object",
640                        "string"
641                    ]
642                }
643            },
644            "properties": {
645                "AdditionalCode": {
646                    "description": "The additional code.",
647                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the ADDCODE field.",
648                    "readonly": false,
649                    "type": [
650                        "string",
651                        "null"
652                    ],
653                    "versionAdded": "v1_3_0"
654                },
655                "AdditionalInfo": {
656                    "description": "The room designation or other additional information.",
657                    "longDescription": "The value shall conform to the requirements of the LOC field as defined in RFC5139.  Provides additional information.",
658                    "readonly": false,
659                    "type": [
660                        "string",
661                        "null"
662                    ],
663                    "versionAdded": "v1_7_0"
664                },
665                "Building": {
666                    "description": "The name of the building.",
667                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the BLD field.  Names the building.",
668                    "readonly": false,
669                    "type": [
670                        "string",
671                        "null"
672                    ],
673                    "versionAdded": "v1_3_0"
674                },
675                "City": {
676                    "description": "City, township, or shi (JP).",
677                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the A3 field.  Names a city, township, or shi (JP).",
678                    "readonly": false,
679                    "type": [
680                        "string",
681                        "null"
682                    ],
683                    "versionAdded": "v1_3_0"
684                },
685                "Community": {
686                    "description": "The postal community name.",
687                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the PCN field.  A postal community name.",
688                    "readonly": false,
689                    "type": [
690                        "string",
691                        "null"
692                    ],
693                    "versionAdded": "v1_3_0"
694                },
695                "Country": {
696                    "description": "The country.",
697                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the Country field.",
698                    "readonly": false,
699                    "type": [
700                        "string",
701                        "null"
702                    ],
703                    "versionAdded": "v1_3_0"
704                },
705                "District": {
706                    "description": "A county, parish, gun (JP), or district (IN).",
707                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the A2 field.  Names a county, parish, gun (JP), or district (IN).",
708                    "readonly": false,
709                    "type": [
710                        "string",
711                        "null"
712                    ],
713                    "versionAdded": "v1_3_0"
714                },
715                "Division": {
716                    "description": "City division, borough, city district, ward, or chou (JP).",
717                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the A4 field.  Names a city division, borough, city district, ward, or chou (JP).",
718                    "readonly": false,
719                    "type": [
720                        "string",
721                        "null"
722                    ],
723                    "versionAdded": "v1_3_0"
724                },
725                "Floor": {
726                    "description": "The floor.",
727                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the FLR field.  Provides a floor designation.",
728                    "readonly": false,
729                    "type": [
730                        "string",
731                        "null"
732                    ],
733                    "versionAdded": "v1_3_0"
734                },
735                "GPSCoords": {
736                    "deprecated": "This property has been deprecated in favor of the Longitude and Latitude properties.",
737                    "description": "The GPS coordinates of the part.",
738                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the ADDCODE field.  Shall contain the GPS coordinates of the location.  If furnished, expressed in the `[-][nn]n.nnnnnn, [-][nn]n.nnnnn` format.  For example, two comma-separated positive or negative numbers with six decimal places of precision.",
739                    "readonly": false,
740                    "type": [
741                        "string",
742                        "null"
743                    ],
744                    "versionAdded": "v1_3_0",
745                    "versionDeprecated": "v1_6_0"
746                },
747                "HouseNumber": {
748                    "description": "The numeric portion of house number.",
749                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the HNO field.  The numeric portion of the house number.",
750                    "readonly": false,
751                    "type": [
752                        "integer",
753                        "null"
754                    ],
755                    "versionAdded": "v1_3_0"
756                },
757                "HouseNumberSuffix": {
758                    "description": "The house number suffix.",
759                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the HNS field.  Provides a suffix to a house number, (F, B, or 1/2).",
760                    "readonly": false,
761                    "type": [
762                        "string",
763                        "null"
764                    ],
765                    "versionAdded": "v1_3_0"
766                },
767                "Landmark": {
768                    "description": "The landmark.",
769                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the LMK field.  Identifies a landmark or vanity address.",
770                    "readonly": false,
771                    "type": [
772                        "string",
773                        "null"
774                    ],
775                    "versionAdded": "v1_3_0"
776                },
777                "LeadingStreetDirection": {
778                    "description": "A leading street direction.",
779                    "longDescription": "The value shall conform to the requirements of the PRD field as defined in RFC5139.  Names a leading street direction, (N, W, or SE).",
780                    "readonly": false,
781                    "type": [
782                        "string",
783                        "null"
784                    ],
785                    "versionAdded": "v1_3_0"
786                },
787                "Location": {
788                    "deprecated": "This property has been deprecated in favor of the `AdditionalInfo` property.",
789                    "description": "The room designation or other additional information.",
790                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the LOC field.  Provides additional information.",
791                    "readonly": false,
792                    "type": [
793                        "string",
794                        "null"
795                    ],
796                    "versionAdded": "v1_3_0",
797                    "versionDeprecated": "v1_7_0"
798                },
799                "Name": {
800                    "description": "The name.",
801                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the NAM field.  Names the occupant.",
802                    "readonly": false,
803                    "type": [
804                        "string",
805                        "null"
806                    ],
807                    "versionAdded": "v1_3_0"
808                },
809                "Neighborhood": {
810                    "description": "Neighborhood or block.",
811                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the A5 field.  Names a neighborhood or block.",
812                    "readonly": false,
813                    "type": [
814                        "string",
815                        "null"
816                    ],
817                    "versionAdded": "v1_3_0"
818                },
819                "POBox": {
820                    "description": "The post office box (PO box).",
821                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the POBOX field.  A post office box (PO box).",
822                    "readonly": false,
823                    "type": [
824                        "string",
825                        "null"
826                    ],
827                    "versionAdded": "v1_3_0"
828                },
829                "PlaceType": {
830                    "description": "The description of the type of place that is addressed.",
831                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the PLC field.  Examples include office and residence.",
832                    "readonly": false,
833                    "type": [
834                        "string",
835                        "null"
836                    ],
837                    "versionAdded": "v1_3_0"
838                },
839                "PostalCode": {
840                    "description": "The postal code or zip code.",
841                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the PC field.  A postal code (or zip code).",
842                    "readonly": false,
843                    "type": [
844                        "string",
845                        "null"
846                    ],
847                    "versionAdded": "v1_3_0"
848                },
849                "Road": {
850                    "description": "The primary road or street.",
851                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the RD field.  Designates a primary road or street.",
852                    "readonly": false,
853                    "type": [
854                        "string",
855                        "null"
856                    ],
857                    "versionAdded": "v1_3_0"
858                },
859                "RoadBranch": {
860                    "description": "The road branch.",
861                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the RDBR field.  Shall contain a post office box (PO box) road branch.",
862                    "readonly": false,
863                    "type": [
864                        "string",
865                        "null"
866                    ],
867                    "versionAdded": "v1_3_0"
868                },
869                "RoadPostModifier": {
870                    "description": "The road post-modifier.",
871                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the POM field.  For example, Extended.",
872                    "readonly": false,
873                    "type": [
874                        "string",
875                        "null"
876                    ],
877                    "versionAdded": "v1_3_0"
878                },
879                "RoadPreModifier": {
880                    "description": "The road pre-modifier.",
881                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the PRM field.  For example, Old or New.",
882                    "readonly": false,
883                    "type": [
884                        "string",
885                        "null"
886                    ],
887                    "versionAdded": "v1_3_0"
888                },
889                "RoadSection": {
890                    "description": "The road section.",
891                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the RDSEC field.  A road section.",
892                    "readonly": false,
893                    "type": [
894                        "string",
895                        "null"
896                    ],
897                    "versionAdded": "v1_3_0"
898                },
899                "RoadSubBranch": {
900                    "description": "The road sub branch.",
901                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the RDSUBBR field.",
902                    "readonly": false,
903                    "type": [
904                        "string",
905                        "null"
906                    ],
907                    "versionAdded": "v1_3_0"
908                },
909                "Room": {
910                    "description": "The name or number of the room.",
911                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the ROOM field.  A name or number of a room to locate the resource within the unit.",
912                    "readonly": false,
913                    "type": [
914                        "string",
915                        "null"
916                    ],
917                    "versionAdded": "v1_3_0"
918                },
919                "Seat": {
920                    "description": "The seat, such as the desk, cubicle, or workstation.",
921                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the SEAT field.  A name or number of a seat, such as the desk, cubicle, or workstation.",
922                    "readonly": false,
923                    "type": [
924                        "string",
925                        "null"
926                    ],
927                    "versionAdded": "v1_3_0"
928                },
929                "Street": {
930                    "description": "Street name.",
931                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the A6 field.  Names a street.",
932                    "readonly": false,
933                    "type": [
934                        "string",
935                        "null"
936                    ],
937                    "versionAdded": "v1_3_0"
938                },
939                "StreetSuffix": {
940                    "description": "Avenue, Platz, Street, Circle.",
941                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the STS field.  Names a street suffix.",
942                    "readonly": false,
943                    "type": [
944                        "string",
945                        "null"
946                    ],
947                    "versionAdded": "v1_3_0"
948                },
949                "Territory": {
950                    "description": "A top-level subdivision within a country.",
951                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the A1 field when it names a territory, state, region, province, or prefecture within a country.",
952                    "readonly": false,
953                    "type": [
954                        "string",
955                        "null"
956                    ],
957                    "versionAdded": "v1_3_0"
958                },
959                "TrailingStreetSuffix": {
960                    "description": "A trailing street suffix.",
961                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the POD field.  Names a trailing street suffix.",
962                    "readonly": false,
963                    "type": [
964                        "string",
965                        "null"
966                    ],
967                    "versionAdded": "v1_3_0"
968                },
969                "Unit": {
970                    "description": "The name or number of the apartment unit or suite.",
971                    "longDescription": "The value shall conform to the RFC5139-defined requirements of the UNIT field.  The name or number of a unit, such as the apartment or suite, to locate the resource.",
972                    "readonly": false,
973                    "type": [
974                        "string",
975                        "null"
976                    ],
977                    "versionAdded": "v1_3_0"
978                }
979            },
980            "type": "object",
981            "versionDeprecated": "v1_17_0"
982        },
983        "RackUnits": {
984            "description": "The type of rack unit in use.",
985            "enum": [
986                "OpenU",
987                "EIA_310"
988            ],
989            "enumDescriptions": {
990                "EIA_310": "A rack unit that is equal to 1.75 in (44.45 mm).",
991                "OpenU": "A rack unit that is equal to 48 mm (1.89 in)."
992            },
993            "enumLongDescriptions": {
994                "EIA_310": "Rack units shall conform to the EIA-310 standard.",
995                "OpenU": "Rack units shall be specified in terms of the Open Compute Open Rack Specification."
996            },
997            "longDescription": "Enumeration literals shall name the type of rack unit in use.",
998            "type": "string"
999        },
1000        "Reference": {
1001            "description": "The reference areas for the location of the part within an enclosure.",
1002            "enum": [
1003                "Top",
1004                "Bottom",
1005                "Front",
1006                "Rear",
1007                "Left",
1008                "Right",
1009                "Middle"
1010            ],
1011            "enumDescriptions": {
1012                "Bottom": "The part is in the bottom of the unit.",
1013                "Front": "The part is in the front of the unit.",
1014                "Left": "The part is on the left side of the unit.",
1015                "Middle": "The part is in the middle of the unit.",
1016                "Rear": "The part is in the rear of the unit.",
1017                "Right": "The part is on the right side of the unit.",
1018                "Top": "The part is in the top of the unit."
1019            },
1020            "enumLongDescriptions": {
1021                "Bottom": "This value shall indicate the part is in the bottom of the unit.",
1022                "Front": "This value shall indicate the part is in the front of the unit.",
1023                "Left": "This value shall indicate the part is on the left side of the unit.",
1024                "Middle": "This value shall indicate the part is in the middle of the unit.",
1025                "Rear": "This value shall indicate the part is in the rear of the unit.",
1026                "Right": "This value shall indicate the part is on the right side of the unit.",
1027                "Top": "This value shall indicate the part is in the top of the unit."
1028            },
1029            "longDescription": "This enumeration shall list the reference areas for the location of the part within an enclosure.",
1030            "type": "string"
1031        },
1032        "ReferenceableMember": {
1033            "additionalProperties": false,
1034            "description": "The base type for addressable members of an array.",
1035            "longDescription": "References array members by using the value returned in the `@odata.id` property, which can be a dereferenceable URL.  The `@odata.id` of this entity shall contain the location of this element within an item.",
1036            "patternProperties": {
1037                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1038                    "description": "This property shall specify a valid odata or Redfish property.",
1039                    "type": [
1040                        "array",
1041                        "boolean",
1042                        "integer",
1043                        "number",
1044                        "null",
1045                        "object",
1046                        "string"
1047                    ]
1048                }
1049            },
1050            "properties": {
1051                "@odata.id": {
1052                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
1053                },
1054                "MemberId": {
1055                    "description": "The unique identifier for the member within an array.",
1056                    "longDescription": "This property shall contain the unique identifier for this member within an array.  For services supporting Redfish v1.6 or higher, this value shall contain the zero-based array index.",
1057                    "readonly": true,
1058                    "type": "string"
1059                },
1060                "Oem": {
1061                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
1062                    "description": "The OEM extension property.",
1063                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
1064                }
1065            },
1066            "required": [
1067                "MemberId",
1068                "@odata.id"
1069            ],
1070            "type": "object"
1071        },
1072        "Resource": {
1073            "additionalProperties": false,
1074            "description": "The base type for resources and members that can be linked to.",
1075            "patternProperties": {
1076                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1077                    "description": "This property shall specify a valid odata or Redfish property.",
1078                    "type": [
1079                        "array",
1080                        "boolean",
1081                        "integer",
1082                        "number",
1083                        "null",
1084                        "object",
1085                        "string"
1086                    ]
1087                }
1088            },
1089            "properties": {
1090                "@odata.context": {
1091                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
1092                },
1093                "@odata.etag": {
1094                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
1095                },
1096                "@odata.id": {
1097                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
1098                },
1099                "@odata.type": {
1100                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
1101                },
1102                "Description": {
1103                    "anyOf": [
1104                        {
1105                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
1106                        },
1107                        {
1108                            "type": "null"
1109                        }
1110                    ],
1111                    "readonly": true
1112                },
1113                "Id": {
1114                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
1115                    "readonly": true
1116                },
1117                "Name": {
1118                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
1119                    "readonly": true
1120                },
1121                "Oem": {
1122                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
1123                    "description": "The OEM extension property.",
1124                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
1125                }
1126            },
1127            "required": [
1128                "Id",
1129                "Name",
1130                "@odata.id",
1131                "@odata.type"
1132            ],
1133            "type": "object"
1134        },
1135        "ResourceCollection": {
1136            "additionalProperties": false,
1137            "patternProperties": {
1138                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1139                    "description": "This property shall specify a valid odata or Redfish property.",
1140                    "type": [
1141                        "array",
1142                        "boolean",
1143                        "integer",
1144                        "number",
1145                        "null",
1146                        "object",
1147                        "string"
1148                    ]
1149                }
1150            },
1151            "properties": {
1152                "@odata.context": {
1153                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
1154                },
1155                "@odata.etag": {
1156                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
1157                },
1158                "@odata.id": {
1159                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
1160                },
1161                "@odata.type": {
1162                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
1163                },
1164                "Description": {
1165                    "anyOf": [
1166                        {
1167                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
1168                        },
1169                        {
1170                            "type": "null"
1171                        }
1172                    ],
1173                    "readonly": true
1174                },
1175                "Name": {
1176                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
1177                    "readonly": true
1178                },
1179                "Oem": {
1180                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
1181                    "description": "The OEM extension property.",
1182                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
1183                }
1184            },
1185            "required": [
1186                "Name",
1187                "@odata.id",
1188                "@odata.type"
1189            ],
1190            "type": "object"
1191        }
1192    },
1193    "language": "en",
1194    "owningEntity": "DMTF",
1195    "release": "2025.2",
1196    "title": "#Resource.v1_22_0"
1197}