forked from beluga-php/docker-php-api
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathClusterVolume.php
More file actions
217 lines (192 loc) · 6.12 KB
/
Copy pathClusterVolume.php
File metadata and controls
217 lines (192 loc) · 6.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
<?php
declare(strict_types=1);
namespace Docker\API\Model;
class ClusterVolume extends \ArrayObject
{
/**
* @var array
*/
protected $initialized = [];
public function isInitialized($property): bool
{
return \array_key_exists($property, $this->initialized);
}
/**
* The Swarm ID of this volume. Because cluster volumes are Swarm
* objects, they have an ID, unlike non-cluster volumes. This ID can
* be used to refer to the Volume instead of the name.
*
* @var string|null
*/
protected $iD;
/**
* The version number of the object such as node, service, etc. This is needed
* to avoid conflicting writes. The client must send the version number along
* with the modified specification when updating these objects.
*
* This approach ensures safe concurrency and determinism in that the change
* on the object may not be applied if the version number has changed from the
* last read. In other words, if two update requests specify the same base
* version, only one of the requests can succeed. As a result, two separate
* update requests that happen at the same time will not unintentionally
* overwrite each other.
*
* @var ObjectVersion|null
*/
protected $version;
/**
* @var string|null
*/
protected $createdAt;
/**
* @var string|null
*/
protected $updatedAt;
/**
* Cluster-specific options used to create the volume.
*
* @var ClusterVolumeSpec|null
*/
protected $spec;
/**
* Information about the global status of the volume.
*
* @var ClusterVolumeInfo|null
*/
protected $info;
/**
* The status of the volume as it pertains to its publishing and use on
* specific nodes.
*
* @var list<ClusterVolumePublishStatusItem>|null
*/
protected $publishStatus;
/**
* The Swarm ID of this volume. Because cluster volumes are Swarm
* objects, they have an ID, unlike non-cluster volumes. This ID can
* be used to refer to the Volume instead of the name.
*/
public function getID(): ?string
{
return $this->iD;
}
/**
* The Swarm ID of this volume. Because cluster volumes are Swarm
* objects, they have an ID, unlike non-cluster volumes. This ID can
* be used to refer to the Volume instead of the name.
*/
public function setID(?string $iD): self
{
$this->initialized['iD'] = true;
$this->iD = $iD;
return $this;
}
/**
* The version number of the object such as node, service, etc. This is needed
* to avoid conflicting writes. The client must send the version number along
* with the modified specification when updating these objects.
*
* This approach ensures safe concurrency and determinism in that the change
* on the object may not be applied if the version number has changed from the
* last read. In other words, if two update requests specify the same base
* version, only one of the requests can succeed. As a result, two separate
* update requests that happen at the same time will not unintentionally
* overwrite each other.
*/
public function getVersion(): ?ObjectVersion
{
return $this->version;
}
/**
* The version number of the object such as node, service, etc. This is needed
* to avoid conflicting writes. The client must send the version number along
* with the modified specification when updating these objects.
*
* This approach ensures safe concurrency and determinism in that the change
* on the object may not be applied if the version number has changed from the
* last read. In other words, if two update requests specify the same base
* version, only one of the requests can succeed. As a result, two separate
* update requests that happen at the same time will not unintentionally
* overwrite each other.
*/
public function setVersion(?ObjectVersion $version): self
{
$this->initialized['version'] = true;
$this->version = $version;
return $this;
}
public function getCreatedAt(): ?string
{
return $this->createdAt;
}
public function setCreatedAt(?string $createdAt): self
{
$this->initialized['createdAt'] = true;
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): ?string
{
return $this->updatedAt;
}
public function setUpdatedAt(?string $updatedAt): self
{
$this->initialized['updatedAt'] = true;
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Cluster-specific options used to create the volume.
*/
public function getSpec(): ?ClusterVolumeSpec
{
return $this->spec;
}
/**
* Cluster-specific options used to create the volume.
*/
public function setSpec(?ClusterVolumeSpec $spec): self
{
$this->initialized['spec'] = true;
$this->spec = $spec;
return $this;
}
/**
* Information about the global status of the volume.
*/
public function getInfo(): ?ClusterVolumeInfo
{
return $this->info;
}
/**
* Information about the global status of the volume.
*/
public function setInfo(?ClusterVolumeInfo $info): self
{
$this->initialized['info'] = true;
$this->info = $info;
return $this;
}
/**
* The status of the volume as it pertains to its publishing and use on
* specific nodes.
*
* @return list<ClusterVolumePublishStatusItem>|null
*/
public function getPublishStatus(): ?array
{
return $this->publishStatus;
}
/**
* The status of the volume as it pertains to its publishing and use on
* specific nodes.
*
* @param list<ClusterVolumePublishStatusItem>|null $publishStatus
*/
public function setPublishStatus(?array $publishStatus): self
{
$this->initialized['publishStatus'] = true;
$this->publishStatus = $publishStatus;
return $this;
}
}