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.
