1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  PrivilegeRegistry v1.1.5                                            -->
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-2024 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/Resource_v1.xml">
21    <edmx:Include Namespace="Resource.v1_0_0"/>
22  </edmx:Reference>
23  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
24    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
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="PrivilegeRegistry">
33      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
34      <Annotation Term="Redfish.Language" String="en"/>
35
36      <EntityType Name="PrivilegeRegistry" BaseType="Resource.v1_0_0.Resource" Abstract="true">
37        <Annotation Term="OData.Description" String="The `PrivilegeRegistry` schema describes the operation-to-privilege mappings."/>
38        <Annotation Term="OData.LongDescription" String="This resource shall contain operation-to-privilege mappings."/>
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="false"/>
47          </Record>
48        </Annotation>
49        <Annotation Term="Capabilities.DeleteRestrictions">
50          <Record>
51            <PropertyValue Property="Deletable" Bool="false"/>
52          </Record>
53        </Annotation>
54      </EntityType>
55    </Schema>
56
57    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_0">
58      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
59      <Annotation Term="Redfish.Release" String="2016.3"/>
60
61      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.PrivilegeRegistry">
62        <Property Name="PrivilegesUsed" Type="Collection(Privileges.PrivilegeType)" Nullable="false">
63          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
64          <Annotation Term="OData.Description" String="The set of Redfish standard privileges used in this mapping."/>
65          <Annotation Term="OData.LongDescription" String="This property shall contain an array of Redfish standard privileges used in this mapping."/>
66        </Property>
67        <Property Name="OEMPrivilegesUsed" Type="Collection(Edm.String)" Nullable="false">
68          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
69          <Annotation Term="OData.Description" String="The set of OEM privileges used in this mapping."/>
70          <Annotation Term="OData.LongDescription" String="This property shall contain an array of OEM privileges used in this mapping."/>
71        </Property>
72        <Property Name="Mappings" Type="Collection(PrivilegeRegistry.v1_0_0.Mapping)" Nullable="false">
73          <Annotation Term="OData.Description" String="The mappings between entities and the relevant privileges that access those entities."/>
74          <Annotation Term="OData.LongDescription" String="This property shall describe the mappings between entities and the relevant privileges that access those entities."/>
75        </Property>
76      </EntityType>
77
78      <ComplexType Name="Mapping">
79        <Annotation Term="OData.Description" String="The mapping between a resource type and the relevant privileges that accesses the resource."/>
80        <Annotation Term="OData.LongDescription" String="This type shall describe a mapping between a resource type and the relevant privileges that accesses the resource."/>
81        <Property Name="Entity" Type="Edm.String" Nullable="false">
82          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
83          <Annotation Term="OData.Description" String="The resource name, such as `Manager`."/>
84          <Annotation Term="OData.LongDescription" String="This property shall contain the resource name, such as `Manager`."/>
85        </Property>
86        <Property Name="SubordinateOverrides" Type="Collection(PrivilegeRegistry.v1_0_0.Target_PrivilegeMap)" Nullable="false">
87          <Annotation Term="OData.Description" String="The privilege overrides of the subordinate resource."/>
88          <Annotation Term="OData.LongDescription" String="This property shall contain the privilege overrides of the subordinate resource.  The target lists are identified by resource type."/>
89        </Property>
90        <Property Name="ResourceURIOverrides" Type="Collection(PrivilegeRegistry.v1_0_0.Target_PrivilegeMap)" Nullable="false">
91          <Annotation Term="OData.Description" String="The privilege overrides of resource URIs."/>
92          <Annotation Term="OData.LongDescription" String="This property shall contain the privilege overrides of resource URIs.  The target lists the resource URI and the new privileges."/>
93        </Property>
94        <Property Name="PropertyOverrides" Type="Collection(PrivilegeRegistry.v1_0_0.Target_PrivilegeMap)" Nullable="false">
95          <Annotation Term="OData.Description" String="The privilege overrides of properties within a resource."/>
96          <Annotation Term="OData.LongDescription" String="This property shall contain the privilege overrides of properties, such as the `Password` property in the `ManagerAccount` resource."/>
97        </Property>
98        <Property Name="OperationMap" Type="PrivilegeRegistry.v1_0_0.OperationMap" Nullable="false">
99          <Annotation Term="OData.Description" String="List mapping between HTTP methods and privilege required for the resource."/>
100          <Annotation Term="OData.LongDescription" String="This property shall list the mapping between HTTP methods and the privilege required for the resource."/>
101        </Property>
102      </ComplexType>
103
104      <ComplexType Name="Target_PrivilegeMap">
105        <Annotation Term="OData.Description" String="This type describes a mapping between one or more targets and the HTTP operations associated with them."/>
106        <Annotation Term="OData.LongDescription" String="This type shall describe a mapping between one or more targets and the HTTP operations associated with them."/>
107        <Property Name="Targets" Type="Collection(Edm.String)">
108          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
109          <Annotation Term="OData.Description" String="The set of URIs, resource types, or properties."/>
110          <Annotation Term="OData.LongDescription" String="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."/>
111        </Property>
112        <Property Name="OperationMap" Type="PrivilegeRegistry.v1_0_0.OperationMap" Nullable="false">
113          <Annotation Term="OData.Description" String="The mapping between the HTTP operation and the privilege required to complete the operation."/>
114          <Annotation Term="OData.LongDescription" String="This property shall contain the mapping between the HTTP operation and the privilege required to complete the operation."/>
115        </Property>
116      </ComplexType>
117
118      <ComplexType Name="OperationMap">
119        <Annotation Term="OData.Description" String="The specific privileges required to complete a set of HTTP operations."/>
120        <Annotation Term="OData.LongDescription" String="This type shall describe the specific privileges required to complete a set of HTTP operations."/>
121        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
122        <Property Name="GET" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
123          <Annotation Term="OData.Description" String="The privilege required to complete an HTTP `GET` operation."/>
124          <Annotation Term="OData.LongDescription" String="This property shall contain the privilege required to complete an HTTP `GET` operation."/>
125        </Property>
126        <Property Name="HEAD" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
127          <Annotation Term="OData.Description" String="The privilege required to complete an HTTP `HEAD` operation."/>
128          <Annotation Term="OData.LongDescription" String="This property shall contain the privilege required to complete an HTTP `HEAD` operation."/>
129        </Property>
130        <Property Name="PATCH" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
131          <Annotation Term="OData.Description" String="The privilege required to complete an HTTP `PATCH` operation."/>
132          <Annotation Term="OData.LongDescription" String="This property shall contain the privilege required to complete an HTTP `PATCH` operation."/>
133        </Property>
134        <Property Name="POST" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
135          <Annotation Term="OData.Description" String="The privilege required to complete an HTTP `POST` operation."/>
136          <Annotation Term="OData.LongDescription" String="This property shall contain the privilege required to complete an HTTP `POST` operation."/>
137        </Property>
138        <Property Name="PUT" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
139          <Annotation Term="OData.Description" String="The privilege required to complete an HTTP `PUT` operation."/>
140          <Annotation Term="OData.LongDescription" String="This property shall contain the privilege required to complete an HTTP `PUT` operation."/>
141        </Property>
142        <Property Name="DELETE" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
143          <Annotation Term="OData.Description" String="The privilege required to complete an HTTP `DELETE` operation."/>
144          <Annotation Term="OData.LongDescription" String="This property shall contain the privilege required to complete an HTTP `DELETE` operation."/>
145        </Property>
146      </ComplexType>
147
148      <ComplexType Name="OperationPrivilege">
149        <Annotation Term="OData.Description" String="The privileges for a specific HTTP operation."/>
150        <Annotation Term="OData.LongDescription" String="This type shall describe the privileges required to complete a specific HTTP operation."/>
151        <Property Name="Privilege" Type="Collection(Edm.String)" Nullable="false">
152          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
153          <Annotation Term="OData.Description" String="An array of privileges that are required to complete a specific HTTP operation on a resource."/>
154          <Annotation Term="OData.LongDescription" String="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."/>
155        </Property>
156      </ComplexType>
157    </Schema>
158
159    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_1">
160      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
161      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
162      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_0.PrivilegeRegistry"/>
163    </Schema>
164
165    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_2">
166      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
167      <Annotation Term="OData.Description" String="This version was created to change references to `PrivilegeType` to use the unversioned definition."/>
168      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_1.PrivilegeRegistry"/>
169    </Schema>
170
171    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_3">
172      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
173      <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."/>
174      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_2.PrivilegeRegistry"/>
175    </Schema>
176
177    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_4">
178      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
179      <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, and to add a missing term to several properties to disallow them from being `null`."/>
180      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_3.PrivilegeRegistry"/>
181    </Schema>
182
183    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_5">
184      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
185      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are not included.  It was also created to update descriptions that this schema defines."/>
186      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_4.PrivilegeRegistry"/>
187    </Schema>
188
189    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_6">
190      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
191      <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."/>
192      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_5.PrivilegeRegistry"/>
193    </Schema>
194
195    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_0">
196      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
197      <Annotation Term="Redfish.Release" String="2017.1"/>
198
199      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_1.PrivilegeRegistry">
200        <Property Name="Actions" Type="PrivilegeRegistry.v1_1_0.Actions" Nullable="false">
201          <Annotation Term="OData.Description" String="The available actions for this resource."/>
202          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
203        </Property>
204      </EntityType>
205
206      <ComplexType Name="Actions">
207        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
208        <Annotation Term="OData.Description" String="The available actions for this resource."/>
209        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
210        <Property Name="Oem" Type="PrivilegeRegistry.v1_1_0.OemActions" Nullable="false">
211          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
212          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
213        </Property>
214      </ComplexType>
215
216      <ComplexType Name="OemActions">
217        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
218        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
219        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
220      </ComplexType>
221    </Schema>
222
223    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_1">
224      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
225      <Annotation Term="OData.Description" String="This version was created to change references to `PrivilegeType` to use the unversioned definition."/>
226      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_1_0.PrivilegeRegistry"/>
227    </Schema>
228
229    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_2">
230      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
231      <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.  It was also created to fix the permissions term in several properties."/>
232      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_1_1.PrivilegeRegistry"/>
233    </Schema>
234
235    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_3">
236      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
237      <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, and to add a missing term to several properties to disallow them from being `null`."/>
238      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_1_2.PrivilegeRegistry"/>
239    </Schema>
240
241    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_4">
242      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
243      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that OData properties are not included.  It was also created to update descriptions that this schema defines."/>
244      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_1_3.PrivilegeRegistry"/>
245    </Schema>
246
247    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_5">
248      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
249      <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."/>
250      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_1_4.PrivilegeRegistry"/>
251    </Schema>
252
253  </edmx:DataServices>
254</edmx:Edmx>
255