1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  PrivilegeRegistry v1.1.4                                            -->
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-2023 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
35      <EntityType Name="PrivilegeRegistry" BaseType="Resource.v1_0_0.Resource" Abstract="true">
36        <Annotation Term="OData.Description" String="The PrivilegeRegistry schema describes the operation-to-privilege mappings."/>
37        <Annotation Term="OData.LongDescription" String="This Resource contains operation-to-privilege mappings."/>
38        <Annotation Term="Capabilities.InsertRestrictions">
39          <Record>
40            <PropertyValue Property="Insertable" Bool="false"/>
41          </Record>
42        </Annotation>
43        <Annotation Term="Capabilities.UpdateRestrictions">
44          <Record>
45            <PropertyValue Property="Updatable" Bool="false"/>
46          </Record>
47        </Annotation>
48        <Annotation Term="Capabilities.DeleteRestrictions">
49          <Record>
50            <PropertyValue Property="Deletable" Bool="false"/>
51          </Record>
52        </Annotation>
53      </EntityType>
54
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
158    </Schema>
159
160    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_1">
161      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
162      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
163      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_0.PrivilegeRegistry"/>
164    </Schema>
165
166    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_2">
167      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
168      <Annotation Term="OData.Description" String="This version was created to change references to PrivilegeType to use the unversioned definition."/>
169      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_1.PrivilegeRegistry"/>
170    </Schema>
171
172    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_3">
173      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
174      <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."/>
175      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_2.PrivilegeRegistry"/>
176    </Schema>
177
178    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_4">
179      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
180      <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`."/>
181      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_3.PrivilegeRegistry"/>
182    </Schema>
183
184    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_0_5">
185      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
186      <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."/>
187      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_4.PrivilegeRegistry"/>
188    </Schema>
189
190    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_0">
191      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
192      <Annotation Term="Redfish.Release" String="2017.1"/>
193      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_0_1.PrivilegeRegistry">
194        <Property Name="Actions" Type="PrivilegeRegistry.v1_1_0.Actions" Nullable="false">
195          <Annotation Term="OData.Description" String="The available actions for this Resource."/>
196          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this Resource."/>
197        </Property>
198      </EntityType>
199
200      <ComplexType Name="Actions">
201        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
202        <Annotation Term="OData.Description" String="The available actions for this Resource."/>
203        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this Resource."/>
204        <Property Name="Oem" Type="PrivilegeRegistry.v1_1_0.OemActions" Nullable="false">
205          <Annotation Term="OData.Description" String="The available OEM-specific actions for this Resource."/>
206          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this Resource."/>
207        </Property>
208      </ComplexType>
209
210      <ComplexType Name="OemActions">
211        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
212        <Annotation Term="OData.Description" String="The available OEM-specific actions for this Resource."/>
213        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this Resource."/>
214      </ComplexType>
215    </Schema>
216
217    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_1">
218      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
219      <Annotation Term="OData.Description" String="This version was created to change references to PrivilegeType to use the unversioned definition."/>
220      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_1_0.PrivilegeRegistry"/>
221    </Schema>
222
223    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_2">
224      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
225      <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 Permission term in several properties."/>
226      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_1_1.PrivilegeRegistry"/>
227    </Schema>
228
229    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_3">
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 URI properties use the uri-reference format, and to add a missing term to several properties to disallow them from being `null`."/>
232      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_1_2.PrivilegeRegistry"/>
233    </Schema>
234
235    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry.v1_1_4">
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 OData properties are not included.  It was also created to update descriptions that this schema defines."/>
238      <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.v1_1_3.PrivilegeRegistry"/>
239    </Schema>
240
241  </edmx:DataServices>
242</edmx:Edmx>
243