blob: b2853611b80fe79aad51cc8e49201debbc32d491 [file] [log] [blame]
Ed Tanous118b1c72018-09-13 13:45:51 -07001{
2 "$ref": "#/definitions/PrivilegeRegistry",
3 "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_3_0.json",
4 "copyright": "Copyright 2014-2017 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
5 "definitions": {
6 "Actions": {
7 "additionalProperties": false,
8 "description": "The available actions for this resource.",
9 "longDescription": "This type shall contain the available actions for this resource.",
10 "patternProperties": {
11 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
12 "description": "This property shall specify a valid odata or Redfish property.",
13 "type": [
14 "array",
15 "boolean",
16 "number",
17 "null",
18 "object",
19 "string"
20 ]
21 }
22 },
23 "properties": {
24 "Oem": {
25 "$ref": "#/definitions/OemActions"
26 }
27 },
28 "type": "object"
29 },
30 "Mapping": {
31 "additionalProperties": false,
32 "description": "This type describes a mapping between an entity and the relevant privileges used to access it.",
33 "longDescription": "This type shall describe a mapping between an entity and the relevant privileges used to access it.",
34 "patternProperties": {
35 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
36 "description": "This property shall specify a valid odata or Redfish property.",
37 "type": [
38 "array",
39 "boolean",
40 "number",
41 "null",
42 "object",
43 "string"
44 ]
45 }
46 },
47 "properties": {
48 "Entity": {
49 "description": "Indicates entity name. e.g., Manager.",
50 "longDescription": "Indicates entity name. e.g., Manager.",
51 "readonly": true,
52 "type": "string"
53 },
54 "OperationMap": {
55 "$ref": "#/definitions/OperationMap",
56 "description": "List mapping between HTTP method and privilege required for entity.",
57 "longDescription": "List mapping between HTTP method and privilege required for entity."
58 },
59 "PropertyOverrides": {
60 "description": "Indicates privilege overrides of property or element within a entity.",
61 "items": {
62 "anyOf": [
63 {
64 "$ref": "#/definitions/Target_PrivilegeMap"
65 },
66 {
67 "type": "null"
68 }
69 ]
70 },
71 "longDescription": "Indicates privilege overrides of property or element. e.g., password property.",
72 "type": "array"
73 },
74 "ResourceURIOverrides": {
75 "description": "Indicates privilege overrides of Resource URI.",
76 "items": {
77 "anyOf": [
78 {
79 "$ref": "#/definitions/Target_PrivilegeMap"
80 },
81 {
82 "type": "null"
83 }
84 ]
85 },
86 "longDescription": "Indicates privilege overrides of Resource URI. Target lists Resource URI.",
87 "type": "array"
88 },
89 "SubordinateOverrides": {
90 "description": "Indicates privilege overrides of subordinate resource.",
91 "items": {
92 "anyOf": [
93 {
94 "$ref": "#/definitions/Target_PrivilegeMap"
95 },
96 {
97 "type": "null"
98 }
99 ]
100 },
101 "longDescription": "Indicates privilege overrides of subordinate resource. Target lists referenced by Entity.",
102 "type": "array"
103 }
104 },
105 "type": "object"
106 },
107 "OemActions": {
108 "additionalProperties": true,
109 "description": "The available OEM specific actions for this resource.",
110 "longDescription": "This type shall contain any additional OEM actions for this resource.",
111 "patternProperties": {
112 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
113 "description": "This property shall specify a valid odata or Redfish property.",
114 "type": [
115 "array",
116 "boolean",
117 "number",
118 "null",
119 "object",
120 "string"
121 ]
122 }
123 },
124 "properties": {},
125 "type": "object"
126 },
127 "OperationMap": {
128 "additionalProperties": false,
129 "description": "Used for describing the specific privileges for a set of HTTP operations.",
130 "longDescription": "This type shall describe the specific privileges required for a set of HTTP operations.",
131 "patternProperties": {
132 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
133 "description": "This property shall specify a valid odata or Redfish property.",
134 "type": [
135 "array",
136 "boolean",
137 "number",
138 "null",
139 "object",
140 "string"
141 ]
142 }
143 },
144 "properties": {
145 "DELETE": {
146 "description": "Indicates privilege required for HTTP DELETE operation.",
147 "items": {
148 "$ref": "#/definitions/OperationPrivilege"
149 },
150 "longDescription": "Indicates privilege required for HTTP DELETE operation.",
151 "type": "array"
152 },
153 "GET": {
154 "description": "Indicates privilege required for HTTP GET operation.",
155 "items": {
156 "$ref": "#/definitions/OperationPrivilege"
157 },
158 "longDescription": "Indicates privilege required for HTTP GET operation.",
159 "type": "array"
160 },
161 "HEAD": {
162 "description": "Indicates privilege required for HTTP HEAD operation.",
163 "items": {
164 "$ref": "#/definitions/OperationPrivilege"
165 },
166 "longDescription": "Indicates privilege required for HTTP HEAD operation.",
167 "type": "array"
168 },
169 "PATCH": {
170 "description": "Indicates privilege required for HTTP PATCH operation.",
171 "items": {
172 "$ref": "#/definitions/OperationPrivilege"
173 },
174 "longDescription": "Indicates privilege required for HTTP PATCH operation.",
175 "type": "array"
176 },
177 "POST": {
178 "description": "Indicates privilege required for HTTP POST operation.",
179 "items": {
180 "$ref": "#/definitions/OperationPrivilege"
181 },
182 "longDescription": "Indicates privilege required for HTTP POST operation.",
183 "type": "array"
184 },
185 "PUT": {
186 "description": "Indicates privilege required for HTTP PUT operation.",
187 "items": {
188 "$ref": "#/definitions/OperationPrivilege"
189 },
190 "longDescription": "Indicates privilege required for HTTP PUT operation.",
191 "type": "array"
192 }
193 },
194 "type": "object"
195 },
196 "OperationPrivilege": {
197 "additionalProperties": false,
198 "description": "Used for describing the specific privileges for a given type of HTTP operation.",
199 "longDescription": "This type shall describe the specific privileges required for a given type of HTTP operation.",
200 "patternProperties": {
201 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
202 "description": "This property shall specify a valid odata or Redfish property.",
203 "type": [
204 "array",
205 "boolean",
206 "number",
207 "null",
208 "object",
209 "string"
210 ]
211 }
212 },
213 "properties": {
214 "Privilege": {
215 "description": "Lists the privileges that are allowed to perform the given type of HTTP operation on the entity type.",
216 "items": {
217 "type": "string"
218 },
219 "longDescription": "This array shall contain a set of strings that match 0 or more of the strings found in the PrivilegesUsed and OEMPrivilegesUsed properties.",
220 "readonly": true,
221 "type": "array"
222 }
223 },
224 "type": "object"
225 },
226 "PrivilegeRegistry": {
227 "additionalProperties": false,
228 "description": "This is the schema definition for Operation to Privilege mapping.",
229 "longDescription": "This resource shall be used to represent operation to privilege mappings.",
230 "patternProperties": {
231 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
232 "description": "This property shall specify a valid odata or Redfish property.",
233 "type": [
234 "array",
235 "boolean",
236 "number",
237 "null",
238 "object",
239 "string"
240 ]
241 }
242 },
243 "properties": {
244 "@odata.context": {
245 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/context"
246 },
247 "@odata.id": {
248 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/id"
249 },
250 "@odata.type": {
251 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_1.json#/definitions/type"
252 },
253 "Actions": {
254 "$ref": "#/definitions/Actions",
255 "description": "The available actions for this resource.",
256 "longDescription": "The Actions property shall contain the available actions for this resource."
257 },
258 "Description": {
259 "anyOf": [
260 {
261 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
262 },
263 {
264 "type": "null"
265 }
266 ],
267 "readonly": true
268 },
269 "Id": {
270 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
271 "readonly": true
272 },
273 "Mappings": {
274 "items": {
275 "$ref": "#/definitions/Mapping"
276 },
277 "type": "array"
278 },
279 "Name": {
280 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
281 "readonly": true
282 },
283 "OEMPrivilegesUsed": {
284 "description": "Lists the set of OEM Priviliges used in building this mapping.",
285 "items": {
286 "type": "string"
287 },
288 "readonly": true,
289 "type": "array"
290 },
291 "Oem": {
292 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
293 "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
294 "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
295 },
296 "PrivilegesUsed": {
297 "description": "Lists the set of Redfish standard priviliges used in building this mapping.",
298 "items": {
299 "$ref": "http://redfish.dmtf.org/schemas/v1/Privileges.json#/definitions/PrivilegeType"
300 },
301 "readonly": true,
302 "type": "array"
303 }
304 },
305 "required": [
306 "Id",
307 "Name"
308 ],
309 "type": "object"
310 },
311 "Target_PrivilegeMap": {
312 "additionalProperties": false,
313 "description": "This type describes a mapping between one or more targets and the HTTP operations associated with them.",
314 "longDescription": "This type shall describe a mapping between one or more targets and the HTTP operations associated with them.",
315 "patternProperties": {
316 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message|Privileges)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
317 "description": "This property shall specify a valid odata or Redfish property.",
318 "type": [
319 "array",
320 "boolean",
321 "number",
322 "null",
323 "object",
324 "string"
325 ]
326 }
327 },
328 "properties": {
329 "OperationMap": {
330 "anyOf": [
331 {
332 "$ref": "#/definitions/OperationMap"
333 },
334 {
335 "type": "null"
336 }
337 ],
338 "description": "List mapping between HTTP operation and privilege needed to perform operation.",
339 "longDescription": "List mapping between HTTP operation and privilege needed to perform operation."
340 },
341 "Targets": {
342 "description": "Indicates the URI or Entity.",
343 "items": {
344 "type": [
345 "string",
346 "null"
347 ]
348 },
349 "longDescription": "Indicates the set of URI(s) or Entity(s) or property(s). e.g./redfish/v1/Systems/1, Manager, Password. When targets property is not mentioned, then there is no override.",
350 "readonly": true,
351 "type": "array"
352 }
353 },
354 "type": "object"
355 }
356 },
357 "title": "#PrivilegeRegistry.v1_1_1.PrivilegeRegistry"
358}