description: >
    Implement to provide drive attributes.

properties:
    - name: Capacity
      default: 0
      type: uint64
      description: >
          The size in bytes of the Drive. `0` if cannot be determined.
    - name: Protocol
      default: Unknown
      type: enum[self.DriveProtocol]
      description: >
          The communication protocol used by the Drive.
    - name: Type
      default: Unknown
      type: enum[self.DriveType]
      description: >
          The type of physical form factor of the Drive.
    - name: EncryptionStatus
      default: Unknown
      type: enum[self.DriveEncryptionState]
      description: >
          The current state of encryption on the drive.
    - name: LockedStatus
      default: Unknown
      type: enum[self.DriveLockState]
      description: >
          Indicates if the data on the drive is accessible.
          This does not correspond to write locked
    - name: PredictedMediaLifeLeftPercent
      default: maxint
      type: byte
      description: >
          How much of the drives life is remaining in a percentage from 0-100 .
          If the reading the value is not supported returns the max value for
          the type (255).

enumerations:
    - name: DriveProtocol
      description: >
          Possible communication protocol types
      values:
          - name: SAS
            description: >
                Serial Attached SCSI.
          - name: SATA
            description: >
                Serial AT Attachment.
          - name: NVMe
            description: >
                Non-Volatile Memory Express.
          - name: FC
            description: >
                Fibre Channel.
          - name: Unknown
            description: >
                The Drive protocol is unknown.
    - name: DriveType
      description: >
          Possible Drive type
      values:
          - name: HDD
            description: >
                A hard disk drive is an electro-mechanical data storage device
                that stores and retrieves digital data using magnetic storage.
          - name: SSD
            description: >
                A solid-state drive is a solid-state storage device that uses
                integrated circuit assemblies to store data persistently.
          - name: Unknown
            description: >
                The Drive type is unknown.
    - name: DriveEncryptionState
      description: >
          Possible encryption states drives could have
      values:
          - name: Encrypted
            description: >
                The drive is in an encrypted state.
          - name: Unencrypted
            description: >
                The drive in in an unencrypted state.
          - name: Unknown
            description: >
                The encryption state of the drive is not known.
    - name: DriveLockState
      description: >
          Possible lock states drives could have
      values:
          - name: Locked
            description: >
                The drive is in a locked state.
          - name: Unlocked
            description: >
                The drive in in unlocked state.
          - name: Unknown
            description: >
                The locked state of the drive is not known.
