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