Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame^] | 1 | { |
| 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 | } |