xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/PrivilegeRegistry.v1_2_0.json (revision 5ecf7b4e1bb6988dd3403fa80b723afbe2be30ae)
1*5ecf7b4eSGunnar Mills{
2*5ecf7b4eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/PrivilegeRegistry.v1_2_0.json",
3*5ecf7b4eSGunnar Mills    "$ref": "#/definitions/PrivilegeRegistry",
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        "Mapping": {
36*5ecf7b4eSGunnar Mills            "additionalProperties": false,
37*5ecf7b4eSGunnar Mills            "description": "The mapping between a resource type and the relevant privileges that accesses the resource.",
38*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe a mapping between a resource type and the relevant privileges that accesses the resource.",
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                "Entity": {
55*5ecf7b4eSGunnar Mills                    "description": "The resource name, such as `Manager`.",
56*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the resource name, such as `Manager`.",
57*5ecf7b4eSGunnar Mills                    "readonly": true,
58*5ecf7b4eSGunnar Mills                    "type": "string"
59*5ecf7b4eSGunnar Mills                },
60*5ecf7b4eSGunnar Mills                "OperationMap": {
61*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/OperationMap",
62*5ecf7b4eSGunnar Mills                    "description": "List mapping between HTTP methods and privilege required for the resource.",
63*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall list the mapping between HTTP methods and the privilege required for the resource."
64*5ecf7b4eSGunnar Mills                },
65*5ecf7b4eSGunnar Mills                "PropertyOverrides": {
66*5ecf7b4eSGunnar Mills                    "description": "The privilege overrides of properties within a resource.",
67*5ecf7b4eSGunnar Mills                    "items": {
68*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/Target_PrivilegeMap"
69*5ecf7b4eSGunnar Mills                    },
70*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privilege overrides of properties, such as the `Password` property in the `ManagerAccount` resource.",
71*5ecf7b4eSGunnar Mills                    "type": "array"
72*5ecf7b4eSGunnar Mills                },
73*5ecf7b4eSGunnar Mills                "ResourceURIOverrides": {
74*5ecf7b4eSGunnar Mills                    "description": "The privilege overrides of resource URIs.",
75*5ecf7b4eSGunnar Mills                    "items": {
76*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/Target_PrivilegeMap"
77*5ecf7b4eSGunnar Mills                    },
78*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privilege overrides of resource URIs.  The target lists the resource URI and the new privileges.",
79*5ecf7b4eSGunnar Mills                    "type": "array"
80*5ecf7b4eSGunnar Mills                },
81*5ecf7b4eSGunnar Mills                "SubordinateOverrides": {
82*5ecf7b4eSGunnar Mills                    "description": "The privilege overrides of the subordinate resource.",
83*5ecf7b4eSGunnar Mills                    "items": {
84*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/Target_PrivilegeMap"
85*5ecf7b4eSGunnar Mills                    },
86*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privilege overrides of the subordinate resource.  The target lists are identified by resource type.",
87*5ecf7b4eSGunnar Mills                    "type": "array"
88*5ecf7b4eSGunnar Mills                }
89*5ecf7b4eSGunnar Mills            },
90*5ecf7b4eSGunnar Mills            "type": "object"
91*5ecf7b4eSGunnar Mills        },
92*5ecf7b4eSGunnar Mills        "OemActions": {
93*5ecf7b4eSGunnar Mills            "additionalProperties": true,
94*5ecf7b4eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
95*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
96*5ecf7b4eSGunnar Mills            "patternProperties": {
97*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
98*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
99*5ecf7b4eSGunnar Mills                    "type": [
100*5ecf7b4eSGunnar Mills                        "array",
101*5ecf7b4eSGunnar Mills                        "boolean",
102*5ecf7b4eSGunnar Mills                        "integer",
103*5ecf7b4eSGunnar Mills                        "number",
104*5ecf7b4eSGunnar Mills                        "null",
105*5ecf7b4eSGunnar Mills                        "object",
106*5ecf7b4eSGunnar Mills                        "string"
107*5ecf7b4eSGunnar Mills                    ]
108*5ecf7b4eSGunnar Mills                }
109*5ecf7b4eSGunnar Mills            },
110*5ecf7b4eSGunnar Mills            "properties": {},
111*5ecf7b4eSGunnar Mills            "type": "object"
112*5ecf7b4eSGunnar Mills        },
113*5ecf7b4eSGunnar Mills        "OperationMap": {
114*5ecf7b4eSGunnar Mills            "additionalProperties": false,
115*5ecf7b4eSGunnar Mills            "description": "The specific privileges required to complete a set of HTTP operations.",
116*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe the specific privileges required to complete a set of HTTP operations.",
117*5ecf7b4eSGunnar Mills            "patternProperties": {
118*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
119*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
120*5ecf7b4eSGunnar Mills                    "type": [
121*5ecf7b4eSGunnar Mills                        "array",
122*5ecf7b4eSGunnar Mills                        "boolean",
123*5ecf7b4eSGunnar Mills                        "integer",
124*5ecf7b4eSGunnar Mills                        "number",
125*5ecf7b4eSGunnar Mills                        "null",
126*5ecf7b4eSGunnar Mills                        "object",
127*5ecf7b4eSGunnar Mills                        "string"
128*5ecf7b4eSGunnar Mills                    ]
129*5ecf7b4eSGunnar Mills                }
130*5ecf7b4eSGunnar Mills            },
131*5ecf7b4eSGunnar Mills            "properties": {
132*5ecf7b4eSGunnar Mills                "DELETE": {
133*5ecf7b4eSGunnar Mills                    "description": "The privilege required to complete an HTTP `DELETE` operation.",
134*5ecf7b4eSGunnar Mills                    "items": {
135*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/OperationPrivilege"
136*5ecf7b4eSGunnar Mills                    },
137*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privilege required to complete an HTTP `DELETE` operation.",
138*5ecf7b4eSGunnar Mills                    "type": "array"
139*5ecf7b4eSGunnar Mills                },
140*5ecf7b4eSGunnar Mills                "GET": {
141*5ecf7b4eSGunnar Mills                    "description": "The privilege required to complete an HTTP `GET` operation.",
142*5ecf7b4eSGunnar Mills                    "items": {
143*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/OperationPrivilege"
144*5ecf7b4eSGunnar Mills                    },
145*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privilege required to complete an HTTP `GET` operation.",
146*5ecf7b4eSGunnar Mills                    "type": "array"
147*5ecf7b4eSGunnar Mills                },
148*5ecf7b4eSGunnar Mills                "HEAD": {
149*5ecf7b4eSGunnar Mills                    "description": "The privilege required to complete an HTTP `HEAD` operation.",
150*5ecf7b4eSGunnar Mills                    "items": {
151*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/OperationPrivilege"
152*5ecf7b4eSGunnar Mills                    },
153*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privilege required to complete an HTTP `HEAD` operation.",
154*5ecf7b4eSGunnar Mills                    "type": "array"
155*5ecf7b4eSGunnar Mills                },
156*5ecf7b4eSGunnar Mills                "PATCH": {
157*5ecf7b4eSGunnar Mills                    "description": "The privilege required to complete an HTTP `PATCH` operation.",
158*5ecf7b4eSGunnar Mills                    "items": {
159*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/OperationPrivilege"
160*5ecf7b4eSGunnar Mills                    },
161*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privilege required to complete an HTTP `PATCH` operation.",
162*5ecf7b4eSGunnar Mills                    "type": "array"
163*5ecf7b4eSGunnar Mills                },
164*5ecf7b4eSGunnar Mills                "POST": {
165*5ecf7b4eSGunnar Mills                    "description": "The privilege required to complete an HTTP `POST` operation.",
166*5ecf7b4eSGunnar Mills                    "items": {
167*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/OperationPrivilege"
168*5ecf7b4eSGunnar Mills                    },
169*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privilege required to complete an HTTP `POST` operation.",
170*5ecf7b4eSGunnar Mills                    "type": "array"
171*5ecf7b4eSGunnar Mills                },
172*5ecf7b4eSGunnar Mills                "PUT": {
173*5ecf7b4eSGunnar Mills                    "description": "The privilege required to complete an HTTP `PUT` operation.",
174*5ecf7b4eSGunnar Mills                    "items": {
175*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/OperationPrivilege"
176*5ecf7b4eSGunnar Mills                    },
177*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the privilege required to complete an HTTP `PUT` operation.",
178*5ecf7b4eSGunnar Mills                    "type": "array"
179*5ecf7b4eSGunnar Mills                }
180*5ecf7b4eSGunnar Mills            },
181*5ecf7b4eSGunnar Mills            "type": "object"
182*5ecf7b4eSGunnar Mills        },
183*5ecf7b4eSGunnar Mills        "OperationPrivilege": {
184*5ecf7b4eSGunnar Mills            "additionalProperties": false,
185*5ecf7b4eSGunnar Mills            "description": "The privileges for a specific HTTP operation.",
186*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe the privileges required to complete a specific HTTP operation.",
187*5ecf7b4eSGunnar Mills            "patternProperties": {
188*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
189*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
190*5ecf7b4eSGunnar Mills                    "type": [
191*5ecf7b4eSGunnar Mills                        "array",
192*5ecf7b4eSGunnar Mills                        "boolean",
193*5ecf7b4eSGunnar Mills                        "integer",
194*5ecf7b4eSGunnar Mills                        "number",
195*5ecf7b4eSGunnar Mills                        "null",
196*5ecf7b4eSGunnar Mills                        "object",
197*5ecf7b4eSGunnar Mills                        "string"
198*5ecf7b4eSGunnar Mills                    ]
199*5ecf7b4eSGunnar Mills                }
200*5ecf7b4eSGunnar Mills            },
201*5ecf7b4eSGunnar Mills            "properties": {
202*5ecf7b4eSGunnar Mills                "Privilege": {
203*5ecf7b4eSGunnar Mills                    "description": "An array of privileges that are required to complete a specific HTTP operation on a resource.",
204*5ecf7b4eSGunnar Mills                    "items": {
205*5ecf7b4eSGunnar Mills                        "type": "string"
206*5ecf7b4eSGunnar Mills                    },
207*5ecf7b4eSGunnar Mills                    "longDescription": "This array shall contain an array of privileges that are required to complete a specific HTTP operation on a resource.  This set of strings match zero or more strings in the `PrivilegesUsed` and `OEMPrivilegesUsed` properties.",
208*5ecf7b4eSGunnar Mills                    "readonly": true,
209*5ecf7b4eSGunnar Mills                    "type": "array"
210*5ecf7b4eSGunnar Mills                }
211*5ecf7b4eSGunnar Mills            },
212*5ecf7b4eSGunnar Mills            "type": "object"
213*5ecf7b4eSGunnar Mills        },
214*5ecf7b4eSGunnar Mills        "PrivilegeRegistry": {
215*5ecf7b4eSGunnar Mills            "additionalProperties": false,
216*5ecf7b4eSGunnar Mills            "description": "The `PrivilegeRegistry` schema describes the operation-to-privilege mappings.",
217*5ecf7b4eSGunnar Mills            "longDescription": "This resource shall contain operation-to-privilege mappings.",
218*5ecf7b4eSGunnar Mills            "patternProperties": {
219*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
220*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
221*5ecf7b4eSGunnar Mills                    "type": [
222*5ecf7b4eSGunnar Mills                        "array",
223*5ecf7b4eSGunnar Mills                        "boolean",
224*5ecf7b4eSGunnar Mills                        "integer",
225*5ecf7b4eSGunnar Mills                        "number",
226*5ecf7b4eSGunnar Mills                        "null",
227*5ecf7b4eSGunnar Mills                        "object",
228*5ecf7b4eSGunnar Mills                        "string"
229*5ecf7b4eSGunnar Mills                    ]
230*5ecf7b4eSGunnar Mills                }
231*5ecf7b4eSGunnar Mills            },
232*5ecf7b4eSGunnar Mills            "properties": {
233*5ecf7b4eSGunnar Mills                "@odata.type": {
234*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
235*5ecf7b4eSGunnar Mills                },
236*5ecf7b4eSGunnar Mills                "Actions": {
237*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Actions",
238*5ecf7b4eSGunnar Mills                    "description": "The available actions for this resource.",
239*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource.",
240*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
241*5ecf7b4eSGunnar Mills                },
242*5ecf7b4eSGunnar Mills                "Description": {
243*5ecf7b4eSGunnar Mills                    "anyOf": [
244*5ecf7b4eSGunnar Mills                        {
245*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
246*5ecf7b4eSGunnar Mills                        },
247*5ecf7b4eSGunnar Mills                        {
248*5ecf7b4eSGunnar Mills                            "type": "null"
249*5ecf7b4eSGunnar Mills                        }
250*5ecf7b4eSGunnar Mills                    ],
251*5ecf7b4eSGunnar Mills                    "readonly": true
252*5ecf7b4eSGunnar Mills                },
253*5ecf7b4eSGunnar Mills                "Id": {
254*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
255*5ecf7b4eSGunnar Mills                    "readonly": true
256*5ecf7b4eSGunnar Mills                },
257*5ecf7b4eSGunnar Mills                "Mappings": {
258*5ecf7b4eSGunnar Mills                    "description": "The mappings between entities and the relevant privileges that access those entities.",
259*5ecf7b4eSGunnar Mills                    "items": {
260*5ecf7b4eSGunnar Mills                        "$ref": "#/definitions/Mapping"
261*5ecf7b4eSGunnar Mills                    },
262*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall describe the mappings between entities and the relevant privileges that access those entities.",
263*5ecf7b4eSGunnar Mills                    "type": "array"
264*5ecf7b4eSGunnar Mills                },
265*5ecf7b4eSGunnar Mills                "Name": {
266*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
267*5ecf7b4eSGunnar Mills                    "readonly": true
268*5ecf7b4eSGunnar Mills                },
269*5ecf7b4eSGunnar Mills                "OEMPrivilegeDescriptions": {
270*5ecf7b4eSGunnar Mills                    "description": "The descriptions of the OEM privileges used in this mapping.",
271*5ecf7b4eSGunnar Mills                    "items": {
272*5ecf7b4eSGunnar Mills                        "type": "string"
273*5ecf7b4eSGunnar Mills                    },
274*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array of the descriptions of the values of the `OEMPrivilegesUsed` property.  The order of this array shall match the order of the `OEMPrivilegesUsed` property.",
275*5ecf7b4eSGunnar Mills                    "readonly": true,
276*5ecf7b4eSGunnar Mills                    "type": "array",
277*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
278*5ecf7b4eSGunnar Mills                },
279*5ecf7b4eSGunnar Mills                "OEMPrivilegesUsed": {
280*5ecf7b4eSGunnar Mills                    "description": "The set of OEM privileges used in this mapping.",
281*5ecf7b4eSGunnar Mills                    "items": {
282*5ecf7b4eSGunnar Mills                        "type": "string"
283*5ecf7b4eSGunnar Mills                    },
284*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array of OEM privileges used in this mapping.",
285*5ecf7b4eSGunnar Mills                    "readonly": true,
286*5ecf7b4eSGunnar Mills                    "type": "array"
287*5ecf7b4eSGunnar Mills                },
288*5ecf7b4eSGunnar Mills                "Oem": {
289*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
290*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
291*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."
292*5ecf7b4eSGunnar Mills                },
293*5ecf7b4eSGunnar Mills                "PrivilegesUsed": {
294*5ecf7b4eSGunnar Mills                    "description": "The set of Redfish standard privileges used in this mapping.",
295*5ecf7b4eSGunnar Mills                    "items": {
296*5ecf7b4eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Privileges.json#/definitions/PrivilegeType"
297*5ecf7b4eSGunnar Mills                    },
298*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array of Redfish standard privileges used in this mapping.",
299*5ecf7b4eSGunnar Mills                    "readonly": true,
300*5ecf7b4eSGunnar Mills                    "type": "array"
301*5ecf7b4eSGunnar Mills                }
302*5ecf7b4eSGunnar Mills            },
303*5ecf7b4eSGunnar Mills            "required": [
304*5ecf7b4eSGunnar Mills                "@odata.type",
305*5ecf7b4eSGunnar Mills                "Id",
306*5ecf7b4eSGunnar Mills                "Name"
307*5ecf7b4eSGunnar Mills            ],
308*5ecf7b4eSGunnar Mills            "type": "object"
309*5ecf7b4eSGunnar Mills        },
310*5ecf7b4eSGunnar Mills        "Target_PrivilegeMap": {
311*5ecf7b4eSGunnar Mills            "additionalProperties": false,
312*5ecf7b4eSGunnar Mills            "description": "This type describes a mapping between one or more targets and the HTTP operations associated with them.",
313*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe a mapping between one or more targets and the HTTP operations associated with them.",
314*5ecf7b4eSGunnar Mills            "patternProperties": {
315*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
316*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
317*5ecf7b4eSGunnar Mills                    "type": [
318*5ecf7b4eSGunnar Mills                        "array",
319*5ecf7b4eSGunnar Mills                        "boolean",
320*5ecf7b4eSGunnar Mills                        "integer",
321*5ecf7b4eSGunnar Mills                        "number",
322*5ecf7b4eSGunnar Mills                        "null",
323*5ecf7b4eSGunnar Mills                        "object",
324*5ecf7b4eSGunnar Mills                        "string"
325*5ecf7b4eSGunnar Mills                    ]
326*5ecf7b4eSGunnar Mills                }
327*5ecf7b4eSGunnar Mills            },
328*5ecf7b4eSGunnar Mills            "properties": {
329*5ecf7b4eSGunnar Mills                "OperationMap": {
330*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/OperationMap",
331*5ecf7b4eSGunnar Mills                    "description": "The mapping between the HTTP operation and the privilege required to complete the operation.",
332*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the mapping between the HTTP operation and the privilege required to complete the operation."
333*5ecf7b4eSGunnar Mills                },
334*5ecf7b4eSGunnar Mills                "Targets": {
335*5ecf7b4eSGunnar Mills                    "description": "The set of URIs, resource types, or properties.",
336*5ecf7b4eSGunnar Mills                    "items": {
337*5ecf7b4eSGunnar Mills                        "type": [
338*5ecf7b4eSGunnar Mills                            "string",
339*5ecf7b4eSGunnar Mills                            "null"
340*5ecf7b4eSGunnar Mills                        ]
341*5ecf7b4eSGunnar Mills                    },
342*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the array of URIs, resource types, or properties.  For example, `/redfish/v1/Systems/1`, `Manager`, or `Password`.  When the `Targets` property is not present, no override is specified.",
343*5ecf7b4eSGunnar Mills                    "readonly": true,
344*5ecf7b4eSGunnar Mills                    "type": "array"
345*5ecf7b4eSGunnar Mills                }
346*5ecf7b4eSGunnar Mills            },
347*5ecf7b4eSGunnar Mills            "type": "object"
348*5ecf7b4eSGunnar Mills        }
349*5ecf7b4eSGunnar Mills    },
350*5ecf7b4eSGunnar Mills    "language": "en",
351*5ecf7b4eSGunnar Mills    "owningEntity": "DMTF",
352*5ecf7b4eSGunnar Mills    "release": "2025.3",
353*5ecf7b4eSGunnar Mills    "title": "#PrivilegeRegistry.v1_2_0.PrivilegeRegistry"
354*5ecf7b4eSGunnar Mills}