1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  SecureBoot v1.1.1                                                   -->
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/SecureBootDatabaseCollection_v1.xml">
27    <edmx:Include Namespace="SecureBootDatabaseCollection"/>
28  </edmx:Reference>
29
30  <edmx:DataServices>
31
32    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot">
33      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
34
35      <EntityType Name="SecureBoot" BaseType="Resource.v1_0_0.Resource" Abstract="true">
36        <Annotation Term="OData.Description" String="The SecureBoot schema contains UEFI Secure Boot information and represents properties for managing the UEFI Secure Boot functionality of a system."/>
37        <Annotation Term="OData.LongDescription" String="This resource contains UEFI Secure Boot information for a Redfish implementation."/>
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="true"/>
46            <Annotation Term="OData.Description" String="Secure Boot can be updated to enable or disable the service."/>
47          </Record>
48        </Annotation>
49        <Annotation Term="Capabilities.DeleteRestrictions">
50          <Record>
51            <PropertyValue Property="Deletable" Bool="false"/>
52          </Record>
53        </Annotation>
54        <Annotation Term="Redfish.Uris">
55          <Collection>
56            <String>/redfish/v1/Systems/{ComputerSystemId}/SecureBoot</String>
57            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/SecureBoot</String>
58            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/SecureBoot</String>
59          </Collection>
60        </Annotation>
61      </EntityType>
62
63      <Action Name="ResetKeys" IsBound="true">
64        <Annotation Term="OData.Description" String="This action resets the UEFI Secure Boot keys."/>
65        <Annotation Term="OData.LongDescription" String="This action shall reset the UEFI Secure Boot key databases.  The `ResetAllKeysToDefault` value shall reset all UEFI Secure Boot key databases to their default values.  The `DeleteAllKeys` value shall delete the contents of all UEFI Secure Boot key databases.  The `DeletePK` value shall delete the contents of the PK Secure Boot key database."/>
66        <Parameter Name="SecureBoot" Type="SecureBoot.v1_0_0.Actions"/>
67        <Parameter Name="ResetKeysType" Type="SecureBoot.v1_0_0.ResetKeysType" Nullable="false">
68          <Annotation Term="OData.Description" String="The type of reset or delete to perform on the UEFI Secure Boot databases."/>
69          <Annotation Term="OData.LongDescription" String="This parameter shall specify the type of reset or delete to perform on the UEFI Secure Boot databases."/>
70        </Parameter>
71      </Action>
72    </Schema>
73
74    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_0_0">
75      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
76      <Annotation Term="Redfish.Release" String="2016.1"/>
77
78      <EntityType Name="SecureBoot" BaseType="SecureBoot.SecureBoot">
79        <Property Name="SecureBootEnable" Type="Edm.Boolean">
80          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
81          <Annotation Term="OData.Description" String="An indication of whether UEFI Secure Boot is enabled."/>
82          <Annotation Term="OData.LongDescription" String="This property shall indicate whether the UEFI Secure Boot takes effect on next boot.  This property can be enabled in UEFI boot mode only."/>
83        </Property>
84        <Property Name="SecureBootCurrentBoot" Type="SecureBoot.v1_0_0.SecureBootCurrentBootType">
85          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
86          <Annotation Term="OData.Description" String="The UEFI Secure Boot state during the current boot cycle."/>
87          <Annotation Term="OData.LongDescription" String="This property shall indicate the UEFI Secure Boot state during the current boot cycle."/>
88        </Property>
89        <Property Name="SecureBootMode" Type="SecureBoot.v1_0_0.SecureBootModeType">
90          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
91          <Annotation Term="OData.Description" String="The current UEFI Secure Boot Mode."/>
92          <Annotation Term="OData.LongDescription" String="This property shall contain the current UEFI Secure Boot mode, as defined in the UEFI Specification."/>
93        </Property>
94        <Property Name="Actions" Type="SecureBoot.v1_0_0.Actions" Nullable="false">
95          <Annotation Term="OData.Description" String="The available actions for this resource."/>
96          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
97        </Property>
98      </EntityType>
99
100      <EnumType Name="SecureBootCurrentBootType">
101        <Member Name="Enabled">
102          <Annotation Term="OData.Description" String="UEFI Secure Boot is currently enabled."/>
103        </Member>
104        <Member Name="Disabled">
105          <Annotation Term="OData.Description" String="UEFI Secure Boot is currently disabled."/>
106        </Member>
107      </EnumType>
108
109      <EnumType Name="SecureBootModeType">
110        <Member Name="SetupMode">
111          <Annotation Term="OData.Description" String="UEFI Secure Boot is currently in Setup Mode."/>
112        </Member>
113        <Member Name="UserMode">
114          <Annotation Term="OData.Description" String="UEFI Secure Boot is currently in User Mode."/>
115        </Member>
116        <Member Name="AuditMode">
117          <Annotation Term="OData.Description" String="UEFI Secure Boot is currently in Audit Mode."/>
118        </Member>
119        <Member Name="DeployedMode">
120          <Annotation Term="OData.Description" String="UEFI Secure Boot is currently in Deployed Mode."/>
121        </Member>
122      </EnumType>
123
124      <EnumType Name="ResetKeysType">
125        <Member Name="ResetAllKeysToDefault">
126          <Annotation Term="OData.Description" String="Reset the contents of all UEFI Secure Boot key databases, including the PK key database, to the default values."/>
127        </Member>
128        <Member Name="DeleteAllKeys">
129          <Annotation Term="OData.Description" String="Delete the contents of all UEFI Secure Boot key databases, including the PK key database.  This puts the system in Setup Mode."/>
130        </Member>
131        <Member Name="DeletePK">
132          <Annotation Term="OData.Description" String="Delete the contents of the PK UEFI Secure Boot database.  This puts the system in Setup Mode."/>
133        </Member>
134      </EnumType>
135
136      <ComplexType Name="Actions">
137        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
138        <Annotation Term="OData.Description" String="The available actions for this resource."/>
139        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
140        <Property Name="Oem" Type="SecureBoot.v1_0_0.OemActions" Nullable="false">
141          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
142          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
143        </Property>
144      </ComplexType>
145
146      <ComplexType Name="OemActions">
147        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
148        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
149        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
150      </ComplexType>
151    </Schema>
152
153    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_0_1">
154      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
155      <Annotation Term="OData.Description" String="This version was created to show that annotations in previous namespaces were updated."/>
156      <EntityType Name="SecureBoot" BaseType="SecureBoot.v1_0_0.SecureBoot"/>
157    </Schema>
158
159    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_0_2">
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="SecureBoot" BaseType="SecureBoot.v1_0_1.SecureBoot"/>
163    </Schema>
164
165    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_0_3">
166      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
167      <Annotation Term="OData.Description" String="This version was created to add requirements on the action parameters to show they are mandatory through Nullable=false, and corrects the short and long descriptions in the defined actions."/>
168      <EntityType Name="SecureBoot" BaseType="SecureBoot.v1_0_2.SecureBoot"/>
169    </Schema>
170
171    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_0_4">
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="SecureBoot" BaseType="SecureBoot.v1_0_3.SecureBoot"/>
175    </Schema>
176
177    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_0_5">
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."/>
180      <EntityType Name="SecureBoot" BaseType="SecureBoot.v1_0_4.SecureBoot"/>
181    </Schema>
182
183    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_0_6">
184      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
185      <Annotation Term="OData.Description" String="This version was created to update descriptions that this schema defines."/>
186      <EntityType Name="SecureBoot" BaseType="SecureBoot.v1_0_5.SecureBoot"/>
187    </Schema>
188
189    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_0_7">
190      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
191      <Annotation Term="OData.Description" String="This version was created to update descriptions as needed to reference UEFI Secure Boot databases."/>
192      <EntityType Name="SecureBoot" BaseType="SecureBoot.v1_0_6.SecureBoot"/>
193    </Schema>
194
195    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_0_8">
196      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
197      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
198      <EntityType Name="SecureBoot" BaseType="SecureBoot.v1_0_7.SecureBoot"/>
199    </Schema>
200
201    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_1_0">
202      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
203      <Annotation Term="Redfish.Release" String="2020.1"/>
204
205      <EntityType Name="SecureBoot" BaseType="SecureBoot.v1_0_7.SecureBoot">
206        <NavigationProperty Name="SecureBootDatabases" Type="SecureBootDatabaseCollection.SecureBootDatabaseCollection" ContainsTarget="true" Nullable="false">
207          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
208          <Annotation Term="OData.Description" String="A link to the collection of UEFI Secure Boot databases."/>
209          <Annotation Term="OData.LongDescription" String="The value of this property shall be a link to a resource collection of type SecureBootDatabaseCollection."/>
210          <Annotation Term="OData.AutoExpandReferences"/>
211        </NavigationProperty>
212      </EntityType>
213    </Schema>
214
215    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBoot.v1_1_1">
216      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
217      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
218      <EntityType Name="SecureBoot" BaseType="SecureBoot.v1_1_0.SecureBoot"/>
219    </Schema>
220
221  </edmx:DataServices>
222</edmx:Edmx>
223