xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/Role.v1_3_3.json (revision 9b46bc0b4c0c58c426e9bfb5a7d90250862ca9d2)
1*9b46bc0bSMyung Bae{
2*9b46bc0bSMyung Bae    "$id": "http://redfish.dmtf.org/schemas/v1/Role.v1_3_3.json",
3*9b46bc0bSMyung Bae    "$ref": "#/definitions/Role",
4*9b46bc0bSMyung Bae    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*9b46bc0bSMyung Bae    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*9b46bc0bSMyung Bae    "definitions": {
7*9b46bc0bSMyung Bae        "Actions": {
8*9b46bc0bSMyung Bae            "additionalProperties": false,
9*9b46bc0bSMyung Bae            "description": "The available actions for this resource.",
10*9b46bc0bSMyung Bae            "longDescription": "This type shall contain the available actions for this resource.",
11*9b46bc0bSMyung Bae            "patternProperties": {
12*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
14*9b46bc0bSMyung Bae                    "type": [
15*9b46bc0bSMyung Bae                        "array",
16*9b46bc0bSMyung Bae                        "boolean",
17*9b46bc0bSMyung Bae                        "integer",
18*9b46bc0bSMyung Bae                        "number",
19*9b46bc0bSMyung Bae                        "null",
20*9b46bc0bSMyung Bae                        "object",
21*9b46bc0bSMyung Bae                        "string"
22*9b46bc0bSMyung Bae                    ]
23*9b46bc0bSMyung Bae                }
24*9b46bc0bSMyung Bae            },
25*9b46bc0bSMyung Bae            "properties": {
26*9b46bc0bSMyung Bae                "Oem": {
27*9b46bc0bSMyung Bae                    "$ref": "#/definitions/OemActions",
28*9b46bc0bSMyung Bae                    "description": "The available OEM-specific actions for this resource.",
29*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the available OEM-specific actions for this resource.",
30*9b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
31*9b46bc0bSMyung Bae                }
32*9b46bc0bSMyung Bae            },
33*9b46bc0bSMyung Bae            "type": "object"
34*9b46bc0bSMyung Bae        },
35*9b46bc0bSMyung Bae        "OemActions": {
36*9b46bc0bSMyung Bae            "additionalProperties": true,
37*9b46bc0bSMyung Bae            "description": "The available OEM-specific actions for this resource.",
38*9b46bc0bSMyung Bae            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
39*9b46bc0bSMyung Bae            "patternProperties": {
40*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
41*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
42*9b46bc0bSMyung Bae                    "type": [
43*9b46bc0bSMyung Bae                        "array",
44*9b46bc0bSMyung Bae                        "boolean",
45*9b46bc0bSMyung Bae                        "integer",
46*9b46bc0bSMyung Bae                        "number",
47*9b46bc0bSMyung Bae                        "null",
48*9b46bc0bSMyung Bae                        "object",
49*9b46bc0bSMyung Bae                        "string"
50*9b46bc0bSMyung Bae                    ]
51*9b46bc0bSMyung Bae                }
52*9b46bc0bSMyung Bae            },
53*9b46bc0bSMyung Bae            "properties": {},
54*9b46bc0bSMyung Bae            "type": "object"
55*9b46bc0bSMyung Bae        },
56*9b46bc0bSMyung Bae        "Role": {
57*9b46bc0bSMyung Bae            "additionalProperties": false,
58*9b46bc0bSMyung Bae            "description": "The `Role` schema contains a Redfish role to use in conjunction with a manager account.",
59*9b46bc0bSMyung Bae            "longDescription": "This resource shall represent the Redfish role for the user account.",
60*9b46bc0bSMyung Bae            "patternProperties": {
61*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
62*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
63*9b46bc0bSMyung Bae                    "type": [
64*9b46bc0bSMyung Bae                        "array",
65*9b46bc0bSMyung Bae                        "boolean",
66*9b46bc0bSMyung Bae                        "integer",
67*9b46bc0bSMyung Bae                        "number",
68*9b46bc0bSMyung Bae                        "null",
69*9b46bc0bSMyung Bae                        "object",
70*9b46bc0bSMyung Bae                        "string"
71*9b46bc0bSMyung Bae                    ]
72*9b46bc0bSMyung Bae                }
73*9b46bc0bSMyung Bae            },
74*9b46bc0bSMyung Bae            "properties": {
75*9b46bc0bSMyung Bae                "@odata.context": {
76*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
77*9b46bc0bSMyung Bae                },
78*9b46bc0bSMyung Bae                "@odata.etag": {
79*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
80*9b46bc0bSMyung Bae                },
81*9b46bc0bSMyung Bae                "@odata.id": {
82*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
83*9b46bc0bSMyung Bae                },
84*9b46bc0bSMyung Bae                "@odata.type": {
85*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
86*9b46bc0bSMyung Bae                },
87*9b46bc0bSMyung Bae                "Actions": {
88*9b46bc0bSMyung Bae                    "$ref": "#/definitions/Actions",
89*9b46bc0bSMyung Bae                    "description": "The available actions for this resource.",
90*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the available actions for this resource.",
91*9b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
92*9b46bc0bSMyung Bae                },
93*9b46bc0bSMyung Bae                "AlternateRoleId": {
94*9b46bc0bSMyung Bae                    "description": "An equivalent role to use when this role is restricted.",
95*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a non-restricted `RoleId` intended to be used in its place when the `Restricted` property contains the value `true`.",
96*9b46bc0bSMyung Bae                    "readonly": true,
97*9b46bc0bSMyung Bae                    "type": "string",
98*9b46bc0bSMyung Bae                    "versionAdded": "v1_3_0"
99*9b46bc0bSMyung Bae                },
100*9b46bc0bSMyung Bae                "AssignedPrivileges": {
101*9b46bc0bSMyung Bae                    "description": "The Redfish privileges for this role.",
102*9b46bc0bSMyung Bae                    "items": {
103*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/Privileges.json#/definitions/PrivilegeType"
104*9b46bc0bSMyung Bae                    },
105*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the Redfish privileges for this role.  For predefined roles, this property shall be read-only.  For custom roles, some implementations may prevent writing to this property.",
106*9b46bc0bSMyung Bae                    "readonly": false,
107*9b46bc0bSMyung Bae                    "type": "array"
108*9b46bc0bSMyung Bae                },
109*9b46bc0bSMyung Bae                "Description": {
110*9b46bc0bSMyung Bae                    "anyOf": [
111*9b46bc0bSMyung Bae                        {
112*9b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
113*9b46bc0bSMyung Bae                        },
114*9b46bc0bSMyung Bae                        {
115*9b46bc0bSMyung Bae                            "type": "null"
116*9b46bc0bSMyung Bae                        }
117*9b46bc0bSMyung Bae                    ],
118*9b46bc0bSMyung Bae                    "readonly": true
119*9b46bc0bSMyung Bae                },
120*9b46bc0bSMyung Bae                "Id": {
121*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
122*9b46bc0bSMyung Bae                    "readonly": true
123*9b46bc0bSMyung Bae                },
124*9b46bc0bSMyung Bae                "IsPredefined": {
125*9b46bc0bSMyung Bae                    "description": "An indication of whether the role is predefined by Redfish or an OEM rather than a client-defined role.",
126*9b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether the role is predefined by Redfish or an OEM as contrasted with a client-defined role.  If this property is not present, the value should be assumed to be `false`.",
127*9b46bc0bSMyung Bae                    "readonly": true,
128*9b46bc0bSMyung Bae                    "type": "boolean"
129*9b46bc0bSMyung Bae                },
130*9b46bc0bSMyung Bae                "Name": {
131*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
132*9b46bc0bSMyung Bae                    "readonly": true
133*9b46bc0bSMyung Bae                },
134*9b46bc0bSMyung Bae                "Oem": {
135*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
136*9b46bc0bSMyung Bae                    "description": "The OEM extension property.",
137*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
138*9b46bc0bSMyung Bae                },
139*9b46bc0bSMyung Bae                "OemPrivileges": {
140*9b46bc0bSMyung Bae                    "description": "The OEM privileges for this role.",
141*9b46bc0bSMyung Bae                    "items": {
142*9b46bc0bSMyung Bae                        "type": "string"
143*9b46bc0bSMyung Bae                    },
144*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the OEM privileges for this role.  For predefined roles, this property shall be read-only.  For custom roles, some implementations may prevent writing to this property.",
145*9b46bc0bSMyung Bae                    "readonly": false,
146*9b46bc0bSMyung Bae                    "type": "array"
147*9b46bc0bSMyung Bae                },
148*9b46bc0bSMyung Bae                "Restricted": {
149*9b46bc0bSMyung Bae                    "description": "An indication of whether use of the role is restricted.",
150*9b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether use of the role is restricted by a service as defined by the 'Restricted roles and restricted privileges' clause of the Redfish Specification.  If this property is not present, the value shall be assumed to be `false`.",
151*9b46bc0bSMyung Bae                    "readonly": true,
152*9b46bc0bSMyung Bae                    "type": "boolean",
153*9b46bc0bSMyung Bae                    "versionAdded": "v1_3_0"
154*9b46bc0bSMyung Bae                },
155*9b46bc0bSMyung Bae                "RoleId": {
156*9b46bc0bSMyung Bae                    "description": "The name of the role.",
157*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the string name of the role.  This property shall contain the same value as the `Id` property.",
158*9b46bc0bSMyung Bae                    "readonly": true,
159*9b46bc0bSMyung Bae                    "type": "string",
160*9b46bc0bSMyung Bae                    "versionAdded": "v1_2_0"
161*9b46bc0bSMyung Bae                }
162*9b46bc0bSMyung Bae            },
163*9b46bc0bSMyung Bae            "required": [
164*9b46bc0bSMyung Bae                "@odata.id",
165*9b46bc0bSMyung Bae                "@odata.type",
166*9b46bc0bSMyung Bae                "Id",
167*9b46bc0bSMyung Bae                "Name",
168*9b46bc0bSMyung Bae                "RoleId"
169*9b46bc0bSMyung Bae            ],
170*9b46bc0bSMyung Bae            "requiredOnCreate": [
171*9b46bc0bSMyung Bae                "RoleId"
172*9b46bc0bSMyung Bae            ],
173*9b46bc0bSMyung Bae            "type": "object"
174*9b46bc0bSMyung Bae        }
175*9b46bc0bSMyung Bae    },
176*9b46bc0bSMyung Bae    "language": "en",
177*9b46bc0bSMyung Bae    "owningEntity": "DMTF",
178*9b46bc0bSMyung Bae    "release": "2020.4",
179*9b46bc0bSMyung Bae    "title": "#Role.v1_3_3.Role"
180*9b46bc0bSMyung Bae}