1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.v1_10_2.json",
3    "$ref": "#/definitions/SoftwareInventory",
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        "AdditionalVersions": {
35            "additionalProperties": false,
36            "description": "Additional versions.",
37            "longDescription": "This type shall contain additional versions.",
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                "Bootloader": {
54                    "description": "The bootloader version contained in this software, such as U-Boot or UEFI.",
55                    "longDescription": "This property shall contain the bootloader version contained in this software.",
56                    "readonly": true,
57                    "type": [
58                        "string",
59                        "null"
60                    ],
61                    "versionAdded": "v1_7_0"
62                },
63                "Kernel": {
64                    "description": "The kernel version contained in this software.",
65                    "longDescription": "This property shall contain the kernel version contained in this software.  For strict POSIX software, the value shall contain the output of `uname -srm`.  For Microsoft Windows, the value shall contain the output of `ver`, from Command Prompt.",
66                    "readonly": true,
67                    "type": [
68                        "string",
69                        "null"
70                    ],
71                    "versionAdded": "v1_7_0"
72                },
73                "Microcode": {
74                    "description": "The microcode version contained in this software, such as processor microcode.",
75                    "longDescription": "This property shall contain the microcode version contained in this software.",
76                    "readonly": true,
77                    "type": [
78                        "string",
79                        "null"
80                    ],
81                    "versionAdded": "v1_7_0"
82                },
83                "OSDistribution": {
84                    "description": "The operating system name of this software.",
85                    "longDescription": "This property shall contain the operating system name of this software.",
86                    "readonly": true,
87                    "type": [
88                        "string",
89                        "null"
90                    ],
91                    "versionAdded": "v1_8_0"
92                },
93                "Oem": {
94                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
95                    "description": "The OEM extension property.",
96                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements.",
97                    "versionAdded": "v1_7_0"
98                }
99            },
100            "type": "object"
101        },
102        "MeasurementBlock": {
103            "additionalProperties": false,
104            "description": "The DSP0274-defined measurement block information.",
105            "longDescription": "This type shall describe a DSP0274-defined measurement block.",
106            "patternProperties": {
107                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
108                    "description": "This property shall specify a valid odata or Redfish property.",
109                    "type": [
110                        "array",
111                        "boolean",
112                        "integer",
113                        "number",
114                        "null",
115                        "object",
116                        "string"
117                    ]
118                }
119            },
120            "properties": {
121                "Measurement": {
122                    "description": "The hexadecimal string representation of the numeric value of the DSP0274-defined 'Measurement' field of the measurement block.",
123                    "longDescription": "This property shall contain the value of the hexadecimal string representation of the numeric value of the DSP0274-defined 'Measurement' field of the measurement block.",
124                    "pattern": "^[0-9a-fA-F]+$",
125                    "readonly": true,
126                    "type": [
127                        "string",
128                        "null"
129                    ],
130                    "versionAdded": "v1_4_0"
131                },
132                "MeasurementIndex": {
133                    "description": "The DSP0274-defined 'Index' field of the measurement block.",
134                    "longDescription": "This property shall contain the value of the DSP0274-defined 'Index' field of the measurement block.",
135                    "readonly": true,
136                    "type": [
137                        "integer",
138                        "null"
139                    ],
140                    "versionAdded": "v1_5_0"
141                },
142                "MeasurementSize": {
143                    "description": "The DSP0274-defined 'MeasurementSize' field of the measurement block.",
144                    "longDescription": "This property shall contain the value of the DSP0274-defined 'MeasurementSize' field of the measurement block.",
145                    "readonly": true,
146                    "type": [
147                        "integer",
148                        "null"
149                    ],
150                    "versionAdded": "v1_4_0"
151                },
152                "MeasurementSpecification": {
153                    "description": "The DSP0274-defined 'MeasurementSpecification' field of the measurement block.",
154                    "longDescription": "This property shall contain the value of the DSP0274-defined 'MeasurementSpecification' field of the measurement block.",
155                    "readonly": true,
156                    "type": [
157                        "integer",
158                        "null"
159                    ],
160                    "versionAdded": "v1_4_0"
161                }
162            },
163            "type": "object"
164        },
165        "OemActions": {
166            "additionalProperties": true,
167            "description": "The available OEM-specific actions for this resource.",
168            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
169            "patternProperties": {
170                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
171                    "description": "This property shall specify a valid odata or Redfish property.",
172                    "type": [
173                        "array",
174                        "boolean",
175                        "integer",
176                        "number",
177                        "null",
178                        "object",
179                        "string"
180                    ]
181                }
182            },
183            "properties": {},
184            "type": "object"
185        },
186        "ReleaseType": {
187            "enum": [
188                "Production",
189                "Prototype",
190                "Other"
191            ],
192            "enumDescriptions": {
193                "Other": "The Redfish service does not have enough data to make a determination about this release.",
194                "Production": "This release is ready for use in production environments.",
195                "Prototype": "This release is intended for development or internal use."
196            },
197            "enumLongDescriptions": {
198                "Other": "This value shall indicate that the Redfish service cannot determine if this release is validated or prototype.",
199                "Production": "This value shall indicate that the software is ready for use in production environments.",
200                "Prototype": "This value shall indicate that the software is designed for development or internal use."
201            },
202            "type": "string"
203        },
204        "SoftwareInventory": {
205            "additionalProperties": false,
206            "description": "The `SoftwareInventory` schema contains an inventory of software components.  This can include software components such as BIOS, BMC firmware, firmware for other devices, system drivers, or provider software.",
207            "longDescription": "This resource contains a single software component that this Redfish service manages.",
208            "patternProperties": {
209                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
210                    "description": "This property shall specify a valid odata or Redfish property.",
211                    "type": [
212                        "array",
213                        "boolean",
214                        "integer",
215                        "number",
216                        "null",
217                        "object",
218                        "string"
219                    ]
220                }
221            },
222            "properties": {
223                "@odata.context": {
224                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
225                },
226                "@odata.etag": {
227                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
228                },
229                "@odata.id": {
230                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
231                },
232                "@odata.type": {
233                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
234                },
235                "Actions": {
236                    "$ref": "#/definitions/Actions",
237                    "description": "The available actions for this resource.",
238                    "longDescription": "This property shall contain the available actions for this resource."
239                },
240                "AdditionalVersions": {
241                    "$ref": "#/definitions/AdditionalVersions",
242                    "description": "The additional versions of this software.",
243                    "longDescription": "This property shall contain the additional versions of this software.",
244                    "versionAdded": "v1_7_0"
245                },
246                "AssociatedPhysicalContext": {
247                    "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext",
248                    "description": "The area or device to which the software applies.  Used to distinguish when different parts of a device have different software components.",
249                    "longDescription": "This property shall contain a description of the physical context for the software inventory data.",
250                    "readonly": true,
251                    "versionAdded": "v1_10_0"
252                },
253                "Description": {
254                    "anyOf": [
255                        {
256                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
257                        },
258                        {
259                            "type": "null"
260                        }
261                    ],
262                    "readonly": true
263                },
264                "Id": {
265                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
266                    "readonly": true
267                },
268                "LowestSupportedVersion": {
269                    "description": "The lowest supported version of this software.",
270                    "longDescription": "This property shall represent the lowest supported version of this software.  This string is formatted using the same format used for the `Version` property.",
271                    "readonly": true,
272                    "type": [
273                        "string",
274                        "null"
275                    ],
276                    "versionAdded": "v1_1_0"
277                },
278                "Manufacturer": {
279                    "description": "The manufacturer or producer of this software.",
280                    "longDescription": "This property shall represent the name of the manufacturer or producer of this software.",
281                    "readonly": true,
282                    "type": [
283                        "string",
284                        "null"
285                    ],
286                    "versionAdded": "v1_2_0"
287                },
288                "Measurement": {
289                    "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json#/definitions/MeasurementBlock",
290                    "deprecated": "This property has been deprecated in favor of the `ComponentIntegrity` resource.",
291                    "description": "A DSP0274-defined measurement block.",
292                    "longDescription": "This property shall contain a DSP0274-defined measurement block.",
293                    "versionAdded": "v1_4_0",
294                    "versionDeprecated": "v1_6_0"
295                },
296                "Name": {
297                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
298                    "readonly": true
299                },
300                "Oem": {
301                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
302                    "description": "The OEM extension property.",
303                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
304                },
305                "RelatedItem": {
306                    "description": "An array of links to resources or objects that represent devices to which this software inventory applies.",
307                    "items": {
308                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
309                    },
310                    "longDescription": "This property shall contain an array of links to resources or objects that represent devices to which this software inventory applies.",
311                    "readonly": true,
312                    "type": "array",
313                    "versionAdded": "v1_1_0"
314                },
315                "RelatedItem@odata.count": {
316                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
317                },
318                "ReleaseDate": {
319                    "description": "The release date of this software.",
320                    "format": "date-time",
321                    "longDescription": "This property shall contain the date of release or production for this software.  If the time of day is unknown, the time of day portion of the property shall contain `00:00:00Z`.",
322                    "readonly": true,
323                    "type": [
324                        "string",
325                        "null"
326                    ],
327                    "versionAdded": "v1_2_0"
328                },
329                "ReleaseType": {
330                    "anyOf": [
331                        {
332                            "$ref": "#/definitions/ReleaseType"
333                        },
334                        {
335                            "type": "null"
336                        }
337                    ],
338                    "description": "The type of release.",
339                    "longDescription": "This property shall describe the type of release for the software.",
340                    "readonly": true,
341                    "versionAdded": "v1_10_0"
342                },
343                "SoftwareId": {
344                    "description": "The implementation-specific label that identifies this software.",
345                    "longDescription": "This property shall represent an implementation-specific label that identifies this software.  This string correlates with a component repository or database.",
346                    "readonly": true,
347                    "type": "string",
348                    "versionAdded": "v1_1_0"
349                },
350                "Status": {
351                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
352                    "description": "The status and health of the resource and its subordinate or dependent resources.",
353                    "longDescription": "This property shall contain any status or health properties of the resource."
354                },
355                "UefiDevicePaths": {
356                    "description": "The list of UEFI device paths of the components associated with this software inventory item.",
357                    "items": {
358                        "type": [
359                            "string",
360                            "null"
361                        ]
362                    },
363                    "longDescription": "This property shall contain a list UEFI device paths of the components associated with this software inventory item.  The UEFI device paths shall be formatted as defined by the UEFI Specification.",
364                    "readonly": true,
365                    "type": "array",
366                    "versionAdded": "v1_1_0"
367                },
368                "Updateable": {
369                    "description": "An indication of whether the update service can update this software.",
370                    "longDescription": "This property shall indicate whether the update service can update this software.  If `true`, the service can update this software.  If `false`, the service cannot update this software and the software is for reporting purposes only.",
371                    "readonly": true,
372                    "type": [
373                        "boolean",
374                        "null"
375                    ]
376                },
377                "Version": {
378                    "description": "The version of this software.",
379                    "longDescription": "This property shall contain the version of this software.",
380                    "readonly": true,
381                    "type": [
382                        "string",
383                        "null"
384                    ]
385                },
386                "VersionScheme": {
387                    "anyOf": [
388                        {
389                            "$ref": "#/definitions/VersionScheme"
390                        },
391                        {
392                            "type": "null"
393                        }
394                    ],
395                    "description": "The format of the version.",
396                    "longDescription": "This property shall describe the scheme used to format the value of the `Version` property.",
397                    "readonly": true,
398                    "versionAdded": "v1_9_0"
399                },
400                "WriteProtected": {
401                    "description": "Indicates if the software is write-protected.",
402                    "longDescription": "This property shall indicate whether the software image can be overwritten, where a value `true` shall indicate that the software cannot be altered or overwritten.",
403                    "readonly": false,
404                    "type": [
405                        "boolean",
406                        "null"
407                    ],
408                    "versionAdded": "v1_3_0"
409                }
410            },
411            "required": [
412                "@odata.id",
413                "@odata.type",
414                "Id",
415                "Name"
416            ],
417            "type": "object"
418        },
419        "VersionScheme": {
420            "enum": [
421                "SemVer",
422                "DotIntegerNotation",
423                "OEM"
424            ],
425            "enumDescriptions": {
426                "DotIntegerNotation": "Version formatted as dot-separated integers.",
427                "OEM": "Version follows OEM-defined format.",
428                "SemVer": "Version follows Semantic Versioning 2.0 rules."
429            },
430            "enumLongDescriptions": {
431                "DotIntegerNotation": "This value shall indicate that the value of the `Version` property contains a sequence of integers separated by period (dot) characters, and shall follow the pattern `^\\d+(\\.\\d+)*$`.  Leading zeros in the sequence shall be ignored.",
432                "OEM": "This value shall indicate that the value of the `Version` property follows a format and rules as defined by the vendor or manufacturer.",
433                "SemVer": "This value shall indicate that the value of the `Version` property conforms to the format and rules of the Semantic Version 2.0 specification, and may include pre-release or build metadata."
434            },
435            "type": "string"
436        }
437    },
438    "language": "en",
439    "owningEntity": "DMTF",
440    "release": "2023.2",
441    "title": "#SoftwareInventory.v1_10_2.SoftwareInventory"
442}