xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/Drive.v1_21_0.json (revision 9b46bc0b4c0c58c426e9bfb5a7d90250862ca9d2)
1*9b46bc0bSMyung Bae{
2*9b46bc0bSMyung Bae    "$id": "http://redfish.dmtf.org/schemas/v1/Drive.v1_21_0.json",
3*9b46bc0bSMyung Bae    "$ref": "#/definitions/Drive",
4*9b46bc0bSMyung Bae    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*9b46bc0bSMyung Bae    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*9b46bc0bSMyung Bae    "definitions": {
7*9b46bc0bSMyung Bae        "Actions": {
8*9b46bc0bSMyung Bae            "additionalProperties": false,
9*9b46bc0bSMyung Bae            "description": "The available actions for this resource.",
10*9b46bc0bSMyung Bae            "longDescription": "This type shall contain the available actions for this resource.",
11*9b46bc0bSMyung Bae            "patternProperties": {
12*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
14*9b46bc0bSMyung Bae                    "type": [
15*9b46bc0bSMyung Bae                        "array",
16*9b46bc0bSMyung Bae                        "boolean",
17*9b46bc0bSMyung Bae                        "integer",
18*9b46bc0bSMyung Bae                        "number",
19*9b46bc0bSMyung Bae                        "null",
20*9b46bc0bSMyung Bae                        "object",
21*9b46bc0bSMyung Bae                        "string"
22*9b46bc0bSMyung Bae                    ]
23*9b46bc0bSMyung Bae                }
24*9b46bc0bSMyung Bae            },
25*9b46bc0bSMyung Bae            "properties": {
26*9b46bc0bSMyung Bae                "#Drive.Reset": {
27*9b46bc0bSMyung Bae                    "$ref": "#/definitions/Reset"
28*9b46bc0bSMyung Bae                },
29*9b46bc0bSMyung Bae                "#Drive.RevertToOriginalFactoryState": {
30*9b46bc0bSMyung Bae                    "$ref": "#/definitions/RevertToOriginalFactoryState"
31*9b46bc0bSMyung Bae                },
32*9b46bc0bSMyung Bae                "#Drive.SecureErase": {
33*9b46bc0bSMyung Bae                    "$ref": "#/definitions/SecureErase"
34*9b46bc0bSMyung Bae                },
35*9b46bc0bSMyung Bae                "Oem": {
36*9b46bc0bSMyung Bae                    "$ref": "#/definitions/OemActions",
37*9b46bc0bSMyung Bae                    "description": "The available OEM-specific actions for this resource.",
38*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
39*9b46bc0bSMyung Bae                }
40*9b46bc0bSMyung Bae            },
41*9b46bc0bSMyung Bae            "type": "object"
42*9b46bc0bSMyung Bae        },
43*9b46bc0bSMyung Bae        "ConfigLockOptions": {
44*9b46bc0bSMyung Bae            "enum": [
45*9b46bc0bSMyung Bae                "Unlocked",
46*9b46bc0bSMyung Bae                "Locked",
47*9b46bc0bSMyung Bae                "LockdownUnsupported",
48*9b46bc0bSMyung Bae                "CommandUnsupported"
49*9b46bc0bSMyung Bae            ],
50*9b46bc0bSMyung Bae            "enumDescriptions": {
51*9b46bc0bSMyung Bae                "CommandUnsupported": "The command is not supported, therefore lockdown does not apply.",
52*9b46bc0bSMyung Bae                "LockdownUnsupported": "The command is supported but is not able to be locked.",
53*9b46bc0bSMyung Bae                "Locked": "The command is supported and is currently locked.",
54*9b46bc0bSMyung Bae                "Unlocked": "The command is supported, able to be locked, and is currently unlocked."
55*9b46bc0bSMyung Bae            },
56*9b46bc0bSMyung Bae            "type": "string"
57*9b46bc0bSMyung Bae        },
58*9b46bc0bSMyung Bae        "ConfigurationLock": {
59*9b46bc0bSMyung Bae            "enum": [
60*9b46bc0bSMyung Bae                "Enabled",
61*9b46bc0bSMyung Bae                "Disabled",
62*9b46bc0bSMyung Bae                "Partial"
63*9b46bc0bSMyung Bae            ],
64*9b46bc0bSMyung Bae            "enumDescriptions": {
65*9b46bc0bSMyung Bae                "Disabled": "In-band configuration requests are not locked.",
66*9b46bc0bSMyung Bae                "Enabled": "In-band configuration requests are locked as specified by `TargetConfigurationLockLevel`.",
67*9b46bc0bSMyung Bae                "Partial": "Some in-band configuration requests are not locked while others are locked.  This value is used for status reporting to indicate that the drive is partially locked and client action is recommended."
68*9b46bc0bSMyung Bae            },
69*9b46bc0bSMyung Bae            "enumLongDescriptions": {
70*9b46bc0bSMyung Bae                "Disabled": "This value shall indicate in-band configuration requests are not locked.",
71*9b46bc0bSMyung Bae                "Enabled": "This value shall indicate in-band configuration requests are locked as specified by `TargetConfigurationLockLevel`.",
72*9b46bc0bSMyung Bae                "Partial": "This value shall indicate some in-band configuration requests are not locked while others are locked."
73*9b46bc0bSMyung Bae            },
74*9b46bc0bSMyung Bae            "type": "string"
75*9b46bc0bSMyung Bae        },
76*9b46bc0bSMyung Bae        "DataSanitizationType": {
77*9b46bc0bSMyung Bae            "enum": [
78*9b46bc0bSMyung Bae                "BlockErase",
79*9b46bc0bSMyung Bae                "CryptographicErase",
80*9b46bc0bSMyung Bae                "Overwrite"
81*9b46bc0bSMyung Bae            ],
82*9b46bc0bSMyung Bae            "enumDescriptions": {
83*9b46bc0bSMyung Bae                "BlockErase": "Delete all logical block addresses, including those that are not currently mapping to active addresses, but leaving the data on the drive.",
84*9b46bc0bSMyung Bae                "CryptographicErase": "Erase the target data's encryption key leaving only the ciphertext on the drive.  For more information, see NIST800-88 and ISO/IEC 27040.",
85*9b46bc0bSMyung Bae                "Overwrite": "Overwrite data by writing an implementation-specific pattern onto all sectors of the drive."
86*9b46bc0bSMyung Bae            },
87*9b46bc0bSMyung Bae            "enumLongDescriptions": {
88*9b46bc0bSMyung Bae                "BlockErase": "This value shall indicate sanitization is performed by deleting all logical block addresses, including those that are not currently mapping to active addresses, but leaving the data on the drive.",
89*9b46bc0bSMyung Bae                "CryptographicErase": "This value shall indicate sanitization is performed by erasing the target data's encryption key leaving only the ciphertext on the drive.  For more information, see NIST800-88 and ISO/IEC 27040.",
90*9b46bc0bSMyung Bae                "Overwrite": "This value shall indicate sanitization is performed by overwriting data by writing an implementation-specific pattern onto all sectors of the drive."
91*9b46bc0bSMyung Bae            },
92*9b46bc0bSMyung Bae            "type": "string"
93*9b46bc0bSMyung Bae        },
94*9b46bc0bSMyung Bae        "Drive": {
95*9b46bc0bSMyung Bae            "additionalProperties": false,
96*9b46bc0bSMyung Bae            "description": "The `Drive` schema represents a single physical drive for a system, including links to associated volumes.  It also describes the location, such as a slot, socket, or bay, where a unit can be installed, by populating a resource instance with an absent state if a unit is not present.",
97*9b46bc0bSMyung Bae            "longDescription": "This resource shall represent a drive or other physical storage medium for a Redfish implementation.  It may also represent a location, such as a slot, socket, or bay, where a unit may be installed, but the `State` property within the `Status` property contains `Absent`.",
98*9b46bc0bSMyung Bae            "patternProperties": {
99*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
100*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
101*9b46bc0bSMyung Bae                    "type": [
102*9b46bc0bSMyung Bae                        "array",
103*9b46bc0bSMyung Bae                        "boolean",
104*9b46bc0bSMyung Bae                        "integer",
105*9b46bc0bSMyung Bae                        "number",
106*9b46bc0bSMyung Bae                        "null",
107*9b46bc0bSMyung Bae                        "object",
108*9b46bc0bSMyung Bae                        "string"
109*9b46bc0bSMyung Bae                    ]
110*9b46bc0bSMyung Bae                }
111*9b46bc0bSMyung Bae            },
112*9b46bc0bSMyung Bae            "properties": {
113*9b46bc0bSMyung Bae                "@odata.context": {
114*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
115*9b46bc0bSMyung Bae                },
116*9b46bc0bSMyung Bae                "@odata.etag": {
117*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
118*9b46bc0bSMyung Bae                },
119*9b46bc0bSMyung Bae                "@odata.id": {
120*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
121*9b46bc0bSMyung Bae                },
122*9b46bc0bSMyung Bae                "@odata.type": {
123*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
124*9b46bc0bSMyung Bae                },
125*9b46bc0bSMyung Bae                "Actions": {
126*9b46bc0bSMyung Bae                    "$ref": "#/definitions/Actions",
127*9b46bc0bSMyung Bae                    "description": "The available actions for this resource.",
128*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the available actions for this resource."
129*9b46bc0bSMyung Bae                },
130*9b46bc0bSMyung Bae                "Assembly": {
131*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
132*9b46bc0bSMyung Bae                    "description": "The link to the assembly associated with this drive.",
133*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `Assembly`.",
134*9b46bc0bSMyung Bae                    "readonly": true,
135*9b46bc0bSMyung Bae                    "versionAdded": "v1_3_0"
136*9b46bc0bSMyung Bae                },
137*9b46bc0bSMyung Bae                "AssetTag": {
138*9b46bc0bSMyung Bae                    "description": "The user-assigned asset tag for this drive.",
139*9b46bc0bSMyung Bae                    "longDescription": "This property shall track the drive for inventory purposes.",
140*9b46bc0bSMyung Bae                    "readonly": false,
141*9b46bc0bSMyung Bae                    "type": [
142*9b46bc0bSMyung Bae                        "string",
143*9b46bc0bSMyung Bae                        "null"
144*9b46bc0bSMyung Bae                    ]
145*9b46bc0bSMyung Bae                },
146*9b46bc0bSMyung Bae                "BlockSecurityIDEnabled": {
147*9b46bc0bSMyung Bae                    "description": "Indicates if establishment of a TCG-defined security ID (SID) on the drive is blocked.",
148*9b46bc0bSMyung Bae                    "longDescription": "This property shall indicate if establishment of a TCG-defined security ID (SID) on the drive is blocked.  The value `true` shall indicate the TCG-defined 'Block SID' command is sent to the drive during each drive boot sequence.",
149*9b46bc0bSMyung Bae                    "readonly": false,
150*9b46bc0bSMyung Bae                    "type": [
151*9b46bc0bSMyung Bae                        "boolean",
152*9b46bc0bSMyung Bae                        "null"
153*9b46bc0bSMyung Bae                    ],
154*9b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
155*9b46bc0bSMyung Bae                },
156*9b46bc0bSMyung Bae                "BlockSizeBytes": {
157*9b46bc0bSMyung Bae                    "description": "The size, in bytes, of the smallest addressable unit, or block.",
158*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the size of the smallest addressable unit of the associated drive.",
159*9b46bc0bSMyung Bae                    "readonly": true,
160*9b46bc0bSMyung Bae                    "type": [
161*9b46bc0bSMyung Bae                        "integer",
162*9b46bc0bSMyung Bae                        "null"
163*9b46bc0bSMyung Bae                    ],
164*9b46bc0bSMyung Bae                    "units": "By"
165*9b46bc0bSMyung Bae                },
166*9b46bc0bSMyung Bae                "CapableSpeedGbs": {
167*9b46bc0bSMyung Bae                    "description": "The speed, in gigabits per second (Gbit/s) units, at which this drive can communicate to a storage controller in ideal conditions.",
168*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain fastest capable bus speed, in gigabits per second (Gbit/s) units, of the associated drive.",
169*9b46bc0bSMyung Bae                    "readonly": true,
170*9b46bc0bSMyung Bae                    "type": [
171*9b46bc0bSMyung Bae                        "number",
172*9b46bc0bSMyung Bae                        "null"
173*9b46bc0bSMyung Bae                    ],
174*9b46bc0bSMyung Bae                    "units": "Gbit/s"
175*9b46bc0bSMyung Bae                },
176*9b46bc0bSMyung Bae                "CapacityBytes": {
177*9b46bc0bSMyung Bae                    "description": "The size, in bytes, of this drive.",
178*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the raw size, in bytes, of the associated drive.",
179*9b46bc0bSMyung Bae                    "readonly": true,
180*9b46bc0bSMyung Bae                    "type": [
181*9b46bc0bSMyung Bae                        "integer",
182*9b46bc0bSMyung Bae                        "null"
183*9b46bc0bSMyung Bae                    ],
184*9b46bc0bSMyung Bae                    "units": "By"
185*9b46bc0bSMyung Bae                },
186*9b46bc0bSMyung Bae                "Certificates": {
187*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection",
188*9b46bc0bSMyung Bae                    "description": "The link to a collection of certificates for device identity and attestation.",
189*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource collection of type `CertificateCollection` that contains certificates for device identity and attestation.",
190*9b46bc0bSMyung Bae                    "readonly": true,
191*9b46bc0bSMyung Bae                    "versionAdded": "v1_12_0"
192*9b46bc0bSMyung Bae                },
193*9b46bc0bSMyung Bae                "ConfigurationLock": {
194*9b46bc0bSMyung Bae                    "anyOf": [
195*9b46bc0bSMyung Bae                        {
196*9b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigurationLock"
197*9b46bc0bSMyung Bae                        },
198*9b46bc0bSMyung Bae                        {
199*9b46bc0bSMyung Bae                            "type": "null"
200*9b46bc0bSMyung Bae                        }
201*9b46bc0bSMyung Bae                    ],
202*9b46bc0bSMyung Bae                    "description": "Indicates whether in-band configuration requests to the drive are locked.  Other properties, such as `ConfigurationLockState`, contain additional information regarding the status of the configuration lock.",
203*9b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether configuration requests to the drive are locked.  Services shall reject modification requests that contain the value `Partial`.",
204*9b46bc0bSMyung Bae                    "readonly": false,
205*9b46bc0bSMyung Bae                    "versionAdded": "v1_19_0"
206*9b46bc0bSMyung Bae                },
207*9b46bc0bSMyung Bae                "Description": {
208*9b46bc0bSMyung Bae                    "anyOf": [
209*9b46bc0bSMyung Bae                        {
210*9b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
211*9b46bc0bSMyung Bae                        },
212*9b46bc0bSMyung Bae                        {
213*9b46bc0bSMyung Bae                            "type": "null"
214*9b46bc0bSMyung Bae                        }
215*9b46bc0bSMyung Bae                    ],
216*9b46bc0bSMyung Bae                    "readonly": true
217*9b46bc0bSMyung Bae                },
218*9b46bc0bSMyung Bae                "DriveFormFactor": {
219*9b46bc0bSMyung Bae                    "anyOf": [
220*9b46bc0bSMyung Bae                        {
221*9b46bc0bSMyung Bae                            "$ref": "#/definitions/FormFactor"
222*9b46bc0bSMyung Bae                        },
223*9b46bc0bSMyung Bae                        {
224*9b46bc0bSMyung Bae                            "type": "null"
225*9b46bc0bSMyung Bae                        }
226*9b46bc0bSMyung Bae                    ],
227*9b46bc0bSMyung Bae                    "description": "The form factor of the drive inserted in this slot.",
228*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the form factor of the drive inserted in this slot.",
229*9b46bc0bSMyung Bae                    "readonly": true,
230*9b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
231*9b46bc0bSMyung Bae                },
232*9b46bc0bSMyung Bae                "EncryptionAbility": {
233*9b46bc0bSMyung Bae                    "anyOf": [
234*9b46bc0bSMyung Bae                        {
235*9b46bc0bSMyung Bae                            "$ref": "#/definitions/EncryptionAbility"
236*9b46bc0bSMyung Bae                        },
237*9b46bc0bSMyung Bae                        {
238*9b46bc0bSMyung Bae                            "type": "null"
239*9b46bc0bSMyung Bae                        }
240*9b46bc0bSMyung Bae                    ],
241*9b46bc0bSMyung Bae                    "description": "The encryption ability of this drive.",
242*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the encryption ability for the associated drive.",
243*9b46bc0bSMyung Bae                    "readonly": true
244*9b46bc0bSMyung Bae                },
245*9b46bc0bSMyung Bae                "EncryptionStatus": {
246*9b46bc0bSMyung Bae                    "anyOf": [
247*9b46bc0bSMyung Bae                        {
248*9b46bc0bSMyung Bae                            "$ref": "#/definitions/EncryptionStatus"
249*9b46bc0bSMyung Bae                        },
250*9b46bc0bSMyung Bae                        {
251*9b46bc0bSMyung Bae                            "type": "null"
252*9b46bc0bSMyung Bae                        }
253*9b46bc0bSMyung Bae                    ],
254*9b46bc0bSMyung Bae                    "description": "The status of the encryption of this drive.",
255*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the encryption status for the associated drive.",
256*9b46bc0bSMyung Bae                    "readonly": true
257*9b46bc0bSMyung Bae                },
258*9b46bc0bSMyung Bae                "EnvironmentMetrics": {
259*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/EnvironmentMetrics.json#/definitions/EnvironmentMetrics",
260*9b46bc0bSMyung Bae                    "description": "The link to the environment metrics for this drive.",
261*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `EnvironmentMetrics` that specifies the environment metrics for this drive.",
262*9b46bc0bSMyung Bae                    "readonly": true,
263*9b46bc0bSMyung Bae                    "versionAdded": "v1_12_0"
264*9b46bc0bSMyung Bae                },
265*9b46bc0bSMyung Bae                "FailurePredicted": {
266*9b46bc0bSMyung Bae                    "description": "An indication of whether this drive currently predicts a failure in the near future.",
267*9b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether this drive currently predicts a manufacturer-defined failure.",
268*9b46bc0bSMyung Bae                    "readonly": true,
269*9b46bc0bSMyung Bae                    "type": [
270*9b46bc0bSMyung Bae                        "boolean",
271*9b46bc0bSMyung Bae                        "null"
272*9b46bc0bSMyung Bae                    ]
273*9b46bc0bSMyung Bae                },
274*9b46bc0bSMyung Bae                "FirmwareVersion": {
275*9b46bc0bSMyung Bae                    "description": "The firmware version for this drive.",
276*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the firmware version as defined by the manufacturer for this drive.",
277*9b46bc0bSMyung Bae                    "readonly": true,
278*9b46bc0bSMyung Bae                    "type": [
279*9b46bc0bSMyung Bae                        "string",
280*9b46bc0bSMyung Bae                        "null"
281*9b46bc0bSMyung Bae                    ],
282*9b46bc0bSMyung Bae                    "versionAdded": "v1_17_0"
283*9b46bc0bSMyung Bae                },
284*9b46bc0bSMyung Bae                "HardwareVersion": {
285*9b46bc0bSMyung Bae                    "description": "The hardware version of this drive.",
286*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the hardware version of this drive as determined by the vendor or supplier.",
287*9b46bc0bSMyung Bae                    "readonly": true,
288*9b46bc0bSMyung Bae                    "type": [
289*9b46bc0bSMyung Bae                        "string",
290*9b46bc0bSMyung Bae                        "null"
291*9b46bc0bSMyung Bae                    ],
292*9b46bc0bSMyung Bae                    "versionAdded": "v1_21_0"
293*9b46bc0bSMyung Bae                },
294*9b46bc0bSMyung Bae                "HotspareReplacementMode": {
295*9b46bc0bSMyung Bae                    "anyOf": [
296*9b46bc0bSMyung Bae                        {
297*9b46bc0bSMyung Bae                            "$ref": "#/definitions/HotspareReplacementModeType"
298*9b46bc0bSMyung Bae                        },
299*9b46bc0bSMyung Bae                        {
300*9b46bc0bSMyung Bae                            "type": "null"
301*9b46bc0bSMyung Bae                        }
302*9b46bc0bSMyung Bae                    ],
303*9b46bc0bSMyung Bae                    "description": "The replacement mode for the hot spare drive.",
304*9b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether a commissioned hot spare continues to serve as a hot spare after the failed drive is replaced.",
305*9b46bc0bSMyung Bae                    "readonly": false,
306*9b46bc0bSMyung Bae                    "versionAdded": "v1_5_0"
307*9b46bc0bSMyung Bae                },
308*9b46bc0bSMyung Bae                "HotspareType": {
309*9b46bc0bSMyung Bae                    "anyOf": [
310*9b46bc0bSMyung Bae                        {
311*9b46bc0bSMyung Bae                            "$ref": "#/definitions/HotspareType"
312*9b46bc0bSMyung Bae                        },
313*9b46bc0bSMyung Bae                        {
314*9b46bc0bSMyung Bae                            "type": "null"
315*9b46bc0bSMyung Bae                        }
316*9b46bc0bSMyung Bae                    ],
317*9b46bc0bSMyung Bae                    "description": "The type of hot spare that this drive serves as.",
318*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the hot spare type for the associated drive.  If the drive currently serves as a hot spare, the `State` property in `Status` shall contain `StandbySpare` and `Enabled` when it is part of a volume.",
319*9b46bc0bSMyung Bae                    "readonly": false
320*9b46bc0bSMyung Bae                },
321*9b46bc0bSMyung Bae                "Id": {
322*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
323*9b46bc0bSMyung Bae                    "readonly": true
324*9b46bc0bSMyung Bae                },
325*9b46bc0bSMyung Bae                "Identifiers": {
326*9b46bc0bSMyung Bae                    "description": "The durable names for the drive.",
327*9b46bc0bSMyung Bae                    "items": {
328*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Identifier"
329*9b46bc0bSMyung Bae                    },
330*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a list of all known durable names for the associated drive.",
331*9b46bc0bSMyung Bae                    "type": "array"
332*9b46bc0bSMyung Bae                },
333*9b46bc0bSMyung Bae                "IndicatorLED": {
334*9b46bc0bSMyung Bae                    "anyOf": [
335*9b46bc0bSMyung Bae                        {
336*9b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/IndicatorLED"
337*9b46bc0bSMyung Bae                        },
338*9b46bc0bSMyung Bae                        {
339*9b46bc0bSMyung Bae                            "type": "null"
340*9b46bc0bSMyung Bae                        }
341*9b46bc0bSMyung Bae                    ],
342*9b46bc0bSMyung Bae                    "deprecated": "This property has been deprecated in favor of the `LocationIndicatorActive` property.",
343*9b46bc0bSMyung Bae                    "description": "The state of the indicator LED, that identifies the drive.",
344*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the state for the indicator light associated with this drive.",
345*9b46bc0bSMyung Bae                    "readonly": false,
346*9b46bc0bSMyung Bae                    "versionDeprecated": "v1_11_0"
347*9b46bc0bSMyung Bae                },
348*9b46bc0bSMyung Bae                "Links": {
349*9b46bc0bSMyung Bae                    "$ref": "#/definitions/Links",
350*9b46bc0bSMyung Bae                    "description": "The links to other resources that are related to this resource.",
351*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
352*9b46bc0bSMyung Bae                },
353*9b46bc0bSMyung Bae                "Location": {
354*9b46bc0bSMyung Bae                    "deprecated": "This property has been deprecated in favor of the singular `PhysicalLocation` property.",
355*9b46bc0bSMyung Bae                    "description": "The location of the drive.",
356*9b46bc0bSMyung Bae                    "items": {
357*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
358*9b46bc0bSMyung Bae                    },
359*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the location information of the associated drive.",
360*9b46bc0bSMyung Bae                    "type": "array",
361*9b46bc0bSMyung Bae                    "versionDeprecated": "v1_4_0"
362*9b46bc0bSMyung Bae                },
363*9b46bc0bSMyung Bae                "LocationIndicatorActive": {
364*9b46bc0bSMyung Bae                    "description": "An indicator allowing an operator to physically locate this resource.",
365*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the state of the indicator used to physically identify or locate this resource.  A write to this property shall update the value of `IndicatorLED` in this resource, if supported, to reflect the implementation of the locating function.",
366*9b46bc0bSMyung Bae                    "readonly": false,
367*9b46bc0bSMyung Bae                    "type": [
368*9b46bc0bSMyung Bae                        "boolean",
369*9b46bc0bSMyung Bae                        "null"
370*9b46bc0bSMyung Bae                    ],
371*9b46bc0bSMyung Bae                    "versionAdded": "v1_11_0"
372*9b46bc0bSMyung Bae                },
373*9b46bc0bSMyung Bae                "Manufacturer": {
374*9b46bc0bSMyung Bae                    "description": "The manufacturer of this drive.",
375*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the name of the organization responsible for producing the drive.  This organization may be the entity from whom the drive is purchased, but this is not necessarily true.",
376*9b46bc0bSMyung Bae                    "readonly": true,
377*9b46bc0bSMyung Bae                    "type": [
378*9b46bc0bSMyung Bae                        "string",
379*9b46bc0bSMyung Bae                        "null"
380*9b46bc0bSMyung Bae                    ]
381*9b46bc0bSMyung Bae                },
382*9b46bc0bSMyung Bae                "Measurements": {
383*9b46bc0bSMyung Bae                    "deprecated": "This property has been deprecated in favor of the `ComponentIntegrity` resource.",
384*9b46bc0bSMyung Bae                    "description": "An array of DSP0274-defined measurement blocks.",
385*9b46bc0bSMyung Bae                    "items": {
386*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json#/definitions/MeasurementBlock"
387*9b46bc0bSMyung Bae                    },
388*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain an array of DSP0274-defined measurement blocks.",
389*9b46bc0bSMyung Bae                    "type": "array",
390*9b46bc0bSMyung Bae                    "versionAdded": "v1_12_0",
391*9b46bc0bSMyung Bae                    "versionDeprecated": "v1_14_0"
392*9b46bc0bSMyung Bae                },
393*9b46bc0bSMyung Bae                "MediaType": {
394*9b46bc0bSMyung Bae                    "anyOf": [
395*9b46bc0bSMyung Bae                        {
396*9b46bc0bSMyung Bae                            "$ref": "#/definitions/MediaType"
397*9b46bc0bSMyung Bae                        },
398*9b46bc0bSMyung Bae                        {
399*9b46bc0bSMyung Bae                            "type": "null"
400*9b46bc0bSMyung Bae                        }
401*9b46bc0bSMyung Bae                    ],
402*9b46bc0bSMyung Bae                    "description": "The type of media contained in this drive.",
403*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the type of media contained in the associated drive.",
404*9b46bc0bSMyung Bae                    "readonly": true
405*9b46bc0bSMyung Bae                },
406*9b46bc0bSMyung Bae                "Metrics": {
407*9b46bc0bSMyung Bae                    "anyOf": [
408*9b46bc0bSMyung Bae                        {
409*9b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/v1/DriveMetrics.json#/definitions/DriveMetrics"
410*9b46bc0bSMyung Bae                        },
411*9b46bc0bSMyung Bae                        {
412*9b46bc0bSMyung Bae                            "type": "null"
413*9b46bc0bSMyung Bae                        }
414*9b46bc0bSMyung Bae                    ],
415*9b46bc0bSMyung Bae                    "description": "The link to the metrics associated with this drive.",
416*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to the metrics associated with this drive.",
417*9b46bc0bSMyung Bae                    "readonly": true,
418*9b46bc0bSMyung Bae                    "versionAdded": "v1_17_0"
419*9b46bc0bSMyung Bae                },
420*9b46bc0bSMyung Bae                "Model": {
421*9b46bc0bSMyung Bae                    "description": "The model number for the drive.",
422*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the name by which the manufacturer generally refers to the drive.",
423*9b46bc0bSMyung Bae                    "readonly": true,
424*9b46bc0bSMyung Bae                    "type": [
425*9b46bc0bSMyung Bae                        "string",
426*9b46bc0bSMyung Bae                        "null"
427*9b46bc0bSMyung Bae                    ]
428*9b46bc0bSMyung Bae                },
429*9b46bc0bSMyung Bae                "Multipath": {
430*9b46bc0bSMyung Bae                    "description": "An indication of whether the drive is accessible from multiple paths.",
431*9b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether the drive is accessible by an initiator from multiple paths allowing for failover capabilities upon a path failure.",
432*9b46bc0bSMyung Bae                    "readonly": true,
433*9b46bc0bSMyung Bae                    "type": [
434*9b46bc0bSMyung Bae                        "boolean",
435*9b46bc0bSMyung Bae                        "null"
436*9b46bc0bSMyung Bae                    ],
437*9b46bc0bSMyung Bae                    "versionAdded": "v1_9_0"
438*9b46bc0bSMyung Bae                },
439*9b46bc0bSMyung Bae                "NVMe": {
440*9b46bc0bSMyung Bae                    "anyOf": [
441*9b46bc0bSMyung Bae                        {
442*9b46bc0bSMyung Bae                            "$ref": "#/definitions/NVMe"
443*9b46bc0bSMyung Bae                        },
444*9b46bc0bSMyung Bae                        {
445*9b46bc0bSMyung Bae                            "type": "null"
446*9b46bc0bSMyung Bae                        }
447*9b46bc0bSMyung Bae                    ],
448*9b46bc0bSMyung Bae                    "description": "NVMe properties for this drive.",
449*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain NVMe-specific properties of this drive.",
450*9b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
451*9b46bc0bSMyung Bae                },
452*9b46bc0bSMyung Bae                "Name": {
453*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
454*9b46bc0bSMyung Bae                    "readonly": true
455*9b46bc0bSMyung Bae                },
456*9b46bc0bSMyung Bae                "NegotiatedSpeedGbs": {
457*9b46bc0bSMyung Bae                    "description": "The speed, in gigabits per second (Gbit/s) units, at which this drive currently communicates to the storage controller.",
458*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain current bus speed, in gigabits per second (Gbit/s) units, of the associated drive.",
459*9b46bc0bSMyung Bae                    "readonly": true,
460*9b46bc0bSMyung Bae                    "type": [
461*9b46bc0bSMyung Bae                        "number",
462*9b46bc0bSMyung Bae                        "null"
463*9b46bc0bSMyung Bae                    ],
464*9b46bc0bSMyung Bae                    "units": "Gbit/s"
465*9b46bc0bSMyung Bae                },
466*9b46bc0bSMyung Bae                "Oem": {
467*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
468*9b46bc0bSMyung Bae                    "description": "The OEM extension property.",
469*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
470*9b46bc0bSMyung Bae                },
471*9b46bc0bSMyung Bae                "Operations": {
472*9b46bc0bSMyung Bae                    "description": "The operations currently running on the drive.",
473*9b46bc0bSMyung Bae                    "items": {
474*9b46bc0bSMyung Bae                        "$ref": "#/definitions/Operations"
475*9b46bc0bSMyung Bae                    },
476*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a list of all operations currently running on the drive.",
477*9b46bc0bSMyung Bae                    "type": "array",
478*9b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
479*9b46bc0bSMyung Bae                },
480*9b46bc0bSMyung Bae                "PartNumber": {
481*9b46bc0bSMyung Bae                    "description": "The part number for this drive.",
482*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the part number assigned by the organization that is responsible for producing or manufacturing the drive.",
483*9b46bc0bSMyung Bae                    "readonly": true,
484*9b46bc0bSMyung Bae                    "type": [
485*9b46bc0bSMyung Bae                        "string",
486*9b46bc0bSMyung Bae                        "null"
487*9b46bc0bSMyung Bae                    ]
488*9b46bc0bSMyung Bae                },
489*9b46bc0bSMyung Bae                "PhysicalLocation": {
490*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
491*9b46bc0bSMyung Bae                    "description": "The location of the drive.  This property is equivalent to the `Location` property common to other standard Redfish resources.",
492*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the location information of the associated drive.",
493*9b46bc0bSMyung Bae                    "versionAdded": "v1_4_0"
494*9b46bc0bSMyung Bae                },
495*9b46bc0bSMyung Bae                "PredictedMediaLifeLeftPercent": {
496*9b46bc0bSMyung Bae                    "description": "The percentage of reads and writes that are predicted to be available for the media.",
497*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain an indicator of the percentage, typically `0` to `100`, of life remaining in the drive's media.",
498*9b46bc0bSMyung Bae                    "minimum": 0,
499*9b46bc0bSMyung Bae                    "readonly": true,
500*9b46bc0bSMyung Bae                    "type": [
501*9b46bc0bSMyung Bae                        "number",
502*9b46bc0bSMyung Bae                        "null"
503*9b46bc0bSMyung Bae                    ],
504*9b46bc0bSMyung Bae                    "units": "%"
505*9b46bc0bSMyung Bae                },
506*9b46bc0bSMyung Bae                "Protocol": {
507*9b46bc0bSMyung Bae                    "anyOf": [
508*9b46bc0bSMyung Bae                        {
509*9b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
510*9b46bc0bSMyung Bae                        },
511*9b46bc0bSMyung Bae                        {
512*9b46bc0bSMyung Bae                            "type": "null"
513*9b46bc0bSMyung Bae                        }
514*9b46bc0bSMyung Bae                    ],
515*9b46bc0bSMyung Bae                    "description": "The protocol that this drive currently uses to communicate to the storage controller.",
516*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the protocol that the associated drive currently uses to communicate to the storage controller for this system.",
517*9b46bc0bSMyung Bae                    "readonly": true
518*9b46bc0bSMyung Bae                },
519*9b46bc0bSMyung Bae                "ReadyToRemove": {
520*9b46bc0bSMyung Bae                    "description": "An indication of whether the drive is prepared by the system for removal.",
521*9b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether the system is prepared for the removal of this drive.",
522*9b46bc0bSMyung Bae                    "readonly": false,
523*9b46bc0bSMyung Bae                    "type": [
524*9b46bc0bSMyung Bae                        "boolean",
525*9b46bc0bSMyung Bae                        "null"
526*9b46bc0bSMyung Bae                    ],
527*9b46bc0bSMyung Bae                    "versionAdded": "v1_10_0"
528*9b46bc0bSMyung Bae                },
529*9b46bc0bSMyung Bae                "Revision": {
530*9b46bc0bSMyung Bae                    "description": "The revision of a SCSI-based drive, as returned from the 'Inquiry' command, which can be the firmware or hardware version.  For other types of drives, the `HardwareVersion` and `FirmwareVersion` properties are recommended in favor of this property.",
531*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the manufacturer-defined revision for a SCSI-based drive, as returned in the 'Product Revision Level' field from the 'Inquiry' command, which can be the firmware or hardware version.  For other types of drives, this property should not be present and services should support the `HardwareVersion` and `FirmwareVersion` properties in favor of this property.  If this property is present for drives that are not SCSI-based, the value may contain a firmware version, hardware version, or a combination.",
532*9b46bc0bSMyung Bae                    "readonly": true,
533*9b46bc0bSMyung Bae                    "type": [
534*9b46bc0bSMyung Bae                        "string",
535*9b46bc0bSMyung Bae                        "null"
536*9b46bc0bSMyung Bae                    ]
537*9b46bc0bSMyung Bae                },
538*9b46bc0bSMyung Bae                "RotationSpeedRPM": {
539*9b46bc0bSMyung Bae                    "description": "The rotation speed of this drive, in revolutions per minute (RPM) units.",
540*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the rotation speed, in revolutions per minute (RPM) units, of the associated drive.",
541*9b46bc0bSMyung Bae                    "readonly": true,
542*9b46bc0bSMyung Bae                    "type": [
543*9b46bc0bSMyung Bae                        "number",
544*9b46bc0bSMyung Bae                        "null"
545*9b46bc0bSMyung Bae                    ],
546*9b46bc0bSMyung Bae                    "units": "{rev}/min"
547*9b46bc0bSMyung Bae                },
548*9b46bc0bSMyung Bae                "SKU": {
549*9b46bc0bSMyung Bae                    "description": "The SKU for this drive.",
550*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the stock-keeping unit (SKU) number for this drive.",
551*9b46bc0bSMyung Bae                    "readonly": true,
552*9b46bc0bSMyung Bae                    "type": [
553*9b46bc0bSMyung Bae                        "string",
554*9b46bc0bSMyung Bae                        "null"
555*9b46bc0bSMyung Bae                    ]
556*9b46bc0bSMyung Bae                },
557*9b46bc0bSMyung Bae                "SerialNumber": {
558*9b46bc0bSMyung Bae                    "description": "The serial number for this drive.",
559*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the manufacturer-allocated number that identifies the drive.",
560*9b46bc0bSMyung Bae                    "readonly": true,
561*9b46bc0bSMyung Bae                    "type": [
562*9b46bc0bSMyung Bae                        "string",
563*9b46bc0bSMyung Bae                        "null"
564*9b46bc0bSMyung Bae                    ]
565*9b46bc0bSMyung Bae                },
566*9b46bc0bSMyung Bae                "SlotCapableProtocols": {
567*9b46bc0bSMyung Bae                    "description": "The drive protocols capable in this slot.",
568*9b46bc0bSMyung Bae                    "items": {
569*9b46bc0bSMyung Bae                        "anyOf": [
570*9b46bc0bSMyung Bae                            {
571*9b46bc0bSMyung Bae                                "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
572*9b46bc0bSMyung Bae                            },
573*9b46bc0bSMyung Bae                            {
574*9b46bc0bSMyung Bae                                "type": "null"
575*9b46bc0bSMyung Bae                            }
576*9b46bc0bSMyung Bae                        ]
577*9b46bc0bSMyung Bae                    },
578*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the drive protocols capable in this slot.  The value of this property depends upon the connector in this slot, the storage controllers connected to this slot, the configuration of the system, and other constraints that determine if a particular protocol is capable at a given time.",
579*9b46bc0bSMyung Bae                    "readonly": true,
580*9b46bc0bSMyung Bae                    "type": "array",
581*9b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
582*9b46bc0bSMyung Bae                },
583*9b46bc0bSMyung Bae                "SlotFormFactor": {
584*9b46bc0bSMyung Bae                    "anyOf": [
585*9b46bc0bSMyung Bae                        {
586*9b46bc0bSMyung Bae                            "$ref": "#/definitions/FormFactor"
587*9b46bc0bSMyung Bae                        },
588*9b46bc0bSMyung Bae                        {
589*9b46bc0bSMyung Bae                            "type": "null"
590*9b46bc0bSMyung Bae                        }
591*9b46bc0bSMyung Bae                    ],
592*9b46bc0bSMyung Bae                    "description": "The form factor of the slot.",
593*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the form factor of the slot.",
594*9b46bc0bSMyung Bae                    "readonly": true,
595*9b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
596*9b46bc0bSMyung Bae                },
597*9b46bc0bSMyung Bae                "SparePartNumber": {
598*9b46bc0bSMyung Bae                    "description": "The spare part number of the drive.",
599*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the spare part number of the drive.",
600*9b46bc0bSMyung Bae                    "readonly": true,
601*9b46bc0bSMyung Bae                    "type": [
602*9b46bc0bSMyung Bae                        "string",
603*9b46bc0bSMyung Bae                        "null"
604*9b46bc0bSMyung Bae                    ],
605*9b46bc0bSMyung Bae                    "versionAdded": "v1_19_0"
606*9b46bc0bSMyung Bae                },
607*9b46bc0bSMyung Bae                "Status": {
608*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
609*9b46bc0bSMyung Bae                    "description": "The status and health of the resource and its subordinate or dependent resources.",
610*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain any status or health properties of the resource."
611*9b46bc0bSMyung Bae                },
612*9b46bc0bSMyung Bae                "StatusIndicator": {
613*9b46bc0bSMyung Bae                    "anyOf": [
614*9b46bc0bSMyung Bae                        {
615*9b46bc0bSMyung Bae                            "$ref": "#/definitions/StatusIndicator"
616*9b46bc0bSMyung Bae                        },
617*9b46bc0bSMyung Bae                        {
618*9b46bc0bSMyung Bae                            "type": "null"
619*9b46bc0bSMyung Bae                        }
620*9b46bc0bSMyung Bae                    ],
621*9b46bc0bSMyung Bae                    "description": "The state of the status indicator, which communicates status information about this drive.",
622*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the status indicator state for the status indicator associated with this drive.  The `@Redfish.AllowableValues` annotation specifies the valid values for this property.",
623*9b46bc0bSMyung Bae                    "readonly": false
624*9b46bc0bSMyung Bae                },
625*9b46bc0bSMyung Bae                "TargetConfigurationLockLevel": {
626*9b46bc0bSMyung Bae                    "anyOf": [
627*9b46bc0bSMyung Bae                        {
628*9b46bc0bSMyung Bae                            "$ref": "#/definitions/TargetConfigurationLockLevel"
629*9b46bc0bSMyung Bae                        },
630*9b46bc0bSMyung Bae                        {
631*9b46bc0bSMyung Bae                            "type": "null"
632*9b46bc0bSMyung Bae                        }
633*9b46bc0bSMyung Bae                    ],
634*9b46bc0bSMyung Bae                    "description": "Indicates the target configuration lock level for the drive based upon the state of the `ConfigurationLock` property.  Other properties, such as `ConfigurationLockState`, contain additional information regarding the status of the configuration lock.",
635*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the target configuration lock level for the drive.  For NVMe drives, services shall implement the locking requirements specified by SNIA's Swordfish NVMe Model Overview and Mapping Guide.",
636*9b46bc0bSMyung Bae                    "readonly": false,
637*9b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
638*9b46bc0bSMyung Bae                },
639*9b46bc0bSMyung Bae                "WriteCacheEnabled": {
640*9b46bc0bSMyung Bae                    "description": "An indication of whether the drive write cache is enabled.",
641*9b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether the drive write cache is enabled.",
642*9b46bc0bSMyung Bae                    "readonly": false,
643*9b46bc0bSMyung Bae                    "type": [
644*9b46bc0bSMyung Bae                        "boolean",
645*9b46bc0bSMyung Bae                        "null"
646*9b46bc0bSMyung Bae                    ],
647*9b46bc0bSMyung Bae                    "versionAdded": "v1_7_0"
648*9b46bc0bSMyung Bae                }
649*9b46bc0bSMyung Bae            },
650*9b46bc0bSMyung Bae            "required": [
651*9b46bc0bSMyung Bae                "@odata.id",
652*9b46bc0bSMyung Bae                "@odata.type",
653*9b46bc0bSMyung Bae                "Id",
654*9b46bc0bSMyung Bae                "Name"
655*9b46bc0bSMyung Bae            ],
656*9b46bc0bSMyung Bae            "type": "object"
657*9b46bc0bSMyung Bae        },
658*9b46bc0bSMyung Bae        "EncryptionAbility": {
659*9b46bc0bSMyung Bae            "enum": [
660*9b46bc0bSMyung Bae                "None",
661*9b46bc0bSMyung Bae                "SelfEncryptingDrive",
662*9b46bc0bSMyung Bae                "Other"
663*9b46bc0bSMyung Bae            ],
664*9b46bc0bSMyung Bae            "enumDescriptions": {
665*9b46bc0bSMyung Bae                "None": "The drive is not capable of self-encryption.",
666*9b46bc0bSMyung Bae                "Other": "The drive is capable of self-encryption through some other means.",
667*9b46bc0bSMyung Bae                "SelfEncryptingDrive": "The drive is capable of self-encryption per the Trusted Computing Group's Self Encrypting Drive Standard."
668*9b46bc0bSMyung Bae            },
669*9b46bc0bSMyung Bae            "type": "string"
670*9b46bc0bSMyung Bae        },
671*9b46bc0bSMyung Bae        "EncryptionStatus": {
672*9b46bc0bSMyung Bae            "enum": [
673*9b46bc0bSMyung Bae                "Unecrypted",
674*9b46bc0bSMyung Bae                "Unlocked",
675*9b46bc0bSMyung Bae                "Locked",
676*9b46bc0bSMyung Bae                "Foreign",
677*9b46bc0bSMyung Bae                "Unencrypted"
678*9b46bc0bSMyung Bae            ],
679*9b46bc0bSMyung Bae            "enumDeprecated": {
680*9b46bc0bSMyung Bae                "Unecrypted": "This value has been deprecated in favor of Unencrypted."
681*9b46bc0bSMyung Bae            },
682*9b46bc0bSMyung Bae            "enumDescriptions": {
683*9b46bc0bSMyung Bae                "Foreign": "The drive is currently encrypted, the data is not accessible to the user, and the system requires user intervention to expose the data.",
684*9b46bc0bSMyung Bae                "Locked": "The drive is currently encrypted and the data is not accessible to the user.  However, the system can unlock the drive automatically.",
685*9b46bc0bSMyung Bae                "Unecrypted": "The drive is not currently encrypted.",
686*9b46bc0bSMyung Bae                "Unencrypted": "The drive is not currently encrypted.",
687*9b46bc0bSMyung Bae                "Unlocked": "The drive is currently encrypted but the data is accessible to the user in unencrypted form."
688*9b46bc0bSMyung Bae            },
689*9b46bc0bSMyung Bae            "enumVersionAdded": {
690*9b46bc0bSMyung Bae                "Unencrypted": "v1_1_0"
691*9b46bc0bSMyung Bae            },
692*9b46bc0bSMyung Bae            "enumVersionDeprecated": {
693*9b46bc0bSMyung Bae                "Unecrypted": "v1_1_0"
694*9b46bc0bSMyung Bae            },
695*9b46bc0bSMyung Bae            "type": "string"
696*9b46bc0bSMyung Bae        },
697*9b46bc0bSMyung Bae        "FormFactor": {
698*9b46bc0bSMyung Bae            "enum": [
699*9b46bc0bSMyung Bae                "Drive3_5",
700*9b46bc0bSMyung Bae                "Drive2_5",
701*9b46bc0bSMyung Bae                "EDSFF",
702*9b46bc0bSMyung Bae                "EDSFF_1U_Long",
703*9b46bc0bSMyung Bae                "EDSFF_1U_Short",
704*9b46bc0bSMyung Bae                "EDSFF_E3_Short",
705*9b46bc0bSMyung Bae                "EDSFF_E3_Long",
706*9b46bc0bSMyung Bae                "M2",
707*9b46bc0bSMyung Bae                "M2_2230",
708*9b46bc0bSMyung Bae                "M2_2242",
709*9b46bc0bSMyung Bae                "M2_2260",
710*9b46bc0bSMyung Bae                "M2_2280",
711*9b46bc0bSMyung Bae                "M2_22110",
712*9b46bc0bSMyung Bae                "U2",
713*9b46bc0bSMyung Bae                "PCIeSlotFullLength",
714*9b46bc0bSMyung Bae                "PCIeSlotLowProfile",
715*9b46bc0bSMyung Bae                "PCIeHalfLength",
716*9b46bc0bSMyung Bae                "OEM"
717*9b46bc0bSMyung Bae            ],
718*9b46bc0bSMyung Bae            "enumDescriptions": {
719*9b46bc0bSMyung Bae                "Drive2_5": "A 2.5 inch drive.",
720*9b46bc0bSMyung Bae                "Drive3_5": "A 3.5 inch drive.",
721*9b46bc0bSMyung Bae                "EDSFF": "An EDSFF drive.",
722*9b46bc0bSMyung Bae                "EDSFF_1U_Long": "An EDSFF 1U Long (E1.L) drive.",
723*9b46bc0bSMyung Bae                "EDSFF_1U_Short": "An EDSFF 1U Short (E1.S) drive.",
724*9b46bc0bSMyung Bae                "EDSFF_E3_Long": "An EDSFF E3 Long (E3.L) drive.",
725*9b46bc0bSMyung Bae                "EDSFF_E3_Short": "An EDSFF E3 Short (E3.S) drive.",
726*9b46bc0bSMyung Bae                "M2": "An M.2 drive.",
727*9b46bc0bSMyung Bae                "M2_22110": "An M.2 22110 drive.",
728*9b46bc0bSMyung Bae                "M2_2230": "An M.2 2230 drive.",
729*9b46bc0bSMyung Bae                "M2_2242": "An M.2 2242 drive.",
730*9b46bc0bSMyung Bae                "M2_2260": "An M.2 2260 drive.",
731*9b46bc0bSMyung Bae                "M2_2280": "An M.2 2280 drive.",
732*9b46bc0bSMyung Bae                "OEM": "An OEM-defined form factor.",
733*9b46bc0bSMyung Bae                "PCIeHalfLength": "A half-length PCIe add-in card.",
734*9b46bc0bSMyung Bae                "PCIeSlotFullLength": "A full-length PCIe add-in card.",
735*9b46bc0bSMyung Bae                "PCIeSlotLowProfile": "A low-profile PCIe add-in card.",
736*9b46bc0bSMyung Bae                "U2": "A U.2 drive."
737*9b46bc0bSMyung Bae            },
738*9b46bc0bSMyung Bae            "enumLongDescriptions": {
739*9b46bc0bSMyung Bae                "Drive2_5": "This value shall indicate the drive is approximately 2.5 inches in width and no more than 0.8 inches in height and is not a U.2 drive.",
740*9b46bc0bSMyung Bae                "Drive3_5": "This value shall indicate the drive is approximately 3.5 inches in width and no more than 1.1 inches in height.",
741*9b46bc0bSMyung Bae                "EDSFF": "This value shall indicate the drive corresponds to one of SNIA's SFF specifications with an unspecified form factor.  The `SlotFormFactor` property should not contain this value.",
742*9b46bc0bSMyung Bae                "EDSFF_1U_Long": "This value shall indicate the drive corresponds to the SFF-TA-1007 Specification.",
743*9b46bc0bSMyung Bae                "EDSFF_1U_Short": "This value shall indicate the drive corresponds to the SFF-TA-1006 Specification.",
744*9b46bc0bSMyung Bae                "EDSFF_E3_Long": "This value shall indicate the drive corresponds to the SFF-TA-1008 Specification and is approximately 142.2 mm in length.",
745*9b46bc0bSMyung Bae                "EDSFF_E3_Short": "This value shall indicate the drive corresponds to the SFF-TA-1008 Specification and is approximately 112.75 mm in length.",
746*9b46bc0bSMyung Bae                "M2": "This value shall indicate the drive corresponds to the PCI Express M.2 Specification with an unspecified form factor.  The `SlotFormFactor` property should not contain this value.",
747*9b46bc0bSMyung Bae                "M2_22110": "This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22 mm in width and 110 mm in length.",
748*9b46bc0bSMyung Bae                "M2_2230": "This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22 mm in width and 30 mm in length.",
749*9b46bc0bSMyung Bae                "M2_2242": "This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22 mm in width and 42 mm in length.",
750*9b46bc0bSMyung Bae                "M2_2260": "This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22 mm in width and 60 mm in length.",
751*9b46bc0bSMyung Bae                "M2_2280": "This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22 mm in width and 80 mm in length.",
752*9b46bc0bSMyung Bae                "OEM": "This value shall indicate the drive is an OEM-defined form factor.",
753*9b46bc0bSMyung Bae                "PCIeHalfLength": "This value shall indicate the drive is an add-in card less than 7 inches in length.",
754*9b46bc0bSMyung Bae                "PCIeSlotFullLength": "This value shall indicate the drive is an add-in card greater than 7 inches in length.",
755*9b46bc0bSMyung Bae                "PCIeSlotLowProfile": "This value shall indicate the drive is an add-in card less than 2.5 inches in height.",
756*9b46bc0bSMyung Bae                "U2": "This value shall indicate the drive corresponds to the PCI Express SFF-8639 Module Specification."
757*9b46bc0bSMyung Bae            },
758*9b46bc0bSMyung Bae            "enumVersionAdded": {
759*9b46bc0bSMyung Bae                "EDSFF": "v1_18_0",
760*9b46bc0bSMyung Bae                "M2": "v1_18_0"
761*9b46bc0bSMyung Bae            },
762*9b46bc0bSMyung Bae            "type": "string"
763*9b46bc0bSMyung Bae        },
764*9b46bc0bSMyung Bae        "HotspareReplacementModeType": {
765*9b46bc0bSMyung Bae            "enum": [
766*9b46bc0bSMyung Bae                "Revertible",
767*9b46bc0bSMyung Bae                "NonRevertible"
768*9b46bc0bSMyung Bae            ],
769*9b46bc0bSMyung Bae            "enumDescriptions": {
770*9b46bc0bSMyung Bae                "NonRevertible": "The hot spare drive that is commissioned due to a drive failure remains as a data drive and does not revert to a hot spare if the failed drive is replaced.",
771*9b46bc0bSMyung Bae                "Revertible": "The hot spare drive that is commissioned due to a drive failure reverts to a hot spare after the failed drive is replaced and rebuilt."
772*9b46bc0bSMyung Bae            },
773*9b46bc0bSMyung Bae            "type": "string"
774*9b46bc0bSMyung Bae        },
775*9b46bc0bSMyung Bae        "HotspareType": {
776*9b46bc0bSMyung Bae            "enum": [
777*9b46bc0bSMyung Bae                "None",
778*9b46bc0bSMyung Bae                "Global",
779*9b46bc0bSMyung Bae                "Chassis",
780*9b46bc0bSMyung Bae                "Dedicated"
781*9b46bc0bSMyung Bae            ],
782*9b46bc0bSMyung Bae            "enumDescriptions": {
783*9b46bc0bSMyung Bae                "Chassis": "The drive is serving as a hot spare for all other drives in this storage domain that are contained in the same chassis.",
784*9b46bc0bSMyung Bae                "Dedicated": "The drive is serving as a hot spare for a user-defined set of drives or volumes.  Clients cannot specify this value when modifying the `HotspareType` property.  This value is reported as a result of configuring the spare drives within a volume.",
785*9b46bc0bSMyung Bae                "Global": "The drive is serving as a hot spare for all other drives in this storage domain.",
786*9b46bc0bSMyung Bae                "None": "The drive is not a hot spare."
787*9b46bc0bSMyung Bae            },
788*9b46bc0bSMyung Bae            "type": "string"
789*9b46bc0bSMyung Bae        },
790*9b46bc0bSMyung Bae        "Links": {
791*9b46bc0bSMyung Bae            "additionalProperties": false,
792*9b46bc0bSMyung Bae            "description": "The links to other resources that are related to this resource.",
793*9b46bc0bSMyung Bae            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
794*9b46bc0bSMyung Bae            "patternProperties": {
795*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
796*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
797*9b46bc0bSMyung Bae                    "type": [
798*9b46bc0bSMyung Bae                        "array",
799*9b46bc0bSMyung Bae                        "boolean",
800*9b46bc0bSMyung Bae                        "integer",
801*9b46bc0bSMyung Bae                        "number",
802*9b46bc0bSMyung Bae                        "null",
803*9b46bc0bSMyung Bae                        "object",
804*9b46bc0bSMyung Bae                        "string"
805*9b46bc0bSMyung Bae                    ]
806*9b46bc0bSMyung Bae                }
807*9b46bc0bSMyung Bae            },
808*9b46bc0bSMyung Bae            "properties": {
809*9b46bc0bSMyung Bae                "ActiveSoftwareImage": {
810*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json#/definitions/SoftwareInventory",
811*9b46bc0bSMyung Bae                    "description": "The link to the software inventory that represents the active drive firmware image.",
812*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link a resource of type `SoftwareInventory` that represents the active drive firmware image.",
813*9b46bc0bSMyung Bae                    "readonly": false,
814*9b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
815*9b46bc0bSMyung Bae                },
816*9b46bc0bSMyung Bae                "Chassis": {
817*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis",
818*9b46bc0bSMyung Bae                    "description": "The link to the chassis that contains this drive.",
819*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `Chassis` that represents the physical container associated with this drive.",
820*9b46bc0bSMyung Bae                    "readonly": true,
821*9b46bc0bSMyung Bae                    "versionAdded": "v1_2_0"
822*9b46bc0bSMyung Bae                },
823*9b46bc0bSMyung Bae                "Endpoints": {
824*9b46bc0bSMyung Bae                    "description": "An array of links to the endpoints that connect to this drive.",
825*9b46bc0bSMyung Bae                    "items": {
826*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
827*9b46bc0bSMyung Bae                    },
828*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` with which this drive is associated.",
829*9b46bc0bSMyung Bae                    "readonly": true,
830*9b46bc0bSMyung Bae                    "type": "array",
831*9b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
832*9b46bc0bSMyung Bae                },
833*9b46bc0bSMyung Bae                "Endpoints@odata.count": {
834*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
835*9b46bc0bSMyung Bae                },
836*9b46bc0bSMyung Bae                "NetworkDeviceFunctions": {
837*9b46bc0bSMyung Bae                    "description": "An array of links to the network device functions that provide network connectivity for this drive.",
838*9b46bc0bSMyung Bae                    "items": {
839*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
840*9b46bc0bSMyung Bae                    },
841*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the array of links to resources of type `NetworkDeviceFunction`.  This property should only be present for drives with network connectivity, such as Ethernet attached drives.",
842*9b46bc0bSMyung Bae                    "readonly": true,
843*9b46bc0bSMyung Bae                    "type": "array",
844*9b46bc0bSMyung Bae                    "versionAdded": "v1_14_0"
845*9b46bc0bSMyung Bae                },
846*9b46bc0bSMyung Bae                "NetworkDeviceFunctions@odata.count": {
847*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
848*9b46bc0bSMyung Bae                },
849*9b46bc0bSMyung Bae                "Oem": {
850*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
851*9b46bc0bSMyung Bae                    "description": "The OEM extension property.",
852*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
853*9b46bc0bSMyung Bae                },
854*9b46bc0bSMyung Bae                "PCIeFunctions": {
855*9b46bc0bSMyung Bae                    "description": "An array of links to the PCIe functions that the drive produces.",
856*9b46bc0bSMyung Bae                    "items": {
857*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.json#/definitions/PCIeFunction"
858*9b46bc0bSMyung Bae                    },
859*9b46bc0bSMyung Bae                    "longDescription": "This property shall link to a resource of type `PCIeFunction` that represents the PCIe functions associated with this resource.",
860*9b46bc0bSMyung Bae                    "type": "array",
861*9b46bc0bSMyung Bae                    "versionAdded": "v1_6_0"
862*9b46bc0bSMyung Bae                },
863*9b46bc0bSMyung Bae                "PCIeFunctions@odata.count": {
864*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
865*9b46bc0bSMyung Bae                },
866*9b46bc0bSMyung Bae                "SoftwareImages": {
867*9b46bc0bSMyung Bae                    "description": "The images that are associated with this drive.",
868*9b46bc0bSMyung Bae                    "items": {
869*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json#/definitions/SoftwareInventory"
870*9b46bc0bSMyung Bae                    },
871*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain an array of links to resources of type `SoftwareInventory` that represent the firmware images that apply to this drive.",
872*9b46bc0bSMyung Bae                    "readonly": true,
873*9b46bc0bSMyung Bae                    "type": "array",
874*9b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
875*9b46bc0bSMyung Bae                },
876*9b46bc0bSMyung Bae                "SoftwareImages@odata.count": {
877*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
878*9b46bc0bSMyung Bae                },
879*9b46bc0bSMyung Bae                "Storage": {
880*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/Storage",
881*9b46bc0bSMyung Bae                    "description": "A link to the storage subsystem to which this drive belongs.",
882*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `Storage` that represents the storage subsystem to which this drive belongs.",
883*9b46bc0bSMyung Bae                    "readonly": true,
884*9b46bc0bSMyung Bae                    "versionAdded": "v1_13_0"
885*9b46bc0bSMyung Bae                },
886*9b46bc0bSMyung Bae                "StoragePools": {
887*9b46bc0bSMyung Bae                    "description": "An array of links to the storage pools to which this drive belongs.",
888*9b46bc0bSMyung Bae                    "items": {
889*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/StoragePool.json#/definitions/StoragePool"
890*9b46bc0bSMyung Bae                    },
891*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain an array of links of type `StoragePool` to which this drive belongs.",
892*9b46bc0bSMyung Bae                    "readonly": true,
893*9b46bc0bSMyung Bae                    "type": "array",
894*9b46bc0bSMyung Bae                    "versionAdded": "v1_8_0"
895*9b46bc0bSMyung Bae                },
896*9b46bc0bSMyung Bae                "StoragePools@odata.count": {
897*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
898*9b46bc0bSMyung Bae                },
899*9b46bc0bSMyung Bae                "Volumes": {
900*9b46bc0bSMyung Bae                    "description": "An array of links to the volumes that this drive either wholly or only partially contains.",
901*9b46bc0bSMyung Bae                    "items": {
902*9b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/Volume.json#/definitions/Volume"
903*9b46bc0bSMyung Bae                    },
904*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain an array of links to resources of type `Volume` with which this drive is associated.  This property shall include all volume resources of which this drive is a member and all volumes for which this drive acts as a spare if the hot spare type is `Dedicated`.",
905*9b46bc0bSMyung Bae                    "readonly": true,
906*9b46bc0bSMyung Bae                    "type": "array"
907*9b46bc0bSMyung Bae                },
908*9b46bc0bSMyung Bae                "Volumes@odata.count": {
909*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
910*9b46bc0bSMyung Bae                }
911*9b46bc0bSMyung Bae            },
912*9b46bc0bSMyung Bae            "type": "object"
913*9b46bc0bSMyung Bae        },
914*9b46bc0bSMyung Bae        "MediaType": {
915*9b46bc0bSMyung Bae            "enum": [
916*9b46bc0bSMyung Bae                "HDD",
917*9b46bc0bSMyung Bae                "SSD",
918*9b46bc0bSMyung Bae                "SMR"
919*9b46bc0bSMyung Bae            ],
920*9b46bc0bSMyung Bae            "enumDescriptions": {
921*9b46bc0bSMyung Bae                "HDD": "The drive media type is traditional magnetic platters.",
922*9b46bc0bSMyung Bae                "SMR": "The drive media type is shingled magnetic recording.",
923*9b46bc0bSMyung Bae                "SSD": "The drive media type is solid state or flash memory."
924*9b46bc0bSMyung Bae            },
925*9b46bc0bSMyung Bae            "type": "string"
926*9b46bc0bSMyung Bae        },
927*9b46bc0bSMyung Bae        "NVMe": {
928*9b46bc0bSMyung Bae            "additionalProperties": false,
929*9b46bc0bSMyung Bae            "description": "NVMe properties for a drive.",
930*9b46bc0bSMyung Bae            "longDescription": "This type shall contain NVMe-specific properties of a drive.",
931*9b46bc0bSMyung Bae            "patternProperties": {
932*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
933*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
934*9b46bc0bSMyung Bae                    "type": [
935*9b46bc0bSMyung Bae                        "array",
936*9b46bc0bSMyung Bae                        "boolean",
937*9b46bc0bSMyung Bae                        "integer",
938*9b46bc0bSMyung Bae                        "number",
939*9b46bc0bSMyung Bae                        "null",
940*9b46bc0bSMyung Bae                        "object",
941*9b46bc0bSMyung Bae                        "string"
942*9b46bc0bSMyung Bae                    ]
943*9b46bc0bSMyung Bae                }
944*9b46bc0bSMyung Bae            },
945*9b46bc0bSMyung Bae            "properties": {
946*9b46bc0bSMyung Bae                "ConfigurationLockState": {
947*9b46bc0bSMyung Bae                    "anyOf": [
948*9b46bc0bSMyung Bae                        {
949*9b46bc0bSMyung Bae                            "$ref": "#/definitions/NVMeConfigurationLockState"
950*9b46bc0bSMyung Bae                        },
951*9b46bc0bSMyung Bae                        {
952*9b46bc0bSMyung Bae                            "type": "null"
953*9b46bc0bSMyung Bae                        }
954*9b46bc0bSMyung Bae                    ],
955*9b46bc0bSMyung Bae                    "description": "The configurable features that are able to be locked from in-band usage on an NVMe subsystem and their current lock state.",
956*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the configurable features that are able to be locked from in-band usage on an NVMe subsystem and their current lock state.",
957*9b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
958*9b46bc0bSMyung Bae                }
959*9b46bc0bSMyung Bae            },
960*9b46bc0bSMyung Bae            "type": "object"
961*9b46bc0bSMyung Bae        },
962*9b46bc0bSMyung Bae        "NVMeConfigurationLockState": {
963*9b46bc0bSMyung Bae            "additionalProperties": false,
964*9b46bc0bSMyung Bae            "description": "The configurable features that are able to be locked on an NVMe subsystem and their current lock state.",
965*9b46bc0bSMyung Bae            "longDescription": "This type shall contain the configurable features that are able to be locked on an NVMe subsystem and their current lock state.",
966*9b46bc0bSMyung Bae            "patternProperties": {
967*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
968*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
969*9b46bc0bSMyung Bae                    "type": [
970*9b46bc0bSMyung Bae                        "array",
971*9b46bc0bSMyung Bae                        "boolean",
972*9b46bc0bSMyung Bae                        "integer",
973*9b46bc0bSMyung Bae                        "number",
974*9b46bc0bSMyung Bae                        "null",
975*9b46bc0bSMyung Bae                        "object",
976*9b46bc0bSMyung Bae                        "string"
977*9b46bc0bSMyung Bae                    ]
978*9b46bc0bSMyung Bae                }
979*9b46bc0bSMyung Bae            },
980*9b46bc0bSMyung Bae            "properties": {
981*9b46bc0bSMyung Bae                "FirmwareCommit": {
982*9b46bc0bSMyung Bae                    "anyOf": [
983*9b46bc0bSMyung Bae                        {
984*9b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
985*9b46bc0bSMyung Bae                        },
986*9b46bc0bSMyung Bae                        {
987*9b46bc0bSMyung Bae                            "type": "null"
988*9b46bc0bSMyung Bae                        }
989*9b46bc0bSMyung Bae                    ],
990*9b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-defined Firmware Commit command.",
991*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-defined Firmware Commit command.",
992*9b46bc0bSMyung Bae                    "readonly": true,
993*9b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
994*9b46bc0bSMyung Bae                },
995*9b46bc0bSMyung Bae                "FirmwareImageDownload": {
996*9b46bc0bSMyung Bae                    "anyOf": [
997*9b46bc0bSMyung Bae                        {
998*9b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
999*9b46bc0bSMyung Bae                        },
1000*9b46bc0bSMyung Bae                        {
1001*9b46bc0bSMyung Bae                            "type": "null"
1002*9b46bc0bSMyung Bae                        }
1003*9b46bc0bSMyung Bae                    ],
1004*9b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-defined Firmware Image Download command.",
1005*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-defined Firmware Image Download command.",
1006*9b46bc0bSMyung Bae                    "readonly": true,
1007*9b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
1008*9b46bc0bSMyung Bae                },
1009*9b46bc0bSMyung Bae                "Lockdown": {
1010*9b46bc0bSMyung Bae                    "anyOf": [
1011*9b46bc0bSMyung Bae                        {
1012*9b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
1013*9b46bc0bSMyung Bae                        },
1014*9b46bc0bSMyung Bae                        {
1015*9b46bc0bSMyung Bae                            "type": "null"
1016*9b46bc0bSMyung Bae                        }
1017*9b46bc0bSMyung Bae                    ],
1018*9b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-defined Lockdown command.",
1019*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-defined Lockdown command.",
1020*9b46bc0bSMyung Bae                    "readonly": true,
1021*9b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
1022*9b46bc0bSMyung Bae                },
1023*9b46bc0bSMyung Bae                "SecuritySend": {
1024*9b46bc0bSMyung Bae                    "anyOf": [
1025*9b46bc0bSMyung Bae                        {
1026*9b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
1027*9b46bc0bSMyung Bae                        },
1028*9b46bc0bSMyung Bae                        {
1029*9b46bc0bSMyung Bae                            "type": "null"
1030*9b46bc0bSMyung Bae                        }
1031*9b46bc0bSMyung Bae                    ],
1032*9b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-defined Security Send command.",
1033*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-defined Security Send command.",
1034*9b46bc0bSMyung Bae                    "readonly": true,
1035*9b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
1036*9b46bc0bSMyung Bae                },
1037*9b46bc0bSMyung Bae                "VPDWrite": {
1038*9b46bc0bSMyung Bae                    "anyOf": [
1039*9b46bc0bSMyung Bae                        {
1040*9b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
1041*9b46bc0bSMyung Bae                        },
1042*9b46bc0bSMyung Bae                        {
1043*9b46bc0bSMyung Bae                            "type": "null"
1044*9b46bc0bSMyung Bae                        }
1045*9b46bc0bSMyung Bae                    ],
1046*9b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-MI-defined VPD Write command.",
1047*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-MI-defined VPD Write command.",
1048*9b46bc0bSMyung Bae                    "readonly": true,
1049*9b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
1050*9b46bc0bSMyung Bae                }
1051*9b46bc0bSMyung Bae            },
1052*9b46bc0bSMyung Bae            "type": "object"
1053*9b46bc0bSMyung Bae        },
1054*9b46bc0bSMyung Bae        "OemActions": {
1055*9b46bc0bSMyung Bae            "additionalProperties": true,
1056*9b46bc0bSMyung Bae            "description": "The available OEM-specific actions for this resource.",
1057*9b46bc0bSMyung Bae            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
1058*9b46bc0bSMyung Bae            "patternProperties": {
1059*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1060*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
1061*9b46bc0bSMyung Bae                    "type": [
1062*9b46bc0bSMyung Bae                        "array",
1063*9b46bc0bSMyung Bae                        "boolean",
1064*9b46bc0bSMyung Bae                        "integer",
1065*9b46bc0bSMyung Bae                        "number",
1066*9b46bc0bSMyung Bae                        "null",
1067*9b46bc0bSMyung Bae                        "object",
1068*9b46bc0bSMyung Bae                        "string"
1069*9b46bc0bSMyung Bae                    ]
1070*9b46bc0bSMyung Bae                }
1071*9b46bc0bSMyung Bae            },
1072*9b46bc0bSMyung Bae            "properties": {},
1073*9b46bc0bSMyung Bae            "type": "object"
1074*9b46bc0bSMyung Bae        },
1075*9b46bc0bSMyung Bae        "Operations": {
1076*9b46bc0bSMyung Bae            "additionalProperties": false,
1077*9b46bc0bSMyung Bae            "description": "An operation currently running on this resource.",
1078*9b46bc0bSMyung Bae            "longDescription": "This type shall describe a currently running operation on the resource.",
1079*9b46bc0bSMyung Bae            "patternProperties": {
1080*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1081*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
1082*9b46bc0bSMyung Bae                    "type": [
1083*9b46bc0bSMyung Bae                        "array",
1084*9b46bc0bSMyung Bae                        "boolean",
1085*9b46bc0bSMyung Bae                        "integer",
1086*9b46bc0bSMyung Bae                        "number",
1087*9b46bc0bSMyung Bae                        "null",
1088*9b46bc0bSMyung Bae                        "object",
1089*9b46bc0bSMyung Bae                        "string"
1090*9b46bc0bSMyung Bae                    ]
1091*9b46bc0bSMyung Bae                }
1092*9b46bc0bSMyung Bae            },
1093*9b46bc0bSMyung Bae            "properties": {
1094*9b46bc0bSMyung Bae                "AssociatedTask": {
1095*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Task.json#/definitions/Task",
1096*9b46bc0bSMyung Bae                    "description": "The link to the task associated with the operation, if any.",
1097*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `Task` that represents the task associated with the operation.",
1098*9b46bc0bSMyung Bae                    "readonly": true,
1099*9b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
1100*9b46bc0bSMyung Bae                },
1101*9b46bc0bSMyung Bae                "Operation": {
1102*9b46bc0bSMyung Bae                    "anyOf": [
1103*9b46bc0bSMyung Bae                        {
1104*9b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/Volume.json#/definitions/OperationType"
1105*9b46bc0bSMyung Bae                        },
1106*9b46bc0bSMyung Bae                        {
1107*9b46bc0bSMyung Bae                            "type": "null"
1108*9b46bc0bSMyung Bae                        }
1109*9b46bc0bSMyung Bae                    ],
1110*9b46bc0bSMyung Bae                    "description": "The type of the operation.",
1111*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain the type of the operation.",
1112*9b46bc0bSMyung Bae                    "readonly": true,
1113*9b46bc0bSMyung Bae                    "versionAdded": "v1_17_0"
1114*9b46bc0bSMyung Bae                },
1115*9b46bc0bSMyung Bae                "OperationName": {
1116*9b46bc0bSMyung Bae                    "deprecated": "This property is deprecated in favor of the `Operation` property using the `OperationType` enumeration defined in the `Volume` schema.",
1117*9b46bc0bSMyung Bae                    "description": "The name of the operation.",
1118*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain a string of the name of the operation.",
1119*9b46bc0bSMyung Bae                    "readonly": true,
1120*9b46bc0bSMyung Bae                    "type": [
1121*9b46bc0bSMyung Bae                        "string",
1122*9b46bc0bSMyung Bae                        "null"
1123*9b46bc0bSMyung Bae                    ],
1124*9b46bc0bSMyung Bae                    "versionAdded": "v1_1_0",
1125*9b46bc0bSMyung Bae                    "versionDeprecated": "v1_17_0"
1126*9b46bc0bSMyung Bae                },
1127*9b46bc0bSMyung Bae                "PercentageComplete": {
1128*9b46bc0bSMyung Bae                    "description": "The percentage of the operation that has been completed.",
1129*9b46bc0bSMyung Bae                    "longDescription": "This property shall contain an integer of the percentage, `0` to `100`, of the operation that has been completed.",
1130*9b46bc0bSMyung Bae                    "maximum": 100,
1131*9b46bc0bSMyung Bae                    "minimum": 0,
1132*9b46bc0bSMyung Bae                    "readonly": true,
1133*9b46bc0bSMyung Bae                    "type": [
1134*9b46bc0bSMyung Bae                        "integer",
1135*9b46bc0bSMyung Bae                        "null"
1136*9b46bc0bSMyung Bae                    ],
1137*9b46bc0bSMyung Bae                    "units": "%",
1138*9b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
1139*9b46bc0bSMyung Bae                }
1140*9b46bc0bSMyung Bae            },
1141*9b46bc0bSMyung Bae            "type": "object"
1142*9b46bc0bSMyung Bae        },
1143*9b46bc0bSMyung Bae        "Reset": {
1144*9b46bc0bSMyung Bae            "additionalProperties": false,
1145*9b46bc0bSMyung Bae            "description": "This action resets this drive.",
1146*9b46bc0bSMyung Bae            "longDescription": "This action shall reset this drive.",
1147*9b46bc0bSMyung Bae            "parameters": {
1148*9b46bc0bSMyung Bae                "ResetType": {
1149*9b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType",
1150*9b46bc0bSMyung Bae                    "description": "The type of reset.",
1151*9b46bc0bSMyung Bae                    "longDescription": "This parameter shall contain the type of reset.  The service can accept a request without the parameter and perform an implementation-specific default reset."
1152*9b46bc0bSMyung Bae                }
1153*9b46bc0bSMyung Bae            },
1154*9b46bc0bSMyung Bae            "patternProperties": {
1155*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1156*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
1157*9b46bc0bSMyung Bae                    "type": [
1158*9b46bc0bSMyung Bae                        "array",
1159*9b46bc0bSMyung Bae                        "boolean",
1160*9b46bc0bSMyung Bae                        "integer",
1161*9b46bc0bSMyung Bae                        "number",
1162*9b46bc0bSMyung Bae                        "null",
1163*9b46bc0bSMyung Bae                        "object",
1164*9b46bc0bSMyung Bae                        "string"
1165*9b46bc0bSMyung Bae                    ]
1166*9b46bc0bSMyung Bae                }
1167*9b46bc0bSMyung Bae            },
1168*9b46bc0bSMyung Bae            "properties": {
1169*9b46bc0bSMyung Bae                "target": {
1170*9b46bc0bSMyung Bae                    "description": "Link to invoke action",
1171*9b46bc0bSMyung Bae                    "format": "uri-reference",
1172*9b46bc0bSMyung Bae                    "type": "string"
1173*9b46bc0bSMyung Bae                },
1174*9b46bc0bSMyung Bae                "title": {
1175*9b46bc0bSMyung Bae                    "description": "Friendly action name",
1176*9b46bc0bSMyung Bae                    "type": "string"
1177*9b46bc0bSMyung Bae                }
1178*9b46bc0bSMyung Bae            },
1179*9b46bc0bSMyung Bae            "type": "object",
1180*9b46bc0bSMyung Bae            "versionAdded": "v1_7_0"
1181*9b46bc0bSMyung Bae        },
1182*9b46bc0bSMyung Bae        "RevertToOriginalFactoryState": {
1183*9b46bc0bSMyung Bae            "additionalProperties": false,
1184*9b46bc0bSMyung Bae            "description": "This action reverts a self-encrypting drive (SED) to the original factory state.",
1185*9b46bc0bSMyung Bae            "longDescription": "This action shall revert a self-encrypting drive (SED) to the original factory state.  Upon successful completion of this action, the drive data shall be securely erased and the `EncryptionStatus` property shall contain `Unencrypted`.",
1186*9b46bc0bSMyung Bae            "parameters": {
1187*9b46bc0bSMyung Bae                "PhysicalSecureID": {
1188*9b46bc0bSMyung Bae                    "description": "The physical secure ID (PSID).  The PSID is generally printed on the drive label and used to revert an encrypted SED.",
1189*9b46bc0bSMyung Bae                    "longDescription": "This parameter shall contain the physical secure ID (PSID).  The PSID is generally printed on the drive label and used to revert an encrypted SED.",
1190*9b46bc0bSMyung Bae                    "type": "string"
1191*9b46bc0bSMyung Bae                }
1192*9b46bc0bSMyung Bae            },
1193*9b46bc0bSMyung Bae            "patternProperties": {
1194*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1195*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
1196*9b46bc0bSMyung Bae                    "type": [
1197*9b46bc0bSMyung Bae                        "array",
1198*9b46bc0bSMyung Bae                        "boolean",
1199*9b46bc0bSMyung Bae                        "integer",
1200*9b46bc0bSMyung Bae                        "number",
1201*9b46bc0bSMyung Bae                        "null",
1202*9b46bc0bSMyung Bae                        "object",
1203*9b46bc0bSMyung Bae                        "string"
1204*9b46bc0bSMyung Bae                    ]
1205*9b46bc0bSMyung Bae                }
1206*9b46bc0bSMyung Bae            },
1207*9b46bc0bSMyung Bae            "properties": {
1208*9b46bc0bSMyung Bae                "target": {
1209*9b46bc0bSMyung Bae                    "description": "Link to invoke action",
1210*9b46bc0bSMyung Bae                    "format": "uri-reference",
1211*9b46bc0bSMyung Bae                    "type": "string"
1212*9b46bc0bSMyung Bae                },
1213*9b46bc0bSMyung Bae                "title": {
1214*9b46bc0bSMyung Bae                    "description": "Friendly action name",
1215*9b46bc0bSMyung Bae                    "type": "string"
1216*9b46bc0bSMyung Bae                }
1217*9b46bc0bSMyung Bae            },
1218*9b46bc0bSMyung Bae            "type": "object",
1219*9b46bc0bSMyung Bae            "versionAdded": "v1_18_0"
1220*9b46bc0bSMyung Bae        },
1221*9b46bc0bSMyung Bae        "SecureErase": {
1222*9b46bc0bSMyung Bae            "additionalProperties": false,
1223*9b46bc0bSMyung Bae            "description": "This action securely erases the contents of the drive.",
1224*9b46bc0bSMyung Bae            "longDescription": "This action shall securely erase the drive.",
1225*9b46bc0bSMyung Bae            "parameters": {
1226*9b46bc0bSMyung Bae                "OverwritePasses": {
1227*9b46bc0bSMyung Bae                    "description": "The number of times to overwrite the drive if performing an overwrite type of sanitization.",
1228*9b46bc0bSMyung Bae                    "longDescription": "This parameter shall contain the number of times to overwrite the drive if the `SanitizationType` parameter contains the value `Overwrite`.  This parameter shall be ignored if the `SanitizationType` parameter does not contain the value `Overwrite`.  If the client does not provide this parameter, the service shall perform an implementation-specific number of passes.",
1229*9b46bc0bSMyung Bae                    "type": "integer",
1230*9b46bc0bSMyung Bae                    "versionAdded": "v1_15_0"
1231*9b46bc0bSMyung Bae                },
1232*9b46bc0bSMyung Bae                "SanitizationType": {
1233*9b46bc0bSMyung Bae                    "$ref": "#/definitions/DataSanitizationType",
1234*9b46bc0bSMyung Bae                    "description": "The type of data sanitization to perform.",
1235*9b46bc0bSMyung Bae                    "longDescription": "This parameter shall contain the type of data sanitization to perform for the secure erase request.  The service can accept a request without the parameter and perform an implementation-specific default secure erase.",
1236*9b46bc0bSMyung Bae                    "versionAdded": "v1_15_0"
1237*9b46bc0bSMyung Bae                }
1238*9b46bc0bSMyung Bae            },
1239*9b46bc0bSMyung Bae            "patternProperties": {
1240*9b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1241*9b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
1242*9b46bc0bSMyung Bae                    "type": [
1243*9b46bc0bSMyung Bae                        "array",
1244*9b46bc0bSMyung Bae                        "boolean",
1245*9b46bc0bSMyung Bae                        "integer",
1246*9b46bc0bSMyung Bae                        "number",
1247*9b46bc0bSMyung Bae                        "null",
1248*9b46bc0bSMyung Bae                        "object",
1249*9b46bc0bSMyung Bae                        "string"
1250*9b46bc0bSMyung Bae                    ]
1251*9b46bc0bSMyung Bae                }
1252*9b46bc0bSMyung Bae            },
1253*9b46bc0bSMyung Bae            "properties": {
1254*9b46bc0bSMyung Bae                "target": {
1255*9b46bc0bSMyung Bae                    "description": "Link to invoke action",
1256*9b46bc0bSMyung Bae                    "format": "uri-reference",
1257*9b46bc0bSMyung Bae                    "type": "string"
1258*9b46bc0bSMyung Bae                },
1259*9b46bc0bSMyung Bae                "title": {
1260*9b46bc0bSMyung Bae                    "description": "Friendly action name",
1261*9b46bc0bSMyung Bae                    "type": "string"
1262*9b46bc0bSMyung Bae                }
1263*9b46bc0bSMyung Bae            },
1264*9b46bc0bSMyung Bae            "type": "object"
1265*9b46bc0bSMyung Bae        },
1266*9b46bc0bSMyung Bae        "StatusIndicator": {
1267*9b46bc0bSMyung Bae            "enum": [
1268*9b46bc0bSMyung Bae                "OK",
1269*9b46bc0bSMyung Bae                "Fail",
1270*9b46bc0bSMyung Bae                "Rebuild",
1271*9b46bc0bSMyung Bae                "PredictiveFailureAnalysis",
1272*9b46bc0bSMyung Bae                "Hotspare",
1273*9b46bc0bSMyung Bae                "InACriticalArray",
1274*9b46bc0bSMyung Bae                "InAFailedArray"
1275*9b46bc0bSMyung Bae            ],
1276*9b46bc0bSMyung Bae            "enumDescriptions": {
1277*9b46bc0bSMyung Bae                "Fail": "The drive has failed.",
1278*9b46bc0bSMyung Bae                "Hotspare": "The drive has been marked to automatically rebuild and replace a failed drive.",
1279*9b46bc0bSMyung Bae                "InACriticalArray": "The array to which this drive belongs has been degraded.",
1280*9b46bc0bSMyung Bae                "InAFailedArray": "The array to which this drive belongs has failed.",
1281*9b46bc0bSMyung Bae                "OK": "The drive is OK.",
1282*9b46bc0bSMyung Bae                "PredictiveFailureAnalysis": "The drive still works but is predicted to fail soon.",
1283*9b46bc0bSMyung Bae                "Rebuild": "The drive is being rebuilt."
1284*9b46bc0bSMyung Bae            },
1285*9b46bc0bSMyung Bae            "type": "string"
1286*9b46bc0bSMyung Bae        },
1287*9b46bc0bSMyung Bae        "TargetConfigurationLockLevel": {
1288*9b46bc0bSMyung Bae            "enum": [
1289*9b46bc0bSMyung Bae                "Baseline"
1290*9b46bc0bSMyung Bae            ],
1291*9b46bc0bSMyung Bae            "enumDescriptions": {
1292*9b46bc0bSMyung Bae                "Baseline": "The standard configuration lock level, corresponding to applying firmware, updating security keys, and modifying other hardware settings.  It does not include managing the volumes or data on the drive."
1293*9b46bc0bSMyung Bae            },
1294*9b46bc0bSMyung Bae            "type": "string"
1295*9b46bc0bSMyung Bae        }
1296*9b46bc0bSMyung Bae    },
1297*9b46bc0bSMyung Bae    "language": "en",
1298*9b46bc0bSMyung Bae    "owningEntity": "DMTF",
1299*9b46bc0bSMyung Bae    "release": "2024.4",
1300*9b46bc0bSMyung Bae    "title": "#Drive.v1_21_0.Drive"
1301*9b46bc0bSMyung Bae}