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