1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  Role v1.3.3                                                         -->
5<!--#                                                                                      -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
7<!--# available at http://www.dmtf.org/standards/redfish                                   -->
8<!--# Copyright 2014-2025 DMTF.                                                            -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
10<!--################################################################################       -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
18    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
21    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
24    <edmx:Include Namespace="Resource.v1_0_0"/>
25  </edmx:Reference>
26  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Privileges_v1.xml">
27    <edmx:Include Namespace="Privileges"/>
28  </edmx:Reference>
29
30  <edmx:DataServices>
31
32    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role">
33      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
34      <Annotation Term="Redfish.Language" String="en"/>
35
36      <EntityType Name="Role" BaseType="Resource.v1_0_0.Resource" Abstract="true">
37        <Annotation Term="OData.Description" String="The `Role` schema contains a Redfish role to use in conjunction with a manager account."/>
38        <Annotation Term="OData.LongDescription" String="This resource shall represent the Redfish role for the user account."/>
39        <Annotation Term="Capabilities.InsertRestrictions">
40          <Record>
41            <PropertyValue Property="Insertable" Bool="false"/>
42          </Record>
43        </Annotation>
44        <Annotation Term="Capabilities.UpdateRestrictions">
45          <Record>
46            <PropertyValue Property="Updatable" Bool="true"/>
47            <Annotation Term="OData.Description" String="Various privileges can be updated for roles."/>
48          </Record>
49        </Annotation>
50        <Annotation Term="Capabilities.DeleteRestrictions">
51          <Record>
52            <PropertyValue Property="Deletable" Bool="true"/>
53          </Record>
54        </Annotation>
55        <Annotation Term="Redfish.Uris">
56          <Collection>
57            <String>/redfish/v1/AccountService/Roles/{RoleId}</String>
58            <String>/redfish/v1/Managers/{ManagerId}/RemoteAccountService/Roles/{RoleId}</String>
59          </Collection>
60        </Annotation>
61      </EntityType>
62    </Schema>
63
64    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_0">
65      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
66      <Annotation Term="Redfish.Release" String="1.0"/>
67
68      <EntityType Name="Role" BaseType="Role.Role">
69        <Property Name="IsPredefined" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
70          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
71          <Annotation Term="OData.Description" String="An indication of whether the role is predefined by Redfish or an OEM rather than a client-defined role."/>
72          <Annotation Term="OData.LongDescription" String="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`."/>
73        </Property>
74        <Property Name="AssignedPrivileges" Type="Collection(Privileges.PrivilegeType)" Nullable="false">
75          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
76          <Annotation Term="OData.Description" String="The Redfish privileges for this role."/>
77          <Annotation Term="OData.LongDescription" String="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."/>
78        </Property>
79        <Property Name="OemPrivileges" Type="Collection(Edm.String)" Nullable="false">
80          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
81          <Annotation Term="OData.Description" String="The OEM privileges for this role."/>
82          <Annotation Term="OData.LongDescription" String="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."/>
83        </Property>
84      </EntityType>
85    </Schema>
86
87    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_2">
88      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
89      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
90      <EntityType Name="Role" BaseType="Role.v1_0_0.Role"/>
91    </Schema>
92
93    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_3">
94      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
95      <Annotation Term="OData.Description" String="This version was created to change references to `PrivilegeType` to use the unversioned definition."/>
96      <EntityType Name="Role" BaseType="Role.v1_0_2.Role"/>
97    </Schema>
98
99    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_4">
100      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
101      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
102      <EntityType Name="Role" BaseType="Role.v1_0_3.Role"/>
103    </Schema>
104
105    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_5">
106      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
107      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
108      <EntityType Name="Role" BaseType="Role.v1_0_4.Role"/>
109    </Schema>
110
111    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_6">
112      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
113      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
114      <EntityType Name="Role" BaseType="Role.v1_0_5.Role"/>
115    </Schema>
116
117    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_7">
118      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
119      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
120      <EntityType Name="Role" BaseType="Role.v1_0_6.Role"/>
121    </Schema>
122
123    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_8">
124      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
125      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
126      <EntityType Name="Role" BaseType="Role.v1_0_7.Role"/>
127    </Schema>
128
129    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_9">
130      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
131      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
132      <EntityType Name="Role" BaseType="Role.v1_0_8.Role"/>
133    </Schema>
134
135    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_0_10">
136      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
137      <Annotation Term="OData.Description" String="This version was created to recommend assuming `IsPredefined` to be `false` if not present."/>
138      <EntityType Name="Role" BaseType="Role.v1_0_9.Role"/>
139    </Schema>
140
141    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_1_0">
142      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
143      <Annotation Term="Redfish.Release" String="2017.1"/>
144
145      <EntityType Name="Role" BaseType="Role.v1_0_2.Role">
146        <Property Name="Actions" Type="Role.v1_1_0.Actions" Nullable="false">
147          <Annotation Term="OData.Description" String="The available actions for this resource."/>
148          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
149        </Property>
150      </EntityType>
151
152      <ComplexType Name="Actions">
153        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
154        <Annotation Term="OData.Description" String="The available actions for this resource."/>
155        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
156        <Property Name="Oem" Type="Role.v1_1_0.OemActions" Nullable="false">
157          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
158          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
159        </Property>
160      </ComplexType>
161
162      <ComplexType Name="OemActions">
163        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
164        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
165        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
166      </ComplexType>
167    </Schema>
168
169    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_1_1">
170      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
171      <Annotation Term="OData.Description" String="This version was created to change references to `PrivilegeType` to use the unversioned definition."/>
172      <EntityType Name="Role" BaseType="Role.v1_1_0.Role"/>
173    </Schema>
174
175    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_1_2">
176      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
177      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
178      <EntityType Name="Role" BaseType="Role.v1_1_1.Role"/>
179    </Schema>
180
181    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_1_3">
182      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
183      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
184      <EntityType Name="Role" BaseType="Role.v1_1_2.Role"/>
185    </Schema>
186
187    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_1_4">
188      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
189      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
190      <EntityType Name="Role" BaseType="Role.v1_1_3.Role"/>
191    </Schema>
192
193    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_1_5">
194      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
195      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
196      <EntityType Name="Role" BaseType="Role.v1_1_4.Role"/>
197    </Schema>
198
199    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_1_6">
200      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
201      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
202      <EntityType Name="Role" BaseType="Role.v1_1_5.Role"/>
203    </Schema>
204
205    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_1_7">
206      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
207      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
208      <EntityType Name="Role" BaseType="Role.v1_1_6.Role"/>
209    </Schema>
210
211    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_1_8">
212      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
213      <Annotation Term="OData.Description" String="This version was created to recommend assuming `IsPredefined` to be `false` if not present."/>
214      <EntityType Name="Role" BaseType="Role.v1_1_7.Role"/>
215    </Schema>
216
217    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_2_0">
218      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
219      <Annotation Term="Redfish.Release" String="2017.2"/>
220
221      <EntityType Name="Role" BaseType="Role.v1_1_0.Role">
222        <Property Name="RoleId" Type="Edm.String" Nullable="false">
223          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
224          <Annotation Term="OData.Description" String="The name of the role."/>
225          <Annotation Term="OData.LongDescription" String="This property shall contain the string name of the role.  This property shall contain the same value as the `Id` property."/>
226          <Annotation Term="Redfish.Required"/>
227          <Annotation Term="Redfish.RequiredOnCreate"/>
228        </Property>
229      </EntityType>
230    </Schema>
231
232    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_2_1">
233      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
234      <Annotation Term="OData.Description" String="This version was created to change references to `PrivilegeType` to use the unversioned definition."/>
235      <EntityType Name="Role" BaseType="Role.v1_2_0.Role"/>
236    </Schema>
237
238    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_2_2">
239      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
240      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are marked as required, and integer properties are marked as integer rather than number."/>
241      <EntityType Name="Role" BaseType="Role.v1_2_1.Role"/>
242    </Schema>
243
244    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_2_3">
245      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
246      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
247      <EntityType Name="Role" BaseType="Role.v1_2_2.Role"/>
248    </Schema>
249
250    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_2_4">
251      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
252      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
253      <EntityType Name="Role" BaseType="Role.v1_2_3.Role"/>
254    </Schema>
255
256    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_2_5">
257      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
258      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
259      <EntityType Name="Role" BaseType="Role.v1_2_4.Role"/>
260    </Schema>
261
262    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_2_6">
263      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
264      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
265      <EntityType Name="Role" BaseType="Role.v1_2_5.Role"/>
266    </Schema>
267
268    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_2_7">
269      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
270      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
271      <EntityType Name="Role" BaseType="Role.v1_2_6.Role"/>
272    </Schema>
273
274    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_2_8">
275      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
276      <Annotation Term="OData.Description" String="This version was created to recommend assuming `IsPredefined` to be `false` if not present.  It was also created to indicate `RoleId` is a required property."/>
277      <EntityType Name="Role" BaseType="Role.v1_2_7.Role"/>
278    </Schema>
279
280    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_3_0">
281      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
282      <Annotation Term="Redfish.Release" String="2020.4"/>
283
284      <EntityType Name="Role" BaseType="Role.v1_2_5.Role">
285        <Property Name="Restricted" Type="Edm.Boolean" Nullable="false">
286          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
287          <Annotation Term="OData.Description" String="An indication of whether use of the role is restricted."/>
288          <Annotation Term="OData.LongDescription" String="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`."/>
289        </Property>
290        <Property Name="AlternateRoleId" Type="Edm.String" Nullable="false">
291          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
292          <Annotation Term="OData.Description" String="An equivalent role to use when this role is restricted."/>
293          <Annotation Term="OData.LongDescription" String="This property shall contain a non-restricted `RoleId` intended to be used in its place when the `Restricted` property contains the value `true`."/>
294        </Property>
295      </EntityType>
296    </Schema>
297
298    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_3_1">
299      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
300      <Annotation Term="OData.Description" String="This version was created to correct various descriptions to use proper normative terminology."/>
301      <EntityType Name="Role" BaseType="Role.v1_3_0.Role"/>
302    </Schema>
303
304    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_3_2">
305      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
306      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
307      <EntityType Name="Role" BaseType="Role.v1_3_1.Role"/>
308    </Schema>
309
310    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Role.v1_3_3">
311      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
312      <Annotation Term="OData.Description" String="This version was created to recommend assuming `IsPredefined` to be `false` if not present.  It was also created to indicate `RoleId` is a required property."/>
313      <EntityType Name="Role" BaseType="Role.v1_3_2.Role"/>
314    </Schema>
315
316  </edmx:DataServices>
317</edmx:Edmx>
318