1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  SecureBootDatabase v1.0.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-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/CertificateCollection_v1.xml">
27    <edmx:Include Namespace="CertificateCollection"/>
28  </edmx:Reference>
29  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/SignatureCollection_v1.xml">
30    <edmx:Include Namespace="SignatureCollection"/>
31  </edmx:Reference>
32
33  <edmx:DataServices>
34
35    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBootDatabase">
36      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
37      <Annotation Term="Redfish.Language" String="en"/>
38
39      <EntityType Name="SecureBootDatabase" BaseType="Resource.v1_0_0.Resource" Abstract="true">
40        <Annotation Term="OData.Description" String="The `SecureBootDatabase` schema describes a UEFI Secure Boot database used to store certificates or hashes."/>
41        <Annotation Term="OData.LongDescription" String="This resource shall be used to represent a UEFI Secure Boot database for a Redfish implementation."/>
42        <Annotation Term="Capabilities.InsertRestrictions">
43          <Record>
44            <PropertyValue Property="Insertable" Bool="false"/>
45          </Record>
46        </Annotation>
47        <Annotation Term="Capabilities.UpdateRestrictions">
48          <Record>
49            <PropertyValue Property="Updatable" Bool="false"/>
50          </Record>
51        </Annotation>
52        <Annotation Term="Capabilities.DeleteRestrictions">
53          <Record>
54            <PropertyValue Property="Deletable" Bool="false"/>
55          </Record>
56        </Annotation>
57        <Annotation Term="Redfish.Uris">
58          <Collection>
59            <String>/redfish/v1/Systems/{ComputerSystemId}/SecureBoot/SecureBootDatabases/{DatabaseId}</String>
60            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/SecureBoot/SecureBootDatabases/{DatabaseId}</String>
61            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/SecureBoot/SecureBootDatabases/{DatabaseId}</String>
62          </Collection>
63        </Annotation>
64      </EntityType>
65
66      <Action Name="ResetKeys" IsBound="true">
67        <Annotation Term="OData.Description" String="This action is used to reset the UEFI Secure Boot keys of this database."/>
68        <Annotation Term="OData.LongDescription" String="This action shall perform a reset of this UEFI Secure Boot key database.  The `ResetAllKeysToDefault` value shall reset this UEFI Secure Boot key database to the default values.  The `DeleteAllKeys` value shall delete the contents of this UEFI Secure Boot key database."/>
69        <Parameter Name="SecureBootDatabase" Type="SecureBootDatabase.v1_0_0.Actions"/>
70        <Parameter Name="ResetKeysType" Type="SecureBootDatabase.v1_0_0.ResetKeysType" Nullable="false">
71          <Annotation Term="OData.Description" String="The type of reset or delete to perform on this UEFI Secure Boot database."/>
72          <Annotation Term="OData.LongDescription" String="This parameter shall specify the type of reset or delete to perform on this UEFI Secure Boot database."/>
73        </Parameter>
74      </Action>
75    </Schema>
76
77    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBootDatabase.v1_0_0">
78      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
79      <Annotation Term="Redfish.Release" String="2020.1"/>
80
81      <EntityType Name="SecureBootDatabase" BaseType="SecureBootDatabase.SecureBootDatabase">
82        <Property Name="DatabaseId" Type="Edm.String" Nullable="false">
83          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
84          <Annotation Term="OData.Description" String="This property contains the name of the UEFI Secure Boot database."/>
85          <Annotation Term="OData.LongDescription" String="This property shall contain the name of the UEFI Secure Boot database.  This property shall contain the same value as the `Id` property.  The value shall be one of the UEFI-defined Secure Boot databases: `PK`, `KEK` `db`, `dbx`, `dbr`, `dbt`, `PKDefault`, `KEKDefault`, `dbDefault`, `dbxDefault`, `dbrDefault`, or `dbtDefault`."/>
86        </Property>
87        <Property Name="Actions" Type="SecureBootDatabase.v1_0_0.Actions" Nullable="false">
88          <Annotation Term="OData.Description" String="The available actions for this resource."/>
89          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
90        </Property>
91        <NavigationProperty Name="Certificates" Type="CertificateCollection.CertificateCollection" ContainsTarget="true" Nullable="false">
92          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
93          <Annotation Term="OData.Description" String="A link to the collection of certificates contained in this UEFI Secure Boot database."/>
94          <Annotation Term="OData.LongDescription" String="The value of this property shall be a link to a resource collection of type `CertificateCollection`."/>
95          <Annotation Term="OData.AutoExpandReferences"/>
96        </NavigationProperty>
97        <NavigationProperty Name="Signatures" Type="SignatureCollection.SignatureCollection" ContainsTarget="true" Nullable="false">
98          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
99          <Annotation Term="OData.Description" String="A link to the collection of signatures contained in this UEFI Secure Boot database."/>
100          <Annotation Term="OData.LongDescription" String="The value of this property shall be a link to a resource collection of type `SignatureCollection`."/>
101          <Annotation Term="OData.AutoExpandReferences"/>
102        </NavigationProperty>
103      </EntityType>
104
105      <EnumType Name="ResetKeysType">
106        <Member Name="ResetAllKeysToDefault">
107          <Annotation Term="OData.Description" String="Reset the contents of this UEFI Secure Boot key database to the default values."/>
108        </Member>
109        <Member Name="DeleteAllKeys">
110          <Annotation Term="OData.Description" String="Delete the contents of this UEFI Secure Boot key database."/>
111        </Member>
112      </EnumType>
113
114      <ComplexType Name="Actions">
115        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
116        <Annotation Term="OData.Description" String="The available actions for this resource."/>
117        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
118        <Property Name="Oem" Type="SecureBootDatabase.v1_0_0.OemActions" Nullable="false">
119          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
120          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
121        </Property>
122      </ComplexType>
123
124      <ComplexType Name="OemActions">
125        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
126        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
127        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
128      </ComplexType>
129    </Schema>
130
131    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBootDatabase.v1_0_1">
132      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
133      <Annotation Term="OData.Description" String="This version was created to correct the name of the `PKDefault` database in the description of the `DatabaseId` property."/>
134      <EntityType Name="SecureBootDatabase" BaseType="SecureBootDatabase.v1_0_0.SecureBootDatabase"/>
135    </Schema>
136
137    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBootDatabase.v1_0_2">
138      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
139      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
140      <EntityType Name="SecureBootDatabase" BaseType="SecureBootDatabase.v1_0_1.SecureBootDatabase"/>
141    </Schema>
142
143    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="SecureBootDatabase.v1_0_3">
144      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
145      <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."/>
146      <EntityType Name="SecureBootDatabase" BaseType="SecureBootDatabase.v1_0_2.SecureBootDatabase"/>
147    </Schema>
148
149  </edmx:DataServices>
150</edmx:Edmx>
151