19b46bc0bSMyung Bae{
29b46bc0bSMyung Bae    "$id": "http://redfish.dmtf.org/schemas/v1/Drive.v1_21_0.json",
39b46bc0bSMyung Bae    "$ref": "#/definitions/Drive",
49b46bc0bSMyung Bae    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
59b46bc0bSMyung Bae    "copyright": "Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
69b46bc0bSMyung Bae    "definitions": {
79b46bc0bSMyung Bae        "Actions": {
89b46bc0bSMyung Bae            "additionalProperties": false,
99b46bc0bSMyung Bae            "description": "The available actions for this resource.",
109b46bc0bSMyung Bae            "longDescription": "This type shall contain the available actions for this resource.",
119b46bc0bSMyung Bae            "patternProperties": {
129b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
139b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
149b46bc0bSMyung Bae                    "type": [
159b46bc0bSMyung Bae                        "array",
169b46bc0bSMyung Bae                        "boolean",
179b46bc0bSMyung Bae                        "integer",
189b46bc0bSMyung Bae                        "number",
199b46bc0bSMyung Bae                        "null",
209b46bc0bSMyung Bae                        "object",
219b46bc0bSMyung Bae                        "string"
229b46bc0bSMyung Bae                    ]
239b46bc0bSMyung Bae                }
249b46bc0bSMyung Bae            },
259b46bc0bSMyung Bae            "properties": {
269b46bc0bSMyung Bae                "#Drive.Reset": {
279b46bc0bSMyung Bae                    "$ref": "#/definitions/Reset"
289b46bc0bSMyung Bae                },
299b46bc0bSMyung Bae                "#Drive.RevertToOriginalFactoryState": {
309b46bc0bSMyung Bae                    "$ref": "#/definitions/RevertToOriginalFactoryState"
319b46bc0bSMyung Bae                },
329b46bc0bSMyung Bae                "#Drive.SecureErase": {
339b46bc0bSMyung Bae                    "$ref": "#/definitions/SecureErase"
349b46bc0bSMyung Bae                },
359b46bc0bSMyung Bae                "Oem": {
369b46bc0bSMyung Bae                    "$ref": "#/definitions/OemActions",
379b46bc0bSMyung Bae                    "description": "The available OEM-specific actions for this resource.",
389b46bc0bSMyung Bae                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
399b46bc0bSMyung Bae                }
409b46bc0bSMyung Bae            },
419b46bc0bSMyung Bae            "type": "object"
429b46bc0bSMyung Bae        },
439b46bc0bSMyung Bae        "ConfigLockOptions": {
449b46bc0bSMyung Bae            "enum": [
459b46bc0bSMyung Bae                "Unlocked",
469b46bc0bSMyung Bae                "Locked",
479b46bc0bSMyung Bae                "LockdownUnsupported",
489b46bc0bSMyung Bae                "CommandUnsupported"
499b46bc0bSMyung Bae            ],
509b46bc0bSMyung Bae            "enumDescriptions": {
519b46bc0bSMyung Bae                "CommandUnsupported": "The command is not supported, therefore lockdown does not apply.",
529b46bc0bSMyung Bae                "LockdownUnsupported": "The command is supported but is not able to be locked.",
539b46bc0bSMyung Bae                "Locked": "The command is supported and is currently locked.",
549b46bc0bSMyung Bae                "Unlocked": "The command is supported, able to be locked, and is currently unlocked."
559b46bc0bSMyung Bae            },
569b46bc0bSMyung Bae            "type": "string"
579b46bc0bSMyung Bae        },
589b46bc0bSMyung Bae        "ConfigurationLock": {
599b46bc0bSMyung Bae            "enum": [
609b46bc0bSMyung Bae                "Enabled",
619b46bc0bSMyung Bae                "Disabled",
629b46bc0bSMyung Bae                "Partial"
639b46bc0bSMyung Bae            ],
649b46bc0bSMyung Bae            "enumDescriptions": {
659b46bc0bSMyung Bae                "Disabled": "In-band configuration requests are not locked.",
669b46bc0bSMyung Bae                "Enabled": "In-band configuration requests are locked as specified by `TargetConfigurationLockLevel`.",
679b46bc0bSMyung 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."
689b46bc0bSMyung Bae            },
699b46bc0bSMyung Bae            "enumLongDescriptions": {
709b46bc0bSMyung Bae                "Disabled": "This value shall indicate in-band configuration requests are not locked.",
719b46bc0bSMyung Bae                "Enabled": "This value shall indicate in-band configuration requests are locked as specified by `TargetConfigurationLockLevel`.",
729b46bc0bSMyung Bae                "Partial": "This value shall indicate some in-band configuration requests are not locked while others are locked."
739b46bc0bSMyung Bae            },
749b46bc0bSMyung Bae            "type": "string"
759b46bc0bSMyung Bae        },
769b46bc0bSMyung Bae        "DataSanitizationType": {
779b46bc0bSMyung Bae            "enum": [
789b46bc0bSMyung Bae                "BlockErase",
799b46bc0bSMyung Bae                "CryptographicErase",
809b46bc0bSMyung Bae                "Overwrite"
819b46bc0bSMyung Bae            ],
829b46bc0bSMyung Bae            "enumDescriptions": {
839b46bc0bSMyung Bae                "BlockErase": "Delete all logical block addresses, including those that are not currently mapping to active addresses, but leaving the data on the drive.",
849b46bc0bSMyung 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.",
859b46bc0bSMyung Bae                "Overwrite": "Overwrite data by writing an implementation-specific pattern onto all sectors of the drive."
869b46bc0bSMyung Bae            },
879b46bc0bSMyung Bae            "enumLongDescriptions": {
889b46bc0bSMyung 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.",
899b46bc0bSMyung 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.",
909b46bc0bSMyung Bae                "Overwrite": "This value shall indicate sanitization is performed by overwriting data by writing an implementation-specific pattern onto all sectors of the drive."
919b46bc0bSMyung Bae            },
929b46bc0bSMyung Bae            "type": "string"
939b46bc0bSMyung Bae        },
949b46bc0bSMyung Bae        "Drive": {
959b46bc0bSMyung Bae            "additionalProperties": false,
969b46bc0bSMyung 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.",
979b46bc0bSMyung 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`.",
989b46bc0bSMyung Bae            "patternProperties": {
999b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1009b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
1019b46bc0bSMyung Bae                    "type": [
1029b46bc0bSMyung Bae                        "array",
1039b46bc0bSMyung Bae                        "boolean",
1049b46bc0bSMyung Bae                        "integer",
1059b46bc0bSMyung Bae                        "number",
1069b46bc0bSMyung Bae                        "null",
1079b46bc0bSMyung Bae                        "object",
1089b46bc0bSMyung Bae                        "string"
1099b46bc0bSMyung Bae                    ]
1109b46bc0bSMyung Bae                }
1119b46bc0bSMyung Bae            },
1129b46bc0bSMyung Bae            "properties": {
1139b46bc0bSMyung Bae                "@odata.context": {
1149b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
1159b46bc0bSMyung Bae                },
1169b46bc0bSMyung Bae                "@odata.etag": {
1179b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
1189b46bc0bSMyung Bae                },
1199b46bc0bSMyung Bae                "@odata.id": {
1209b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
1219b46bc0bSMyung Bae                },
1229b46bc0bSMyung Bae                "@odata.type": {
1239b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
1249b46bc0bSMyung Bae                },
1259b46bc0bSMyung Bae                "Actions": {
1269b46bc0bSMyung Bae                    "$ref": "#/definitions/Actions",
1279b46bc0bSMyung Bae                    "description": "The available actions for this resource.",
1289b46bc0bSMyung Bae                    "longDescription": "This property shall contain the available actions for this resource."
1299b46bc0bSMyung Bae                },
1309b46bc0bSMyung Bae                "Assembly": {
1319b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Assembly.json#/definitions/Assembly",
1329b46bc0bSMyung Bae                    "description": "The link to the assembly associated with this drive.",
1339b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `Assembly`.",
1349b46bc0bSMyung Bae                    "readonly": true,
1359b46bc0bSMyung Bae                    "versionAdded": "v1_3_0"
1369b46bc0bSMyung Bae                },
1379b46bc0bSMyung Bae                "AssetTag": {
1389b46bc0bSMyung Bae                    "description": "The user-assigned asset tag for this drive.",
1399b46bc0bSMyung Bae                    "longDescription": "This property shall track the drive for inventory purposes.",
1409b46bc0bSMyung Bae                    "readonly": false,
1419b46bc0bSMyung Bae                    "type": [
1429b46bc0bSMyung Bae                        "string",
1439b46bc0bSMyung Bae                        "null"
1449b46bc0bSMyung Bae                    ]
1459b46bc0bSMyung Bae                },
1469b46bc0bSMyung Bae                "BlockSecurityIDEnabled": {
1479b46bc0bSMyung Bae                    "description": "Indicates if establishment of a TCG-defined security ID (SID) on the drive is blocked.",
1489b46bc0bSMyung 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.",
1499b46bc0bSMyung Bae                    "readonly": false,
1509b46bc0bSMyung Bae                    "type": [
1519b46bc0bSMyung Bae                        "boolean",
1529b46bc0bSMyung Bae                        "null"
1539b46bc0bSMyung Bae                    ],
1549b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
1559b46bc0bSMyung Bae                },
1569b46bc0bSMyung Bae                "BlockSizeBytes": {
1579b46bc0bSMyung Bae                    "description": "The size, in bytes, of the smallest addressable unit, or block.",
1589b46bc0bSMyung Bae                    "longDescription": "This property shall contain the size of the smallest addressable unit of the associated drive.",
1599b46bc0bSMyung Bae                    "readonly": true,
1609b46bc0bSMyung Bae                    "type": [
1619b46bc0bSMyung Bae                        "integer",
1629b46bc0bSMyung Bae                        "null"
1639b46bc0bSMyung Bae                    ],
1649b46bc0bSMyung Bae                    "units": "By"
1659b46bc0bSMyung Bae                },
1669b46bc0bSMyung Bae                "CapableSpeedGbs": {
1679b46bc0bSMyung Bae                    "description": "The speed, in gigabits per second (Gbit/s) units, at which this drive can communicate to a storage controller in ideal conditions.",
1689b46bc0bSMyung Bae                    "longDescription": "This property shall contain fastest capable bus speed, in gigabits per second (Gbit/s) units, of the associated drive.",
1699b46bc0bSMyung Bae                    "readonly": true,
1709b46bc0bSMyung Bae                    "type": [
1719b46bc0bSMyung Bae                        "number",
1729b46bc0bSMyung Bae                        "null"
1739b46bc0bSMyung Bae                    ],
1749b46bc0bSMyung Bae                    "units": "Gbit/s"
1759b46bc0bSMyung Bae                },
1769b46bc0bSMyung Bae                "CapacityBytes": {
1779b46bc0bSMyung Bae                    "description": "The size, in bytes, of this drive.",
1789b46bc0bSMyung Bae                    "longDescription": "This property shall contain the raw size, in bytes, of the associated drive.",
1799b46bc0bSMyung Bae                    "readonly": true,
1809b46bc0bSMyung Bae                    "type": [
1819b46bc0bSMyung Bae                        "integer",
1829b46bc0bSMyung Bae                        "null"
1839b46bc0bSMyung Bae                    ],
1849b46bc0bSMyung Bae                    "units": "By"
1859b46bc0bSMyung Bae                },
1869b46bc0bSMyung Bae                "Certificates": {
1879b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection",
1889b46bc0bSMyung Bae                    "description": "The link to a collection of certificates for device identity and attestation.",
1899b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource collection of type `CertificateCollection` that contains certificates for device identity and attestation.",
1909b46bc0bSMyung Bae                    "readonly": true,
1919b46bc0bSMyung Bae                    "versionAdded": "v1_12_0"
1929b46bc0bSMyung Bae                },
1939b46bc0bSMyung Bae                "ConfigurationLock": {
1949b46bc0bSMyung Bae                    "anyOf": [
1959b46bc0bSMyung Bae                        {
1969b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigurationLock"
1979b46bc0bSMyung Bae                        },
1989b46bc0bSMyung Bae                        {
1999b46bc0bSMyung Bae                            "type": "null"
2009b46bc0bSMyung Bae                        }
2019b46bc0bSMyung Bae                    ],
2029b46bc0bSMyung 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.",
2039b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether configuration requests to the drive are locked.  Services shall reject modification requests that contain the value `Partial`.",
2049b46bc0bSMyung Bae                    "readonly": false,
2059b46bc0bSMyung Bae                    "versionAdded": "v1_19_0"
2069b46bc0bSMyung Bae                },
2079b46bc0bSMyung Bae                "Description": {
2089b46bc0bSMyung Bae                    "anyOf": [
2099b46bc0bSMyung Bae                        {
2109b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
2119b46bc0bSMyung Bae                        },
2129b46bc0bSMyung Bae                        {
2139b46bc0bSMyung Bae                            "type": "null"
2149b46bc0bSMyung Bae                        }
2159b46bc0bSMyung Bae                    ],
2169b46bc0bSMyung Bae                    "readonly": true
2179b46bc0bSMyung Bae                },
2189b46bc0bSMyung Bae                "DriveFormFactor": {
2199b46bc0bSMyung Bae                    "anyOf": [
2209b46bc0bSMyung Bae                        {
2219b46bc0bSMyung Bae                            "$ref": "#/definitions/FormFactor"
2229b46bc0bSMyung Bae                        },
2239b46bc0bSMyung Bae                        {
2249b46bc0bSMyung Bae                            "type": "null"
2259b46bc0bSMyung Bae                        }
2269b46bc0bSMyung Bae                    ],
2279b46bc0bSMyung Bae                    "description": "The form factor of the drive inserted in this slot.",
2289b46bc0bSMyung Bae                    "longDescription": "This property shall contain the form factor of the drive inserted in this slot.",
2299b46bc0bSMyung Bae                    "readonly": true,
2309b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
2319b46bc0bSMyung Bae                },
2329b46bc0bSMyung Bae                "EncryptionAbility": {
2339b46bc0bSMyung Bae                    "anyOf": [
2349b46bc0bSMyung Bae                        {
2359b46bc0bSMyung Bae                            "$ref": "#/definitions/EncryptionAbility"
2369b46bc0bSMyung Bae                        },
2379b46bc0bSMyung Bae                        {
2389b46bc0bSMyung Bae                            "type": "null"
2399b46bc0bSMyung Bae                        }
2409b46bc0bSMyung Bae                    ],
2419b46bc0bSMyung Bae                    "description": "The encryption ability of this drive.",
2429b46bc0bSMyung Bae                    "longDescription": "This property shall contain the encryption ability for the associated drive.",
2439b46bc0bSMyung Bae                    "readonly": true
2449b46bc0bSMyung Bae                },
2459b46bc0bSMyung Bae                "EncryptionStatus": {
2469b46bc0bSMyung Bae                    "anyOf": [
2479b46bc0bSMyung Bae                        {
2489b46bc0bSMyung Bae                            "$ref": "#/definitions/EncryptionStatus"
2499b46bc0bSMyung Bae                        },
2509b46bc0bSMyung Bae                        {
2519b46bc0bSMyung Bae                            "type": "null"
2529b46bc0bSMyung Bae                        }
2539b46bc0bSMyung Bae                    ],
2549b46bc0bSMyung Bae                    "description": "The status of the encryption of this drive.",
2559b46bc0bSMyung Bae                    "longDescription": "This property shall contain the encryption status for the associated drive.",
2569b46bc0bSMyung Bae                    "readonly": true
2579b46bc0bSMyung Bae                },
2589b46bc0bSMyung Bae                "EnvironmentMetrics": {
2599b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/EnvironmentMetrics.json#/definitions/EnvironmentMetrics",
2609b46bc0bSMyung Bae                    "description": "The link to the environment metrics for this drive.",
2619b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `EnvironmentMetrics` that specifies the environment metrics for this drive.",
2629b46bc0bSMyung Bae                    "readonly": true,
2639b46bc0bSMyung Bae                    "versionAdded": "v1_12_0"
2649b46bc0bSMyung Bae                },
2659b46bc0bSMyung Bae                "FailurePredicted": {
2669b46bc0bSMyung Bae                    "description": "An indication of whether this drive currently predicts a failure in the near future.",
2679b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether this drive currently predicts a manufacturer-defined failure.",
2689b46bc0bSMyung Bae                    "readonly": true,
2699b46bc0bSMyung Bae                    "type": [
2709b46bc0bSMyung Bae                        "boolean",
2719b46bc0bSMyung Bae                        "null"
2729b46bc0bSMyung Bae                    ]
2739b46bc0bSMyung Bae                },
2749b46bc0bSMyung Bae                "FirmwareVersion": {
2759b46bc0bSMyung Bae                    "description": "The firmware version for this drive.",
2769b46bc0bSMyung Bae                    "longDescription": "This property shall contain the firmware version as defined by the manufacturer for this drive.",
2779b46bc0bSMyung Bae                    "readonly": true,
2789b46bc0bSMyung Bae                    "type": [
2799b46bc0bSMyung Bae                        "string",
2809b46bc0bSMyung Bae                        "null"
2819b46bc0bSMyung Bae                    ],
2829b46bc0bSMyung Bae                    "versionAdded": "v1_17_0"
2839b46bc0bSMyung Bae                },
2849b46bc0bSMyung Bae                "HardwareVersion": {
2859b46bc0bSMyung Bae                    "description": "The hardware version of this drive.",
2869b46bc0bSMyung Bae                    "longDescription": "This property shall contain the hardware version of this drive as determined by the vendor or supplier.",
2879b46bc0bSMyung Bae                    "readonly": true,
2889b46bc0bSMyung Bae                    "type": [
2899b46bc0bSMyung Bae                        "string",
2909b46bc0bSMyung Bae                        "null"
2919b46bc0bSMyung Bae                    ],
2929b46bc0bSMyung Bae                    "versionAdded": "v1_21_0"
2939b46bc0bSMyung Bae                },
2949b46bc0bSMyung Bae                "HotspareReplacementMode": {
2959b46bc0bSMyung Bae                    "anyOf": [
2969b46bc0bSMyung Bae                        {
2979b46bc0bSMyung Bae                            "$ref": "#/definitions/HotspareReplacementModeType"
2989b46bc0bSMyung Bae                        },
2999b46bc0bSMyung Bae                        {
3009b46bc0bSMyung Bae                            "type": "null"
3019b46bc0bSMyung Bae                        }
3029b46bc0bSMyung Bae                    ],
3039b46bc0bSMyung Bae                    "description": "The replacement mode for the hot spare drive.",
3049b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether a commissioned hot spare continues to serve as a hot spare after the failed drive is replaced.",
3059b46bc0bSMyung Bae                    "readonly": false,
3069b46bc0bSMyung Bae                    "versionAdded": "v1_5_0"
3079b46bc0bSMyung Bae                },
3089b46bc0bSMyung Bae                "HotspareType": {
3099b46bc0bSMyung Bae                    "anyOf": [
3109b46bc0bSMyung Bae                        {
3119b46bc0bSMyung Bae                            "$ref": "#/definitions/HotspareType"
3129b46bc0bSMyung Bae                        },
3139b46bc0bSMyung Bae                        {
3149b46bc0bSMyung Bae                            "type": "null"
3159b46bc0bSMyung Bae                        }
3169b46bc0bSMyung Bae                    ],
3179b46bc0bSMyung Bae                    "description": "The type of hot spare that this drive serves as.",
3189b46bc0bSMyung 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.",
3199b46bc0bSMyung Bae                    "readonly": false
3209b46bc0bSMyung Bae                },
3219b46bc0bSMyung Bae                "Id": {
3229b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
3239b46bc0bSMyung Bae                    "readonly": true
3249b46bc0bSMyung Bae                },
3259b46bc0bSMyung Bae                "Identifiers": {
3269b46bc0bSMyung Bae                    "description": "The durable names for the drive.",
3279b46bc0bSMyung Bae                    "items": {
3289b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Identifier"
3299b46bc0bSMyung Bae                    },
3309b46bc0bSMyung Bae                    "longDescription": "This property shall contain a list of all known durable names for the associated drive.",
3319b46bc0bSMyung Bae                    "type": "array"
3329b46bc0bSMyung Bae                },
3339b46bc0bSMyung Bae                "IndicatorLED": {
3349b46bc0bSMyung Bae                    "anyOf": [
3359b46bc0bSMyung Bae                        {
3369b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/IndicatorLED"
3379b46bc0bSMyung Bae                        },
3389b46bc0bSMyung Bae                        {
3399b46bc0bSMyung Bae                            "type": "null"
3409b46bc0bSMyung Bae                        }
3419b46bc0bSMyung Bae                    ],
3429b46bc0bSMyung Bae                    "deprecated": "This property has been deprecated in favor of the `LocationIndicatorActive` property.",
3439b46bc0bSMyung Bae                    "description": "The state of the indicator LED, that identifies the drive.",
3449b46bc0bSMyung Bae                    "longDescription": "This property shall contain the state for the indicator light associated with this drive.",
3459b46bc0bSMyung Bae                    "readonly": false,
3469b46bc0bSMyung Bae                    "versionDeprecated": "v1_11_0"
3479b46bc0bSMyung Bae                },
3489b46bc0bSMyung Bae                "Links": {
3499b46bc0bSMyung Bae                    "$ref": "#/definitions/Links",
3509b46bc0bSMyung Bae                    "description": "The links to other resources that are related to this resource.",
3519b46bc0bSMyung Bae                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
3529b46bc0bSMyung Bae                },
3539b46bc0bSMyung Bae                "Location": {
3549b46bc0bSMyung Bae                    "deprecated": "This property has been deprecated in favor of the singular `PhysicalLocation` property.",
3559b46bc0bSMyung Bae                    "description": "The location of the drive.",
3569b46bc0bSMyung Bae                    "items": {
3579b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location"
3589b46bc0bSMyung Bae                    },
3599b46bc0bSMyung Bae                    "longDescription": "This property shall contain the location information of the associated drive.",
3609b46bc0bSMyung Bae                    "type": "array",
3619b46bc0bSMyung Bae                    "versionDeprecated": "v1_4_0"
3629b46bc0bSMyung Bae                },
3639b46bc0bSMyung Bae                "LocationIndicatorActive": {
3649b46bc0bSMyung Bae                    "description": "An indicator allowing an operator to physically locate this resource.",
3659b46bc0bSMyung 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.",
3669b46bc0bSMyung Bae                    "readonly": false,
3679b46bc0bSMyung Bae                    "type": [
3689b46bc0bSMyung Bae                        "boolean",
3699b46bc0bSMyung Bae                        "null"
3709b46bc0bSMyung Bae                    ],
3719b46bc0bSMyung Bae                    "versionAdded": "v1_11_0"
3729b46bc0bSMyung Bae                },
3739b46bc0bSMyung Bae                "Manufacturer": {
3749b46bc0bSMyung Bae                    "description": "The manufacturer of this drive.",
3759b46bc0bSMyung 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.",
3769b46bc0bSMyung Bae                    "readonly": true,
3779b46bc0bSMyung Bae                    "type": [
3789b46bc0bSMyung Bae                        "string",
3799b46bc0bSMyung Bae                        "null"
3809b46bc0bSMyung Bae                    ]
3819b46bc0bSMyung Bae                },
3829b46bc0bSMyung Bae                "Measurements": {
3839b46bc0bSMyung Bae                    "deprecated": "This property has been deprecated in favor of the `ComponentIntegrity` resource.",
3849b46bc0bSMyung Bae                    "description": "An array of DSP0274-defined measurement blocks.",
3859b46bc0bSMyung Bae                    "items": {
3869b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json#/definitions/MeasurementBlock"
3879b46bc0bSMyung Bae                    },
3889b46bc0bSMyung Bae                    "longDescription": "This property shall contain an array of DSP0274-defined measurement blocks.",
3899b46bc0bSMyung Bae                    "type": "array",
3909b46bc0bSMyung Bae                    "versionAdded": "v1_12_0",
3919b46bc0bSMyung Bae                    "versionDeprecated": "v1_14_0"
3929b46bc0bSMyung Bae                },
3939b46bc0bSMyung Bae                "MediaType": {
3949b46bc0bSMyung Bae                    "anyOf": [
3959b46bc0bSMyung Bae                        {
3969b46bc0bSMyung Bae                            "$ref": "#/definitions/MediaType"
3979b46bc0bSMyung Bae                        },
3989b46bc0bSMyung Bae                        {
3999b46bc0bSMyung Bae                            "type": "null"
4009b46bc0bSMyung Bae                        }
4019b46bc0bSMyung Bae                    ],
4029b46bc0bSMyung Bae                    "description": "The type of media contained in this drive.",
4039b46bc0bSMyung Bae                    "longDescription": "This property shall contain the type of media contained in the associated drive.",
4049b46bc0bSMyung Bae                    "readonly": true
4059b46bc0bSMyung Bae                },
4069b46bc0bSMyung Bae                "Metrics": {
4079b46bc0bSMyung Bae                    "anyOf": [
4089b46bc0bSMyung Bae                        {
4099b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/v1/DriveMetrics.json#/definitions/DriveMetrics"
4109b46bc0bSMyung Bae                        },
4119b46bc0bSMyung Bae                        {
4129b46bc0bSMyung Bae                            "type": "null"
4139b46bc0bSMyung Bae                        }
4149b46bc0bSMyung Bae                    ],
4159b46bc0bSMyung Bae                    "description": "The link to the metrics associated with this drive.",
4169b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to the metrics associated with this drive.",
4179b46bc0bSMyung Bae                    "readonly": true,
4189b46bc0bSMyung Bae                    "versionAdded": "v1_17_0"
4199b46bc0bSMyung Bae                },
4209b46bc0bSMyung Bae                "Model": {
4219b46bc0bSMyung Bae                    "description": "The model number for the drive.",
4229b46bc0bSMyung Bae                    "longDescription": "This property shall contain the name by which the manufacturer generally refers to the drive.",
4239b46bc0bSMyung Bae                    "readonly": true,
4249b46bc0bSMyung Bae                    "type": [
4259b46bc0bSMyung Bae                        "string",
4269b46bc0bSMyung Bae                        "null"
4279b46bc0bSMyung Bae                    ]
4289b46bc0bSMyung Bae                },
4299b46bc0bSMyung Bae                "Multipath": {
4309b46bc0bSMyung Bae                    "description": "An indication of whether the drive is accessible from multiple paths.",
4319b46bc0bSMyung 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.",
4329b46bc0bSMyung Bae                    "readonly": true,
4339b46bc0bSMyung Bae                    "type": [
4349b46bc0bSMyung Bae                        "boolean",
4359b46bc0bSMyung Bae                        "null"
4369b46bc0bSMyung Bae                    ],
4379b46bc0bSMyung Bae                    "versionAdded": "v1_9_0"
4389b46bc0bSMyung Bae                },
4399b46bc0bSMyung Bae                "NVMe": {
4409b46bc0bSMyung Bae                    "anyOf": [
4419b46bc0bSMyung Bae                        {
4429b46bc0bSMyung Bae                            "$ref": "#/definitions/NVMe"
4439b46bc0bSMyung Bae                        },
4449b46bc0bSMyung Bae                        {
4459b46bc0bSMyung Bae                            "type": "null"
4469b46bc0bSMyung Bae                        }
4479b46bc0bSMyung Bae                    ],
4489b46bc0bSMyung Bae                    "description": "NVMe properties for this drive.",
4499b46bc0bSMyung Bae                    "longDescription": "This property shall contain NVMe-specific properties of this drive.",
4509b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
4519b46bc0bSMyung Bae                },
4529b46bc0bSMyung Bae                "Name": {
4539b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
4549b46bc0bSMyung Bae                    "readonly": true
4559b46bc0bSMyung Bae                },
4569b46bc0bSMyung Bae                "NegotiatedSpeedGbs": {
4579b46bc0bSMyung Bae                    "description": "The speed, in gigabits per second (Gbit/s) units, at which this drive currently communicates to the storage controller.",
4589b46bc0bSMyung Bae                    "longDescription": "This property shall contain current bus speed, in gigabits per second (Gbit/s) units, of the associated drive.",
4599b46bc0bSMyung Bae                    "readonly": true,
4609b46bc0bSMyung Bae                    "type": [
4619b46bc0bSMyung Bae                        "number",
4629b46bc0bSMyung Bae                        "null"
4639b46bc0bSMyung Bae                    ],
4649b46bc0bSMyung Bae                    "units": "Gbit/s"
4659b46bc0bSMyung Bae                },
4669b46bc0bSMyung Bae                "Oem": {
4679b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
4689b46bc0bSMyung Bae                    "description": "The OEM extension property.",
4699b46bc0bSMyung 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."
4709b46bc0bSMyung Bae                },
4719b46bc0bSMyung Bae                "Operations": {
4729b46bc0bSMyung Bae                    "description": "The operations currently running on the drive.",
4739b46bc0bSMyung Bae                    "items": {
4749b46bc0bSMyung Bae                        "$ref": "#/definitions/Operations"
4759b46bc0bSMyung Bae                    },
4769b46bc0bSMyung Bae                    "longDescription": "This property shall contain a list of all operations currently running on the drive.",
4779b46bc0bSMyung Bae                    "type": "array",
4789b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
4799b46bc0bSMyung Bae                },
4809b46bc0bSMyung Bae                "PartNumber": {
4819b46bc0bSMyung Bae                    "description": "The part number for this drive.",
4829b46bc0bSMyung Bae                    "longDescription": "This property shall contain the part number assigned by the organization that is responsible for producing or manufacturing the drive.",
4839b46bc0bSMyung Bae                    "readonly": true,
4849b46bc0bSMyung Bae                    "type": [
4859b46bc0bSMyung Bae                        "string",
4869b46bc0bSMyung Bae                        "null"
4879b46bc0bSMyung Bae                    ]
4889b46bc0bSMyung Bae                },
4899b46bc0bSMyung Bae                "PhysicalLocation": {
4909b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Location",
4919b46bc0bSMyung Bae                    "description": "The location of the drive.  This property is equivalent to the `Location` property common to other standard Redfish resources.",
4929b46bc0bSMyung Bae                    "longDescription": "This property shall contain the location information of the associated drive.",
4939b46bc0bSMyung Bae                    "versionAdded": "v1_4_0"
4949b46bc0bSMyung Bae                },
4959b46bc0bSMyung Bae                "PredictedMediaLifeLeftPercent": {
4969b46bc0bSMyung Bae                    "description": "The percentage of reads and writes that are predicted to be available for the media.",
4979b46bc0bSMyung Bae                    "longDescription": "This property shall contain an indicator of the percentage, typically `0` to `100`, of life remaining in the drive's media.",
4989b46bc0bSMyung Bae                    "minimum": 0,
4999b46bc0bSMyung Bae                    "readonly": true,
5009b46bc0bSMyung Bae                    "type": [
5019b46bc0bSMyung Bae                        "number",
5029b46bc0bSMyung Bae                        "null"
5039b46bc0bSMyung Bae                    ],
5049b46bc0bSMyung Bae                    "units": "%"
5059b46bc0bSMyung Bae                },
5069b46bc0bSMyung Bae                "Protocol": {
5079b46bc0bSMyung Bae                    "anyOf": [
5089b46bc0bSMyung Bae                        {
5099b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
5109b46bc0bSMyung Bae                        },
5119b46bc0bSMyung Bae                        {
5129b46bc0bSMyung Bae                            "type": "null"
5139b46bc0bSMyung Bae                        }
5149b46bc0bSMyung Bae                    ],
5159b46bc0bSMyung Bae                    "description": "The protocol that this drive currently uses to communicate to the storage controller.",
5169b46bc0bSMyung Bae                    "longDescription": "This property shall contain the protocol that the associated drive currently uses to communicate to the storage controller for this system.",
5179b46bc0bSMyung Bae                    "readonly": true
5189b46bc0bSMyung Bae                },
5199b46bc0bSMyung Bae                "ReadyToRemove": {
5209b46bc0bSMyung Bae                    "description": "An indication of whether the drive is prepared by the system for removal.",
5219b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether the system is prepared for the removal of this drive.",
5229b46bc0bSMyung Bae                    "readonly": false,
5239b46bc0bSMyung Bae                    "type": [
5249b46bc0bSMyung Bae                        "boolean",
5259b46bc0bSMyung Bae                        "null"
5269b46bc0bSMyung Bae                    ],
5279b46bc0bSMyung Bae                    "versionAdded": "v1_10_0"
5289b46bc0bSMyung Bae                },
5299b46bc0bSMyung Bae                "Revision": {
5309b46bc0bSMyung 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.",
5319b46bc0bSMyung 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.",
5329b46bc0bSMyung Bae                    "readonly": true,
5339b46bc0bSMyung Bae                    "type": [
5349b46bc0bSMyung Bae                        "string",
5359b46bc0bSMyung Bae                        "null"
5369b46bc0bSMyung Bae                    ]
5379b46bc0bSMyung Bae                },
5389b46bc0bSMyung Bae                "RotationSpeedRPM": {
5399b46bc0bSMyung Bae                    "description": "The rotation speed of this drive, in revolutions per minute (RPM) units.",
5409b46bc0bSMyung Bae                    "longDescription": "This property shall contain the rotation speed, in revolutions per minute (RPM) units, of the associated drive.",
5419b46bc0bSMyung Bae                    "readonly": true,
5429b46bc0bSMyung Bae                    "type": [
5439b46bc0bSMyung Bae                        "number",
5449b46bc0bSMyung Bae                        "null"
5459b46bc0bSMyung Bae                    ],
5469b46bc0bSMyung Bae                    "units": "{rev}/min"
5479b46bc0bSMyung Bae                },
5489b46bc0bSMyung Bae                "SKU": {
5499b46bc0bSMyung Bae                    "description": "The SKU for this drive.",
5509b46bc0bSMyung Bae                    "longDescription": "This property shall contain the stock-keeping unit (SKU) number for this drive.",
5519b46bc0bSMyung Bae                    "readonly": true,
5529b46bc0bSMyung Bae                    "type": [
5539b46bc0bSMyung Bae                        "string",
5549b46bc0bSMyung Bae                        "null"
5559b46bc0bSMyung Bae                    ]
5569b46bc0bSMyung Bae                },
5579b46bc0bSMyung Bae                "SerialNumber": {
5589b46bc0bSMyung Bae                    "description": "The serial number for this drive.",
5599b46bc0bSMyung Bae                    "longDescription": "This property shall contain the manufacturer-allocated number that identifies the drive.",
5609b46bc0bSMyung Bae                    "readonly": true,
5619b46bc0bSMyung Bae                    "type": [
5629b46bc0bSMyung Bae                        "string",
5639b46bc0bSMyung Bae                        "null"
5649b46bc0bSMyung Bae                    ]
5659b46bc0bSMyung Bae                },
5669b46bc0bSMyung Bae                "SlotCapableProtocols": {
5679b46bc0bSMyung Bae                    "description": "The drive protocols capable in this slot.",
5689b46bc0bSMyung Bae                    "items": {
5699b46bc0bSMyung Bae                        "anyOf": [
5709b46bc0bSMyung Bae                            {
5719b46bc0bSMyung Bae                                "$ref": "http://redfish.dmtf.org/schemas/v1/Protocol.json#/definitions/Protocol"
5729b46bc0bSMyung Bae                            },
5739b46bc0bSMyung Bae                            {
5749b46bc0bSMyung Bae                                "type": "null"
5759b46bc0bSMyung Bae                            }
5769b46bc0bSMyung Bae                        ]
5779b46bc0bSMyung Bae                    },
5789b46bc0bSMyung 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.",
5799b46bc0bSMyung Bae                    "readonly": true,
5809b46bc0bSMyung Bae                    "type": "array",
5819b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
5829b46bc0bSMyung Bae                },
5839b46bc0bSMyung Bae                "SlotFormFactor": {
5849b46bc0bSMyung Bae                    "anyOf": [
5859b46bc0bSMyung Bae                        {
5869b46bc0bSMyung Bae                            "$ref": "#/definitions/FormFactor"
5879b46bc0bSMyung Bae                        },
5889b46bc0bSMyung Bae                        {
5899b46bc0bSMyung Bae                            "type": "null"
5909b46bc0bSMyung Bae                        }
5919b46bc0bSMyung Bae                    ],
5929b46bc0bSMyung Bae                    "description": "The form factor of the slot.",
5939b46bc0bSMyung Bae                    "longDescription": "This property shall contain the form factor of the slot.",
5949b46bc0bSMyung Bae                    "readonly": true,
5959b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
5969b46bc0bSMyung Bae                },
5979b46bc0bSMyung Bae                "SparePartNumber": {
5989b46bc0bSMyung Bae                    "description": "The spare part number of the drive.",
5999b46bc0bSMyung Bae                    "longDescription": "This property shall contain the spare part number of the drive.",
6009b46bc0bSMyung Bae                    "readonly": true,
6019b46bc0bSMyung Bae                    "type": [
6029b46bc0bSMyung Bae                        "string",
6039b46bc0bSMyung Bae                        "null"
6049b46bc0bSMyung Bae                    ],
6059b46bc0bSMyung Bae                    "versionAdded": "v1_19_0"
6069b46bc0bSMyung Bae                },
6079b46bc0bSMyung Bae                "Status": {
6089b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
6099b46bc0bSMyung Bae                    "description": "The status and health of the resource and its subordinate or dependent resources.",
6109b46bc0bSMyung Bae                    "longDescription": "This property shall contain any status or health properties of the resource."
6119b46bc0bSMyung Bae                },
6129b46bc0bSMyung Bae                "StatusIndicator": {
6139b46bc0bSMyung Bae                    "anyOf": [
6149b46bc0bSMyung Bae                        {
6159b46bc0bSMyung Bae                            "$ref": "#/definitions/StatusIndicator"
6169b46bc0bSMyung Bae                        },
6179b46bc0bSMyung Bae                        {
6189b46bc0bSMyung Bae                            "type": "null"
6199b46bc0bSMyung Bae                        }
6209b46bc0bSMyung Bae                    ],
6219b46bc0bSMyung Bae                    "description": "The state of the status indicator, which communicates status information about this drive.",
6229b46bc0bSMyung 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.",
6239b46bc0bSMyung Bae                    "readonly": false
6249b46bc0bSMyung Bae                },
6259b46bc0bSMyung Bae                "TargetConfigurationLockLevel": {
6269b46bc0bSMyung Bae                    "anyOf": [
6279b46bc0bSMyung Bae                        {
6289b46bc0bSMyung Bae                            "$ref": "#/definitions/TargetConfigurationLockLevel"
6299b46bc0bSMyung Bae                        },
6309b46bc0bSMyung Bae                        {
6319b46bc0bSMyung Bae                            "type": "null"
6329b46bc0bSMyung Bae                        }
6339b46bc0bSMyung Bae                    ],
6349b46bc0bSMyung 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.",
6359b46bc0bSMyung 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.",
6369b46bc0bSMyung Bae                    "readonly": false,
6379b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
6389b46bc0bSMyung Bae                },
6399b46bc0bSMyung Bae                "WriteCacheEnabled": {
6409b46bc0bSMyung Bae                    "description": "An indication of whether the drive write cache is enabled.",
6419b46bc0bSMyung Bae                    "longDescription": "This property shall indicate whether the drive write cache is enabled.",
6429b46bc0bSMyung Bae                    "readonly": false,
6439b46bc0bSMyung Bae                    "type": [
6449b46bc0bSMyung Bae                        "boolean",
6459b46bc0bSMyung Bae                        "null"
6469b46bc0bSMyung Bae                    ],
6479b46bc0bSMyung Bae                    "versionAdded": "v1_7_0"
6489b46bc0bSMyung Bae                }
6499b46bc0bSMyung Bae            },
6509b46bc0bSMyung Bae            "required": [
6519b46bc0bSMyung Bae                "@odata.id",
6529b46bc0bSMyung Bae                "@odata.type",
6539b46bc0bSMyung Bae                "Id",
6549b46bc0bSMyung Bae                "Name"
6559b46bc0bSMyung Bae            ],
6569b46bc0bSMyung Bae            "type": "object"
6579b46bc0bSMyung Bae        },
6589b46bc0bSMyung Bae        "EncryptionAbility": {
6599b46bc0bSMyung Bae            "enum": [
6609b46bc0bSMyung Bae                "None",
6619b46bc0bSMyung Bae                "SelfEncryptingDrive",
6629b46bc0bSMyung Bae                "Other"
6639b46bc0bSMyung Bae            ],
6649b46bc0bSMyung Bae            "enumDescriptions": {
6659b46bc0bSMyung Bae                "None": "The drive is not capable of self-encryption.",
6669b46bc0bSMyung Bae                "Other": "The drive is capable of self-encryption through some other means.",
6679b46bc0bSMyung Bae                "SelfEncryptingDrive": "The drive is capable of self-encryption per the Trusted Computing Group's Self Encrypting Drive Standard."
6689b46bc0bSMyung Bae            },
6699b46bc0bSMyung Bae            "type": "string"
6709b46bc0bSMyung Bae        },
6719b46bc0bSMyung Bae        "EncryptionStatus": {
6729b46bc0bSMyung Bae            "enum": [
6739b46bc0bSMyung Bae                "Unecrypted",
6749b46bc0bSMyung Bae                "Unlocked",
6759b46bc0bSMyung Bae                "Locked",
6769b46bc0bSMyung Bae                "Foreign",
6779b46bc0bSMyung Bae                "Unencrypted"
6789b46bc0bSMyung Bae            ],
6799b46bc0bSMyung Bae            "enumDeprecated": {
6809b46bc0bSMyung Bae                "Unecrypted": "This value has been deprecated in favor of Unencrypted."
6819b46bc0bSMyung Bae            },
6829b46bc0bSMyung Bae            "enumDescriptions": {
6839b46bc0bSMyung 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.",
6849b46bc0bSMyung Bae                "Locked": "The drive is currently encrypted and the data is not accessible to the user.  However, the system can unlock the drive automatically.",
6859b46bc0bSMyung Bae                "Unecrypted": "The drive is not currently encrypted.",
6869b46bc0bSMyung Bae                "Unencrypted": "The drive is not currently encrypted.",
6879b46bc0bSMyung Bae                "Unlocked": "The drive is currently encrypted but the data is accessible to the user in unencrypted form."
6889b46bc0bSMyung Bae            },
6899b46bc0bSMyung Bae            "enumVersionAdded": {
6909b46bc0bSMyung Bae                "Unencrypted": "v1_1_0"
6919b46bc0bSMyung Bae            },
6929b46bc0bSMyung Bae            "enumVersionDeprecated": {
6939b46bc0bSMyung Bae                "Unecrypted": "v1_1_0"
6949b46bc0bSMyung Bae            },
6959b46bc0bSMyung Bae            "type": "string"
6969b46bc0bSMyung Bae        },
6979b46bc0bSMyung Bae        "FormFactor": {
6989b46bc0bSMyung Bae            "enum": [
6999b46bc0bSMyung Bae                "Drive3_5",
7009b46bc0bSMyung Bae                "Drive2_5",
7019b46bc0bSMyung Bae                "EDSFF",
7029b46bc0bSMyung Bae                "EDSFF_1U_Long",
7039b46bc0bSMyung Bae                "EDSFF_1U_Short",
7049b46bc0bSMyung Bae                "EDSFF_E3_Short",
7059b46bc0bSMyung Bae                "EDSFF_E3_Long",
7069b46bc0bSMyung Bae                "M2",
7079b46bc0bSMyung Bae                "M2_2230",
7089b46bc0bSMyung Bae                "M2_2242",
7099b46bc0bSMyung Bae                "M2_2260",
7109b46bc0bSMyung Bae                "M2_2280",
7119b46bc0bSMyung Bae                "M2_22110",
7129b46bc0bSMyung Bae                "U2",
7139b46bc0bSMyung Bae                "PCIeSlotFullLength",
7149b46bc0bSMyung Bae                "PCIeSlotLowProfile",
7159b46bc0bSMyung Bae                "PCIeHalfLength",
7169b46bc0bSMyung Bae                "OEM"
7179b46bc0bSMyung Bae            ],
7189b46bc0bSMyung Bae            "enumDescriptions": {
7199b46bc0bSMyung Bae                "Drive2_5": "A 2.5 inch drive.",
7209b46bc0bSMyung Bae                "Drive3_5": "A 3.5 inch drive.",
7219b46bc0bSMyung Bae                "EDSFF": "An EDSFF drive.",
7229b46bc0bSMyung Bae                "EDSFF_1U_Long": "An EDSFF 1U Long (E1.L) drive.",
7239b46bc0bSMyung Bae                "EDSFF_1U_Short": "An EDSFF 1U Short (E1.S) drive.",
7249b46bc0bSMyung Bae                "EDSFF_E3_Long": "An EDSFF E3 Long (E3.L) drive.",
7259b46bc0bSMyung Bae                "EDSFF_E3_Short": "An EDSFF E3 Short (E3.S) drive.",
7269b46bc0bSMyung Bae                "M2": "An M.2 drive.",
7279b46bc0bSMyung Bae                "M2_22110": "An M.2 22110 drive.",
7289b46bc0bSMyung Bae                "M2_2230": "An M.2 2230 drive.",
7299b46bc0bSMyung Bae                "M2_2242": "An M.2 2242 drive.",
7309b46bc0bSMyung Bae                "M2_2260": "An M.2 2260 drive.",
7319b46bc0bSMyung Bae                "M2_2280": "An M.2 2280 drive.",
7329b46bc0bSMyung Bae                "OEM": "An OEM-defined form factor.",
7339b46bc0bSMyung Bae                "PCIeHalfLength": "A half-length PCIe add-in card.",
7349b46bc0bSMyung Bae                "PCIeSlotFullLength": "A full-length PCIe add-in card.",
7359b46bc0bSMyung Bae                "PCIeSlotLowProfile": "A low-profile PCIe add-in card.",
7369b46bc0bSMyung Bae                "U2": "A U.2 drive."
7379b46bc0bSMyung Bae            },
7389b46bc0bSMyung Bae            "enumLongDescriptions": {
7399b46bc0bSMyung 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.",
7409b46bc0bSMyung 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.",
7419b46bc0bSMyung 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.",
7429b46bc0bSMyung Bae                "EDSFF_1U_Long": "This value shall indicate the drive corresponds to the SFF-TA-1007 Specification.",
7439b46bc0bSMyung Bae                "EDSFF_1U_Short": "This value shall indicate the drive corresponds to the SFF-TA-1006 Specification.",
7449b46bc0bSMyung 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.",
7459b46bc0bSMyung 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.",
7469b46bc0bSMyung 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.",
7479b46bc0bSMyung 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.",
7489b46bc0bSMyung 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.",
7499b46bc0bSMyung 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.",
7509b46bc0bSMyung 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.",
7519b46bc0bSMyung 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.",
7529b46bc0bSMyung Bae                "OEM": "This value shall indicate the drive is an OEM-defined form factor.",
7539b46bc0bSMyung Bae                "PCIeHalfLength": "This value shall indicate the drive is an add-in card less than 7 inches in length.",
7549b46bc0bSMyung Bae                "PCIeSlotFullLength": "This value shall indicate the drive is an add-in card greater than 7 inches in length.",
7559b46bc0bSMyung Bae                "PCIeSlotLowProfile": "This value shall indicate the drive is an add-in card less than 2.5 inches in height.",
7569b46bc0bSMyung Bae                "U2": "This value shall indicate the drive corresponds to the PCI Express SFF-8639 Module Specification."
7579b46bc0bSMyung Bae            },
7589b46bc0bSMyung Bae            "enumVersionAdded": {
7599b46bc0bSMyung Bae                "EDSFF": "v1_18_0",
7609b46bc0bSMyung Bae                "M2": "v1_18_0"
7619b46bc0bSMyung Bae            },
7629b46bc0bSMyung Bae            "type": "string"
7639b46bc0bSMyung Bae        },
7649b46bc0bSMyung Bae        "HotspareReplacementModeType": {
7659b46bc0bSMyung Bae            "enum": [
7669b46bc0bSMyung Bae                "Revertible",
7679b46bc0bSMyung Bae                "NonRevertible"
7689b46bc0bSMyung Bae            ],
7699b46bc0bSMyung Bae            "enumDescriptions": {
7709b46bc0bSMyung 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.",
7719b46bc0bSMyung 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."
7729b46bc0bSMyung Bae            },
7739b46bc0bSMyung Bae            "type": "string"
7749b46bc0bSMyung Bae        },
7759b46bc0bSMyung Bae        "HotspareType": {
7769b46bc0bSMyung Bae            "enum": [
7779b46bc0bSMyung Bae                "None",
7789b46bc0bSMyung Bae                "Global",
7799b46bc0bSMyung Bae                "Chassis",
7809b46bc0bSMyung Bae                "Dedicated"
7819b46bc0bSMyung Bae            ],
7829b46bc0bSMyung Bae            "enumDescriptions": {
7839b46bc0bSMyung 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.",
7849b46bc0bSMyung 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.",
7859b46bc0bSMyung Bae                "Global": "The drive is serving as a hot spare for all other drives in this storage domain.",
7869b46bc0bSMyung Bae                "None": "The drive is not a hot spare."
7879b46bc0bSMyung Bae            },
7889b46bc0bSMyung Bae            "type": "string"
7899b46bc0bSMyung Bae        },
7909b46bc0bSMyung Bae        "Links": {
7919b46bc0bSMyung Bae            "additionalProperties": false,
7929b46bc0bSMyung Bae            "description": "The links to other resources that are related to this resource.",
7939b46bc0bSMyung 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.",
7949b46bc0bSMyung Bae            "patternProperties": {
7959b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
7969b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
7979b46bc0bSMyung Bae                    "type": [
7989b46bc0bSMyung Bae                        "array",
7999b46bc0bSMyung Bae                        "boolean",
8009b46bc0bSMyung Bae                        "integer",
8019b46bc0bSMyung Bae                        "number",
8029b46bc0bSMyung Bae                        "null",
8039b46bc0bSMyung Bae                        "object",
8049b46bc0bSMyung Bae                        "string"
8059b46bc0bSMyung Bae                    ]
8069b46bc0bSMyung Bae                }
8079b46bc0bSMyung Bae            },
8089b46bc0bSMyung Bae            "properties": {
8099b46bc0bSMyung Bae                "ActiveSoftwareImage": {
8109b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json#/definitions/SoftwareInventory",
8119b46bc0bSMyung Bae                    "description": "The link to the software inventory that represents the active drive firmware image.",
8129b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link a resource of type `SoftwareInventory` that represents the active drive firmware image.",
8139b46bc0bSMyung Bae                    "readonly": false,
8149b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
8159b46bc0bSMyung Bae                },
8169b46bc0bSMyung Bae                "Chassis": {
8179b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Chassis.json#/definitions/Chassis",
8189b46bc0bSMyung Bae                    "description": "The link to the chassis that contains this drive.",
8199b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `Chassis` that represents the physical container associated with this drive.",
8209b46bc0bSMyung Bae                    "readonly": true,
8219b46bc0bSMyung Bae                    "versionAdded": "v1_2_0"
8229b46bc0bSMyung Bae                },
8239b46bc0bSMyung Bae                "Endpoints": {
8249b46bc0bSMyung Bae                    "description": "An array of links to the endpoints that connect to this drive.",
8259b46bc0bSMyung Bae                    "items": {
8269b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
8279b46bc0bSMyung Bae                    },
8289b46bc0bSMyung Bae                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` with which this drive is associated.",
8299b46bc0bSMyung Bae                    "readonly": true,
8309b46bc0bSMyung Bae                    "type": "array",
8319b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
8329b46bc0bSMyung Bae                },
8339b46bc0bSMyung Bae                "Endpoints@odata.count": {
8349b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
8359b46bc0bSMyung Bae                },
8369b46bc0bSMyung Bae                "NetworkDeviceFunctions": {
8379b46bc0bSMyung Bae                    "description": "An array of links to the network device functions that provide network connectivity for this drive.",
8389b46bc0bSMyung Bae                    "items": {
8399b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
8409b46bc0bSMyung Bae                    },
8419b46bc0bSMyung 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.",
8429b46bc0bSMyung Bae                    "readonly": true,
8439b46bc0bSMyung Bae                    "type": "array",
8449b46bc0bSMyung Bae                    "versionAdded": "v1_14_0"
8459b46bc0bSMyung Bae                },
8469b46bc0bSMyung Bae                "NetworkDeviceFunctions@odata.count": {
8479b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
8489b46bc0bSMyung Bae                },
8499b46bc0bSMyung Bae                "Oem": {
8509b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
8519b46bc0bSMyung Bae                    "description": "The OEM extension property.",
8529b46bc0bSMyung 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."
8539b46bc0bSMyung Bae                },
8549b46bc0bSMyung Bae                "PCIeFunctions": {
8559b46bc0bSMyung Bae                    "description": "An array of links to the PCIe functions that the drive produces.",
8569b46bc0bSMyung Bae                    "items": {
8579b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.json#/definitions/PCIeFunction"
8589b46bc0bSMyung Bae                    },
8599b46bc0bSMyung Bae                    "longDescription": "This property shall link to a resource of type `PCIeFunction` that represents the PCIe functions associated with this resource.",
8609b46bc0bSMyung Bae                    "type": "array",
8619b46bc0bSMyung Bae                    "versionAdded": "v1_6_0"
8629b46bc0bSMyung Bae                },
8639b46bc0bSMyung Bae                "PCIeFunctions@odata.count": {
8649b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
8659b46bc0bSMyung Bae                },
8669b46bc0bSMyung Bae                "SoftwareImages": {
8679b46bc0bSMyung Bae                    "description": "The images that are associated with this drive.",
8689b46bc0bSMyung Bae                    "items": {
8699b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/v1/SoftwareInventory.json#/definitions/SoftwareInventory"
8709b46bc0bSMyung Bae                    },
8719b46bc0bSMyung 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.",
8729b46bc0bSMyung Bae                    "readonly": true,
8739b46bc0bSMyung Bae                    "type": "array",
8749b46bc0bSMyung Bae                    "versionAdded": "v1_16_0"
8759b46bc0bSMyung Bae                },
8769b46bc0bSMyung Bae                "SoftwareImages@odata.count": {
8779b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
8789b46bc0bSMyung Bae                },
8799b46bc0bSMyung Bae                "Storage": {
8809b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/Storage",
8819b46bc0bSMyung Bae                    "description": "A link to the storage subsystem to which this drive belongs.",
8829b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `Storage` that represents the storage subsystem to which this drive belongs.",
8839b46bc0bSMyung Bae                    "readonly": true,
8849b46bc0bSMyung Bae                    "versionAdded": "v1_13_0"
8859b46bc0bSMyung Bae                },
8869b46bc0bSMyung Bae                "StoragePools": {
8879b46bc0bSMyung Bae                    "description": "An array of links to the storage pools to which this drive belongs.",
8889b46bc0bSMyung Bae                    "items": {
8899b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/StoragePool.json#/definitions/StoragePool"
8909b46bc0bSMyung Bae                    },
8919b46bc0bSMyung Bae                    "longDescription": "This property shall contain an array of links of type `StoragePool` to which this drive belongs.",
8929b46bc0bSMyung Bae                    "readonly": true,
8939b46bc0bSMyung Bae                    "type": "array",
8949b46bc0bSMyung Bae                    "versionAdded": "v1_8_0"
8959b46bc0bSMyung Bae                },
8969b46bc0bSMyung Bae                "StoragePools@odata.count": {
8979b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
8989b46bc0bSMyung Bae                },
8999b46bc0bSMyung Bae                "Volumes": {
9009b46bc0bSMyung Bae                    "description": "An array of links to the volumes that this drive either wholly or only partially contains.",
9019b46bc0bSMyung Bae                    "items": {
9029b46bc0bSMyung Bae                        "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/Volume.json#/definitions/Volume"
9039b46bc0bSMyung Bae                    },
9049b46bc0bSMyung 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`.",
9059b46bc0bSMyung Bae                    "readonly": true,
9069b46bc0bSMyung Bae                    "type": "array"
9079b46bc0bSMyung Bae                },
9089b46bc0bSMyung Bae                "Volumes@odata.count": {
9099b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
9109b46bc0bSMyung Bae                }
9119b46bc0bSMyung Bae            },
9129b46bc0bSMyung Bae            "type": "object"
9139b46bc0bSMyung Bae        },
9149b46bc0bSMyung Bae        "MediaType": {
9159b46bc0bSMyung Bae            "enum": [
9169b46bc0bSMyung Bae                "HDD",
9179b46bc0bSMyung Bae                "SSD",
9189b46bc0bSMyung Bae                "SMR"
9199b46bc0bSMyung Bae            ],
9209b46bc0bSMyung Bae            "enumDescriptions": {
9219b46bc0bSMyung Bae                "HDD": "The drive media type is traditional magnetic platters.",
9229b46bc0bSMyung Bae                "SMR": "The drive media type is shingled magnetic recording.",
9239b46bc0bSMyung Bae                "SSD": "The drive media type is solid state or flash memory."
9249b46bc0bSMyung Bae            },
9259b46bc0bSMyung Bae            "type": "string"
9269b46bc0bSMyung Bae        },
9279b46bc0bSMyung Bae        "NVMe": {
9289b46bc0bSMyung Bae            "additionalProperties": false,
9299b46bc0bSMyung Bae            "description": "NVMe properties for a drive.",
9309b46bc0bSMyung Bae            "longDescription": "This type shall contain NVMe-specific properties of a drive.",
9319b46bc0bSMyung Bae            "patternProperties": {
9329b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
9339b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
9349b46bc0bSMyung Bae                    "type": [
9359b46bc0bSMyung Bae                        "array",
9369b46bc0bSMyung Bae                        "boolean",
9379b46bc0bSMyung Bae                        "integer",
9389b46bc0bSMyung Bae                        "number",
9399b46bc0bSMyung Bae                        "null",
9409b46bc0bSMyung Bae                        "object",
9419b46bc0bSMyung Bae                        "string"
9429b46bc0bSMyung Bae                    ]
9439b46bc0bSMyung Bae                }
9449b46bc0bSMyung Bae            },
9459b46bc0bSMyung Bae            "properties": {
9469b46bc0bSMyung Bae                "ConfigurationLockState": {
9479b46bc0bSMyung Bae                    "anyOf": [
9489b46bc0bSMyung Bae                        {
9499b46bc0bSMyung Bae                            "$ref": "#/definitions/NVMeConfigurationLockState"
9509b46bc0bSMyung Bae                        },
9519b46bc0bSMyung Bae                        {
9529b46bc0bSMyung Bae                            "type": "null"
9539b46bc0bSMyung Bae                        }
9549b46bc0bSMyung Bae                    ],
9559b46bc0bSMyung Bae                    "description": "The configurable features that are able to be locked from in-band usage on an NVMe subsystem and their current lock state.",
9569b46bc0bSMyung 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.",
9579b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
9589b46bc0bSMyung Bae                }
9599b46bc0bSMyung Bae            },
9609b46bc0bSMyung Bae            "type": "object"
9619b46bc0bSMyung Bae        },
9629b46bc0bSMyung Bae        "NVMeConfigurationLockState": {
9639b46bc0bSMyung Bae            "additionalProperties": false,
9649b46bc0bSMyung Bae            "description": "The configurable features that are able to be locked on an NVMe subsystem and their current lock state.",
9659b46bc0bSMyung Bae            "longDescription": "This type shall contain the configurable features that are able to be locked on an NVMe subsystem and their current lock state.",
9669b46bc0bSMyung Bae            "patternProperties": {
9679b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
9689b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
9699b46bc0bSMyung Bae                    "type": [
9709b46bc0bSMyung Bae                        "array",
9719b46bc0bSMyung Bae                        "boolean",
9729b46bc0bSMyung Bae                        "integer",
9739b46bc0bSMyung Bae                        "number",
9749b46bc0bSMyung Bae                        "null",
9759b46bc0bSMyung Bae                        "object",
9769b46bc0bSMyung Bae                        "string"
9779b46bc0bSMyung Bae                    ]
9789b46bc0bSMyung Bae                }
9799b46bc0bSMyung Bae            },
9809b46bc0bSMyung Bae            "properties": {
9819b46bc0bSMyung Bae                "FirmwareCommit": {
9829b46bc0bSMyung Bae                    "anyOf": [
9839b46bc0bSMyung Bae                        {
9849b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
9859b46bc0bSMyung Bae                        },
9869b46bc0bSMyung Bae                        {
9879b46bc0bSMyung Bae                            "type": "null"
9889b46bc0bSMyung Bae                        }
9899b46bc0bSMyung Bae                    ],
9909b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-defined Firmware Commit command.",
9919b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-defined Firmware Commit command.",
9929b46bc0bSMyung Bae                    "readonly": true,
9939b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
9949b46bc0bSMyung Bae                },
9959b46bc0bSMyung Bae                "FirmwareImageDownload": {
9969b46bc0bSMyung Bae                    "anyOf": [
9979b46bc0bSMyung Bae                        {
9989b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
9999b46bc0bSMyung Bae                        },
10009b46bc0bSMyung Bae                        {
10019b46bc0bSMyung Bae                            "type": "null"
10029b46bc0bSMyung Bae                        }
10039b46bc0bSMyung Bae                    ],
10049b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-defined Firmware Image Download command.",
10059b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-defined Firmware Image Download command.",
10069b46bc0bSMyung Bae                    "readonly": true,
10079b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
10089b46bc0bSMyung Bae                },
10099b46bc0bSMyung Bae                "Lockdown": {
10109b46bc0bSMyung Bae                    "anyOf": [
10119b46bc0bSMyung Bae                        {
10129b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
10139b46bc0bSMyung Bae                        },
10149b46bc0bSMyung Bae                        {
10159b46bc0bSMyung Bae                            "type": "null"
10169b46bc0bSMyung Bae                        }
10179b46bc0bSMyung Bae                    ],
10189b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-defined Lockdown command.",
10199b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-defined Lockdown command.",
10209b46bc0bSMyung Bae                    "readonly": true,
10219b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
10229b46bc0bSMyung Bae                },
10239b46bc0bSMyung Bae                "SecuritySend": {
10249b46bc0bSMyung Bae                    "anyOf": [
10259b46bc0bSMyung Bae                        {
10269b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
10279b46bc0bSMyung Bae                        },
10289b46bc0bSMyung Bae                        {
10299b46bc0bSMyung Bae                            "type": "null"
10309b46bc0bSMyung Bae                        }
10319b46bc0bSMyung Bae                    ],
10329b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-defined Security Send command.",
10339b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-defined Security Send command.",
10349b46bc0bSMyung Bae                    "readonly": true,
10359b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
10369b46bc0bSMyung Bae                },
10379b46bc0bSMyung Bae                "VPDWrite": {
10389b46bc0bSMyung Bae                    "anyOf": [
10399b46bc0bSMyung Bae                        {
10409b46bc0bSMyung Bae                            "$ref": "#/definitions/ConfigLockOptions"
10419b46bc0bSMyung Bae                        },
10429b46bc0bSMyung Bae                        {
10439b46bc0bSMyung Bae                            "type": "null"
10449b46bc0bSMyung Bae                        }
10459b46bc0bSMyung Bae                    ],
10469b46bc0bSMyung Bae                    "description": "The lock state of the NVMe-MI-defined VPD Write command.",
10479b46bc0bSMyung Bae                    "longDescription": "This property shall contain the lock state of the NVMe-MI-defined VPD Write command.",
10489b46bc0bSMyung Bae                    "readonly": true,
10499b46bc0bSMyung Bae                    "versionAdded": "v1_20_0"
10509b46bc0bSMyung Bae                }
10519b46bc0bSMyung Bae            },
10529b46bc0bSMyung Bae            "type": "object"
10539b46bc0bSMyung Bae        },
10549b46bc0bSMyung Bae        "OemActions": {
10559b46bc0bSMyung Bae            "additionalProperties": true,
10569b46bc0bSMyung Bae            "description": "The available OEM-specific actions for this resource.",
10579b46bc0bSMyung Bae            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
10589b46bc0bSMyung Bae            "patternProperties": {
10599b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
10609b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
10619b46bc0bSMyung Bae                    "type": [
10629b46bc0bSMyung Bae                        "array",
10639b46bc0bSMyung Bae                        "boolean",
10649b46bc0bSMyung Bae                        "integer",
10659b46bc0bSMyung Bae                        "number",
10669b46bc0bSMyung Bae                        "null",
10679b46bc0bSMyung Bae                        "object",
10689b46bc0bSMyung Bae                        "string"
10699b46bc0bSMyung Bae                    ]
10709b46bc0bSMyung Bae                }
10719b46bc0bSMyung Bae            },
10729b46bc0bSMyung Bae            "properties": {},
10739b46bc0bSMyung Bae            "type": "object"
10749b46bc0bSMyung Bae        },
10759b46bc0bSMyung Bae        "Operations": {
10769b46bc0bSMyung Bae            "additionalProperties": false,
10779b46bc0bSMyung Bae            "description": "An operation currently running on this resource.",
10789b46bc0bSMyung Bae            "longDescription": "This type shall describe a currently running operation on the resource.",
10799b46bc0bSMyung Bae            "patternProperties": {
10809b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
10819b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
10829b46bc0bSMyung Bae                    "type": [
10839b46bc0bSMyung Bae                        "array",
10849b46bc0bSMyung Bae                        "boolean",
10859b46bc0bSMyung Bae                        "integer",
10869b46bc0bSMyung Bae                        "number",
10879b46bc0bSMyung Bae                        "null",
10889b46bc0bSMyung Bae                        "object",
10899b46bc0bSMyung Bae                        "string"
10909b46bc0bSMyung Bae                    ]
10919b46bc0bSMyung Bae                }
10929b46bc0bSMyung Bae            },
10939b46bc0bSMyung Bae            "properties": {
10949b46bc0bSMyung Bae                "AssociatedTask": {
10959b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Task.json#/definitions/Task",
10969b46bc0bSMyung Bae                    "description": "The link to the task associated with the operation, if any.",
10979b46bc0bSMyung Bae                    "longDescription": "This property shall contain a link to a resource of type `Task` that represents the task associated with the operation.",
10989b46bc0bSMyung Bae                    "readonly": true,
10999b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
11009b46bc0bSMyung Bae                },
11019b46bc0bSMyung Bae                "Operation": {
11029b46bc0bSMyung Bae                    "anyOf": [
11039b46bc0bSMyung Bae                        {
11049b46bc0bSMyung Bae                            "$ref": "http://redfish.dmtf.org/schemas/swordfish/v1/Volume.json#/definitions/OperationType"
11059b46bc0bSMyung Bae                        },
11069b46bc0bSMyung Bae                        {
11079b46bc0bSMyung Bae                            "type": "null"
11089b46bc0bSMyung Bae                        }
11099b46bc0bSMyung Bae                    ],
11109b46bc0bSMyung Bae                    "description": "The type of the operation.",
11119b46bc0bSMyung Bae                    "longDescription": "This property shall contain the type of the operation.",
11129b46bc0bSMyung Bae                    "readonly": true,
11139b46bc0bSMyung Bae                    "versionAdded": "v1_17_0"
11149b46bc0bSMyung Bae                },
11159b46bc0bSMyung Bae                "OperationName": {
11169b46bc0bSMyung Bae                    "deprecated": "This property is deprecated in favor of the `Operation` property using the `OperationType` enumeration defined in the `Volume` schema.",
11179b46bc0bSMyung Bae                    "description": "The name of the operation.",
11189b46bc0bSMyung Bae                    "longDescription": "This property shall contain a string of the name of the operation.",
11199b46bc0bSMyung Bae                    "readonly": true,
11209b46bc0bSMyung Bae                    "type": [
11219b46bc0bSMyung Bae                        "string",
11229b46bc0bSMyung Bae                        "null"
11239b46bc0bSMyung Bae                    ],
11249b46bc0bSMyung Bae                    "versionAdded": "v1_1_0",
11259b46bc0bSMyung Bae                    "versionDeprecated": "v1_17_0"
11269b46bc0bSMyung Bae                },
11279b46bc0bSMyung Bae                "PercentageComplete": {
11289b46bc0bSMyung Bae                    "description": "The percentage of the operation that has been completed.",
11299b46bc0bSMyung Bae                    "longDescription": "This property shall contain an integer of the percentage, `0` to `100`, of the operation that has been completed.",
11309b46bc0bSMyung Bae                    "maximum": 100,
11319b46bc0bSMyung Bae                    "minimum": 0,
11329b46bc0bSMyung Bae                    "readonly": true,
11339b46bc0bSMyung Bae                    "type": [
11349b46bc0bSMyung Bae                        "integer",
11359b46bc0bSMyung Bae                        "null"
11369b46bc0bSMyung Bae                    ],
11379b46bc0bSMyung Bae                    "units": "%",
11389b46bc0bSMyung Bae                    "versionAdded": "v1_1_0"
11399b46bc0bSMyung Bae                }
11409b46bc0bSMyung Bae            },
11419b46bc0bSMyung Bae            "type": "object"
11429b46bc0bSMyung Bae        },
11439b46bc0bSMyung Bae        "Reset": {
11449b46bc0bSMyung Bae            "additionalProperties": false,
11459b46bc0bSMyung Bae            "description": "This action resets this drive.",
11469b46bc0bSMyung Bae            "longDescription": "This action shall reset this drive.",
11479b46bc0bSMyung Bae            "parameters": {
11489b46bc0bSMyung Bae                "ResetType": {
11499b46bc0bSMyung Bae                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType",
11509b46bc0bSMyung Bae                    "description": "The type of reset.",
11519b46bc0bSMyung 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."
11529b46bc0bSMyung Bae                }
11539b46bc0bSMyung Bae            },
11549b46bc0bSMyung Bae            "patternProperties": {
11559b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
11569b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
11579b46bc0bSMyung Bae                    "type": [
11589b46bc0bSMyung Bae                        "array",
11599b46bc0bSMyung Bae                        "boolean",
11609b46bc0bSMyung Bae                        "integer",
11619b46bc0bSMyung Bae                        "number",
11629b46bc0bSMyung Bae                        "null",
11639b46bc0bSMyung Bae                        "object",
11649b46bc0bSMyung Bae                        "string"
11659b46bc0bSMyung Bae                    ]
11669b46bc0bSMyung Bae                }
11679b46bc0bSMyung Bae            },
11689b46bc0bSMyung Bae            "properties": {
11699b46bc0bSMyung Bae                "target": {
11709b46bc0bSMyung Bae                    "description": "Link to invoke action",
11719b46bc0bSMyung Bae                    "format": "uri-reference",
11729b46bc0bSMyung Bae                    "type": "string"
11739b46bc0bSMyung Bae                },
11749b46bc0bSMyung Bae                "title": {
11759b46bc0bSMyung Bae                    "description": "Friendly action name",
11769b46bc0bSMyung Bae                    "type": "string"
11779b46bc0bSMyung Bae                }
11789b46bc0bSMyung Bae            },
11799b46bc0bSMyung Bae            "type": "object",
11809b46bc0bSMyung Bae            "versionAdded": "v1_7_0"
11819b46bc0bSMyung Bae        },
11829b46bc0bSMyung Bae        "RevertToOriginalFactoryState": {
11839b46bc0bSMyung Bae            "additionalProperties": false,
11849b46bc0bSMyung Bae            "description": "This action reverts a self-encrypting drive (SED) to the original factory state.",
11859b46bc0bSMyung 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`.",
11869b46bc0bSMyung Bae            "parameters": {
11879b46bc0bSMyung Bae                "PhysicalSecureID": {
11889b46bc0bSMyung Bae                    "description": "The physical secure ID (PSID).  The PSID is generally printed on the drive label and used to revert an encrypted SED.",
11899b46bc0bSMyung 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.",
11909b46bc0bSMyung Bae                    "type": "string"
11919b46bc0bSMyung Bae                }
11929b46bc0bSMyung Bae            },
11939b46bc0bSMyung Bae            "patternProperties": {
11949b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
11959b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
11969b46bc0bSMyung Bae                    "type": [
11979b46bc0bSMyung Bae                        "array",
11989b46bc0bSMyung Bae                        "boolean",
11999b46bc0bSMyung Bae                        "integer",
12009b46bc0bSMyung Bae                        "number",
12019b46bc0bSMyung Bae                        "null",
12029b46bc0bSMyung Bae                        "object",
12039b46bc0bSMyung Bae                        "string"
12049b46bc0bSMyung Bae                    ]
12059b46bc0bSMyung Bae                }
12069b46bc0bSMyung Bae            },
12079b46bc0bSMyung Bae            "properties": {
12089b46bc0bSMyung Bae                "target": {
12099b46bc0bSMyung Bae                    "description": "Link to invoke action",
12109b46bc0bSMyung Bae                    "format": "uri-reference",
12119b46bc0bSMyung Bae                    "type": "string"
12129b46bc0bSMyung Bae                },
12139b46bc0bSMyung Bae                "title": {
12149b46bc0bSMyung Bae                    "description": "Friendly action name",
12159b46bc0bSMyung Bae                    "type": "string"
12169b46bc0bSMyung Bae                }
12179b46bc0bSMyung Bae            },
12189b46bc0bSMyung Bae            "type": "object",
12199b46bc0bSMyung Bae            "versionAdded": "v1_18_0"
12209b46bc0bSMyung Bae        },
12219b46bc0bSMyung Bae        "SecureErase": {
12229b46bc0bSMyung Bae            "additionalProperties": false,
12239b46bc0bSMyung Bae            "description": "This action securely erases the contents of the drive.",
12249b46bc0bSMyung Bae            "longDescription": "This action shall securely erase the drive.",
12259b46bc0bSMyung Bae            "parameters": {
12269b46bc0bSMyung Bae                "OverwritePasses": {
12279b46bc0bSMyung Bae                    "description": "The number of times to overwrite the drive if performing an overwrite type of sanitization.",
12289b46bc0bSMyung 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.",
12299b46bc0bSMyung Bae                    "type": "integer",
12309b46bc0bSMyung Bae                    "versionAdded": "v1_15_0"
12319b46bc0bSMyung Bae                },
12329b46bc0bSMyung Bae                "SanitizationType": {
12339b46bc0bSMyung Bae                    "$ref": "#/definitions/DataSanitizationType",
12349b46bc0bSMyung Bae                    "description": "The type of data sanitization to perform.",
12359b46bc0bSMyung 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.",
12369b46bc0bSMyung Bae                    "versionAdded": "v1_15_0"
12379b46bc0bSMyung Bae                }
12389b46bc0bSMyung Bae            },
12399b46bc0bSMyung Bae            "patternProperties": {
12409b46bc0bSMyung Bae                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
12419b46bc0bSMyung Bae                    "description": "This property shall specify a valid odata or Redfish property.",
12429b46bc0bSMyung Bae                    "type": [
12439b46bc0bSMyung Bae                        "array",
12449b46bc0bSMyung Bae                        "boolean",
12459b46bc0bSMyung Bae                        "integer",
12469b46bc0bSMyung Bae                        "number",
12479b46bc0bSMyung Bae                        "null",
12489b46bc0bSMyung Bae                        "object",
12499b46bc0bSMyung Bae                        "string"
12509b46bc0bSMyung Bae                    ]
12519b46bc0bSMyung Bae                }
12529b46bc0bSMyung Bae            },
12539b46bc0bSMyung Bae            "properties": {
12549b46bc0bSMyung Bae                "target": {
12559b46bc0bSMyung Bae                    "description": "Link to invoke action",
12569b46bc0bSMyung Bae                    "format": "uri-reference",
12579b46bc0bSMyung Bae                    "type": "string"
12589b46bc0bSMyung Bae                },
12599b46bc0bSMyung Bae                "title": {
12609b46bc0bSMyung Bae                    "description": "Friendly action name",
12619b46bc0bSMyung Bae                    "type": "string"
12629b46bc0bSMyung Bae                }
12639b46bc0bSMyung Bae            },
12649b46bc0bSMyung Bae            "type": "object"
12659b46bc0bSMyung Bae        },
12669b46bc0bSMyung Bae        "StatusIndicator": {
12679b46bc0bSMyung Bae            "enum": [
12689b46bc0bSMyung Bae                "OK",
12699b46bc0bSMyung Bae                "Fail",
12709b46bc0bSMyung Bae                "Rebuild",
12719b46bc0bSMyung Bae                "PredictiveFailureAnalysis",
12729b46bc0bSMyung Bae                "Hotspare",
12739b46bc0bSMyung Bae                "InACriticalArray",
12749b46bc0bSMyung Bae                "InAFailedArray"
12759b46bc0bSMyung Bae            ],
12769b46bc0bSMyung Bae            "enumDescriptions": {
12779b46bc0bSMyung Bae                "Fail": "The drive has failed.",
12789b46bc0bSMyung Bae                "Hotspare": "The drive has been marked to automatically rebuild and replace a failed drive.",
12799b46bc0bSMyung Bae                "InACriticalArray": "The array to which this drive belongs has been degraded.",
12809b46bc0bSMyung Bae                "InAFailedArray": "The array to which this drive belongs has failed.",
12819b46bc0bSMyung Bae                "OK": "The drive is OK.",
12829b46bc0bSMyung Bae                "PredictiveFailureAnalysis": "The drive still works but is predicted to fail soon.",
12839b46bc0bSMyung Bae                "Rebuild": "The drive is being rebuilt."
12849b46bc0bSMyung Bae            },
12859b46bc0bSMyung Bae            "type": "string"
12869b46bc0bSMyung Bae        },
12879b46bc0bSMyung Bae        "TargetConfigurationLockLevel": {
12889b46bc0bSMyung Bae            "enum": [
12899b46bc0bSMyung Bae                "Baseline"
12909b46bc0bSMyung Bae            ],
12919b46bc0bSMyung Bae            "enumDescriptions": {
12929b46bc0bSMyung 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."
12939b46bc0bSMyung Bae            },
12949b46bc0bSMyung Bae            "type": "string"
12959b46bc0bSMyung Bae        }
12969b46bc0bSMyung Bae    },
12979b46bc0bSMyung Bae    "language": "en",
12989b46bc0bSMyung Bae    "owningEntity": "DMTF",
12999b46bc0bSMyung Bae    "release": "2024.4",
13009b46bc0bSMyung Bae    "title": "#Drive.v1_21_0.Drive"
13019b46bc0bSMyung Bae}