xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/AttributeRegistry.v1_4_0.json (revision 5ecf7b4e1bb6988dd3403fa80b723afbe2be30ae)
1*5ecf7b4eSGunnar Mills{
2*5ecf7b4eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/AttributeRegistry.v1_4_0.json",
3*5ecf7b4eSGunnar Mills    "$ref": "#/definitions/AttributeRegistry",
4*5ecf7b4eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*5ecf7b4eSGunnar Mills    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*5ecf7b4eSGunnar Mills    "definitions": {
7*5ecf7b4eSGunnar Mills        "Actions": {
8*5ecf7b4eSGunnar Mills            "additionalProperties": false,
9*5ecf7b4eSGunnar Mills            "description": "The available actions for this resource.",
10*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*5ecf7b4eSGunnar Mills            "patternProperties": {
12*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*5ecf7b4eSGunnar Mills                    "type": [
15*5ecf7b4eSGunnar Mills                        "array",
16*5ecf7b4eSGunnar Mills                        "boolean",
17*5ecf7b4eSGunnar Mills                        "integer",
18*5ecf7b4eSGunnar Mills                        "number",
19*5ecf7b4eSGunnar Mills                        "null",
20*5ecf7b4eSGunnar Mills                        "object",
21*5ecf7b4eSGunnar Mills                        "string"
22*5ecf7b4eSGunnar Mills                    ]
23*5ecf7b4eSGunnar Mills                }
24*5ecf7b4eSGunnar Mills            },
25*5ecf7b4eSGunnar Mills            "properties": {
26*5ecf7b4eSGunnar Mills                "Oem": {
27*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/OemActions",
28*5ecf7b4eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
29*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
30*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
31*5ecf7b4eSGunnar Mills                }
32*5ecf7b4eSGunnar Mills            },
33*5ecf7b4eSGunnar Mills            "type": "object"
34*5ecf7b4eSGunnar Mills        },
35*5ecf7b4eSGunnar Mills        "AttributeRegistry": {
36*5ecf7b4eSGunnar Mills            "additionalProperties": false,
37*5ecf7b4eSGunnar Mills            "description": "The `AttributeRegistry` schema contains a set of key-value pairs that represent the structure of an attribute registry.  It includes mechanisms for building user interfaces, or menus, allowing consistent navigation of the contents.  The attribute registry is specific to an implementation or product.  The attributes and property names are not standardized.",
38*5ecf7b4eSGunnar Mills            "longDescription": "This resource shall represent an attribute registry for a Redfish implementation.",
39*5ecf7b4eSGunnar Mills            "patternProperties": {
40*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
41*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
42*5ecf7b4eSGunnar Mills                    "type": [
43*5ecf7b4eSGunnar Mills                        "array",
44*5ecf7b4eSGunnar Mills                        "boolean",
45*5ecf7b4eSGunnar Mills                        "integer",
46*5ecf7b4eSGunnar Mills                        "number",
47*5ecf7b4eSGunnar Mills                        "null",
48*5ecf7b4eSGunnar Mills                        "object",
49*5ecf7b4eSGunnar Mills                        "string"
50*5ecf7b4eSGunnar Mills                    ]
51*5ecf7b4eSGunnar Mills                }
52*5ecf7b4eSGunnar Mills            },
53*5ecf7b4eSGunnar Mills            "properties": {
54*5ecf7b4eSGunnar Mills                "@odata.type": {
55*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
56*5ecf7b4eSGunnar Mills                },
57*5ecf7b4eSGunnar Mills                "Actions": {
58*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Actions",
59*5ecf7b4eSGunnar Mills                    "description": "The available actions for this resource.",
60*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource.",
61*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
62*5ecf7b4eSGunnar Mills                },
63*5ecf7b4eSGunnar Mills                "Description": {
64*5ecf7b4eSGunnar Mills                    "anyOf": [
65*5ecf7b4eSGunnar Mills                        {
66*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
67*5ecf7b4eSGunnar Mills                        },
68*5ecf7b4eSGunnar Mills                        {
69*5ecf7b4eSGunnar Mills                            "type": "null"
70*5ecf7b4eSGunnar Mills                        }
71*5ecf7b4eSGunnar Mills                    ],
72*5ecf7b4eSGunnar Mills                    "readonly": true
73*5ecf7b4eSGunnar Mills                },
74*5ecf7b4eSGunnar Mills                "Id": {
75*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
76*5ecf7b4eSGunnar Mills                    "readonly": true
77*5ecf7b4eSGunnar Mills                },
78*5ecf7b4eSGunnar Mills                "Language": {
79*5ecf7b4eSGunnar Mills                    "description": "The RFC5646-conformant language code for the attribute registry.",
80*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an RFC5646-conformant language code.",
81*5ecf7b4eSGunnar Mills                    "readonly": true,
82*5ecf7b4eSGunnar Mills                    "type": "string"
83*5ecf7b4eSGunnar Mills                },
84*5ecf7b4eSGunnar Mills                "Name": {
85*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
86*5ecf7b4eSGunnar Mills                    "readonly": true
87*5ecf7b4eSGunnar Mills                },
88*5ecf7b4eSGunnar Mills                "Oem": {
89*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
90*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
91*5ecf7b4eSGunnar 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."
92*5ecf7b4eSGunnar Mills                },
93*5ecf7b4eSGunnar Mills                "OwningEntity": {
94*5ecf7b4eSGunnar Mills                    "description": "The organization or company that publishes this attribute registry.",
95*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall represent the publisher of this attribute registry.",
96*5ecf7b4eSGunnar Mills                    "readonly": true,
97*5ecf7b4eSGunnar Mills                    "type": "string"
98*5ecf7b4eSGunnar Mills                },
99*5ecf7b4eSGunnar Mills                "RegistryEntries": {
100*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/RegistryEntries",
101*5ecf7b4eSGunnar Mills                    "description": "The list of all attributes and their metadata for this component.",
102*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall list attributes for this component, along with their possible values, dependencies, and other metadata."
103*5ecf7b4eSGunnar Mills                },
104*5ecf7b4eSGunnar Mills                "RegistryVersion": {
105*5ecf7b4eSGunnar Mills                    "description": "The attribute registry version.",
106*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the version of this attribute registry.",
107*5ecf7b4eSGunnar Mills                    "pattern": "^\\d+\\.\\d+\\.\\d+$",
108*5ecf7b4eSGunnar Mills                    "readonly": true,
109*5ecf7b4eSGunnar Mills                    "type": "string"
110*5ecf7b4eSGunnar Mills                },
111*5ecf7b4eSGunnar Mills                "SupportedSystems": {
112*5ecf7b4eSGunnar Mills                    "description": "An array of systems that this attribute registry supports.",
113*5ecf7b4eSGunnar Mills                    "items": {
114*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/SupportedSystems"
115*5ecf7b4eSGunnar Mills                    },
116*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array containing a list of systems that this attribute registry supports.",
117*5ecf7b4eSGunnar Mills                    "type": "array"
118*5ecf7b4eSGunnar Mills                }
119*5ecf7b4eSGunnar Mills            },
120*5ecf7b4eSGunnar Mills            "required": [
121*5ecf7b4eSGunnar Mills                "Language",
122*5ecf7b4eSGunnar Mills                "RegistryVersion",
123*5ecf7b4eSGunnar Mills                "OwningEntity",
124*5ecf7b4eSGunnar Mills                "@odata.type",
125*5ecf7b4eSGunnar Mills                "Id",
126*5ecf7b4eSGunnar Mills                "Name"
127*5ecf7b4eSGunnar Mills            ],
128*5ecf7b4eSGunnar Mills            "type": "object"
129*5ecf7b4eSGunnar Mills        },
130*5ecf7b4eSGunnar Mills        "AttributeType": {
131*5ecf7b4eSGunnar Mills            "enum": [
132*5ecf7b4eSGunnar Mills                "Enumeration",
133*5ecf7b4eSGunnar Mills                "String",
134*5ecf7b4eSGunnar Mills                "Integer",
135*5ecf7b4eSGunnar Mills                "Boolean",
136*5ecf7b4eSGunnar Mills                "Password"
137*5ecf7b4eSGunnar Mills            ],
138*5ecf7b4eSGunnar Mills            "enumDescriptions": {
139*5ecf7b4eSGunnar Mills                "Boolean": "A flag with a `true` or `false` value.",
140*5ecf7b4eSGunnar Mills                "Enumeration": "A list of the known possible enumerated values.",
141*5ecf7b4eSGunnar Mills                "Integer": "An integer value.",
142*5ecf7b4eSGunnar Mills                "Password": "Password values that do not appear as plain text.  The value is `null` in responses.",
143*5ecf7b4eSGunnar Mills                "String": "Free-form text in their values."
144*5ecf7b4eSGunnar Mills            },
145*5ecf7b4eSGunnar Mills            "type": "string"
146*5ecf7b4eSGunnar Mills        },
147*5ecf7b4eSGunnar Mills        "AttributeValue": {
148*5ecf7b4eSGunnar Mills            "additionalProperties": false,
149*5ecf7b4eSGunnar Mills            "description": "A possible value for an enumeration attribute.",
150*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe a possible enumeration attribute value.",
151*5ecf7b4eSGunnar Mills            "patternProperties": {
152*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
153*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
154*5ecf7b4eSGunnar Mills                    "type": [
155*5ecf7b4eSGunnar Mills                        "array",
156*5ecf7b4eSGunnar Mills                        "boolean",
157*5ecf7b4eSGunnar Mills                        "integer",
158*5ecf7b4eSGunnar Mills                        "number",
159*5ecf7b4eSGunnar Mills                        "null",
160*5ecf7b4eSGunnar Mills                        "object",
161*5ecf7b4eSGunnar Mills                        "string"
162*5ecf7b4eSGunnar Mills                    ]
163*5ecf7b4eSGunnar Mills                }
164*5ecf7b4eSGunnar Mills            },
165*5ecf7b4eSGunnar Mills            "properties": {
166*5ecf7b4eSGunnar Mills                "ValueDisplayName": {
167*5ecf7b4eSGunnar Mills                    "description": "A user-readable display string of the value for the attribute in the defined language.",
168*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a string representing the user-readable display string of the value for the attribute in the defined language.",
169*5ecf7b4eSGunnar Mills                    "readonly": true,
170*5ecf7b4eSGunnar Mills                    "type": [
171*5ecf7b4eSGunnar Mills                        "string",
172*5ecf7b4eSGunnar Mills                        "null"
173*5ecf7b4eSGunnar Mills                    ]
174*5ecf7b4eSGunnar Mills                },
175*5ecf7b4eSGunnar Mills                "ValueName": {
176*5ecf7b4eSGunnar Mills                    "description": "The unique value name for the attribute.",
177*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a string representing the value name for the attribute.  `ValueName` is a unique string within the list of possible values in the `Value` array for an attribute.",
178*5ecf7b4eSGunnar Mills                    "readonly": true,
179*5ecf7b4eSGunnar Mills                    "type": "string"
180*5ecf7b4eSGunnar Mills                }
181*5ecf7b4eSGunnar Mills            },
182*5ecf7b4eSGunnar Mills            "required": [
183*5ecf7b4eSGunnar Mills                "ValueName"
184*5ecf7b4eSGunnar Mills            ],
185*5ecf7b4eSGunnar Mills            "type": "object"
186*5ecf7b4eSGunnar Mills        },
187*5ecf7b4eSGunnar Mills        "Attributes": {
188*5ecf7b4eSGunnar Mills            "additionalProperties": false,
189*5ecf7b4eSGunnar Mills            "description": "An attribute and its possible values and other metadata.",
190*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe an attribute and its possible values and other metadata.",
191*5ecf7b4eSGunnar Mills            "patternProperties": {
192*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
193*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
194*5ecf7b4eSGunnar Mills                    "type": [
195*5ecf7b4eSGunnar Mills                        "array",
196*5ecf7b4eSGunnar Mills                        "boolean",
197*5ecf7b4eSGunnar Mills                        "integer",
198*5ecf7b4eSGunnar Mills                        "number",
199*5ecf7b4eSGunnar Mills                        "null",
200*5ecf7b4eSGunnar Mills                        "object",
201*5ecf7b4eSGunnar Mills                        "string"
202*5ecf7b4eSGunnar Mills                    ]
203*5ecf7b4eSGunnar Mills                }
204*5ecf7b4eSGunnar Mills            },
205*5ecf7b4eSGunnar Mills            "properties": {
206*5ecf7b4eSGunnar Mills                "AttributeName": {
207*5ecf7b4eSGunnar Mills                    "description": "The unique name for the attribute.",
208*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the name of this attribute that is unique in this attribute registry.",
209*5ecf7b4eSGunnar Mills                    "pattern": "^[A-Za-z][A-Za-z0-9_]+$",
210*5ecf7b4eSGunnar Mills                    "readonly": true,
211*5ecf7b4eSGunnar Mills                    "type": "string"
212*5ecf7b4eSGunnar Mills                },
213*5ecf7b4eSGunnar Mills                "CurrentValue": {
214*5ecf7b4eSGunnar Mills                    "description": "The placeholder of the current value for the attribute.",
215*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the placeholder of the current value for the attribute, to aid in evaluating dependencies.  The evaluation results of the `Dependencies` array may affect the current attribute value.",
216*5ecf7b4eSGunnar Mills                    "readonly": true,
217*5ecf7b4eSGunnar Mills                    "type": [
218*5ecf7b4eSGunnar Mills                        "string",
219*5ecf7b4eSGunnar Mills                        "boolean",
220*5ecf7b4eSGunnar Mills                        "number",
221*5ecf7b4eSGunnar Mills                        "null"
222*5ecf7b4eSGunnar Mills                    ]
223*5ecf7b4eSGunnar Mills                },
224*5ecf7b4eSGunnar Mills                "DefaultValue": {
225*5ecf7b4eSGunnar Mills                    "description": "The default value for the attribute.",
226*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the default value for the attribute.",
227*5ecf7b4eSGunnar Mills                    "readonly": true,
228*5ecf7b4eSGunnar Mills                    "type": [
229*5ecf7b4eSGunnar Mills                        "string",
230*5ecf7b4eSGunnar Mills                        "boolean",
231*5ecf7b4eSGunnar Mills                        "number",
232*5ecf7b4eSGunnar Mills                        "null"
233*5ecf7b4eSGunnar Mills                    ]
234*5ecf7b4eSGunnar Mills                },
235*5ecf7b4eSGunnar Mills                "DisplayName": {
236*5ecf7b4eSGunnar Mills                    "description": "The user-readable display string for the attribute in the defined language.",
237*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the user-readable display string for the attribute in the defined language.",
238*5ecf7b4eSGunnar Mills                    "readonly": true,
239*5ecf7b4eSGunnar Mills                    "type": [
240*5ecf7b4eSGunnar Mills                        "string",
241*5ecf7b4eSGunnar Mills                        "null"
242*5ecf7b4eSGunnar Mills                    ]
243*5ecf7b4eSGunnar Mills                },
244*5ecf7b4eSGunnar Mills                "DisplayOrder": {
245*5ecf7b4eSGunnar Mills                    "description": "The ascending order, as a number, in which this attribute appears relative to other attributes.",
246*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the ascending order, as a number, in which this attribute appears relative to other attributes.",
247*5ecf7b4eSGunnar Mills                    "readonly": true,
248*5ecf7b4eSGunnar Mills                    "type": [
249*5ecf7b4eSGunnar Mills                        "integer",
250*5ecf7b4eSGunnar Mills                        "null"
251*5ecf7b4eSGunnar Mills                    ]
252*5ecf7b4eSGunnar Mills                },
253*5ecf7b4eSGunnar Mills                "GrayOut": {
254*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this attribute is grayed out.  A grayed-out attribute is not active and is grayed out in user interfaces but the attribute value can be modified.",
255*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this attribute is grayed out.  A grayed-out attribute is not active and is grayed out in user interfaces but the attribute value can be modified.  The evaluation results of the `Dependencies` array may affect the grayed-out state of an attribute.",
256*5ecf7b4eSGunnar Mills                    "readonly": true,
257*5ecf7b4eSGunnar Mills                    "type": [
258*5ecf7b4eSGunnar Mills                        "boolean",
259*5ecf7b4eSGunnar Mills                        "null"
260*5ecf7b4eSGunnar Mills                    ]
261*5ecf7b4eSGunnar Mills                },
262*5ecf7b4eSGunnar Mills                "HelpText": {
263*5ecf7b4eSGunnar Mills                    "description": "The help text for the attribute.",
264*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the help text for the attribute.",
265*5ecf7b4eSGunnar Mills                    "readonly": true,
266*5ecf7b4eSGunnar Mills                    "type": [
267*5ecf7b4eSGunnar Mills                        "string",
268*5ecf7b4eSGunnar Mills                        "null"
269*5ecf7b4eSGunnar Mills                    ]
270*5ecf7b4eSGunnar Mills                },
271*5ecf7b4eSGunnar Mills                "Hidden": {
272*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this attribute is hidden in user interfaces.",
273*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this attribute is hidden in user interfaces.  The evaluation results of the `Dependencies` array may affect the hidden state of an attribute.",
274*5ecf7b4eSGunnar Mills                    "readonly": true,
275*5ecf7b4eSGunnar Mills                    "type": [
276*5ecf7b4eSGunnar Mills                        "boolean",
277*5ecf7b4eSGunnar Mills                        "null"
278*5ecf7b4eSGunnar Mills                    ]
279*5ecf7b4eSGunnar Mills                },
280*5ecf7b4eSGunnar Mills                "Immutable": {
281*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this attribute is immutable.  Immutable attributes cannot be modified and typically reflect a hardware state.",
282*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this attribute is immutable.  Immutable attributes shall not be modified and typically reflect a hardware state.",
283*5ecf7b4eSGunnar Mills                    "readonly": true,
284*5ecf7b4eSGunnar Mills                    "type": [
285*5ecf7b4eSGunnar Mills                        "boolean",
286*5ecf7b4eSGunnar Mills                        "null"
287*5ecf7b4eSGunnar Mills                    ]
288*5ecf7b4eSGunnar Mills                },
289*5ecf7b4eSGunnar Mills                "IsSystemUniqueProperty": {
290*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this attribute is unique for this system and should not be replicated.",
291*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this attribute is unique.",
292*5ecf7b4eSGunnar Mills                    "readonly": true,
293*5ecf7b4eSGunnar Mills                    "type": [
294*5ecf7b4eSGunnar Mills                        "boolean",
295*5ecf7b4eSGunnar Mills                        "null"
296*5ecf7b4eSGunnar Mills                    ]
297*5ecf7b4eSGunnar Mills                },
298*5ecf7b4eSGunnar Mills                "LowerBound": {
299*5ecf7b4eSGunnar Mills                    "description": "The lower limit for an integer attribute.",
300*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a number indicating the lower limit for an integer attribute.",
301*5ecf7b4eSGunnar Mills                    "readonly": true,
302*5ecf7b4eSGunnar Mills                    "type": [
303*5ecf7b4eSGunnar Mills                        "integer",
304*5ecf7b4eSGunnar Mills                        "null"
305*5ecf7b4eSGunnar Mills                    ]
306*5ecf7b4eSGunnar Mills                },
307*5ecf7b4eSGunnar Mills                "MaxLength": {
308*5ecf7b4eSGunnar Mills                    "description": "The maximum character length of a string attribute.",
309*5ecf7b4eSGunnar Mills                    "longDescription": "This numeric property shall contain the maximum character length of an attribute of the String type.",
310*5ecf7b4eSGunnar Mills                    "readonly": true,
311*5ecf7b4eSGunnar Mills                    "type": [
312*5ecf7b4eSGunnar Mills                        "integer",
313*5ecf7b4eSGunnar Mills                        "null"
314*5ecf7b4eSGunnar Mills                    ]
315*5ecf7b4eSGunnar Mills                },
316*5ecf7b4eSGunnar Mills                "MenuPath": {
317*5ecf7b4eSGunnar Mills                    "description": "The path that describes the menu hierarchy of this attribute.",
318*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the menu hierarchy of this attribute, in the form of a path to the menu names.  It shall start with `./` to indicate the root menu, followed by the menu names with `/` characters to delineate the menu traversal.",
319*5ecf7b4eSGunnar Mills                    "pattern": "^\\.\\/([^/]+(\\/[^/]+)*)?$",
320*5ecf7b4eSGunnar Mills                    "readonly": true,
321*5ecf7b4eSGunnar Mills                    "type": [
322*5ecf7b4eSGunnar Mills                        "string",
323*5ecf7b4eSGunnar Mills                        "null"
324*5ecf7b4eSGunnar Mills                    ]
325*5ecf7b4eSGunnar Mills                },
326*5ecf7b4eSGunnar Mills                "MinLength": {
327*5ecf7b4eSGunnar Mills                    "description": "The minimum character length of the string attribute.",
328*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a number indicating the minimum character length of an attribute of the String type.",
329*5ecf7b4eSGunnar Mills                    "readonly": true,
330*5ecf7b4eSGunnar Mills                    "type": [
331*5ecf7b4eSGunnar Mills                        "integer",
332*5ecf7b4eSGunnar Mills                        "null"
333*5ecf7b4eSGunnar Mills                    ]
334*5ecf7b4eSGunnar Mills                },
335*5ecf7b4eSGunnar Mills                "Oem": {
336*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
337*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
338*5ecf7b4eSGunnar 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.",
339*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_3_0"
340*5ecf7b4eSGunnar Mills                },
341*5ecf7b4eSGunnar Mills                "ReadOnly": {
342*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this attribute is read-only.  A read-only attribute cannot be modified, and should be grayed out in user interfaces.",
343*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this attribute is read-only.  A read-only attribute cannot be modified, and should be grayed out in user interfaces.  The evaluation results of the `Dependencies` array may affect the read-only state of an attribute.",
344*5ecf7b4eSGunnar Mills                    "readonly": true,
345*5ecf7b4eSGunnar Mills                    "type": [
346*5ecf7b4eSGunnar Mills                        "boolean",
347*5ecf7b4eSGunnar Mills                        "null"
348*5ecf7b4eSGunnar Mills                    ]
349*5ecf7b4eSGunnar Mills                },
350*5ecf7b4eSGunnar Mills                "RequiredPrivileges": {
351*5ecf7b4eSGunnar Mills                    "description": "The privileges required to complete an HTTP `PATCH` or `PUT` operation to modify this attribute.",
352*5ecf7b4eSGunnar Mills                    "items": {
353*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/RequiredPrivileges"
354*5ecf7b4eSGunnar Mills                    },
355*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privileges required to complete an HTTP `PATCH` or `PUT` operation to modify this attribute.  The service shall interpret this definition as the maps for the `PATCH` and `PUT` operations within the `PropertyOverrides` definition for the `Bios` resource in the privilege registry.",
356*5ecf7b4eSGunnar Mills                    "type": "array",
357*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_4_0"
358*5ecf7b4eSGunnar Mills                },
359*5ecf7b4eSGunnar Mills                "ResetRequired": {
360*5ecf7b4eSGunnar Mills                    "description": "An indication of whether a system or device reset is required for this attribute value change to take effect.",
361*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether a system or device reset is required for this attribute value change to take effect.",
362*5ecf7b4eSGunnar Mills                    "readonly": true,
363*5ecf7b4eSGunnar Mills                    "type": [
364*5ecf7b4eSGunnar Mills                        "boolean",
365*5ecf7b4eSGunnar Mills                        "null"
366*5ecf7b4eSGunnar Mills                    ],
367*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
368*5ecf7b4eSGunnar Mills                },
369*5ecf7b4eSGunnar Mills                "ScalarIncrement": {
370*5ecf7b4eSGunnar Mills                    "description": "The amount to increment or decrement an integer attribute each time a user requests a value change.  The `0` value indicates a free-form numeric user-input attribute.",
371*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a number indicating the amount to increment or decrement an integer attribute each time a user requests a value change.  The `0` value indicates a free-form numeric user-input attribute.",
372*5ecf7b4eSGunnar Mills                    "readonly": true,
373*5ecf7b4eSGunnar Mills                    "type": [
374*5ecf7b4eSGunnar Mills                        "integer",
375*5ecf7b4eSGunnar Mills                        "null"
376*5ecf7b4eSGunnar Mills                    ]
377*5ecf7b4eSGunnar Mills                },
378*5ecf7b4eSGunnar Mills                "Type": {
379*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/AttributeType",
380*5ecf7b4eSGunnar Mills                    "description": "The attribute type.",
381*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an enumeration that describes the attribute type.",
382*5ecf7b4eSGunnar Mills                    "readonly": true
383*5ecf7b4eSGunnar Mills                },
384*5ecf7b4eSGunnar Mills                "UefiDevicePath": {
385*5ecf7b4eSGunnar Mills                    "description": "The UEFI device path that qualifies this attribute.",
386*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the UEFI Specification-defined UEFI device path that qualifies and locates this device for this attribute.",
387*5ecf7b4eSGunnar Mills                    "readonly": true,
388*5ecf7b4eSGunnar Mills                    "type": [
389*5ecf7b4eSGunnar Mills                        "string",
390*5ecf7b4eSGunnar Mills                        "null"
391*5ecf7b4eSGunnar Mills                    ],
392*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
393*5ecf7b4eSGunnar Mills                },
394*5ecf7b4eSGunnar Mills                "UefiKeywordName": {
395*5ecf7b4eSGunnar Mills                    "description": "The UEFI keyword string for this attribute.",
396*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the UEFI Specification-defined keyword for this attribute.",
397*5ecf7b4eSGunnar Mills                    "readonly": true,
398*5ecf7b4eSGunnar Mills                    "type": "string",
399*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
400*5ecf7b4eSGunnar Mills                },
401*5ecf7b4eSGunnar Mills                "UefiNamespaceId": {
402*5ecf7b4eSGunnar Mills                    "description": "The UEFI namespace ID for the attribute.",
403*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the UEFI Specification-defined namespace ID for this attribute.",
404*5ecf7b4eSGunnar Mills                    "readonly": true,
405*5ecf7b4eSGunnar Mills                    "type": "string",
406*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
407*5ecf7b4eSGunnar Mills                },
408*5ecf7b4eSGunnar Mills                "UpperBound": {
409*5ecf7b4eSGunnar Mills                    "description": "The upper limit for an integer attribute.",
410*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a number indicating the upper limit for an integer attribute.",
411*5ecf7b4eSGunnar Mills                    "readonly": true,
412*5ecf7b4eSGunnar Mills                    "type": [
413*5ecf7b4eSGunnar Mills                        "integer",
414*5ecf7b4eSGunnar Mills                        "null"
415*5ecf7b4eSGunnar Mills                    ]
416*5ecf7b4eSGunnar Mills                },
417*5ecf7b4eSGunnar Mills                "Value": {
418*5ecf7b4eSGunnar Mills                    "description": "An array of the possible values for enumerated attribute values.",
419*5ecf7b4eSGunnar Mills                    "items": {
420*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/AttributeValue"
421*5ecf7b4eSGunnar Mills                    },
422*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array containing the possible values of an attribute of the `Enumeration` type.",
423*5ecf7b4eSGunnar Mills                    "type": "array"
424*5ecf7b4eSGunnar Mills                },
425*5ecf7b4eSGunnar Mills                "ValueExpression": {
426*5ecf7b4eSGunnar Mills                    "description": "A valid regular expression, according to the Perl regular expression dialect, that validates the attribute value.  Applies to only string and integer attributes.",
427*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a valid regular expression, according to the Perl regular expression dialect, that validates the attribute value.  Applies to only string and integer attributes.",
428*5ecf7b4eSGunnar Mills                    "readonly": true,
429*5ecf7b4eSGunnar Mills                    "type": [
430*5ecf7b4eSGunnar Mills                        "string",
431*5ecf7b4eSGunnar Mills                        "null"
432*5ecf7b4eSGunnar Mills                    ]
433*5ecf7b4eSGunnar Mills                },
434*5ecf7b4eSGunnar Mills                "WarningText": {
435*5ecf7b4eSGunnar Mills                    "description": "The warning text for the attribute.",
436*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the warning text for the attribute.",
437*5ecf7b4eSGunnar Mills                    "readonly": true,
438*5ecf7b4eSGunnar Mills                    "type": [
439*5ecf7b4eSGunnar Mills                        "string",
440*5ecf7b4eSGunnar Mills                        "null"
441*5ecf7b4eSGunnar Mills                    ]
442*5ecf7b4eSGunnar Mills                },
443*5ecf7b4eSGunnar Mills                "WriteOnly": {
444*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this attribute is write-only.  A write-only attribute reverts to its initial value after settings are applied.",
445*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this attribute is write-only.  A write-only attribute reverts to its initial value after settings are applied.",
446*5ecf7b4eSGunnar Mills                    "readonly": true,
447*5ecf7b4eSGunnar Mills                    "type": [
448*5ecf7b4eSGunnar Mills                        "boolean",
449*5ecf7b4eSGunnar Mills                        "null"
450*5ecf7b4eSGunnar Mills                    ]
451*5ecf7b4eSGunnar Mills                }
452*5ecf7b4eSGunnar Mills            },
453*5ecf7b4eSGunnar Mills            "required": [
454*5ecf7b4eSGunnar Mills                "AttributeName"
455*5ecf7b4eSGunnar Mills            ],
456*5ecf7b4eSGunnar Mills            "type": "object"
457*5ecf7b4eSGunnar Mills        },
458*5ecf7b4eSGunnar Mills        "Dependencies": {
459*5ecf7b4eSGunnar Mills            "additionalProperties": false,
460*5ecf7b4eSGunnar Mills            "description": "The dependency of attributes on this component.",
461*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe a dependency of attributes on this component.",
462*5ecf7b4eSGunnar Mills            "patternProperties": {
463*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
464*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
465*5ecf7b4eSGunnar Mills                    "type": [
466*5ecf7b4eSGunnar Mills                        "array",
467*5ecf7b4eSGunnar Mills                        "boolean",
468*5ecf7b4eSGunnar Mills                        "integer",
469*5ecf7b4eSGunnar Mills                        "number",
470*5ecf7b4eSGunnar Mills                        "null",
471*5ecf7b4eSGunnar Mills                        "object",
472*5ecf7b4eSGunnar Mills                        "string"
473*5ecf7b4eSGunnar Mills                    ]
474*5ecf7b4eSGunnar Mills                }
475*5ecf7b4eSGunnar Mills            },
476*5ecf7b4eSGunnar Mills            "properties": {
477*5ecf7b4eSGunnar Mills                "Dependency": {
478*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Dependency",
479*5ecf7b4eSGunnar Mills                    "description": "The dependency expression for one or more attributes in this attribute registry.",
480*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the dependency expression for one or more attributes in this attribute registry."
481*5ecf7b4eSGunnar Mills                },
482*5ecf7b4eSGunnar Mills                "DependencyFor": {
483*5ecf7b4eSGunnar Mills                    "description": "The `AttributeName` of the attribute whose change triggers the evaluation of this dependency expression.",
484*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the `AttributeName` of the attribute whose change triggers the evaluation of this dependency expression.",
485*5ecf7b4eSGunnar Mills                    "pattern": "^[A-Za-z][A-Za-z0-9_]+$",
486*5ecf7b4eSGunnar Mills                    "readonly": true,
487*5ecf7b4eSGunnar Mills                    "type": "string"
488*5ecf7b4eSGunnar Mills                },
489*5ecf7b4eSGunnar Mills                "Type": {
490*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/DependencyType",
491*5ecf7b4eSGunnar Mills                    "description": "The type of the dependency structure.",
492*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an enumeration that describes the type for the attribute dependency.",
493*5ecf7b4eSGunnar Mills                    "readonly": true
494*5ecf7b4eSGunnar Mills                }
495*5ecf7b4eSGunnar Mills            },
496*5ecf7b4eSGunnar Mills            "type": "object"
497*5ecf7b4eSGunnar Mills        },
498*5ecf7b4eSGunnar Mills        "Dependency": {
499*5ecf7b4eSGunnar Mills            "additionalProperties": false,
500*5ecf7b4eSGunnar Mills            "description": "The dependency expression for one or more attributes in this attribute registry.",
501*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe the dependency expression for one or more attributes in this attribute registry.",
502*5ecf7b4eSGunnar Mills            "patternProperties": {
503*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
504*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
505*5ecf7b4eSGunnar Mills                    "type": [
506*5ecf7b4eSGunnar Mills                        "array",
507*5ecf7b4eSGunnar Mills                        "boolean",
508*5ecf7b4eSGunnar Mills                        "integer",
509*5ecf7b4eSGunnar Mills                        "number",
510*5ecf7b4eSGunnar Mills                        "null",
511*5ecf7b4eSGunnar Mills                        "object",
512*5ecf7b4eSGunnar Mills                        "string"
513*5ecf7b4eSGunnar Mills                    ]
514*5ecf7b4eSGunnar Mills                }
515*5ecf7b4eSGunnar Mills            },
516*5ecf7b4eSGunnar Mills            "properties": {
517*5ecf7b4eSGunnar Mills                "MapFrom": {
518*5ecf7b4eSGunnar Mills                    "description": "An array of the map-from conditions for a mapping dependency.",
519*5ecf7b4eSGunnar Mills                    "items": {
520*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/MapFrom"
521*5ecf7b4eSGunnar Mills                    },
522*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array containing the map-from conditions for a dependency of the `Map` type.",
523*5ecf7b4eSGunnar Mills                    "type": "array"
524*5ecf7b4eSGunnar Mills                },
525*5ecf7b4eSGunnar Mills                "MapToAttribute": {
526*5ecf7b4eSGunnar Mills                    "description": "The `AttributeName` of the attribute that is affected by this dependency expression.",
527*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the `AttributeName` of the attribute that is affected by this dependency expression.",
528*5ecf7b4eSGunnar Mills                    "pattern": "^[A-Za-z][A-Za-z0-9_]+$",
529*5ecf7b4eSGunnar Mills                    "readonly": true,
530*5ecf7b4eSGunnar Mills                    "type": "string"
531*5ecf7b4eSGunnar Mills                },
532*5ecf7b4eSGunnar Mills                "MapToProperty": {
533*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/MapToProperty",
534*5ecf7b4eSGunnar Mills                    "description": "The metadata property for the attribute that contains the map-from condition that evaluates this dependency expression.",
535*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the metadata property for the attribute that the `MapFromAttribute` property specifies that evaluates this dependency expression.  For example, this value could be the `MapFromAttribute` `CurrentValue` or `ReadOnly` state.",
536*5ecf7b4eSGunnar Mills                    "readonly": true
537*5ecf7b4eSGunnar Mills                },
538*5ecf7b4eSGunnar Mills                "MapToValue": {
539*5ecf7b4eSGunnar Mills                    "description": "The value that the map-to property changes to if the dependency expression evaluates to `true`.",
540*5ecf7b4eSGunnar Mills                    "longDescription": "The value that the property in `MapToProperty` in the attribute specified in `MapToAttribute` changes to if the dependency expression evaluates to `true`.",
541*5ecf7b4eSGunnar Mills                    "readonly": true,
542*5ecf7b4eSGunnar Mills                    "type": [
543*5ecf7b4eSGunnar Mills                        "string",
544*5ecf7b4eSGunnar Mills                        "boolean",
545*5ecf7b4eSGunnar Mills                        "number",
546*5ecf7b4eSGunnar Mills                        "null"
547*5ecf7b4eSGunnar Mills                    ]
548*5ecf7b4eSGunnar Mills                }
549*5ecf7b4eSGunnar Mills            },
550*5ecf7b4eSGunnar Mills            "type": "object"
551*5ecf7b4eSGunnar Mills        },
552*5ecf7b4eSGunnar Mills        "DependencyType": {
553*5ecf7b4eSGunnar Mills            "enum": [
554*5ecf7b4eSGunnar Mills                "Map"
555*5ecf7b4eSGunnar Mills            ],
556*5ecf7b4eSGunnar Mills            "enumDescriptions": {
557*5ecf7b4eSGunnar Mills                "Map": "A simple mapping dependency.  If the condition evaluates to `true`, the attribute or state changes to the mapped value."
558*5ecf7b4eSGunnar Mills            },
559*5ecf7b4eSGunnar Mills            "type": "string"
560*5ecf7b4eSGunnar Mills        },
561*5ecf7b4eSGunnar Mills        "MapFrom": {
562*5ecf7b4eSGunnar Mills            "additionalProperties": false,
563*5ecf7b4eSGunnar Mills            "description": "A map-from condition for mapping dependency.",
564*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe a map-from condition for a dependency of the Map type.",
565*5ecf7b4eSGunnar Mills            "patternProperties": {
566*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
567*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
568*5ecf7b4eSGunnar Mills                    "type": [
569*5ecf7b4eSGunnar Mills                        "array",
570*5ecf7b4eSGunnar Mills                        "boolean",
571*5ecf7b4eSGunnar Mills                        "integer",
572*5ecf7b4eSGunnar Mills                        "number",
573*5ecf7b4eSGunnar Mills                        "null",
574*5ecf7b4eSGunnar Mills                        "object",
575*5ecf7b4eSGunnar Mills                        "string"
576*5ecf7b4eSGunnar Mills                    ]
577*5ecf7b4eSGunnar Mills                }
578*5ecf7b4eSGunnar Mills            },
579*5ecf7b4eSGunnar Mills            "properties": {
580*5ecf7b4eSGunnar Mills                "MapFromAttribute": {
581*5ecf7b4eSGunnar Mills                    "description": "The attribute to use to evaluate this dependency expression.",
582*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the `AttributeName` for the attribute to use to evaluate this dependency expression term.",
583*5ecf7b4eSGunnar Mills                    "pattern": "^[A-Za-z][A-Za-z0-9_]+$",
584*5ecf7b4eSGunnar Mills                    "readonly": true,
585*5ecf7b4eSGunnar Mills                    "type": "string"
586*5ecf7b4eSGunnar Mills                },
587*5ecf7b4eSGunnar Mills                "MapFromCondition": {
588*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/MapFromCondition",
589*5ecf7b4eSGunnar Mills                    "description": "The condition to use to evaluate this dependency expression.",
590*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the condition to use to evaluate this dependency expression.  For example, `EQU` or `NEQ`.",
591*5ecf7b4eSGunnar Mills                    "readonly": true
592*5ecf7b4eSGunnar Mills                },
593*5ecf7b4eSGunnar Mills                "MapFromProperty": {
594*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/MapFromProperty",
595*5ecf7b4eSGunnar Mills                    "description": "The metadata property for the attribute that the `MapFromAttribute` property specifies to use to evaluate this dependency expression.",
596*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the metadata property for the attribute that the `MapFromAttribute` property specifies to use to evaluate this dependency expression.  For example, this value could be the `MapFromAttribute` `CurrentValue`, or `ReadOnly` state.",
597*5ecf7b4eSGunnar Mills                    "readonly": true
598*5ecf7b4eSGunnar Mills                },
599*5ecf7b4eSGunnar Mills                "MapFromValue": {
600*5ecf7b4eSGunnar Mills                    "description": "The value to use to evaluate this dependency expression.",
601*5ecf7b4eSGunnar Mills                    "longDescription": "The value that the property in `MapFromProperty` in the attribute in `MapFromAttribute` to use to evaluate this dependency expression.",
602*5ecf7b4eSGunnar Mills                    "readonly": true,
603*5ecf7b4eSGunnar Mills                    "type": [
604*5ecf7b4eSGunnar Mills                        "string",
605*5ecf7b4eSGunnar Mills                        "boolean",
606*5ecf7b4eSGunnar Mills                        "number",
607*5ecf7b4eSGunnar Mills                        "null"
608*5ecf7b4eSGunnar Mills                    ]
609*5ecf7b4eSGunnar Mills                },
610*5ecf7b4eSGunnar Mills                "MapTerms": {
611*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/MapTerms",
612*5ecf7b4eSGunnar Mills                    "description": "The logical term that combines two or more map-from conditions in this dependency expression.  For example, `AND` for logical AND, or `OR` for logical OR.",
613*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the logical term that combines two or more `MapFrom` conditions in this dependency expression.  For example, `AND` for logical AND, or `OR` for logical OR.  If multiple logical terms are present in a dependency expression, they should be evaluated in array order, meaning they are evaluated left-to-right when displayed as a logic expression.",
614*5ecf7b4eSGunnar Mills                    "readonly": true
615*5ecf7b4eSGunnar Mills                }
616*5ecf7b4eSGunnar Mills            },
617*5ecf7b4eSGunnar Mills            "type": "object"
618*5ecf7b4eSGunnar Mills        },
619*5ecf7b4eSGunnar Mills        "MapFromCondition": {
620*5ecf7b4eSGunnar Mills            "enum": [
621*5ecf7b4eSGunnar Mills                "EQU",
622*5ecf7b4eSGunnar Mills                "NEQ",
623*5ecf7b4eSGunnar Mills                "GTR",
624*5ecf7b4eSGunnar Mills                "GEQ",
625*5ecf7b4eSGunnar Mills                "LSS",
626*5ecf7b4eSGunnar Mills                "LEQ"
627*5ecf7b4eSGunnar Mills            ],
628*5ecf7b4eSGunnar Mills            "enumDescriptions": {
629*5ecf7b4eSGunnar Mills                "EQU": "The logical operation for 'Equal'.",
630*5ecf7b4eSGunnar Mills                "GEQ": "The logical operation for 'Greater than or Equal'.",
631*5ecf7b4eSGunnar Mills                "GTR": "The logical operation for 'Greater than'.",
632*5ecf7b4eSGunnar Mills                "LEQ": "The logical operation for 'Less than or Equal'.",
633*5ecf7b4eSGunnar Mills                "LSS": "The logical operation for 'Less than'.",
634*5ecf7b4eSGunnar Mills                "NEQ": "The logical operation for 'Not Equal'."
635*5ecf7b4eSGunnar Mills            },
636*5ecf7b4eSGunnar Mills            "type": "string"
637*5ecf7b4eSGunnar Mills        },
638*5ecf7b4eSGunnar Mills        "MapFromProperty": {
639*5ecf7b4eSGunnar Mills            "enum": [
640*5ecf7b4eSGunnar Mills                "CurrentValue",
641*5ecf7b4eSGunnar Mills                "DefaultValue",
642*5ecf7b4eSGunnar Mills                "ReadOnly",
643*5ecf7b4eSGunnar Mills                "WriteOnly",
644*5ecf7b4eSGunnar Mills                "GrayOut",
645*5ecf7b4eSGunnar Mills                "Hidden",
646*5ecf7b4eSGunnar Mills                "LowerBound",
647*5ecf7b4eSGunnar Mills                "UpperBound",
648*5ecf7b4eSGunnar Mills                "MinLength",
649*5ecf7b4eSGunnar Mills                "MaxLength",
650*5ecf7b4eSGunnar Mills                "ScalarIncrement"
651*5ecf7b4eSGunnar Mills            ],
652*5ecf7b4eSGunnar Mills            "enumDescriptions": {
653*5ecf7b4eSGunnar Mills                "CurrentValue": "The dependency on an attribute's `CurrentValue`.",
654*5ecf7b4eSGunnar Mills                "DefaultValue": "The dependency on an attribute's `DefaultValue`.",
655*5ecf7b4eSGunnar Mills                "GrayOut": "The dependency on an attribute's `GrayOut` state.",
656*5ecf7b4eSGunnar Mills                "Hidden": "The dependency on an attribute's `Hidden` state.",
657*5ecf7b4eSGunnar Mills                "LowerBound": "The dependency on an attribute's `LowerBound`.",
658*5ecf7b4eSGunnar Mills                "MaxLength": "The dependency on an attribute's `MaxLength`.",
659*5ecf7b4eSGunnar Mills                "MinLength": "The dependency on an attribute's `MinLength`.",
660*5ecf7b4eSGunnar Mills                "ReadOnly": "The dependency on an attribute's `ReadOnly` state.",
661*5ecf7b4eSGunnar Mills                "ScalarIncrement": "The dependency on an attribute's `ScalarIncrement`.",
662*5ecf7b4eSGunnar Mills                "UpperBound": "The dependency on an attribute's `UpperBound`.",
663*5ecf7b4eSGunnar Mills                "WriteOnly": "The dependency on an attribute's `WriteOnly` state."
664*5ecf7b4eSGunnar Mills            },
665*5ecf7b4eSGunnar Mills            "type": "string"
666*5ecf7b4eSGunnar Mills        },
667*5ecf7b4eSGunnar Mills        "MapTerms": {
668*5ecf7b4eSGunnar Mills            "enum": [
669*5ecf7b4eSGunnar Mills                "AND",
670*5ecf7b4eSGunnar Mills                "OR"
671*5ecf7b4eSGunnar Mills            ],
672*5ecf7b4eSGunnar Mills            "enumDescriptions": {
673*5ecf7b4eSGunnar Mills                "AND": "The operation used for logical 'AND' of dependency terms.",
674*5ecf7b4eSGunnar Mills                "OR": "The operation used for logical 'OR' of dependency terms."
675*5ecf7b4eSGunnar Mills            },
676*5ecf7b4eSGunnar Mills            "type": "string"
677*5ecf7b4eSGunnar Mills        },
678*5ecf7b4eSGunnar Mills        "MapToProperty": {
679*5ecf7b4eSGunnar Mills            "enum": [
680*5ecf7b4eSGunnar Mills                "CurrentValue",
681*5ecf7b4eSGunnar Mills                "DefaultValue",
682*5ecf7b4eSGunnar Mills                "ReadOnly",
683*5ecf7b4eSGunnar Mills                "WriteOnly",
684*5ecf7b4eSGunnar Mills                "GrayOut",
685*5ecf7b4eSGunnar Mills                "Hidden",
686*5ecf7b4eSGunnar Mills                "Immutable",
687*5ecf7b4eSGunnar Mills                "HelpText",
688*5ecf7b4eSGunnar Mills                "WarningText",
689*5ecf7b4eSGunnar Mills                "DisplayName",
690*5ecf7b4eSGunnar Mills                "DisplayOrder",
691*5ecf7b4eSGunnar Mills                "LowerBound",
692*5ecf7b4eSGunnar Mills                "UpperBound",
693*5ecf7b4eSGunnar Mills                "MinLength",
694*5ecf7b4eSGunnar Mills                "MaxLength",
695*5ecf7b4eSGunnar Mills                "ScalarIncrement",
696*5ecf7b4eSGunnar Mills                "ValueExpression"
697*5ecf7b4eSGunnar Mills            ],
698*5ecf7b4eSGunnar Mills            "enumDescriptions": {
699*5ecf7b4eSGunnar Mills                "CurrentValue": "The dependency that affects an attribute's `CurrentValue`.",
700*5ecf7b4eSGunnar Mills                "DefaultValue": "The dependency that affects an attribute's `DefaultValue`.",
701*5ecf7b4eSGunnar Mills                "DisplayName": "The dependency that affects an attribute's `DisplayName`.",
702*5ecf7b4eSGunnar Mills                "DisplayOrder": "The dependency that affects an attribute's `DisplayName`.",
703*5ecf7b4eSGunnar Mills                "GrayOut": "The dependency that affects an attribute's `GrayOut` state.",
704*5ecf7b4eSGunnar Mills                "HelpText": "The dependency that affects an attribute's `HelpText`.",
705*5ecf7b4eSGunnar Mills                "Hidden": "The dependency that affects an attribute's `Hidden` state.",
706*5ecf7b4eSGunnar Mills                "Immutable": "The dependency that affects an attribute's `Immutable` state.",
707*5ecf7b4eSGunnar Mills                "LowerBound": "The dependency that affects an attribute's `LowerBound`.",
708*5ecf7b4eSGunnar Mills                "MaxLength": "The dependency that affects an attribute's `MaxLength`.",
709*5ecf7b4eSGunnar Mills                "MinLength": "The dependency that affects an attribute's `MinLength`.",
710*5ecf7b4eSGunnar Mills                "ReadOnly": "The dependency that affects an attribute's `ReadOnly` state.",
711*5ecf7b4eSGunnar Mills                "ScalarIncrement": "The dependency that affects an attribute's `ScalarIncrement`.",
712*5ecf7b4eSGunnar Mills                "UpperBound": "The dependency that affects an attribute's `UpperBound`.",
713*5ecf7b4eSGunnar Mills                "ValueExpression": "The dependency that affects an attribute's `ValueExpression`.",
714*5ecf7b4eSGunnar Mills                "WarningText": "The dependency that affects an attribute's `WarningText`.",
715*5ecf7b4eSGunnar Mills                "WriteOnly": "The dependency that affects an attribute's `WriteOnly` state."
716*5ecf7b4eSGunnar Mills            },
717*5ecf7b4eSGunnar Mills            "type": "string"
718*5ecf7b4eSGunnar Mills        },
719*5ecf7b4eSGunnar Mills        "Menus": {
720*5ecf7b4eSGunnar Mills            "additionalProperties": false,
721*5ecf7b4eSGunnar Mills            "description": "An attribute's menu and its hierarchy.",
722*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe an attribute's menu and its hierarchy.",
723*5ecf7b4eSGunnar Mills            "patternProperties": {
724*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
725*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
726*5ecf7b4eSGunnar Mills                    "type": [
727*5ecf7b4eSGunnar Mills                        "array",
728*5ecf7b4eSGunnar Mills                        "boolean",
729*5ecf7b4eSGunnar Mills                        "integer",
730*5ecf7b4eSGunnar Mills                        "number",
731*5ecf7b4eSGunnar Mills                        "null",
732*5ecf7b4eSGunnar Mills                        "object",
733*5ecf7b4eSGunnar Mills                        "string"
734*5ecf7b4eSGunnar Mills                    ]
735*5ecf7b4eSGunnar Mills                }
736*5ecf7b4eSGunnar Mills            },
737*5ecf7b4eSGunnar Mills            "properties": {
738*5ecf7b4eSGunnar Mills                "DisplayName": {
739*5ecf7b4eSGunnar Mills                    "description": "The user-readable display string of this menu in the defined language.",
740*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the user-readable display string of the menu in the defined language.",
741*5ecf7b4eSGunnar Mills                    "readonly": true,
742*5ecf7b4eSGunnar Mills                    "type": [
743*5ecf7b4eSGunnar Mills                        "string",
744*5ecf7b4eSGunnar Mills                        "null"
745*5ecf7b4eSGunnar Mills                    ]
746*5ecf7b4eSGunnar Mills                },
747*5ecf7b4eSGunnar Mills                "DisplayOrder": {
748*5ecf7b4eSGunnar Mills                    "description": "The ascending order, as a number, in which this menu appears relative to other menus.",
749*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the ascending order, as a number, in which this menu appears relative to other menus.",
750*5ecf7b4eSGunnar Mills                    "readonly": true,
751*5ecf7b4eSGunnar Mills                    "type": [
752*5ecf7b4eSGunnar Mills                        "integer",
753*5ecf7b4eSGunnar Mills                        "null"
754*5ecf7b4eSGunnar Mills                    ]
755*5ecf7b4eSGunnar Mills                },
756*5ecf7b4eSGunnar Mills                "GrayOut": {
757*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this menu is grayed out.  A grayed-only menu is not accessible in user interfaces.",
758*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this menu is grayed out.  A grayed-only menu is not accessible in user interfaces.",
759*5ecf7b4eSGunnar Mills                    "readonly": true,
760*5ecf7b4eSGunnar Mills                    "type": [
761*5ecf7b4eSGunnar Mills                        "boolean",
762*5ecf7b4eSGunnar Mills                        "null"
763*5ecf7b4eSGunnar Mills                    ]
764*5ecf7b4eSGunnar Mills                },
765*5ecf7b4eSGunnar Mills                "Hidden": {
766*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this menu is hidden in user interfaces.",
767*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this menu is hidden in user interfaces.  The evaluation results of the `Dependencies` array may affect the hidden state of a menu.",
768*5ecf7b4eSGunnar Mills                    "readonly": true,
769*5ecf7b4eSGunnar Mills                    "type": [
770*5ecf7b4eSGunnar Mills                        "boolean",
771*5ecf7b4eSGunnar Mills                        "null"
772*5ecf7b4eSGunnar Mills                    ],
773*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_3_0"
774*5ecf7b4eSGunnar Mills                },
775*5ecf7b4eSGunnar Mills                "MenuName": {
776*5ecf7b4eSGunnar Mills                    "description": "The unique name string of this menu.",
777*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the name of this menu that is unique in this attribute registry.",
778*5ecf7b4eSGunnar Mills                    "pattern": "^[^/]+$",
779*5ecf7b4eSGunnar Mills                    "readonly": true,
780*5ecf7b4eSGunnar Mills                    "type": "string"
781*5ecf7b4eSGunnar Mills                },
782*5ecf7b4eSGunnar Mills                "MenuPath": {
783*5ecf7b4eSGunnar Mills                    "description": "The path to the menu names that describes this menu hierarchy relative to other menus.",
784*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the menu hierarchy of this menu, in the form of a path to the menu names.  It shall start with `./` to indicate the root menu, followed by the menu names with `/` characters to delineate the menu traversal.",
785*5ecf7b4eSGunnar Mills                    "pattern": "^\\.\\/([^/]+(\\/[^/]+)*)?$",
786*5ecf7b4eSGunnar Mills                    "readonly": true,
787*5ecf7b4eSGunnar Mills                    "type": [
788*5ecf7b4eSGunnar Mills                        "string",
789*5ecf7b4eSGunnar Mills                        "null"
790*5ecf7b4eSGunnar Mills                    ]
791*5ecf7b4eSGunnar Mills                },
792*5ecf7b4eSGunnar Mills                "Oem": {
793*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
794*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
795*5ecf7b4eSGunnar 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.",
796*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_3_0"
797*5ecf7b4eSGunnar Mills                },
798*5ecf7b4eSGunnar Mills                "ReadOnly": {
799*5ecf7b4eSGunnar Mills                    "description": "An indication of whether this menu is read-only.  A read-only menu, its properties, and sub-menus are not accessible in user interfaces.",
800*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether this menu is read-only.  A read-only menu is not accessible in user interfaces, and all properties contained in that menu and its sub-menus are read-only.",
801*5ecf7b4eSGunnar Mills                    "readonly": true,
802*5ecf7b4eSGunnar Mills                    "type": [
803*5ecf7b4eSGunnar Mills                        "boolean",
804*5ecf7b4eSGunnar Mills                        "null"
805*5ecf7b4eSGunnar Mills                    ]
806*5ecf7b4eSGunnar Mills                }
807*5ecf7b4eSGunnar Mills            },
808*5ecf7b4eSGunnar Mills            "type": "object"
809*5ecf7b4eSGunnar Mills        },
810*5ecf7b4eSGunnar Mills        "OemActions": {
811*5ecf7b4eSGunnar Mills            "additionalProperties": true,
812*5ecf7b4eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
813*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
814*5ecf7b4eSGunnar Mills            "patternProperties": {
815*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
816*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
817*5ecf7b4eSGunnar Mills                    "type": [
818*5ecf7b4eSGunnar Mills                        "array",
819*5ecf7b4eSGunnar Mills                        "boolean",
820*5ecf7b4eSGunnar Mills                        "integer",
821*5ecf7b4eSGunnar Mills                        "number",
822*5ecf7b4eSGunnar Mills                        "null",
823*5ecf7b4eSGunnar Mills                        "object",
824*5ecf7b4eSGunnar Mills                        "string"
825*5ecf7b4eSGunnar Mills                    ]
826*5ecf7b4eSGunnar Mills                }
827*5ecf7b4eSGunnar Mills            },
828*5ecf7b4eSGunnar Mills            "properties": {},
829*5ecf7b4eSGunnar Mills            "type": "object"
830*5ecf7b4eSGunnar Mills        },
831*5ecf7b4eSGunnar Mills        "RegistryEntries": {
832*5ecf7b4eSGunnar Mills            "additionalProperties": false,
833*5ecf7b4eSGunnar Mills            "description": "The list of all attributes and metadata for this component.",
834*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe a list of all attributes for this component, along with their possible values, dependencies, and other metadata.",
835*5ecf7b4eSGunnar Mills            "patternProperties": {
836*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
837*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
838*5ecf7b4eSGunnar Mills                    "type": [
839*5ecf7b4eSGunnar Mills                        "array",
840*5ecf7b4eSGunnar Mills                        "boolean",
841*5ecf7b4eSGunnar Mills                        "integer",
842*5ecf7b4eSGunnar Mills                        "number",
843*5ecf7b4eSGunnar Mills                        "null",
844*5ecf7b4eSGunnar Mills                        "object",
845*5ecf7b4eSGunnar Mills                        "string"
846*5ecf7b4eSGunnar Mills                    ]
847*5ecf7b4eSGunnar Mills                }
848*5ecf7b4eSGunnar Mills            },
849*5ecf7b4eSGunnar Mills            "properties": {
850*5ecf7b4eSGunnar Mills                "Attributes": {
851*5ecf7b4eSGunnar Mills                    "description": "An array of attributes and their possible values in the attribute registry.",
852*5ecf7b4eSGunnar Mills                    "items": {
853*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/Attributes"
854*5ecf7b4eSGunnar Mills                    },
855*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array containing the attributes and their possible values and other metadata in the attribute registry.",
856*5ecf7b4eSGunnar Mills                    "type": "array"
857*5ecf7b4eSGunnar Mills                },
858*5ecf7b4eSGunnar Mills                "Dependencies": {
859*5ecf7b4eSGunnar Mills                    "description": "An array of dependencies of attributes on this component.",
860*5ecf7b4eSGunnar Mills                    "items": {
861*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/Dependencies"
862*5ecf7b4eSGunnar Mills                    },
863*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array containing a list of dependencies of attributes on this component.",
864*5ecf7b4eSGunnar Mills                    "type": "array"
865*5ecf7b4eSGunnar Mills                },
866*5ecf7b4eSGunnar Mills                "Menus": {
867*5ecf7b4eSGunnar Mills                    "description": "An array for the attributes menus and their hierarchy in the attribute registry.",
868*5ecf7b4eSGunnar Mills                    "items": {
869*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/Menus"
870*5ecf7b4eSGunnar Mills                    },
871*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array containing the attributes menus and their hierarchy in the attribute registry.",
872*5ecf7b4eSGunnar Mills                    "type": "array"
873*5ecf7b4eSGunnar Mills                }
874*5ecf7b4eSGunnar Mills            },
875*5ecf7b4eSGunnar Mills            "type": "object"
876*5ecf7b4eSGunnar Mills        },
877*5ecf7b4eSGunnar Mills        "RequiredPrivileges": {
878*5ecf7b4eSGunnar Mills            "additionalProperties": false,
879*5ecf7b4eSGunnar Mills            "description": "The privileges to modify an attribute.",
880*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe the privileges required to modify an attribute.",
881*5ecf7b4eSGunnar Mills            "patternProperties": {
882*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
883*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
884*5ecf7b4eSGunnar Mills                    "type": [
885*5ecf7b4eSGunnar Mills                        "array",
886*5ecf7b4eSGunnar Mills                        "boolean",
887*5ecf7b4eSGunnar Mills                        "integer",
888*5ecf7b4eSGunnar Mills                        "number",
889*5ecf7b4eSGunnar Mills                        "null",
890*5ecf7b4eSGunnar Mills                        "object",
891*5ecf7b4eSGunnar Mills                        "string"
892*5ecf7b4eSGunnar Mills                    ]
893*5ecf7b4eSGunnar Mills                }
894*5ecf7b4eSGunnar Mills            },
895*5ecf7b4eSGunnar Mills            "properties": {
896*5ecf7b4eSGunnar Mills                "Privileges": {
897*5ecf7b4eSGunnar Mills                    "description": "An array of privileges that are required to modify this attribute.",
898*5ecf7b4eSGunnar Mills                    "items": {
899*5ecf7b4eSGunnar Mills                        "type": "string"
900*5ecf7b4eSGunnar Mills                    },
901*5ecf7b4eSGunnar Mills                    "longDescription": "This array shall contain an array of privileges that are required to modify this attribute.  This property shall contain strings from the `PrivilegesUsed` and `OEMPrivilegesUsed` properties in the privilege registry of this service.",
902*5ecf7b4eSGunnar Mills                    "readonly": true,
903*5ecf7b4eSGunnar Mills                    "type": "array",
904*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_4_0"
905*5ecf7b4eSGunnar Mills                }
906*5ecf7b4eSGunnar Mills            },
907*5ecf7b4eSGunnar Mills            "type": "object"
908*5ecf7b4eSGunnar Mills        },
909*5ecf7b4eSGunnar Mills        "SupportedSystems": {
910*5ecf7b4eSGunnar Mills            "additionalProperties": false,
911*5ecf7b4eSGunnar Mills            "description": "A system that this attribute registry supports.",
912*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe a system that this attribute registry supports.",
913*5ecf7b4eSGunnar Mills            "patternProperties": {
914*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
915*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
916*5ecf7b4eSGunnar Mills                    "type": [
917*5ecf7b4eSGunnar Mills                        "array",
918*5ecf7b4eSGunnar Mills                        "boolean",
919*5ecf7b4eSGunnar Mills                        "integer",
920*5ecf7b4eSGunnar Mills                        "number",
921*5ecf7b4eSGunnar Mills                        "null",
922*5ecf7b4eSGunnar Mills                        "object",
923*5ecf7b4eSGunnar Mills                        "string"
924*5ecf7b4eSGunnar Mills                    ]
925*5ecf7b4eSGunnar Mills                }
926*5ecf7b4eSGunnar Mills            },
927*5ecf7b4eSGunnar Mills            "properties": {
928*5ecf7b4eSGunnar Mills                "FirmwareVersion": {
929*5ecf7b4eSGunnar Mills                    "description": "Firmware version.",
930*5ecf7b4eSGunnar Mills                    "longDescription": "The version of the component firmware image to which this attribute registry applies.",
931*5ecf7b4eSGunnar Mills                    "readonly": true,
932*5ecf7b4eSGunnar Mills                    "type": [
933*5ecf7b4eSGunnar Mills                        "string",
934*5ecf7b4eSGunnar Mills                        "null"
935*5ecf7b4eSGunnar Mills                    ],
936*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
937*5ecf7b4eSGunnar Mills                },
938*5ecf7b4eSGunnar Mills                "ProductName": {
939*5ecf7b4eSGunnar Mills                    "description": "The product name of the computer system to which this attribute registry applies.",
940*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the product name of the computer system to which this attribute registry applies.",
941*5ecf7b4eSGunnar Mills                    "readonly": true,
942*5ecf7b4eSGunnar Mills                    "type": [
943*5ecf7b4eSGunnar Mills                        "string",
944*5ecf7b4eSGunnar Mills                        "null"
945*5ecf7b4eSGunnar Mills                    ]
946*5ecf7b4eSGunnar Mills                },
947*5ecf7b4eSGunnar Mills                "SystemId": {
948*5ecf7b4eSGunnar Mills                    "description": "The ID of the systems to which this attribute registry applies.",
949*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the system ID that identifies the systems to which this attribute registry applies.  This can be identified by one or more properties in the computer system resource, such as Model, SubModel, or SKU.",
950*5ecf7b4eSGunnar Mills                    "pattern": "^[A-Za-z0-9]+$",
951*5ecf7b4eSGunnar Mills                    "readonly": true,
952*5ecf7b4eSGunnar Mills                    "type": [
953*5ecf7b4eSGunnar Mills                        "string",
954*5ecf7b4eSGunnar Mills                        "null"
955*5ecf7b4eSGunnar Mills                    ]
956*5ecf7b4eSGunnar Mills                }
957*5ecf7b4eSGunnar Mills            },
958*5ecf7b4eSGunnar Mills            "type": "object"
959*5ecf7b4eSGunnar Mills        }
960*5ecf7b4eSGunnar Mills    },
961*5ecf7b4eSGunnar Mills    "language": "en",
962*5ecf7b4eSGunnar Mills    "owningEntity": "DMTF",
963*5ecf7b4eSGunnar Mills    "release": "2025.3",
964*5ecf7b4eSGunnar Mills    "title": "#AttributeRegistry.v1_4_0.AttributeRegistry"
965*5ecf7b4eSGunnar Mills}