1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/SecureBoot.v1_1_2.json",
3    "$ref": "#/definitions/SecureBoot",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "#SecureBoot.ResetKeys": {
27                    "$ref": "#/definitions/ResetKeys"
28                },
29                "Oem": {
30                    "$ref": "#/definitions/OemActions",
31                    "description": "The available OEM-specific actions for this resource.",
32                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
33                }
34            },
35            "type": "object"
36        },
37        "OemActions": {
38            "additionalProperties": true,
39            "description": "The available OEM-specific actions for this resource.",
40            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
41            "patternProperties": {
42                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
43                    "description": "This property shall specify a valid odata or Redfish property.",
44                    "type": [
45                        "array",
46                        "boolean",
47                        "integer",
48                        "number",
49                        "null",
50                        "object",
51                        "string"
52                    ]
53                }
54            },
55            "properties": {},
56            "type": "object"
57        },
58        "ResetKeys": {
59            "additionalProperties": false,
60            "description": "This action resets the UEFI Secure Boot keys.",
61            "longDescription": "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.",
62            "parameters": {
63                "ResetKeysType": {
64                    "$ref": "#/definitions/ResetKeysType",
65                    "description": "The type of reset or delete to perform on the UEFI Secure Boot databases.",
66                    "longDescription": "This parameter shall specify the type of reset or delete to perform on the UEFI Secure Boot databases.",
67                    "requiredParameter": true
68                }
69            },
70            "patternProperties": {
71                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
72                    "description": "This property shall specify a valid odata or Redfish property.",
73                    "type": [
74                        "array",
75                        "boolean",
76                        "integer",
77                        "number",
78                        "null",
79                        "object",
80                        "string"
81                    ]
82                }
83            },
84            "properties": {
85                "target": {
86                    "description": "Link to invoke action",
87                    "format": "uri-reference",
88                    "type": "string"
89                },
90                "title": {
91                    "description": "Friendly action name",
92                    "type": "string"
93                }
94            },
95            "type": "object"
96        },
97        "ResetKeysType": {
98            "enum": [
99                "ResetAllKeysToDefault",
100                "DeleteAllKeys",
101                "DeletePK"
102            ],
103            "enumDescriptions": {
104                "DeleteAllKeys": "Delete the contents of all UEFI Secure Boot key databases, including the PK key database.  This puts the system in Setup Mode.",
105                "DeletePK": "Delete the contents of the PK UEFI Secure Boot database.  This puts the system in Setup Mode.",
106                "ResetAllKeysToDefault": "Reset the contents of all UEFI Secure Boot key databases, including the PK key database, to the default values."
107            },
108            "type": "string"
109        },
110        "SecureBoot": {
111            "additionalProperties": false,
112            "description": "The `SecureBoot` schema contains UEFI Secure Boot information and represents properties for managing the UEFI Secure Boot functionality of a system.",
113            "longDescription": "This resource contains UEFI Secure Boot information for a Redfish implementation.",
114            "patternProperties": {
115                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
116                    "description": "This property shall specify a valid odata or Redfish property.",
117                    "type": [
118                        "array",
119                        "boolean",
120                        "integer",
121                        "number",
122                        "null",
123                        "object",
124                        "string"
125                    ]
126                }
127            },
128            "properties": {
129                "@odata.context": {
130                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
131                },
132                "@odata.etag": {
133                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
134                },
135                "@odata.id": {
136                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
137                },
138                "@odata.type": {
139                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
140                },
141                "Actions": {
142                    "$ref": "#/definitions/Actions",
143                    "description": "The available actions for this resource.",
144                    "longDescription": "This property shall contain the available actions for this resource."
145                },
146                "Description": {
147                    "anyOf": [
148                        {
149                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
150                        },
151                        {
152                            "type": "null"
153                        }
154                    ],
155                    "readonly": true
156                },
157                "Id": {
158                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
159                    "readonly": true
160                },
161                "Name": {
162                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
163                    "readonly": true
164                },
165                "Oem": {
166                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
167                    "description": "The OEM extension property.",
168                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
169                },
170                "SecureBootCurrentBoot": {
171                    "anyOf": [
172                        {
173                            "$ref": "#/definitions/SecureBootCurrentBootType"
174                        },
175                        {
176                            "type": "null"
177                        }
178                    ],
179                    "description": "The UEFI Secure Boot state during the current boot cycle.",
180                    "longDescription": "This property shall indicate the UEFI Secure Boot state during the current boot cycle.",
181                    "readonly": true
182                },
183                "SecureBootDatabases": {
184                    "$ref": "http://redfish.dmtf.org/schemas/v1/SecureBootDatabaseCollection.json#/definitions/SecureBootDatabaseCollection",
185                    "description": "A link to the collection of UEFI Secure Boot databases.",
186                    "longDescription": "The value of this property shall be a link to a resource collection of type `SecureBootDatabaseCollection`.",
187                    "readonly": true,
188                    "versionAdded": "v1_1_0"
189                },
190                "SecureBootEnable": {
191                    "description": "An indication of whether UEFI Secure Boot is enabled.",
192                    "longDescription": "This property shall indicate whether the UEFI Secure Boot takes effect on next boot.  This property can be enabled in UEFI boot mode only.",
193                    "readonly": false,
194                    "type": [
195                        "boolean",
196                        "null"
197                    ]
198                },
199                "SecureBootMode": {
200                    "anyOf": [
201                        {
202                            "$ref": "#/definitions/SecureBootModeType"
203                        },
204                        {
205                            "type": "null"
206                        }
207                    ],
208                    "description": "The current UEFI Secure Boot Mode.",
209                    "longDescription": "This property shall contain the current UEFI Secure Boot mode, as defined in the UEFI Specification.",
210                    "readonly": true
211                }
212            },
213            "required": [
214                "@odata.id",
215                "@odata.type",
216                "Id",
217                "Name"
218            ],
219            "type": "object"
220        },
221        "SecureBootCurrentBootType": {
222            "enum": [
223                "Enabled",
224                "Disabled"
225            ],
226            "enumDescriptions": {
227                "Disabled": "UEFI Secure Boot is currently disabled.",
228                "Enabled": "UEFI Secure Boot is currently enabled."
229            },
230            "type": "string"
231        },
232        "SecureBootModeType": {
233            "enum": [
234                "SetupMode",
235                "UserMode",
236                "AuditMode",
237                "DeployedMode"
238            ],
239            "enumDescriptions": {
240                "AuditMode": "UEFI Secure Boot is currently in Audit Mode.",
241                "DeployedMode": "UEFI Secure Boot is currently in Deployed Mode.",
242                "SetupMode": "UEFI Secure Boot is currently in Setup Mode.",
243                "UserMode": "UEFI Secure Boot is currently in User Mode."
244            },
245            "type": "string"
246        }
247    },
248    "language": "en",
249    "owningEntity": "DMTF",
250    "release": "2020.1",
251    "title": "#SecureBoot.v1_1_2.SecureBoot"
252}