1description: >
2    Implement to provide drive attributes.
3
4properties:
5    - name: Capacity
6      default: 0
7      type: uint64
8      description: >
9          The size in bytes of the Drive. `0` if cannot be determined.
10    - name: Protocol
11      default: Unknown
12      type: enum[self.DriveProtocol]
13      description: >
14          The communication protocol used by the Drive.
15    - name: Type
16      default: Unknown
17      type: enum[self.DriveType]
18      description: >
19          The type of physical form factor of the Drive.
20    - name: EncryptionStatus
21      default: Unknown
22      type: enum[self.DriveEncryptionState]
23      description: >
24          The current state of encryption on the drive.
25    - name: LockedStatus
26      default: Unknown
27      type: enum[self.DriveLockState]
28      description: >
29        Indicates if the data on the drive is accessible.
30        This does not correspond to write locked
31    - name: PredictedMediaLifeLeftPercent
32      default: maxint
33      type: byte
34      description: >
35        How much of the drives life is remaining in a percentage from 0-100 .
36        If the reading the value is not supported returns the max value for
37        the type (255).
38
39
40
41enumerations:
42    - name: DriveProtocol
43      description: >
44          Possible communication protocol types
45      values:
46          - name: SAS
47            description: >
48                Serial Attached SCSI.
49          - name: SATA
50            description: >
51                Serial AT Attachment.
52          - name: NVMe
53            description: >
54                Non-Volatile Memory Express.
55          - name: FC
56            description: >
57                Fibre Channel.
58          - name: Unknown
59            description: >
60                The Drive protocol is unknown.
61    - name: DriveType
62      description: >
63          Possible Drive type
64      values:
65          - name: HDD
66            description: >
67                A hard disk drive is an electro-mechanical data storage device
68                that stores and retrieves digital data using magnetic storage.
69          - name: SSD
70            description: >
71                A solid-state drive is a solid-state storage device that uses
72                integrated circuit assemblies to store data persistently.
73          - name: Unknown
74            description: >
75                The Drive type is unknown.
76    - name: DriveEncryptionState
77      description: >
78          Possible encryption states drives could have
79      values:
80          - name: Encrypted
81            description: >
82                The drive is in an encrypted state.
83          - name: Unencrypted
84            description: >
85                The drive in in an unencrypted state.
86          - name: Unknown
87            description: >
88                The encryption state of the drive is not known.
89    - name: DriveLockState
90      description: >
91          Possible lock states drives could have
92      values:
93          - name: Locked
94            description: >
95                The drive is in a locked state.
96          - name: Unlocked
97            description: >
98                The drive in in unlocked state.
99          - name: Unknown
100            description: >
101                The locked state of the drive is not known.
102