1 | <?php declare(strict_types=1); |
||
19 | class Volume extends OperatorResource implements Creatable, Listable, Updateable, Deletable, Retrievable, HasMetadata |
||
20 | { |
||
21 | use HasWaiterTrait; |
||
22 | |||
23 | /** @var string */ |
||
24 | public $id; |
||
25 | |||
26 | /** @var int */ |
||
27 | public $size; |
||
28 | |||
29 | /** @var string */ |
||
30 | public $status; |
||
31 | |||
32 | /** @var string */ |
||
33 | public $name; |
||
34 | |||
35 | /** @var array */ |
||
36 | public $attachments; |
||
37 | |||
38 | /** @var string */ |
||
39 | public $availabilityZone; |
||
40 | |||
41 | /** @var \DateTimeImmutable */ |
||
42 | public $createdAt; |
||
43 | |||
44 | /** @var string */ |
||
45 | public $description; |
||
46 | |||
47 | /** @var string */ |
||
48 | public $volumeTypeName; |
||
49 | |||
50 | /** @var string */ |
||
51 | public $snapshotId; |
||
52 | |||
53 | /** @var string */ |
||
54 | public $sourceVolumeId; |
||
55 | |||
56 | /** @var string */ |
||
57 | public $tenantId; |
||
58 | |||
59 | /** @var string */ |
||
60 | public $host; |
||
61 | |||
62 | /** @var array */ |
||
63 | public $metadata = []; |
||
64 | |||
65 | /** @var array */ |
||
66 | public $volumeImageMetadata = []; |
||
67 | |||
68 | protected $resourceKey = 'volume'; |
||
69 | protected $resourcesKey = 'volumes'; |
||
70 | 3 | protected $markerKey = 'id'; |
|
71 | |||
72 | 3 | protected $aliases = [ |
|
73 | 3 | 'availability_zone' => 'availabilityZone', |
|
74 | 3 | 'source_volid' => 'sourceVolumeId', |
|
75 | 'snapshot_id' => 'snapshotId', |
||
76 | 'volume_type' => 'volumeTypeName', |
||
77 | 1 | 'os-vol-tenant-attr:tenant_id' => 'tenantId', |
|
78 | 'os-vol-host-attr:host' => 'host', |
||
79 | 1 | 'volume_image_metadata' => 'volumeImageMetadata', |
|
80 | 1 | ]; |
|
81 | |||
82 | /** |
||
83 | * @inheritdoc |
||
84 | */ |
||
85 | protected function getAliases(): array |
||
91 | 1 | ||
92 | public function populateFromResponse(ResponseInterface $response): self |
||
98 | |||
99 | 1 | public function retrieve() |
|
104 | |||
105 | 1 | /** |
|
106 | 1 | * @param array $userOptions {@see \OpenStack\BlockStorage\v2\Api::postVolumes} |
|
107 | * |
||
108 | 1 | * @return Creatable |
|
109 | */ |
||
110 | 1 | public function create(array $userOptions): Creatable |
|
115 | 1 | ||
116 | public function update() |
||
121 | |||
122 | 1 | public function delete() |
|
126 | 1 | ||
127 | public function resetStatus(string $status) |
||
135 | |||
136 | public function getMetadata(): array |
||
142 | |||
143 | public function mergeMetadata(array $metadata) |
||
149 | |||
150 | public function resetMetadata(array $metadata) |
||
155 | |||
156 | public function parseMetadata(ResponseInterface $response): array |
||
161 | |||
162 | public function extend(int $size_in_gb) |
||
170 | } |
||
171 |