1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.v1_12_0.json",
3    "$ref": "#/definitions/SoftwareInventory",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2025 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                "#SoftwareInventory.Activate": {
27                    "$ref": "#/definitions/Activate"
28                },
29                "Oem": {
30                    "$ref": "#/definitions/OemActions",
31                    "description": "The available OEM-specific actions for this resource.",
32                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
33                }
34            },
35            "type": "object"
36        },
37        "Activate": {
38            "additionalProperties": false,
39            "description": "This action activates this software inventory instance.",
40            "longDescription": "This action shall activate this software inventory instance.",
41            "parameters": {
42                "Targets": {
43                    "description": "The target devices to activate this software image.  If not specified, the service activates this software image on all applicable devices.",
44                    "items": {
45                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
46                    },
47                    "longDescription": "This parameter shall contain an array of target devices to activate this software image.  If not specified, the service shall activate this software image on all applicable devices.",
48                    "type": "array"
49                }
50            },
51            "patternProperties": {
52                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
53                    "description": "This property shall specify a valid odata or Redfish property.",
54                    "type": [
55                        "array",
56                        "boolean",
57                        "integer",
58                        "number",
59                        "null",
60                        "object",
61                        "string"
62                    ]
63                }
64            },
65            "properties": {
66                "target": {
67                    "description": "Link to invoke action",
68                    "format": "uri-reference",
69                    "type": "string"
70                },
71                "title": {
72                    "description": "Friendly action name",
73                    "type": "string"
74                }
75            },
76            "type": "object",
77            "versionAdded": "v1_12_0"
78        },
79        "AdditionalVersions": {
80            "additionalProperties": false,
81            "description": "Additional versions.",
82            "longDescription": "This type shall contain additional versions.",
83            "patternProperties": {
84                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
85                    "description": "This property shall specify a valid odata or Redfish property.",
86                    "type": [
87                        "array",
88                        "boolean",
89                        "integer",
90                        "number",
91                        "null",
92                        "object",
93                        "string"
94                    ]
95                }
96            },
97            "properties": {
98                "BootParameters": {
99                    "description": "The version of the configuration file that contains the initial boot parameters of this software, such as parameters for U-Boot.",
100                    "longDescription": "This property shall contain the version of the configuration file that contains the initial boot parameters of this software.",
101                    "readonly": true,
102                    "type": [
103                        "string",
104                        "null"
105                    ],
106                    "versionAdded": "v1_11_0"
107                },
108                "Bootloader": {
109                    "description": "The bootloader version contained in this software, such as U-Boot or UEFI.",
110                    "longDescription": "This property shall contain the bootloader version contained in this software.",
111                    "readonly": true,
112                    "type": [
113                        "string",
114                        "null"
115                    ],
116                    "versionAdded": "v1_7_0"
117                },
118                "FactoryConfiguration": {
119                    "description": "The version of the configuration that contains the factory default runtime configuration parameters of this software.",
120                    "longDescription": "This property shall contain the version of the configuration that contains the factory default runtime configuration parameters of this software.",
121                    "readonly": true,
122                    "type": [
123                        "string",
124                        "null"
125                    ],
126                    "versionAdded": "v1_11_0"
127                },
128                "Kernel": {
129                    "description": "The kernel version contained in this software.",
130                    "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.",
131                    "readonly": true,
132                    "type": [
133                        "string",
134                        "null"
135                    ],
136                    "versionAdded": "v1_7_0"
137                },
138                "Microcode": {
139                    "description": "The microcode version contained in this software, such as processor microcode.",
140                    "longDescription": "This property shall contain the microcode version contained in this software.",
141                    "readonly": true,
142                    "type": [
143                        "string",
144                        "null"
145                    ],
146                    "versionAdded": "v1_7_0"
147                },
148                "OSDistribution": {
149                    "description": "The operating system name of this software.",
150                    "longDescription": "This property shall contain the operating system name of this software.",
151                    "readonly": true,
152                    "type": [
153                        "string",
154                        "null"
155                    ],
156                    "versionAdded": "v1_8_0"
157                },
158                "Oem": {
159                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
160                    "description": "The OEM extension property.",
161                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements.",
162                    "versionAdded": "v1_7_0"
163                }
164            },
165            "type": "object"
166        },
167        "Links": {
168            "additionalProperties": false,
169            "description": "The links to other resources that are related to this resource.",
170            "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
171            "patternProperties": {
172                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
173                    "description": "This property shall specify a valid odata or Redfish property.",
174                    "type": [
175                        "array",
176                        "boolean",
177                        "integer",
178                        "number",
179                        "null",
180                        "object",
181                        "string"
182                    ]
183                }
184            },
185            "properties": {
186                "ActiveTargets": {
187                    "description": "An array of devices where this software image is currently running.",
188                    "items": {
189                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
190                    },
191                    "longDescription": "This property shall contain an array of links to resources or objects that represent the devices where this software image is currently running.",
192                    "readonly": true,
193                    "type": "array",
194                    "versionAdded": "v1_12_0"
195                },
196                "ActiveTargets@odata.count": {
197                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
198                },
199                "StagedTargets": {
200                    "description": "An array of devices where this software image is staged and ready to be activated.",
201                    "items": {
202                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
203                    },
204                    "longDescription": "This property shall contain an array of links to resources or objects that represent the devices where this software image is staged and ready to be activated.",
205                    "readonly": true,
206                    "type": "array",
207                    "versionAdded": "v1_12_0"
208                },
209                "StagedTargets@odata.count": {
210                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
211                }
212            },
213            "type": "object"
214        },
215        "MeasurementBlock": {
216            "additionalProperties": false,
217            "description": "The DSP0274-defined measurement block information.",
218            "longDescription": "This type shall describe a DSP0274-defined measurement block.",
219            "patternProperties": {
220                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
221                    "description": "This property shall specify a valid odata or Redfish property.",
222                    "type": [
223                        "array",
224                        "boolean",
225                        "integer",
226                        "number",
227                        "null",
228                        "object",
229                        "string"
230                    ]
231                }
232            },
233            "properties": {
234                "Measurement": {
235                    "description": "The hexadecimal string representation of the numeric value of the DSP0274-defined 'Measurement' field of the measurement block.",
236                    "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.",
237                    "pattern": "^[0-9a-fA-F]+$",
238                    "readonly": true,
239                    "type": [
240                        "string",
241                        "null"
242                    ],
243                    "versionAdded": "v1_4_0"
244                },
245                "MeasurementIndex": {
246                    "description": "The DSP0274-defined 'Index' field of the measurement block.",
247                    "longDescription": "This property shall contain the value of the DSP0274-defined 'Index' field of the measurement block.",
248                    "readonly": true,
249                    "type": [
250                        "integer",
251                        "null"
252                    ],
253                    "versionAdded": "v1_5_0"
254                },
255                "MeasurementSize": {
256                    "description": "The DSP0274-defined 'MeasurementSize' field of the measurement block.",
257                    "longDescription": "This property shall contain the value of the DSP0274-defined 'MeasurementSize' field of the measurement block.",
258                    "readonly": true,
259                    "type": [
260                        "integer",
261                        "null"
262                    ],
263                    "versionAdded": "v1_4_0"
264                },
265                "MeasurementSpecification": {
266                    "description": "The DSP0274-defined 'MeasurementSpecification' field of the measurement block.",
267                    "longDescription": "This property shall contain the value of the DSP0274-defined 'MeasurementSpecification' field of the measurement block.",
268                    "readonly": true,
269                    "type": [
270                        "integer",
271                        "null"
272                    ],
273                    "versionAdded": "v1_4_0"
274                }
275            },
276            "type": "object"
277        },
278        "OemActions": {
279            "additionalProperties": true,
280            "description": "The available OEM-specific actions for this resource.",
281            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
282            "patternProperties": {
283                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
284                    "description": "This property shall specify a valid odata or Redfish property.",
285                    "type": [
286                        "array",
287                        "boolean",
288                        "integer",
289                        "number",
290                        "null",
291                        "object",
292                        "string"
293                    ]
294                }
295            },
296            "properties": {},
297            "type": "object"
298        },
299        "ReleaseType": {
300            "enum": [
301                "Production",
302                "Prototype",
303                "Other"
304            ],
305            "enumDescriptions": {
306                "Other": "The Redfish service does not have enough data to make a determination about this release.",
307                "Production": "This release is ready for use in production environments.",
308                "Prototype": "This release is intended for development or internal use."
309            },
310            "enumLongDescriptions": {
311                "Other": "This value shall indicate that the Redfish service cannot determine if this release is validated or prototype.",
312                "Production": "This value shall indicate that the software is ready for use in production environments.",
313                "Prototype": "This value shall indicate that the software is designed for development or internal use."
314            },
315            "type": "string"
316        },
317        "SoftwareInventory": {
318            "additionalProperties": false,
319            "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.",
320            "longDescription": "This resource contains a single software component that this Redfish service manages.",
321            "patternProperties": {
322                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
323                    "description": "This property shall specify a valid odata or Redfish property.",
324                    "type": [
325                        "array",
326                        "boolean",
327                        "integer",
328                        "number",
329                        "null",
330                        "object",
331                        "string"
332                    ]
333                }
334            },
335            "properties": {
336                "@odata.context": {
337                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
338                },
339                "@odata.etag": {
340                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
341                },
342                "@odata.id": {
343                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
344                },
345                "@odata.type": {
346                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
347                },
348                "Actions": {
349                    "$ref": "#/definitions/Actions",
350                    "description": "The available actions for this resource.",
351                    "longDescription": "This property shall contain the available actions for this resource."
352                },
353                "Active": {
354                    "description": "This image is active on one or more devices.",
355                    "longDescription": "This property shall indicate that the software image is currently in use on one or more devices.",
356                    "readonly": true,
357                    "type": [
358                        "boolean",
359                        "null"
360                    ],
361                    "versionAdded": "v1_12_0"
362                },
363                "AdditionalVersions": {
364                    "$ref": "#/definitions/AdditionalVersions",
365                    "description": "The additional versions of this software.",
366                    "longDescription": "This property shall contain the additional versions of this software.",
367                    "versionAdded": "v1_7_0"
368                },
369                "AssociatedPhysicalContext": {
370                    "$ref": "http://redfish.dmtf.org/schemas/v1/PhysicalContext.json#/definitions/PhysicalContext",
371                    "description": "The area or device to which the software applies.  Used to distinguish when different parts of a device have different software components.",
372                    "longDescription": "This property shall contain a description of the physical context for the software inventory data.",
373                    "readonly": true,
374                    "versionAdded": "v1_10_0"
375                },
376                "Description": {
377                    "anyOf": [
378                        {
379                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
380                        },
381                        {
382                            "type": "null"
383                        }
384                    ],
385                    "readonly": true
386                },
387                "Id": {
388                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
389                    "readonly": true
390                },
391                "Links": {
392                    "$ref": "#/definitions/Links",
393                    "description": "The links to other resources that are related to this resource.",
394                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
395                    "versionAdded": "v1_12_0"
396                },
397                "LowestSupportedVersion": {
398                    "description": "The lowest supported version of this software.",
399                    "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.",
400                    "readonly": true,
401                    "type": [
402                        "string",
403                        "null"
404                    ],
405                    "versionAdded": "v1_1_0"
406                },
407                "Manufacturer": {
408                    "description": "The manufacturer or producer of this software.",
409                    "longDescription": "This property shall represent the name of the manufacturer or producer of this software.",
410                    "readonly": true,
411                    "type": [
412                        "string",
413                        "null"
414                    ],
415                    "versionAdded": "v1_2_0"
416                },
417                "Measurement": {
418                    "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json#/definitions/MeasurementBlock",
419                    "deprecated": "This property has been deprecated in favor of the `ComponentIntegrity` resource.",
420                    "description": "A DSP0274-defined measurement block.",
421                    "longDescription": "This property shall contain a DSP0274-defined measurement block.",
422                    "versionAdded": "v1_4_0",
423                    "versionDeprecated": "v1_6_0"
424                },
425                "Name": {
426                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
427                    "readonly": true
428                },
429                "Oem": {
430                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
431                    "description": "The OEM extension property.",
432                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
433                },
434                "RelatedItem": {
435                    "description": "An array of links to resources or objects that represent devices to which this software inventory applies.",
436                    "items": {
437                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
438                    },
439                    "longDescription": "This property shall contain an array of links to resources or objects that represent devices to which this software inventory applies.",
440                    "readonly": true,
441                    "type": "array",
442                    "versionAdded": "v1_1_0"
443                },
444                "RelatedItem@odata.count": {
445                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
446                },
447                "ReleaseDate": {
448                    "description": "The release date of this software.",
449                    "format": "date-time",
450                    "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`.",
451                    "readonly": true,
452                    "type": [
453                        "string",
454                        "null"
455                    ],
456                    "versionAdded": "v1_2_0"
457                },
458                "ReleaseType": {
459                    "anyOf": [
460                        {
461                            "$ref": "#/definitions/ReleaseType"
462                        },
463                        {
464                            "type": "null"
465                        }
466                    ],
467                    "description": "The type of release.",
468                    "longDescription": "This property shall describe the type of release for the software.",
469                    "readonly": true,
470                    "versionAdded": "v1_10_0"
471                },
472                "ResetRequiredOnUpdate": {
473                    "description": "An indication of whether a reset is required to apply an update to this software.",
474                    "longDescription": "This property shall indicate whether a reset is required to apply an update to this software.  If `true`, a reset is required and clients should expect a disruption in communication to targets utilizing this software while applying an update.  If `false`, a reset is not required and communication can be maintained to targets utilizing this software throughout an update.",
475                    "readonly": true,
476                    "type": [
477                        "boolean",
478                        "null"
479                    ],
480                    "versionAdded": "v1_12_0"
481                },
482                "SoftwareId": {
483                    "description": "The implementation-specific label that identifies this software.",
484                    "longDescription": "This property shall represent an implementation-specific label that identifies this software.  This string correlates with a component repository or database.",
485                    "readonly": true,
486                    "type": "string",
487                    "versionAdded": "v1_1_0"
488                },
489                "Staged": {
490                    "description": "This image is ready to be activated to one or more devices.",
491                    "longDescription": "This property shall indicate that the software image is ready to be activated to one or more devices.",
492                    "readonly": true,
493                    "type": [
494                        "boolean",
495                        "null"
496                    ],
497                    "versionAdded": "v1_12_0"
498                },
499                "Status": {
500                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
501                    "description": "The status and health of the resource and its subordinate or dependent resources.",
502                    "longDescription": "This property shall contain any status or health properties of the resource."
503                },
504                "UefiDevicePaths": {
505                    "description": "The list of UEFI device paths of the components associated with this software inventory item.",
506                    "items": {
507                        "type": [
508                            "string",
509                            "null"
510                        ]
511                    },
512                    "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.",
513                    "readonly": true,
514                    "type": "array",
515                    "versionAdded": "v1_1_0"
516                },
517                "Updateable": {
518                    "description": "An indication of whether the update service can update this software.",
519                    "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.",
520                    "readonly": true,
521                    "type": [
522                        "boolean",
523                        "null"
524                    ]
525                },
526                "Version": {
527                    "description": "The version of this software.",
528                    "longDescription": "This property shall contain the version of this software.",
529                    "readonly": true,
530                    "type": [
531                        "string",
532                        "null"
533                    ]
534                },
535                "VersionScheme": {
536                    "anyOf": [
537                        {
538                            "$ref": "#/definitions/VersionScheme"
539                        },
540                        {
541                            "type": "null"
542                        }
543                    ],
544                    "description": "The format of the version.",
545                    "longDescription": "This property shall describe the scheme used to format the value of the `Version` property.",
546                    "readonly": true,
547                    "versionAdded": "v1_9_0"
548                },
549                "WriteProtected": {
550                    "description": "Indicates if the software is write-protected.",
551                    "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.",
552                    "readonly": false,
553                    "type": [
554                        "boolean",
555                        "null"
556                    ],
557                    "versionAdded": "v1_3_0"
558                }
559            },
560            "required": [
561                "@odata.id",
562                "@odata.type",
563                "Id",
564                "Name"
565            ],
566            "type": "object"
567        },
568        "VersionScheme": {
569            "enum": [
570                "SemVer",
571                "DotIntegerNotation",
572                "OEM"
573            ],
574            "enumDescriptions": {
575                "DotIntegerNotation": "Version formatted as dot-separated integers.",
576                "OEM": "Version follows OEM-defined format.",
577                "SemVer": "Version follows Semantic Versioning 2.0 rules."
578            },
579            "enumLongDescriptions": {
580                "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.",
581                "OEM": "This value shall indicate that the value of the `Version` property follows a format and rules as defined by the vendor or manufacturer.",
582                "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."
583            },
584            "type": "string"
585        }
586    },
587    "language": "en",
588    "owningEntity": "DMTF",
589    "release": "2025.2",
590    "title": "#SoftwareInventory.v1_12_0.SoftwareInventory"
591}