docker-engine-ruby 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/docker_engine_ruby/models/config_list_response.rb +1 -1
  5. data/lib/docker_engine_ruby/models/config_object.rb +77 -0
  6. data/lib/docker_engine_ruby/models/config_spec.rb +68 -0
  7. data/lib/docker_engine_ruby/models/image_list_response.rb +1 -1
  8. data/lib/docker_engine_ruby/models/image_summary.rb +638 -0
  9. data/lib/docker_engine_ruby/models/info.rb +3 -3
  10. data/lib/docker_engine_ruby/models/network_create_response.rb +27 -0
  11. data/lib/docker_engine_ruby/models/network_list_response.rb +1 -1
  12. data/lib/docker_engine_ruby/models/network_summary.rb +260 -0
  13. data/lib/docker_engine_ruby/models/node.rb +3 -3
  14. data/lib/docker_engine_ruby/models/node_spec.rb +67 -0
  15. data/lib/docker_engine_ruby/models/secret.rb +3 -3
  16. data/lib/docker_engine_ruby/models/secret_spec.rb +99 -0
  17. data/lib/docker_engine_ruby/models/service.rb +3 -3
  18. data/lib/docker_engine_ruby/models/service_create_response.rb +32 -0
  19. data/lib/docker_engine_ruby/models/{spec.rb → service_spec.rb} +73 -67
  20. data/lib/docker_engine_ruby/models/service_update_response.rb +17 -0
  21. data/lib/docker_engine_ruby/models/swarm.rb +3 -3
  22. data/lib/docker_engine_ruby/models/swarm_init_params.rb +3 -3
  23. data/lib/docker_engine_ruby/models/swarm_spec.rb +270 -0
  24. data/lib/docker_engine_ruby/models/task.rb +3 -3
  25. data/lib/docker_engine_ruby/models/task_spec.rb +1439 -0
  26. data/lib/docker_engine_ruby/models.rb +23 -1
  27. data/lib/docker_engine_ruby/resources/configs.rb +6 -6
  28. data/lib/docker_engine_ruby/resources/images.rb +2 -2
  29. data/lib/docker_engine_ruby/resources/networks.rb +4 -4
  30. data/lib/docker_engine_ruby/resources/nodes.rb +1 -1
  31. data/lib/docker_engine_ruby/resources/secrets.rb +2 -2
  32. data/lib/docker_engine_ruby/resources/services.rb +6 -6
  33. data/lib/docker_engine_ruby/resources/swarm.rb +2 -2
  34. data/lib/docker_engine_ruby/version.rb +1 -1
  35. data/lib/docker_engine_ruby.rb +16 -5
  36. data/rbi/docker_engine_ruby/models/config_list_response.rbi +3 -1
  37. data/rbi/docker_engine_ruby/models/config_object.rbi +130 -0
  38. data/rbi/docker_engine_ruby/models/config_spec.rbi +127 -0
  39. data/rbi/docker_engine_ruby/models/image_list_response.rbi +3 -1
  40. data/rbi/docker_engine_ruby/models/image_summary.rbi +1073 -0
  41. data/rbi/docker_engine_ruby/models/info.rbi +4 -4
  42. data/rbi/docker_engine_ruby/models/network_create_response.rbi +37 -0
  43. data/rbi/docker_engine_ruby/models/network_list_response.rbi +3 -1
  44. data/rbi/docker_engine_ruby/models/network_summary.rbi +444 -0
  45. data/rbi/docker_engine_ruby/models/node.rbi +4 -4
  46. data/rbi/docker_engine_ruby/models/node_spec.rbi +126 -0
  47. data/rbi/docker_engine_ruby/models/secret.rbi +4 -4
  48. data/rbi/docker_engine_ruby/models/secret_spec.rbi +181 -0
  49. data/rbi/docker_engine_ruby/models/service.rbi +4 -4
  50. data/rbi/docker_engine_ruby/models/service_create_response.rbi +50 -0
  51. data/rbi/docker_engine_ruby/models/{spec.rbi → service_spec.rbi} +148 -104
  52. data/rbi/docker_engine_ruby/models/service_update_response.rbi +33 -0
  53. data/rbi/docker_engine_ruby/models/swarm.rbi +4 -4
  54. data/rbi/docker_engine_ruby/models/swarm_init_params.rbi +4 -4
  55. data/rbi/docker_engine_ruby/models/swarm_spec.rbi +568 -0
  56. data/rbi/docker_engine_ruby/models/task.rbi +4 -4
  57. data/rbi/docker_engine_ruby/models/task_spec.rbi +3011 -0
  58. data/rbi/docker_engine_ruby/models.rbi +23 -1
  59. data/rbi/docker_engine_ruby/resources/configs.rbi +4 -4
  60. data/rbi/docker_engine_ruby/resources/images.rbi +1 -1
  61. data/rbi/docker_engine_ruby/resources/networks.rbi +2 -2
  62. data/rbi/docker_engine_ruby/resources/nodes.rbi +1 -1
  63. data/rbi/docker_engine_ruby/resources/secrets.rbi +2 -2
  64. data/rbi/docker_engine_ruby/resources/services.rbi +4 -4
  65. data/rbi/docker_engine_ruby/resources/swarm.rbi +2 -2
  66. data/sig/docker_engine_ruby/models/config_list_response.rbs +1 -1
  67. data/sig/docker_engine_ruby/models/config_object.rbs +64 -0
  68. data/sig/docker_engine_ruby/models/config_spec.rbs +59 -0
  69. data/sig/docker_engine_ruby/models/image_list_response.rbs +1 -1
  70. data/sig/docker_engine_ruby/models/image_summary.rbs +457 -0
  71. data/sig/docker_engine_ruby/models/info.rbs +7 -5
  72. data/sig/docker_engine_ruby/models/network_create_response.rbs +15 -0
  73. data/sig/docker_engine_ruby/models/network_list_response.rbs +1 -1
  74. data/sig/docker_engine_ruby/models/network_summary.rbs +238 -0
  75. data/sig/docker_engine_ruby/models/node.rbs +5 -5
  76. data/sig/docker_engine_ruby/models/node_spec.rbs +70 -0
  77. data/sig/docker_engine_ruby/models/secret.rbs +5 -5
  78. data/sig/docker_engine_ruby/models/secret_spec.rbs +82 -0
  79. data/sig/docker_engine_ruby/models/service.rbs +7 -5
  80. data/sig/docker_engine_ruby/models/service_create_response.rbs +17 -0
  81. data/sig/docker_engine_ruby/models/{spec.rbs → service_spec.rbs} +107 -103
  82. data/sig/docker_engine_ruby/models/service_update_response.rbs +15 -0
  83. data/sig/docker_engine_ruby/models/swarm.rbs +5 -5
  84. data/sig/docker_engine_ruby/models/swarm_init_params.rbs +5 -5
  85. data/sig/docker_engine_ruby/models/swarm_spec.rbs +293 -0
  86. data/sig/docker_engine_ruby/models/task.rbs +5 -5
  87. data/sig/docker_engine_ruby/models/task_spec.rbs +1480 -0
  88. data/sig/docker_engine_ruby/models.rbs +23 -1
  89. data/sig/docker_engine_ruby/resources/configs.rbs +3 -3
  90. data/sig/docker_engine_ruby/resources/networks.rbs +1 -1
  91. data/sig/docker_engine_ruby/resources/nodes.rbs +1 -1
  92. data/sig/docker_engine_ruby/resources/secrets.rbs +2 -2
  93. data/sig/docker_engine_ruby/resources/services.rbs +4 -4
  94. data/sig/docker_engine_ruby/resources/swarm.rbs +2 -2
  95. metadata +37 -4
@@ -2204,10 +2204,10 @@ module DockerEngineRuby
2204
2204
  attr_writer :root_rotation_in_progress
2205
2205
 
2206
2206
  # User modifiable swarm configuration.
2207
- sig { returns(T.nilable(DockerEngineRuby::Spec)) }
2207
+ sig { returns(T.nilable(DockerEngineRuby::SwarmSpec)) }
2208
2208
  attr_reader :spec
2209
2209
 
2210
- sig { params(spec: DockerEngineRuby::Spec::OrHash).void }
2210
+ sig { params(spec: DockerEngineRuby::SwarmSpec::OrHash).void }
2211
2211
  attr_writer :spec
2212
2212
 
2213
2213
  # SubnetSize specifies the subnet size of the networks created from the default
@@ -2270,7 +2270,7 @@ module DockerEngineRuby
2270
2270
  default_addr_pool: T::Array[String],
2271
2271
  id: String,
2272
2272
  root_rotation_in_progress: T::Boolean,
2273
- spec: DockerEngineRuby::Spec::OrHash,
2273
+ spec: DockerEngineRuby::SwarmSpec::OrHash,
2274
2274
  subnet_size: Integer,
2275
2275
  tls_info: DockerEngineRuby::Info::Swarm::Cluster::TlsInfo::OrHash,
2276
2276
  updated_at: Time,
@@ -2323,7 +2323,7 @@ module DockerEngineRuby
2323
2323
  default_addr_pool: T::Array[String],
2324
2324
  id: String,
2325
2325
  root_rotation_in_progress: T::Boolean,
2326
- spec: DockerEngineRuby::Spec,
2326
+ spec: DockerEngineRuby::SwarmSpec,
2327
2327
  subnet_size: Integer,
2328
2328
  tls_info: DockerEngineRuby::Info::Swarm::Cluster::TlsInfo,
2329
2329
  updated_at: Time,
@@ -0,0 +1,37 @@
1
+ # typed: strong
2
+
3
+ module DockerEngineRuby
4
+ module Models
5
+ class NetworkCreateResponse < DockerEngineRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ DockerEngineRuby::NetworkCreateResponse,
10
+ DockerEngineRuby::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # The ID of the created network.
15
+ sig { returns(String) }
16
+ attr_accessor :id
17
+
18
+ # Warnings encountered when creating the container
19
+ sig { returns(String) }
20
+ attr_accessor :warning
21
+
22
+ # OK response to NetworkCreate operation
23
+ sig { params(id: String, warning: String).returns(T.attached_class) }
24
+ def self.new(
25
+ # The ID of the created network.
26
+ id:,
27
+ # Warnings encountered when creating the container
28
+ warning:
29
+ )
30
+ end
31
+
32
+ sig { override.returns({ id: String, warning: String }) }
33
+ def to_hash
34
+ end
35
+ end
36
+ end
37
+ end
@@ -4,7 +4,9 @@ module DockerEngineRuby
4
4
  module Models
5
5
  NetworkListResponse =
6
6
  T.let(
7
- DockerEngineRuby::Internal::Type::ArrayOf[DockerEngineRuby::Summary],
7
+ DockerEngineRuby::Internal::Type::ArrayOf[
8
+ DockerEngineRuby::NetworkSummary
9
+ ],
8
10
  DockerEngineRuby::Internal::Type::Converter
9
11
  )
10
12
  end
@@ -0,0 +1,444 @@
1
+ # typed: strong
2
+
3
+ module DockerEngineRuby
4
+ module Models
5
+ class NetworkSummary < DockerEngineRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ DockerEngineRuby::NetworkSummary,
10
+ DockerEngineRuby::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Whether a global / swarm scope network is manually attachable by regular
15
+ # containers from workers in swarm mode.
16
+ sig { returns(T.nilable(T::Boolean)) }
17
+ attr_reader :attachable
18
+
19
+ sig { params(attachable: T::Boolean).void }
20
+ attr_writer :attachable
21
+
22
+ # The config-only network source to provide the configuration for this network.
23
+ sig { returns(T.nilable(DockerEngineRuby::NetworkSummary::ConfigFrom)) }
24
+ attr_reader :config_from
25
+
26
+ sig do
27
+ params(
28
+ config_from: DockerEngineRuby::NetworkSummary::ConfigFrom::OrHash
29
+ ).void
30
+ end
31
+ attr_writer :config_from
32
+
33
+ # Whether the network is a config-only network. Config-only networks are
34
+ # placeholder networks for network configurations to be used by other networks.
35
+ # Config-only networks cannot be used directly to run containers or services.
36
+ sig { returns(T.nilable(T::Boolean)) }
37
+ attr_reader :config_only
38
+
39
+ sig { params(config_only: T::Boolean).void }
40
+ attr_writer :config_only
41
+
42
+ # Date and time at which the network was created in
43
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
44
+ sig { returns(T.nilable(Time)) }
45
+ attr_reader :created
46
+
47
+ sig { params(created: Time).void }
48
+ attr_writer :created
49
+
50
+ # The name of the driver used to create the network (e.g. `bridge`, `overlay`).
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :driver
53
+
54
+ sig { params(driver: String).void }
55
+ attr_writer :driver
56
+
57
+ # Whether the network was created with IPv4 enabled.
58
+ sig { returns(T.nilable(T::Boolean)) }
59
+ attr_reader :enable_i_pv4
60
+
61
+ sig { params(enable_i_pv4: T::Boolean).void }
62
+ attr_writer :enable_i_pv4
63
+
64
+ # Whether the network was created with IPv6 enabled.
65
+ sig { returns(T.nilable(T::Boolean)) }
66
+ attr_reader :enable_i_pv6
67
+
68
+ sig { params(enable_i_pv6: T::Boolean).void }
69
+ attr_writer :enable_i_pv6
70
+
71
+ # ID that uniquely identifies a network on a single machine.
72
+ sig { returns(T.nilable(String)) }
73
+ attr_reader :id
74
+
75
+ sig { params(id: String).void }
76
+ attr_writer :id
77
+
78
+ # Whether the network is providing the routing-mesh for the swarm cluster.
79
+ sig { returns(T.nilable(T::Boolean)) }
80
+ attr_reader :ingress
81
+
82
+ sig { params(ingress: T::Boolean).void }
83
+ attr_writer :ingress
84
+
85
+ # Whether the network is created to only allow internal networking connectivity.
86
+ sig { returns(T.nilable(T::Boolean)) }
87
+ attr_reader :internal
88
+
89
+ sig { params(internal: T::Boolean).void }
90
+ attr_writer :internal
91
+
92
+ # The network's IP Address Management.
93
+ sig { returns(T.nilable(DockerEngineRuby::NetworkSummary::Ipam)) }
94
+ attr_reader :ipam
95
+
96
+ sig { params(ipam: DockerEngineRuby::NetworkSummary::Ipam::OrHash).void }
97
+ attr_writer :ipam
98
+
99
+ # Metadata specific to the network being created.
100
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
101
+ attr_reader :labels
102
+
103
+ sig { params(labels: T::Hash[Symbol, String]).void }
104
+ attr_writer :labels
105
+
106
+ # Name of the network.
107
+ sig { returns(T.nilable(String)) }
108
+ attr_reader :name
109
+
110
+ sig { params(name: String).void }
111
+ attr_writer :name
112
+
113
+ # Network-specific options uses when creating the network.
114
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
115
+ attr_reader :options
116
+
117
+ sig { params(options: T::Hash[Symbol, String]).void }
118
+ attr_writer :options
119
+
120
+ # List of peer nodes for an overlay network. This field is only present for
121
+ # overlay networks, and omitted for other network types.
122
+ sig do
123
+ returns(T.nilable(T::Array[DockerEngineRuby::NetworkSummary::Peer]))
124
+ end
125
+ attr_reader :peers
126
+
127
+ sig do
128
+ params(
129
+ peers: T::Array[DockerEngineRuby::NetworkSummary::Peer::OrHash]
130
+ ).void
131
+ end
132
+ attr_writer :peers
133
+
134
+ # The level at which the network exists (e.g. `swarm` for cluster-wide or `local`
135
+ # for machine level)
136
+ sig { returns(T.nilable(String)) }
137
+ attr_reader :scope
138
+
139
+ sig { params(scope: String).void }
140
+ attr_writer :scope
141
+
142
+ # Network list response item
143
+ sig do
144
+ params(
145
+ attachable: T::Boolean,
146
+ config_from: DockerEngineRuby::NetworkSummary::ConfigFrom::OrHash,
147
+ config_only: T::Boolean,
148
+ created: Time,
149
+ driver: String,
150
+ enable_i_pv4: T::Boolean,
151
+ enable_i_pv6: T::Boolean,
152
+ id: String,
153
+ ingress: T::Boolean,
154
+ internal: T::Boolean,
155
+ ipam: DockerEngineRuby::NetworkSummary::Ipam::OrHash,
156
+ labels: T::Hash[Symbol, String],
157
+ name: String,
158
+ options: T::Hash[Symbol, String],
159
+ peers: T::Array[DockerEngineRuby::NetworkSummary::Peer::OrHash],
160
+ scope: String
161
+ ).returns(T.attached_class)
162
+ end
163
+ def self.new(
164
+ # Whether a global / swarm scope network is manually attachable by regular
165
+ # containers from workers in swarm mode.
166
+ attachable: nil,
167
+ # The config-only network source to provide the configuration for this network.
168
+ config_from: nil,
169
+ # Whether the network is a config-only network. Config-only networks are
170
+ # placeholder networks for network configurations to be used by other networks.
171
+ # Config-only networks cannot be used directly to run containers or services.
172
+ config_only: nil,
173
+ # Date and time at which the network was created in
174
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
175
+ created: nil,
176
+ # The name of the driver used to create the network (e.g. `bridge`, `overlay`).
177
+ driver: nil,
178
+ # Whether the network was created with IPv4 enabled.
179
+ enable_i_pv4: nil,
180
+ # Whether the network was created with IPv6 enabled.
181
+ enable_i_pv6: nil,
182
+ # ID that uniquely identifies a network on a single machine.
183
+ id: nil,
184
+ # Whether the network is providing the routing-mesh for the swarm cluster.
185
+ ingress: nil,
186
+ # Whether the network is created to only allow internal networking connectivity.
187
+ internal: nil,
188
+ # The network's IP Address Management.
189
+ ipam: nil,
190
+ # Metadata specific to the network being created.
191
+ labels: nil,
192
+ # Name of the network.
193
+ name: nil,
194
+ # Network-specific options uses when creating the network.
195
+ options: nil,
196
+ # List of peer nodes for an overlay network. This field is only present for
197
+ # overlay networks, and omitted for other network types.
198
+ peers: nil,
199
+ # The level at which the network exists (e.g. `swarm` for cluster-wide or `local`
200
+ # for machine level)
201
+ scope: nil
202
+ )
203
+ end
204
+
205
+ sig do
206
+ override.returns(
207
+ {
208
+ attachable: T::Boolean,
209
+ config_from: DockerEngineRuby::NetworkSummary::ConfigFrom,
210
+ config_only: T::Boolean,
211
+ created: Time,
212
+ driver: String,
213
+ enable_i_pv4: T::Boolean,
214
+ enable_i_pv6: T::Boolean,
215
+ id: String,
216
+ ingress: T::Boolean,
217
+ internal: T::Boolean,
218
+ ipam: DockerEngineRuby::NetworkSummary::Ipam,
219
+ labels: T::Hash[Symbol, String],
220
+ name: String,
221
+ options: T::Hash[Symbol, String],
222
+ peers: T::Array[DockerEngineRuby::NetworkSummary::Peer],
223
+ scope: String
224
+ }
225
+ )
226
+ end
227
+ def to_hash
228
+ end
229
+
230
+ class ConfigFrom < DockerEngineRuby::Internal::Type::BaseModel
231
+ OrHash =
232
+ T.type_alias do
233
+ T.any(
234
+ DockerEngineRuby::NetworkSummary::ConfigFrom,
235
+ DockerEngineRuby::Internal::AnyHash
236
+ )
237
+ end
238
+
239
+ # The name of the config-only network that provides the network's configuration.
240
+ # The specified network must be an existing config-only network. Only network
241
+ # names are allowed, not network IDs.
242
+ sig { returns(T.nilable(String)) }
243
+ attr_reader :network
244
+
245
+ sig { params(network: String).void }
246
+ attr_writer :network
247
+
248
+ # The config-only network source to provide the configuration for this network.
249
+ sig { params(network: String).returns(T.attached_class) }
250
+ def self.new(
251
+ # The name of the config-only network that provides the network's configuration.
252
+ # The specified network must be an existing config-only network. Only network
253
+ # names are allowed, not network IDs.
254
+ network: nil
255
+ )
256
+ end
257
+
258
+ sig { override.returns({ network: String }) }
259
+ def to_hash
260
+ end
261
+ end
262
+
263
+ class Ipam < DockerEngineRuby::Internal::Type::BaseModel
264
+ OrHash =
265
+ T.type_alias do
266
+ T.any(
267
+ DockerEngineRuby::NetworkSummary::Ipam,
268
+ DockerEngineRuby::Internal::AnyHash
269
+ )
270
+ end
271
+
272
+ # List of IPAM configuration options, specified as a map:
273
+ #
274
+ # ```
275
+ # {"Subnet": <CIDR>, "IPRange": <CIDR>, "Gateway": <IP address>, "AuxAddress": <device_name:IP address>}
276
+ # ```
277
+ sig do
278
+ returns(
279
+ T.nilable(T::Array[DockerEngineRuby::NetworkSummary::Ipam::Config])
280
+ )
281
+ end
282
+ attr_reader :config
283
+
284
+ sig do
285
+ params(
286
+ config:
287
+ T::Array[DockerEngineRuby::NetworkSummary::Ipam::Config::OrHash]
288
+ ).void
289
+ end
290
+ attr_writer :config
291
+
292
+ # Name of the IPAM driver to use.
293
+ sig { returns(T.nilable(String)) }
294
+ attr_reader :driver
295
+
296
+ sig { params(driver: String).void }
297
+ attr_writer :driver
298
+
299
+ # Driver-specific options, specified as a map.
300
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
301
+ attr_reader :options
302
+
303
+ sig { params(options: T::Hash[Symbol, String]).void }
304
+ attr_writer :options
305
+
306
+ # The network's IP Address Management.
307
+ sig do
308
+ params(
309
+ config:
310
+ T::Array[DockerEngineRuby::NetworkSummary::Ipam::Config::OrHash],
311
+ driver: String,
312
+ options: T::Hash[Symbol, String]
313
+ ).returns(T.attached_class)
314
+ end
315
+ def self.new(
316
+ # List of IPAM configuration options, specified as a map:
317
+ #
318
+ # ```
319
+ # {"Subnet": <CIDR>, "IPRange": <CIDR>, "Gateway": <IP address>, "AuxAddress": <device_name:IP address>}
320
+ # ```
321
+ config: nil,
322
+ # Name of the IPAM driver to use.
323
+ driver: nil,
324
+ # Driver-specific options, specified as a map.
325
+ options: nil
326
+ )
327
+ end
328
+
329
+ sig do
330
+ override.returns(
331
+ {
332
+ config: T::Array[DockerEngineRuby::NetworkSummary::Ipam::Config],
333
+ driver: String,
334
+ options: T::Hash[Symbol, String]
335
+ }
336
+ )
337
+ end
338
+ def to_hash
339
+ end
340
+
341
+ class Config < DockerEngineRuby::Internal::Type::BaseModel
342
+ OrHash =
343
+ T.type_alias do
344
+ T.any(
345
+ DockerEngineRuby::NetworkSummary::Ipam::Config,
346
+ DockerEngineRuby::Internal::AnyHash
347
+ )
348
+ end
349
+
350
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
351
+ attr_reader :auxiliary_addresses
352
+
353
+ sig { params(auxiliary_addresses: T::Hash[Symbol, String]).void }
354
+ attr_writer :auxiliary_addresses
355
+
356
+ sig { returns(T.nilable(String)) }
357
+ attr_reader :gateway
358
+
359
+ sig { params(gateway: String).void }
360
+ attr_writer :gateway
361
+
362
+ sig { returns(T.nilable(String)) }
363
+ attr_reader :ip_range
364
+
365
+ sig { params(ip_range: String).void }
366
+ attr_writer :ip_range
367
+
368
+ sig { returns(T.nilable(String)) }
369
+ attr_reader :subnet
370
+
371
+ sig { params(subnet: String).void }
372
+ attr_writer :subnet
373
+
374
+ sig do
375
+ params(
376
+ auxiliary_addresses: T::Hash[Symbol, String],
377
+ gateway: String,
378
+ ip_range: String,
379
+ subnet: String
380
+ ).returns(T.attached_class)
381
+ end
382
+ def self.new(
383
+ auxiliary_addresses: nil,
384
+ gateway: nil,
385
+ ip_range: nil,
386
+ subnet: nil
387
+ )
388
+ end
389
+
390
+ sig do
391
+ override.returns(
392
+ {
393
+ auxiliary_addresses: T::Hash[Symbol, String],
394
+ gateway: String,
395
+ ip_range: String,
396
+ subnet: String
397
+ }
398
+ )
399
+ end
400
+ def to_hash
401
+ end
402
+ end
403
+ end
404
+
405
+ class Peer < DockerEngineRuby::Internal::Type::BaseModel
406
+ OrHash =
407
+ T.type_alias do
408
+ T.any(
409
+ DockerEngineRuby::NetworkSummary::Peer,
410
+ DockerEngineRuby::Internal::AnyHash
411
+ )
412
+ end
413
+
414
+ # IP-address of the peer-node in the Swarm cluster.
415
+ sig { returns(T.nilable(String)) }
416
+ attr_reader :ip
417
+
418
+ sig { params(ip: String).void }
419
+ attr_writer :ip
420
+
421
+ # ID of the peer-node in the Swarm cluster.
422
+ sig { returns(T.nilable(String)) }
423
+ attr_reader :name
424
+
425
+ sig { params(name: String).void }
426
+ attr_writer :name
427
+
428
+ # represents one peer of an overlay network.
429
+ sig { params(ip: String, name: String).returns(T.attached_class) }
430
+ def self.new(
431
+ # IP-address of the peer-node in the Swarm cluster.
432
+ ip: nil,
433
+ # ID of the peer-node in the Swarm cluster.
434
+ name: nil
435
+ )
436
+ end
437
+
438
+ sig { override.returns({ ip: String, name: String }) }
439
+ def to_hash
440
+ end
441
+ end
442
+ end
443
+ end
444
+ end
@@ -46,10 +46,10 @@ module DockerEngineRuby
46
46
  end
47
47
  attr_writer :manager_status
48
48
 
49
- sig { returns(T.nilable(DockerEngineRuby::Spec)) }
49
+ sig { returns(T.nilable(DockerEngineRuby::NodeSpec)) }
50
50
  attr_reader :spec
51
51
 
52
- sig { params(spec: DockerEngineRuby::Spec::OrHash).void }
52
+ sig { params(spec: DockerEngineRuby::NodeSpec::OrHash).void }
53
53
  attr_writer :spec
54
54
 
55
55
  # NodeStatus represents the status of a node.
@@ -90,7 +90,7 @@ module DockerEngineRuby
90
90
  description: DockerEngineRuby::Node::Description::OrHash,
91
91
  id: String,
92
92
  manager_status: DockerEngineRuby::Node::ManagerStatus::OrHash,
93
- spec: DockerEngineRuby::Spec::OrHash,
93
+ spec: DockerEngineRuby::NodeSpec::OrHash,
94
94
  status: DockerEngineRuby::Node::Status::OrHash,
95
95
  updated_at: Time,
96
96
  version: DockerEngineRuby::Node::Version::OrHash
@@ -137,7 +137,7 @@ module DockerEngineRuby
137
137
  description: DockerEngineRuby::Node::Description,
138
138
  id: String,
139
139
  manager_status: DockerEngineRuby::Node::ManagerStatus,
140
- spec: DockerEngineRuby::Spec,
140
+ spec: DockerEngineRuby::NodeSpec,
141
141
  status: DockerEngineRuby::Node::Status,
142
142
  updated_at: Time,
143
143
  version: DockerEngineRuby::Node::Version
@@ -0,0 +1,126 @@
1
+ # typed: strong
2
+
3
+ module DockerEngineRuby
4
+ module Models
5
+ class NodeSpec < DockerEngineRuby::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(DockerEngineRuby::NodeSpec, DockerEngineRuby::Internal::AnyHash)
9
+ end
10
+
11
+ # Availability of the node.
12
+ sig do
13
+ returns(T.nilable(DockerEngineRuby::NodeSpec::Availability::OrSymbol))
14
+ end
15
+ attr_reader :availability
16
+
17
+ sig do
18
+ params(
19
+ availability: DockerEngineRuby::NodeSpec::Availability::OrSymbol
20
+ ).void
21
+ end
22
+ attr_writer :availability
23
+
24
+ # User-defined key/value metadata.
25
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
26
+ attr_reader :labels
27
+
28
+ sig { params(labels: T::Hash[Symbol, String]).void }
29
+ attr_writer :labels
30
+
31
+ # Name for the node.
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :name
34
+
35
+ sig { params(name: String).void }
36
+ attr_writer :name
37
+
38
+ # Role of the node.
39
+ sig { returns(T.nilable(DockerEngineRuby::NodeSpec::Role::OrSymbol)) }
40
+ attr_reader :role
41
+
42
+ sig { params(role: DockerEngineRuby::NodeSpec::Role::OrSymbol).void }
43
+ attr_writer :role
44
+
45
+ sig do
46
+ params(
47
+ availability: DockerEngineRuby::NodeSpec::Availability::OrSymbol,
48
+ labels: T::Hash[Symbol, String],
49
+ name: String,
50
+ role: DockerEngineRuby::NodeSpec::Role::OrSymbol
51
+ ).returns(T.attached_class)
52
+ end
53
+ def self.new(
54
+ # Availability of the node.
55
+ availability: nil,
56
+ # User-defined key/value metadata.
57
+ labels: nil,
58
+ # Name for the node.
59
+ name: nil,
60
+ # Role of the node.
61
+ role: nil
62
+ )
63
+ end
64
+
65
+ sig do
66
+ override.returns(
67
+ {
68
+ availability: DockerEngineRuby::NodeSpec::Availability::OrSymbol,
69
+ labels: T::Hash[Symbol, String],
70
+ name: String,
71
+ role: DockerEngineRuby::NodeSpec::Role::OrSymbol
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+
78
+ # Availability of the node.
79
+ module Availability
80
+ extend DockerEngineRuby::Internal::Type::Enum
81
+
82
+ TaggedSymbol =
83
+ T.type_alias do
84
+ T.all(Symbol, DockerEngineRuby::NodeSpec::Availability)
85
+ end
86
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
87
+
88
+ ACTIVE =
89
+ T.let(:active, DockerEngineRuby::NodeSpec::Availability::TaggedSymbol)
90
+ PAUSE =
91
+ T.let(:pause, DockerEngineRuby::NodeSpec::Availability::TaggedSymbol)
92
+ DRAIN =
93
+ T.let(:drain, DockerEngineRuby::NodeSpec::Availability::TaggedSymbol)
94
+
95
+ sig do
96
+ override.returns(
97
+ T::Array[DockerEngineRuby::NodeSpec::Availability::TaggedSymbol]
98
+ )
99
+ end
100
+ def self.values
101
+ end
102
+ end
103
+
104
+ # Role of the node.
105
+ module Role
106
+ extend DockerEngineRuby::Internal::Type::Enum
107
+
108
+ TaggedSymbol =
109
+ T.type_alias { T.all(Symbol, DockerEngineRuby::NodeSpec::Role) }
110
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
111
+
112
+ WORKER = T.let(:worker, DockerEngineRuby::NodeSpec::Role::TaggedSymbol)
113
+ MANAGER =
114
+ T.let(:manager, DockerEngineRuby::NodeSpec::Role::TaggedSymbol)
115
+
116
+ sig do
117
+ override.returns(
118
+ T::Array[DockerEngineRuby::NodeSpec::Role::TaggedSymbol]
119
+ )
120
+ end
121
+ def self.values
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end