blob: bdea2107481591b8ab22de7185486d4fe5e2905c [file] [log] [blame]
Ed Tanous710adfc2017-10-24 17:04:52 -07001<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################ -->
4<!--# Redfish Schema: PrivilegeRegistry v1.0.0 -->
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-2016 Distributed Management Task Force, Inc. (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.v1_0_0"/>
28 </edmx:Reference>
29
30 <edmx:DataServices>
31
32 <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="PrivilegeRegistry">
33
34 <EntityType Name="PrivilegeRegistry" BaseType="Resource.v1_0_0.Resource" Abstract="true">
35 <Annotation Term="OData.Description" String="This is the schema definition for Operation to Privilege mapping."/>
36 <Annotation Term="OData.LongDescription" String="This resource shall be used to represent operation to privilege mappings."/>
37 <Annotation Term="Capabilities.InsertRestrictions">
38 <Record>
39 <PropertyValue Property="Insertable" Bool="false"/>
40 </Record>
41 </Annotation>
42 <Annotation Term="Capabilities.UpdateRestrictions">
43 <Record>
44 <PropertyValue Property="Updatable" Bool="true"/>
45 <Annotation Term="OData.Description" String="A Privilege Resource resource can be updated to change permissions on the various resource types based on a user's privilege level."/>
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
59 <EntityType Name="PrivilegeRegistry" BaseType="PrivilegeRegistry.PrivilegeRegistry">
60 <Annotation Term="OData.Description" String="This is the schema definition for Operation to Privilege mapping."/>
61 <Annotation Term="OData.LongDescription" String="This resource shall be used to represent operation to privilege mappings."/>
62 <Property Name="PrivilegesUsed" Type="Collection(Privileges.v1_0_0.PrivilegeType)" Nullable="false">
63 <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
64 <Annotation Term="OData.Description" String="Lists the set of Redfish standard priviliges used in building this mapping."/>
65 </Property>
66 <Property Name="OEMPrivilegesUsed" Type="Collection(Edm.String)" Nullable="false">
67 <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
68 <Annotation Term="OData.Description" String="Lists the set of OEM Priviliges used in building this mapping."/>
69 </Property>
70 <Property Name="Mappings" Type="Collection(PrivilegeRegistry.v1_0_0.Mapping)" Nullable="false">
71 </Property>
72 </EntityType>
73
74 <ComplexType Name="Mapping">
75 <Property Name="Entity" Type="Edm.String" Nullable="false">
76 <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
77 <Annotation Term="OData.Description" String="Indicates entity name. e.g., Manager."/>
78 <Annotation Term="OData.LongDescription" String="Indicates entity name. e.g., Manager."/>
79 </Property>
80 <Property Name="SubordinateOverrides" Type="Collection(PrivilegeRegistry.v1_0_0.Target_PrivilegeMap)" Nullable="true">
81 <Annotation Term="OData.Description" String="Indicates privilege overrides of subordinate resource."/>
82 <Annotation Term="OData.LongDescription" String="Indicates privilege overrides of subordinate resource. Target lists referenced by Entity."/>
83 </Property>
84 <Property Name="ResourceURIOverrides" Type="Collection(PrivilegeRegistry.v1_0_0.Target_PrivilegeMap)" Nullable="true">
85 <Annotation Term="OData.Description" String="Indicates privilege overrides of Resource URI."/>
86 <Annotation Term="OData.LongDescription" String="Indicates privilege overrides of Resource URI. Target lists Resource URI."/>
87 </Property>
88 <Property Name="PropertyOverrides" Type="Collection(PrivilegeRegistry.v1_0_0.Target_PrivilegeMap)" Nullable="true">
89 <Annotation Term="OData.Description" String="Indicates privilege overrides of property or element within a entity."/>
90 <Annotation Term="OData.LongDescription" String="Indicates privilege overrides of property or element. e.g., password property."/>
91 </Property>
92 <Property Name="OperationMap" Type="PrivilegeRegistry.v1_0_0.OperationMap" Nullable="false">
93 <Annotation Term="OData.Description" String="List mapping between HTTP method and privilege required for entity."/>
94 <Annotation Term="OData.LongDescription" String="List mapping between HTTP method and privilege required for entity."/>
95 </Property>
96 </ComplexType>
97
98 <ComplexType Name="Target_PrivilegeMap">
99 <Property Name="Targets" Type="Collection(Edm.String)" Nullable="true">
100 <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
101 <Annotation Term="OData.Description" String="Indicates the URI or Entity."/>
102 <Annotation Term="OData.LongDescription" String="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."/>
103 </Property>
104 <Property Name="OperationMap" Type="PrivilegeRegistry.v1_0_0.OperationMap" >
105 <Annotation Term="OData.Description" String="List mapping between HTTP operation and privilege needed to perform operation."/>
106 <Annotation Term="OData.LongDescription" String="List mapping between HTTP operation and privilege needed to perform operation."/>
107 </Property>
108 </ComplexType>
109
110 <ComplexType Name="OperationMap">
111 <Annotation Term="OData.Description" String="Used for describing the specific privileges for a set of HTTP operations."/>
112 <Annotation Term="OData.AdditionalProperties" Bool="false"/>
113 <Property Name="GET" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
114 <Annotation Term="OData.Description" String="Indicates privilege required for HTTP GET operation."/>
115 <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP GET operation."/>
116 </Property>
117 <Property Name="HEAD" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
118 <Annotation Term="OData.Description" String="Indicates privilege required for HTTP HEAD operation."/>
119 <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP HEAD operation."/>
120 </Property>
121 <Property Name="PATCH" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
122 <Annotation Term="OData.Description" String="Indicates privilege required for HTTP PATCH operation."/>
123 <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP PATCH operation."/>
124 </Property>
125 <Property Name="POST" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
126 <Annotation Term="OData.Description" String="Indicates privilege required for HTTP POST operation."/>
127 <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP POST operation."/>
128 </Property>
129 <Property Name="PUT" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
130 <Annotation Term="OData.Description" String="Indicates privilege required for HTTP PUT operation."/>
131 <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP PUT operation."/>
132 </Property>
133 <Property Name="DELETE" Type="Collection(PrivilegeRegistry.v1_0_0.OperationPrivilege)" Nullable="false">
134 <Annotation Term="OData.Description" String="Indicates privilege required for HTTP DELETE operation."/>
135 <Annotation Term="OData.LongDescription" String="Indicates privilege required for HTTP DELETE operation."/>
136 </Property>
137 </ComplexType>
138
139 <ComplexType Name="OperationPrivilege">
140 <Annotation Term="OData.Description" String="Used for describing the specific privileges for a given type of HTTP operation."/>
141 <Property Name="Privilege" Type="Collection(Edm.String)" Nullable="false">
142 <Annotation Term="OData.Permissions" EnumMember="OData.Permissions/Read"/>
143 <Annotation Term="OData.Description" String="Lists the privileges that are allowed to perform the given type of HTTP operation on the entity type."/>
144 <Annotation Term="OData.LongDescription" String="This array shall contain a set of strings that match 0 or more of the strings found in the PrivilegesUsed and OEMPrivilegesUsed properties."/>
145 </Property>
146 </ComplexType>
147
148 </Schema>
149
150 </edmx:DataServices>
151</edmx:Edmx>