1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/Assembly.v1_5_1.json",
3    "$ref": "#/definitions/Assembly",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "Oem": {
27                    "$ref": "#/definitions/OemActions",
28                    "description": "The available OEM-specific actions for this resource.",
29                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30                }
31            },
32            "type": "object"
33        },
34        "Assembly": {
35            "additionalProperties": false,
36            "description": "The `Assembly` schema defines an assembly.  Assembly information contains details about a device, such as part number, serial number, manufacturer, and production date.  It also provides access to the original data for the assembly.",
37            "longDescription": "This resource shall represent an assembly for a Redfish implementation.  Assembly information contains details about a device, such as part number, serial number, manufacturer, and production date.  It also provides access to the original data for the assembly.",
38            "patternProperties": {
39                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40                    "description": "This property shall specify a valid odata or Redfish property.",
41                    "type": [
42                        "array",
43                        "boolean",
44                        "integer",
45                        "number",
46                        "null",
47                        "object",
48                        "string"
49                    ]
50                }
51            },
52            "properties": {
53                "@odata.context": {
54                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
55                },
56                "@odata.etag": {
57                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
58                },
59                "@odata.id": {
60                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
61                },
62                "@odata.type": {
63                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
64                },
65                "Actions": {
66                    "$ref": "#/definitions/Actions",
67                    "description": "The available actions for this resource.",
68                    "longDescription": "This property shall contain the available actions for this resource."
69                },
70                "Assemblies": {
71                    "autoExpand": true,
72                    "description": "The assembly records.",
73                    "items": {
74                        "$ref": "#/definitions/AssemblyData"
75                    },
76                    "longDescription": "These properties shall define assembly records for a Redfish implementation.",
77                    "readonly": false,
78                    "type": "array"
79                },
80                "Assemblies@odata.count": {
81                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
82                },
83                "Description": {
84                    "anyOf": [
85                        {
86                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
87                        },
88                        {
89                            "type": "null"
90                        }
91                    ],
92                    "readonly": true
93                },
94                "Id": {
95                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
96                    "readonly": true
97                },
98                "Name": {
99                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
100                    "readonly": true
101                },
102                "Oem": {
103                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
104                    "description": "The OEM extension property.",
105                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
106                }
107            },
108            "required": [
109                "@odata.id",
110                "@odata.type",
111                "Id",
112                "Name"
113            ],
114            "type": "object"
115        },
116        "AssemblyData": {
117            "additionalProperties": false,
118            "patternProperties": {
119                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
120                    "description": "This property shall specify a valid odata or Redfish property.",
121                    "type": [
122                        "array",
123                        "boolean",
124                        "integer",
125                        "number",
126                        "null",
127                        "object",
128                        "string"
129                    ]
130                }
131            },
132            "properties": {
133                "@odata.id": {
134                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
135                },
136                "Actions": {
137                    "$ref": "#/definitions/AssemblyDataActions",
138                    "description": "The available actions for this resource.",
139                    "longDescription": "This property shall contain the available actions for this resource."
140                },
141                "BinaryDataURI": {
142                    "description": "The URI at which to access an image of the assembly information.",
143                    "format": "uri-reference",
144                    "longDescription": "This property shall contain the URI at which to access an image of the assembly information, using the Redfish protocol and authentication methods.  The service provides this URI for the download of the OEM-specific binary image of the assembly data.  An HTTP `GET` from this URI shall return a response payload of MIME type `application/octet-stream`.  If the service supports it, an HTTP `PUT` to this URI shall replace the binary image of the assembly.",
145                    "readonly": true,
146                    "type": [
147                        "string",
148                        "null"
149                    ]
150                },
151                "Description": {
152                    "description": "The description of the assembly.",
153                    "longDescription": "This property shall contain the description of the assembly.",
154                    "readonly": true,
155                    "type": [
156                        "string",
157                        "null"
158                    ]
159                },
160                "EngineeringChangeLevel": {
161                    "description": "The engineering change level of the assembly.",
162                    "longDescription": "This property shall contain the engineering change level or revision of the assembly.",
163                    "readonly": true,
164                    "type": [
165                        "string",
166                        "null"
167                    ]
168                },
169                "ISOCountryCodeOfOrigin": {
170                    "description": "The manufacturing country of origin, using the ISO 3166-1 country code.",
171                    "longDescription": "This property shall contain the ISO 3166-1-defined alpha-2 or alpha-3 country code that reflects the manufacturing country of origin.",
172                    "pattern": "^([A-Z]{2}|[A-Z]{3})$",
173                    "readonly": true,
174                    "type": [
175                        "string",
176                        "null"
177                    ],
178                    "versionAdded": "v1_5_0"
179                },
180                "Location": {
181                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
182                    "description": "The location of the assembly.",
183                    "longDescription": "This property shall contain the location information of the associated assembly.",
184                    "versionAdded": "v1_3_0"
185                },
186                "LocationIndicatorActive": {
187                    "description": "An indicator allowing an operator to physically locate this resource.",
188                    "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.",
189                    "readonly": false,
190                    "type": [
191                        "boolean",
192                        "null"
193                    ],
194                    "versionAdded": "v1_3_0"
195                },
196                "MemberId": {
197                    "description": "The unique identifier for the member within an array.",
198                    "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.",
199                    "readonly": true,
200                    "type": "string"
201                },
202                "Model": {
203                    "description": "The model number of the assembly.",
204                    "longDescription": "This property shall contain the name by which the manufacturer generally refers to the assembly.",
205                    "readonly": true,
206                    "type": [
207                        "string",
208                        "null"
209                    ]
210                },
211                "Name": {
212                    "description": "The name of the assembly.",
213                    "longDescription": "This property shall contain the name of the assembly.",
214                    "readonly": true,
215                    "type": [
216                        "string",
217                        "null"
218                    ]
219                },
220                "Oem": {
221                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
222                    "description": "The OEM extension property.",
223                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
224                },
225                "PartNumber": {
226                    "description": "The part number of the assembly.",
227                    "longDescription": "This property shall contain the part number of the assembly.",
228                    "readonly": true,
229                    "type": [
230                        "string",
231                        "null"
232                    ]
233                },
234                "PhysicalContext": {
235                    "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext",
236                    "description": "The area or device to which the assembly data applies.",
237                    "longDescription": "This property shall contain a description of the physical context for the assembly data.",
238                    "readonly": true,
239                    "versionAdded": "v1_2_0"
240                },
241                "Producer": {
242                    "description": "The producer or manufacturer of the assembly.",
243                    "longDescription": "This property shall contain the name of the company that produced or manufactured the assembly.  This value shall be equal to the 'Manufacturer' field value in a PLDM FRU structure, if applicable, for the assembly.",
244                    "readonly": true,
245                    "type": [
246                        "string",
247                        "null"
248                    ]
249                },
250                "ProductionDate": {
251                    "description": "The production date of the assembly.",
252                    "format": "date-time",
253                    "longDescription": "This property shall contain the date of production or manufacture for the assembly.  The time of day portion of the property shall be `00:00:00Z`, if the time of day is unknown.",
254                    "readonly": true,
255                    "type": [
256                        "string",
257                        "null"
258                    ]
259                },
260                "Replaceable": {
261                    "description": "An indication of whether the component associated this assembly can be independently replaced as allowed by the vendor's replacement policy.",
262                    "longDescription": "This property shall indicate whether the component associated this assembly can be independently replaced as allowed by the vendor's replacement policy.  A value of `false` indicates the component needs to be replaced by policy as part of another component.  If the `LocationType` property of this assembly contains `Embedded`, this property shall contain `false`.",
263                    "readonly": true,
264                    "type": [
265                        "boolean",
266                        "null"
267                    ],
268                    "versionAdded": "v1_4_0"
269                },
270                "SKU": {
271                    "description": "The SKU of the assembly.",
272                    "longDescription": "This property shall contain the SKU of the assembly.",
273                    "readonly": true,
274                    "type": [
275                        "string",
276                        "null"
277                    ]
278                },
279                "SerialNumber": {
280                    "description": "The serial number of the assembly.",
281                    "longDescription": "This property shall contain a manufacturer-allocated number that identifies the assembly.",
282                    "readonly": true,
283                    "type": [
284                        "string",
285                        "null"
286                    ],
287                    "versionAdded": "v1_2_0"
288                },
289                "SparePartNumber": {
290                    "description": "The spare part number of the assembly.",
291                    "longDescription": "This property shall contain the spare part number of the assembly.",
292                    "readonly": true,
293                    "type": [
294                        "string",
295                        "null"
296                    ]
297                },
298                "Status": {
299                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
300                    "description": "The status and health of the resource and its subordinate or dependent resources.",
301                    "longDescription": "This property shall contain any status or health properties of the resource.",
302                    "versionAdded": "v1_1_0"
303                },
304                "Vendor": {
305                    "description": "The vendor of the assembly.",
306                    "longDescription": "This property shall contain the name of the company that provides the final product that includes this assembly.  This value shall be equal to the 'Vendor' field value in a PLDM FRU structure, if applicable, for the assembly.",
307                    "readonly": true,
308                    "type": [
309                        "string",
310                        "null"
311                    ]
312                },
313                "Version": {
314                    "description": "The hardware version of the assembly.",
315                    "longDescription": "This property shall contain the hardware version of the assembly as determined by the vendor or supplier.",
316                    "readonly": true,
317                    "type": [
318                        "string",
319                        "null"
320                    ]
321                }
322            },
323            "required": [
324                "@odata.id",
325                "MemberId"
326            ],
327            "type": "object"
328        },
329        "AssemblyDataActions": {
330            "additionalProperties": false,
331            "description": "The available actions for this resource.",
332            "longDescription": "This type shall contain the available actions for this resource.",
333            "patternProperties": {
334                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
335                    "description": "This property shall specify a valid odata or Redfish property.",
336                    "type": [
337                        "array",
338                        "boolean",
339                        "integer",
340                        "number",
341                        "null",
342                        "object",
343                        "string"
344                    ]
345                }
346            },
347            "properties": {
348                "Oem": {
349                    "$ref": "#/definitions/AssemblyDataOemActions",
350                    "description": "The available OEM-specific actions for this resource.",
351                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
352                }
353            },
354            "type": "object"
355        },
356        "AssemblyDataOemActions": {
357            "additionalProperties": true,
358            "description": "The available OEM-specific actions for this resource.",
359            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
360            "patternProperties": {
361                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
362                    "description": "This property shall specify a valid odata or Redfish property.",
363                    "type": [
364                        "array",
365                        "boolean",
366                        "integer",
367                        "number",
368                        "null",
369                        "object",
370                        "string"
371                    ]
372                }
373            },
374            "properties": {},
375            "type": "object"
376        },
377        "OemActions": {
378            "additionalProperties": true,
379            "description": "The available OEM-specific actions for this resource.",
380            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
381            "patternProperties": {
382                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
383                    "description": "This property shall specify a valid odata or Redfish property.",
384                    "type": [
385                        "array",
386                        "boolean",
387                        "integer",
388                        "number",
389                        "null",
390                        "object",
391                        "string"
392                    ]
393                }
394            },
395            "properties": {},
396            "type": "object"
397        }
398    },
399    "language": "en",
400    "owningEntity": "DMTF",
401    "release": "2022.3",
402    "title": "#Assembly.v1_5_1.Assembly"
403}