components:
  schemas:
    Drive_v1_21_0_Actions:
      additionalProperties: false
      description: The available actions for this resource.
      properties:
        '#Drive.Reset':
          $ref: '#/components/schemas/Drive_v1_21_0_Reset'
        '#Drive.RevertToOriginalFactoryState':
          $ref: '#/components/schemas/Drive_v1_21_0_RevertToOriginalFactoryState'
        '#Drive.SecureErase':
          $ref: '#/components/schemas/Drive_v1_21_0_SecureErase'
        Oem:
          $ref: '#/components/schemas/Drive_v1_21_0_OemActions'
          description: The available OEM-specific actions for this resource.
          x-longDescription: This property shall contain the available OEM-specific
            actions for this resource.
      type: object
      x-longDescription: This type shall contain the available actions for this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_ConfigLockOptions:
      enum:
      - Unlocked
      - Locked
      - LockdownUnsupported
      - CommandUnsupported
      type: string
      x-enumDescriptions:
        CommandUnsupported: The command is not supported, therefore lockdown does
          not apply.
        LockdownUnsupported: The command is supported but is not able to be locked.
        Locked: The command is supported and is currently locked.
        Unlocked: The command is supported, able to be locked, and is currently unlocked.
    Drive_v1_21_0_ConfigurationLock:
      enum:
      - Enabled
      - Disabled
      - Partial
      type: string
      x-enumDescriptions:
        Disabled: In-band configuration requests are not locked.
        Enabled: In-band configuration requests are locked as specified by `TargetConfigurationLockLevel`.
        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.
      x-enumLongDescriptions:
        Disabled: This value shall indicate in-band configuration requests are not
          locked.
        Enabled: This value shall indicate in-band configuration requests are locked
          as specified by `TargetConfigurationLockLevel`.
        Partial: This value shall indicate some in-band configuration requests are
          not locked while others are locked.
    Drive_v1_21_0_DataSanitizationType:
      enum:
      - BlockErase
      - CryptographicErase
      - Overwrite
      type: string
      x-enumDescriptions:
        BlockErase: Delete all logical block addresses, including those that are not
          currently mapping to active addresses, but leaving the data on the drive.
        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.
        Overwrite: Overwrite data by writing an implementation-specific pattern onto
          all sectors of the drive.
      x-enumLongDescriptions:
        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.
        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.
        Overwrite: This value shall indicate sanitization is performed by overwriting
          data by writing an implementation-specific pattern onto all sectors of the
          drive.
    Drive_v1_21_0_Drive:
      additionalProperties: false
      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.
      properties:
        '@odata.context':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_context
        '@odata.etag':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_etag
        '@odata.id':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_id
        '@odata.type':
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_type
        Actions:
          $ref: '#/components/schemas/Drive_v1_21_0_Actions'
          description: The available actions for this resource.
          x-longDescription: This property shall contain the available actions for
            this resource.
        Assembly:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the assembly associated with this drive.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `Assembly`.
          x-versionAdded: v1_3_0
        AssetTag:
          description: The user-assigned asset tag for this drive.
          nullable: true
          readOnly: false
          type: string
          x-longDescription: This property shall track the drive for inventory purposes.
        BlockSecurityIDEnabled:
          description: Indicates if establishment of a TCG-defined security ID (SID)
            on the drive is blocked.
          nullable: true
          readOnly: false
          type: boolean
          x-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.
          x-versionAdded: v1_20_0
        BlockSizeBytes:
          description: The size, in bytes, of the smallest addressable unit, or block.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the size of the smallest
            addressable unit of the associated drive.
          x-units: By
        CapableSpeedGbs:
          description: The speed, in gigabits per second (Gbit/s) units, at which
            this drive can communicate to a storage controller in ideal conditions.
          nullable: true
          readOnly: true
          type: number
          x-longDescription: This property shall contain fastest capable bus speed,
            in gigabits per second (Gbit/s) units, of the associated drive.
          x-units: Gbit/s
        CapacityBytes:
          description: The size, in bytes, of this drive.
          format: int64
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain the raw size, in bytes, of
            the associated drive.
          x-units: By
        Certificates:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to a collection of certificates for device identity
            and attestation.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource collection
            of type `CertificateCollection` that contains certificates for device
            identity and attestation.
          x-versionAdded: v1_12_0
        ConfigurationLock:
          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.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_ConfigurationLock'
          - enum:
            - null
          readOnly: false
          x-longDescription: This property shall indicate whether configuration requests
            to the drive are locked.  Services shall reject modification requests
            that contain the value `Partial`.
          x-versionAdded: v1_19_0
        Description:
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Description
          - enum:
            - null
          readOnly: true
        DriveFormFactor:
          description: The form factor of the drive inserted in this slot.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_FormFactor'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the form factor of the drive
            inserted in this slot.
          x-versionAdded: v1_16_0
        EncryptionAbility:
          description: The encryption ability of this drive.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_EncryptionAbility'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the encryption ability for
            the associated drive.
        EncryptionStatus:
          description: The status of the encryption of this drive.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_EncryptionStatus'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the encryption status for
            the associated drive.
        EnvironmentMetrics:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the environment metrics for this drive.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `EnvironmentMetrics` that specifies the environment metrics for this drive.
          x-versionAdded: v1_12_0
        FailurePredicted:
          description: An indication of whether this drive currently predicts a failure
            in the near future.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: This property shall indicate whether this drive currently
            predicts a manufacturer-defined failure.
        FirmwareVersion:
          description: The firmware version for this drive.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the firmware version as defined
            by the manufacturer for this drive.
          x-versionAdded: v1_17_0
        HardwareVersion:
          description: The hardware version of this drive.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the hardware version of this
            drive as determined by the vendor or supplier.
          x-versionAdded: v1_21_0
        HotspareReplacementMode:
          description: The replacement mode for the hot spare drive.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_HotspareReplacementModeType'
          - enum:
            - null
          readOnly: false
          x-longDescription: This property shall indicate whether a commissioned hot
            spare continues to serve as a hot spare after the failed drive is replaced.
          x-versionAdded: v1_5_0
        HotspareType:
          description: The type of hot spare that this drive serves as.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_HotspareType'
          - enum:
            - null
          readOnly: false
          x-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.
        Id:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Id
          readOnly: true
        Identifiers:
          description: The durable names for the drive.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Identifier
          type: array
          x-longDescription: This property shall contain a list of all known durable
            names for the associated drive.
        IndicatorLED:
          deprecated: true
          description: The state of the indicator LED, that identifies the drive.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_IndicatorLED
          - enum:
            - null
          readOnly: false
          x-deprecatedReason: This property has been deprecated in favor of the `LocationIndicatorActive`
            property.
          x-longDescription: This property shall contain the state for the indicator
            light associated with this drive.
          x-versionDeprecated: v1_11_0
        Links:
          $ref: '#/components/schemas/Drive_v1_21_0_Links'
          description: The links to other resources that are related to this resource.
          x-longDescription: This property shall contain links to resources that are
            related to but are not contained by, or subordinate to, this resource.
        Location:
          deprecated: true
          description: The location of the drive.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Location
          type: array
          x-deprecatedReason: This property has been deprecated in favor of the singular
            `PhysicalLocation` property.
          x-longDescription: This property shall contain the location information
            of the associated drive.
          x-versionDeprecated: v1_4_0
        LocationIndicatorActive:
          description: An indicator allowing an operator to physically locate this
            resource.
          nullable: true
          readOnly: false
          type: boolean
          x-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.
          x-versionAdded: v1_11_0
        Manufacturer:
          description: The manufacturer of this drive.
          nullable: true
          readOnly: true
          type: string
          x-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.
        Measurements:
          deprecated: true
          description: An array of DSP0274-defined measurement blocks.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/SoftwareInventory.yaml#/components/schemas/SoftwareInventory_MeasurementBlock
          type: array
          x-deprecatedReason: This property has been deprecated in favor of the `ComponentIntegrity`
            resource.
          x-longDescription: This property shall contain an array of DSP0274-defined
            measurement blocks.
          x-versionAdded: v1_12_0
          x-versionDeprecated: v1_14_0
        MediaType:
          description: The type of media contained in this drive.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_MediaType'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the type of media contained
            in the associated drive.
        Metrics:
          description: The link to the metrics associated with this drive.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain a link to the metrics associated
            with this drive.
          x-versionAdded: v1_17_0
        Model:
          description: The model number for the drive.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the name by which the manufacturer
            generally refers to the drive.
        Multipath:
          description: An indication of whether the drive is accessible from multiple
            paths.
          nullable: true
          readOnly: true
          type: boolean
          x-longDescription: This property shall indicate whether the drive is accessible
            by an initiator from multiple paths allowing for failover capabilities
            upon a path failure.
          x-versionAdded: v1_9_0
        NVMe:
          description: NVMe properties for this drive.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_NVMe'
          - enum:
            - null
          x-longDescription: This property shall contain NVMe-specific properties
            of this drive.
          x-versionAdded: v1_20_0
        Name:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Name
          readOnly: true
        NegotiatedSpeedGbs:
          description: The speed, in gigabits per second (Gbit/s) units, at which
            this drive currently communicates to the storage controller.
          nullable: true
          readOnly: true
          type: number
          x-longDescription: This property shall contain current bus speed, in gigabits
            per second (Gbit/s) units, of the associated drive.
          x-units: Gbit/s
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties that this object contains shall conform to the Redfish
            Specification-described requirements.
        Operations:
          description: The operations currently running on the drive.
          items:
            $ref: '#/components/schemas/Drive_v1_21_0_Operations'
          type: array
          x-longDescription: This property shall contain a list of all operations
            currently running on the drive.
          x-versionAdded: v1_1_0
        PartNumber:
          description: The part number for this drive.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the part number assigned
            by the organization that is responsible for producing or manufacturing
            the drive.
        PhysicalLocation:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Location
          description: The location of the drive.  This property is equivalent to
            the `Location` property common to other standard Redfish resources.
          x-longDescription: This property shall contain the location information
            of the associated drive.
          x-versionAdded: v1_4_0
        PredictedMediaLifeLeftPercent:
          description: The percentage of reads and writes that are predicted to be
            available for the media.
          minimum: 0
          nullable: true
          readOnly: true
          type: number
          x-longDescription: This property shall contain an indicator of the percentage,
            typically `0` to `100`, of life remaining in the drive's media.
          x-units: '%'
        Protocol:
          description: The protocol that this drive currently uses to communicate
            to the storage controller.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/v1/Protocol.yaml#/components/schemas/Protocol_Protocol
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the protocol that the associated
            drive currently uses to communicate to the storage controller for this
            system.
        ReadyToRemove:
          description: An indication of whether the drive is prepared by the system
            for removal.
          nullable: true
          readOnly: false
          type: boolean
          x-longDescription: This property shall indicate whether the system is prepared
            for the removal of this drive.
          x-versionAdded: v1_10_0
        Revision:
          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.
          nullable: true
          readOnly: true
          type: string
          x-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.
        RotationSpeedRPM:
          description: The rotation speed of this drive, in revolutions per minute
            (RPM) units.
          nullable: true
          readOnly: true
          type: number
          x-longDescription: This property shall contain the rotation speed, in revolutions
            per minute (RPM) units, of the associated drive.
          x-units: '{rev}/min'
        SKU:
          description: The SKU for this drive.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the stock-keeping unit (SKU)
            number for this drive.
        SerialNumber:
          description: The serial number for this drive.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the manufacturer-allocated
            number that identifies the drive.
        SlotCapableProtocols:
          description: The drive protocols capable in this slot.
          items:
            oneOf:
            - $ref: http://redfish.dmtf.org/schemas/v1/Protocol.yaml#/components/schemas/Protocol_Protocol
            - enum:
              - null
          readOnly: true
          type: array
          x-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.
          x-versionAdded: v1_16_0
        SlotFormFactor:
          description: The form factor of the slot.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_FormFactor'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the form factor of the slot.
          x-versionAdded: v1_16_0
        SparePartNumber:
          description: The spare part number of the drive.
          nullable: true
          readOnly: true
          type: string
          x-longDescription: This property shall contain the spare part number of
            the drive.
          x-versionAdded: v1_19_0
        Status:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Status
          description: The status and health of the resource and its subordinate or
            dependent resources.
          x-longDescription: This property shall contain any status or health properties
            of the resource.
        StatusIndicator:
          description: The state of the status indicator, which communicates status
            information about this drive.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_StatusIndicator'
          - enum:
            - null
          readOnly: false
          x-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.
        TargetConfigurationLockLevel:
          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.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_TargetConfigurationLockLevel'
          - enum:
            - null
          readOnly: false
          x-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.
          x-versionAdded: v1_20_0
        WriteCacheEnabled:
          description: An indication of whether the drive write cache is enabled.
          nullable: true
          readOnly: false
          type: boolean
          x-longDescription: This property shall indicate whether the drive write
            cache is enabled.
          x-versionAdded: v1_7_0
      required:
      - '@odata.id'
      - '@odata.type'
      - Id
      - Name
      type: object
      x-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`.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_EncryptionAbility:
      enum:
      - None
      - SelfEncryptingDrive
      - Other
      type: string
      x-enumDescriptions:
        None: The drive is not capable of self-encryption.
        Other: The drive is capable of self-encryption through some other means.
        SelfEncryptingDrive: The drive is capable of self-encryption per the Trusted
          Computing Group's Self Encrypting Drive Standard.
    Drive_v1_21_0_EncryptionStatus:
      enum:
      - Unecrypted
      - Unlocked
      - Locked
      - Foreign
      - Unencrypted
      type: string
      x-enumDeprecated:
        Unecrypted: This value has been deprecated in favor of Unencrypted.
      x-enumDescriptions:
        Foreign: The drive is currently encrypted, the data is not accessible to the
          user, and the system requires user intervention to expose the data.
        Locked: The drive is currently encrypted and the data is not accessible to
          the user.  However, the system can unlock the drive automatically.
        Unecrypted: The drive is not currently encrypted.
        Unencrypted: The drive is not currently encrypted.
        Unlocked: The drive is currently encrypted but the data is accessible to the
          user in unencrypted form.
      x-enumVersionAdded:
        Unencrypted: v1_1_0
      x-enumVersionDeprecated:
        Unecrypted: v1_1_0
    Drive_v1_21_0_FormFactor:
      enum:
      - Drive3_5
      - Drive2_5
      - EDSFF
      - EDSFF_1U_Long
      - EDSFF_1U_Short
      - EDSFF_E3_Short
      - EDSFF_E3_Long
      - M2
      - M2_2230
      - M2_2242
      - M2_2260
      - M2_2280
      - M2_22110
      - U2
      - PCIeSlotFullLength
      - PCIeSlotLowProfile
      - PCIeHalfLength
      - OEM
      type: string
      x-enumDescriptions:
        Drive2_5: A 2.5 inch drive.
        Drive3_5: A 3.5 inch drive.
        EDSFF: An EDSFF drive.
        EDSFF_1U_Long: An EDSFF 1U Long (E1.L) drive.
        EDSFF_1U_Short: An EDSFF 1U Short (E1.S) drive.
        EDSFF_E3_Long: An EDSFF E3 Long (E3.L) drive.
        EDSFF_E3_Short: An EDSFF E3 Short (E3.S) drive.
        M2: An M.2 drive.
        M2_22110: An M.2 22110 drive.
        M2_2230: An M.2 2230 drive.
        M2_2242: An M.2 2242 drive.
        M2_2260: An M.2 2260 drive.
        M2_2280: An M.2 2280 drive.
        OEM: An OEM-defined form factor.
        PCIeHalfLength: A half-length PCIe add-in card.
        PCIeSlotFullLength: A full-length PCIe add-in card.
        PCIeSlotLowProfile: A low-profile PCIe add-in card.
        U2: A U.2 drive.
      x-enumLongDescriptions:
        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.
        Drive3_5: This value shall indicate the drive is approximately 3.5 inches
          in width and no more than 1.1 inches in height.
        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.
        EDSFF_1U_Long: This value shall indicate the drive corresponds to the SFF-TA-1007
          Specification.
        EDSFF_1U_Short: This value shall indicate the drive corresponds to the SFF-TA-1006
          Specification.
        EDSFF_E3_Long: This value shall indicate the drive corresponds to the SFF-TA-1008
          Specification and is approximately 142.2 mm in length.
        EDSFF_E3_Short: This value shall indicate the drive corresponds to the SFF-TA-1008
          Specification and is approximately 112.75 mm in length.
        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.
        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.
        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.
        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.
        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.
        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.
        OEM: This value shall indicate the drive is an OEM-defined form factor.
        PCIeHalfLength: This value shall indicate the drive is an add-in card less
          than 7 inches in length.
        PCIeSlotFullLength: This value shall indicate the drive is an add-in card
          greater than 7 inches in length.
        PCIeSlotLowProfile: This value shall indicate the drive is an add-in card
          less than 2.5 inches in height.
        U2: This value shall indicate the drive corresponds to the PCI Express SFF-8639
          Module Specification.
      x-enumVersionAdded:
        EDSFF: v1_18_0
        M2: v1_18_0
    Drive_v1_21_0_HotspareReplacementModeType:
      enum:
      - Revertible
      - NonRevertible
      type: string
      x-enumDescriptions:
        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.
        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.
    Drive_v1_21_0_HotspareType:
      enum:
      - None
      - Global
      - Chassis
      - Dedicated
      type: string
      x-enumDescriptions:
        Chassis: The drive is serving as a hot spare for all other drives in this
          storage domain that are contained in the same chassis.
        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.
        Global: The drive is serving as a hot spare for all other drives in this storage
          domain.
        None: The drive is not a hot spare.
    Drive_v1_21_0_Links:
      additionalProperties: false
      description: The links to other resources that are related to this resource.
      properties:
        ActiveSoftwareImage:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the software inventory that represents the active
            drive firmware image.
          readOnly: false
          x-longDescription: This property shall contain a link a resource of type
            `SoftwareInventory` that represents the active drive firmware image.
          x-versionAdded: v1_16_0
        Chassis:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the chassis that contains this drive.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `Chassis` that represents the physical container associated with this
            drive.
          x-versionAdded: v1_2_0
        Endpoints:
          description: An array of links to the endpoints that connect to this drive.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `Endpoint` with which this drive is associated.
          x-versionAdded: v1_1_0
        Endpoints@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        NetworkDeviceFunctions:
          description: An array of links to the network device functions that provide
            network connectivity for this drive.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-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.
          x-versionAdded: v1_14_0
        NetworkDeviceFunctions@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Oem:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_Oem
          description: The OEM extension property.
          x-longDescription: This property shall contain the OEM extensions.  All
            values for properties contained in this object shall conform to the Redfish
            Specification-described requirements.
        PCIeFunctions:
          description: An array of links to the PCIe functions that the drive produces.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          type: array
          x-longDescription: This property shall link to a resource of type `PCIeFunction`
            that represents the PCIe functions associated with this resource.
          x-versionAdded: v1_6_0
        PCIeFunctions@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        SoftwareImages:
          description: The images that are associated with this drive.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links to resources
            of type `SoftwareInventory` that represent the firmware images that apply
            to this drive.
          x-versionAdded: v1_16_0
        SoftwareImages@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Storage:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: A link to the storage subsystem to which this drive belongs.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `Storage` that represents the storage subsystem to which this drive belongs.
          x-versionAdded: v1_13_0
        StoragePools:
          description: An array of links to the storage pools to which this drive
            belongs.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-longDescription: This property shall contain an array of links of type
            `StoragePool` to which this drive belongs.
          x-versionAdded: v1_8_0
        StoragePools@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
        Volumes:
          description: An array of links to the volumes that this drive either wholly
            or only partially contains.
          items:
            $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          readOnly: true
          type: array
          x-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`.
        Volumes@odata.count:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_count
      type: object
      x-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.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_MediaType:
      enum:
      - HDD
      - SSD
      - SMR
      type: string
      x-enumDescriptions:
        HDD: The drive media type is traditional magnetic platters.
        SMR: The drive media type is shingled magnetic recording.
        SSD: The drive media type is solid state or flash memory.
    Drive_v1_21_0_NVMe:
      additionalProperties: false
      description: NVMe properties for a drive.
      properties:
        ConfigurationLockState:
          description: The configurable features that are able to be locked from in-band
            usage on an NVMe subsystem and their current lock state.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_NVMeConfigurationLockState'
          - enum:
            - null
          x-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.
          x-versionAdded: v1_20_0
      type: object
      x-longDescription: This type shall contain NVMe-specific properties of a drive.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_NVMeConfigurationLockState:
      additionalProperties: false
      description: The configurable features that are able to be locked on an NVMe
        subsystem and their current lock state.
      properties:
        FirmwareCommit:
          description: The lock state of the NVMe-defined Firmware Commit command.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-defined
            Firmware Commit command.
          x-versionAdded: v1_20_0
        FirmwareImageDownload:
          description: The lock state of the NVMe-defined Firmware Image Download
            command.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-defined
            Firmware Image Download command.
          x-versionAdded: v1_20_0
        Lockdown:
          description: The lock state of the NVMe-defined Lockdown command.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-defined
            Lockdown command.
          x-versionAdded: v1_20_0
        SecuritySend:
          description: The lock state of the NVMe-defined Security Send command.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-defined
            Security Send command.
          x-versionAdded: v1_20_0
        VPDWrite:
          description: The lock state of the NVMe-MI-defined VPD Write command.
          oneOf:
          - $ref: '#/components/schemas/Drive_v1_21_0_ConfigLockOptions'
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the lock state of the NVMe-MI-defined
            VPD Write command.
          x-versionAdded: v1_20_0
      type: object
      x-longDescription: This type shall contain the configurable features that are
        able to be locked on an NVMe subsystem and their current lock state.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_OemActions:
      additionalProperties: true
      description: The available OEM-specific actions for this resource.
      properties: {}
      type: object
      x-longDescription: This type shall contain the available OEM-specific actions
        for this resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_Operations:
      additionalProperties: false
      description: An operation currently running on this resource.
      properties:
        AssociatedTask:
          $ref: http://redfish.dmtf.org/schemas/v1/odata-v4.yaml#/components/schemas/odata-v4_idRef
          description: The link to the task associated with the operation, if any.
          readOnly: true
          x-longDescription: This property shall contain a link to a resource of type
            `Task` that represents the task associated with the operation.
          x-versionAdded: v1_1_0
        Operation:
          description: The type of the operation.
          oneOf:
          - $ref: http://redfish.dmtf.org/schemas/swordfish/v1/Volume.yaml#/components/schemas/Volume_OperationType
          - enum:
            - null
          readOnly: true
          x-longDescription: This property shall contain the type of the operation.
          x-versionAdded: v1_17_0
        OperationName:
          deprecated: true
          description: The name of the operation.
          nullable: true
          readOnly: true
          type: string
          x-deprecatedReason: This property is deprecated in favor of the `Operation`
            property using the `OperationType` enumeration defined in the `Volume`
            schema.
          x-longDescription: This property shall contain a string of the name of the
            operation.
          x-versionAdded: v1_1_0
          x-versionDeprecated: v1_17_0
        PercentageComplete:
          description: The percentage of the operation that has been completed.
          format: int64
          maximum: 100
          minimum: 0
          nullable: true
          readOnly: true
          type: integer
          x-longDescription: This property shall contain an integer of the percentage,
            `0` to `100`, of the operation that has been completed.
          x-units: '%'
          x-versionAdded: v1_1_0
      type: object
      x-longDescription: This type shall describe a currently running operation on
        the resource.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_Reset:
      additionalProperties: false
      description: This action resets this drive.
      properties:
        target:
          description: Link to invoke action
          format: uri-reference
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall reset this drive.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
      x-versionAdded: v1_7_0
    Drive_v1_21_0_ResetRequestBody:
      additionalProperties: false
      description: This action resets this drive.
      properties:
        ResetType:
          $ref: http://redfish.dmtf.org/schemas/v1/Resource.yaml#/components/schemas/Resource_ResetType
          description: The type of reset.
          x-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.
      type: object
      x-longDescription: This action shall reset this drive.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_RevertToOriginalFactoryState:
      additionalProperties: false
      description: This action reverts a self-encrypting drive (SED) to the original
        factory state.
      properties:
        target:
          description: Link to invoke action
          format: uri-reference
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-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`.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
      x-versionAdded: v1_18_0
    Drive_v1_21_0_RevertToOriginalFactoryStateRequestBody:
      additionalProperties: false
      description: This action reverts a self-encrypting drive (SED) to the original
        factory state.
      properties:
        PhysicalSecureID:
          description: The physical secure ID (PSID).  The PSID is generally printed
            on the drive label and used to revert an encrypted SED.
          type: string
          x-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.
      type: object
      x-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`.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_SecureErase:
      additionalProperties: false
      description: This action securely erases the contents of the drive.
      properties:
        target:
          description: Link to invoke action
          format: uri-reference
          type: string
        title:
          description: Friendly action name
          type: string
      type: object
      x-longDescription: This action shall securely erase the drive.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_SecureEraseRequestBody:
      additionalProperties: false
      description: This action securely erases the contents of the drive.
      properties:
        OverwritePasses:
          description: The number of times to overwrite the drive if performing an
            overwrite type of sanitization.
          format: int64
          type: integer
          x-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.
          x-versionAdded: v1_15_0
        SanitizationType:
          $ref: '#/components/schemas/Drive_v1_21_0_DataSanitizationType'
          description: The type of data sanitization to perform.
          x-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.
          x-versionAdded: v1_15_0
      type: object
      x-longDescription: This action shall securely erase the drive.
      x-patternProperties:
        ^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\.[a-zA-Z_][a-zA-Z0-9_]*$:
          description: This property shall specify a valid odata or Redfish property.
    Drive_v1_21_0_StatusIndicator:
      enum:
      - OK
      - Fail
      - Rebuild
      - PredictiveFailureAnalysis
      - Hotspare
      - InACriticalArray
      - InAFailedArray
      type: string
      x-enumDescriptions:
        Fail: The drive has failed.
        Hotspare: The drive has been marked to automatically rebuild and replace a
          failed drive.
        InACriticalArray: The array to which this drive belongs has been degraded.
        InAFailedArray: The array to which this drive belongs has failed.
        OK: The drive is OK.
        PredictiveFailureAnalysis: The drive still works but is predicted to fail
          soon.
        Rebuild: The drive is being rebuilt.
    Drive_v1_21_0_TargetConfigurationLockLevel:
      enum:
      - Baseline
      type: string
      x-enumDescriptions:
        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.
title: '#Drive.v1_21_0.Drive'
x-copyright: Copyright 2014-2024 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright
x-language: en
x-owningEntity: DMTF
x-release: '2024.4'
