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
21enumerations:
22    - name: DriveProtocol
23      description: >
24          Possible communication protocol types
25      values:
26          - name: SAS
27            description: >
28                Serial Attached SCSI.
29          - name: SATA
30            description: >
31                Serial AT Attachment.
32          - name: NVMe
33            description: >
34                Non-Volatile Memory Express.
35          - name: FC
36            description: >
37                Fibre Channel.
38          - name: Unknown
39            description: >
40                The Drive protocol is unknown.
41    - name: DriveType
42      description: >
43          Possible Drive type
44      values:
45          - name: HDD
46            description: >
47                A hard disk drive is an electro-mechanical data storage device
48                that stores and retrieves digital data using magnetic storage.
49          - name: SSD
50            description: >
51                A solid-state drive is a solid-state storage device that uses
52                integrated circuit assemblies to store data persistently.
53          - name: Unknown
54            description: >
55                The Drive type is unknown.
56