hcloud 1.0.3 → 1.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +58 -0
- data/Gemfile.lock +56 -63
- data/LICENSE +21 -0
- data/README.md +1 -1
- data/bin/console +4 -4
- data/hcloud.gemspec +1 -3
- data/lib/hcloud/certificate.rb +22 -0
- data/lib/hcloud/certificate_resource.rb +43 -0
- data/lib/hcloud/client.rb +24 -0
- data/lib/hcloud/entry_loader.rb +82 -13
- data/lib/hcloud/errors.rb +1 -1
- data/lib/hcloud/firewall.rb +37 -0
- data/lib/hcloud/firewall_resource.rb +30 -0
- data/lib/hcloud/floating_ip.rb +4 -0
- data/lib/hcloud/floating_ip_resource.rb +7 -2
- data/lib/hcloud/future.rb +26 -0
- data/lib/hcloud/image_resource.rb +1 -1
- data/lib/hcloud/load_balancer.rb +140 -0
- data/lib/hcloud/load_balancer_resource.rb +39 -0
- data/lib/hcloud/load_balancer_type.rb +13 -0
- data/lib/hcloud/load_balancer_type_resource.rb +16 -0
- data/lib/hcloud/network.rb +13 -2
- data/lib/hcloud/network_resource.rb +5 -2
- data/lib/hcloud/placement_group.rb +16 -0
- data/lib/hcloud/placement_group_resource.rb +30 -0
- data/lib/hcloud/primary_ip.rb +35 -0
- data/lib/hcloud/primary_ip_resource.rb +46 -0
- data/lib/hcloud/server.rb +16 -2
- data/lib/hcloud/server_resource.rb +7 -3
- data/lib/hcloud/ssh_key.rb +4 -0
- data/lib/hcloud/ssh_key_resource.rb +8 -2
- data/lib/hcloud/typhoeus_ext.rb +2 -2
- data/lib/hcloud/version.rb +1 -1
- data/lib/hcloud/volume.rb +5 -1
- data/lib/hcloud/volume_resource.rb +8 -2
- data/lib/hcloud.rb +20 -0
- metadata +19 -47
- data/Rakefile +0 -4
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module Hcloud
|
4
4
|
class VolumeResource < AbstractResource
|
5
|
-
filter_attributes :name
|
5
|
+
filter_attributes :name, :label_selector
|
6
6
|
|
7
7
|
def [](arg)
|
8
8
|
case arg
|
@@ -11,7 +11,13 @@ module Hcloud
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
def create(size:, name:, automount: nil, format: nil, location: nil, server: nil)
|
14
|
+
def create(size:, name:, automount: nil, format: nil, location: nil, server: nil, labels: {})
|
15
|
+
raise Hcloud::Error::InvalidInput, 'no name given' if name.blank?
|
16
|
+
raise Hcloud::Error::InvalidInput, 'invalid size given' unless size.to_i >= 10
|
17
|
+
if location.blank? && server.nil?
|
18
|
+
raise Hcloud::Error::InvalidInput, 'location or server must be given'
|
19
|
+
end
|
20
|
+
|
15
21
|
prepare_request(
|
16
22
|
'volumes', j: COLLECT_ARGS.call(__method__, binding),
|
17
23
|
expected_code: 201
|
data/lib/hcloud.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'hcloud/version'
|
4
|
+
require 'active_support'
|
4
5
|
require 'active_support/core_ext/object/to_query'
|
5
6
|
require 'active_support/core_ext/hash/indifferent_access'
|
6
7
|
|
7
8
|
module Hcloud
|
8
9
|
autoload :Error, 'hcloud/errors'
|
9
10
|
autoload :Client, 'hcloud/client'
|
11
|
+
autoload :Future, 'hcloud/future'
|
10
12
|
autoload :TyphoeusExt, 'hcloud/typhoeus_ext'
|
11
13
|
autoload :AbstractResource, 'hcloud/abstract_resource'
|
12
14
|
autoload :EntryLoader, 'hcloud/entry_loader'
|
@@ -20,9 +22,15 @@ module Hcloud
|
|
20
22
|
autoload :FloatingIP, 'hcloud/floating_ip'
|
21
23
|
autoload :FloatingIPResource, 'hcloud/floating_ip_resource'
|
22
24
|
|
25
|
+
autoload :PrimaryIP, 'hcloud/primary_ip'
|
26
|
+
autoload :PrimaryIPResource, 'hcloud/primary_ip_resource'
|
27
|
+
|
23
28
|
autoload :SSHKey, 'hcloud/ssh_key'
|
24
29
|
autoload :SSHKeyResource, 'hcloud/ssh_key_resource'
|
25
30
|
|
31
|
+
autoload :Certificate, 'hcloud/certificate'
|
32
|
+
autoload :CertificateResource, 'hcloud/certificate_resource'
|
33
|
+
|
26
34
|
autoload :Datacenter, 'hcloud/datacenter'
|
27
35
|
autoload :DatacenterResource, 'hcloud/datacenter_resource'
|
28
36
|
|
@@ -35,6 +43,9 @@ module Hcloud
|
|
35
43
|
autoload :Network, 'hcloud/network'
|
36
44
|
autoload :NetworkResource, 'hcloud/network_resource'
|
37
45
|
|
46
|
+
autoload :Firewall, 'hcloud/firewall'
|
47
|
+
autoload :FirewallResource, 'hcloud/firewall_resource'
|
48
|
+
|
38
49
|
autoload :Volume, 'hcloud/volume'
|
39
50
|
autoload :VolumeResource, 'hcloud/volume_resource'
|
40
51
|
|
@@ -46,6 +57,15 @@ module Hcloud
|
|
46
57
|
|
47
58
|
autoload :Pagination, 'hcloud/pagination'
|
48
59
|
|
60
|
+
autoload :PlacementGroup, 'hcloud/placement_group'
|
61
|
+
autoload :PlacementGroupResource, 'hcloud/placement_group_resource'
|
62
|
+
|
63
|
+
autoload :LoadBalancerType, 'hcloud/load_balancer_type'
|
64
|
+
autoload :LoadBalancerTypeResource, 'hcloud/load_balancer_type_resource'
|
65
|
+
|
66
|
+
autoload :LoadBalancer, 'hcloud/load_balancer'
|
67
|
+
autoload :LoadBalancerResource, 'hcloud/load_balancer_resource'
|
68
|
+
|
49
69
|
COLLECT_ARGS = proc do |method_name, bind|
|
50
70
|
query = bind.receiver.method(method_name).parameters.inject({}) do |hash, (_type, name)|
|
51
71
|
hash.merge(name => bind.local_variable_get(name))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hcloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tim Foerster
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-10-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|
@@ -25,20 +25,6 @@ dependencies:
|
|
25
25
|
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '0'
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: activesupport
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - '='
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: 6.1.4.4
|
35
|
-
type: :development
|
36
|
-
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - '='
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: 6.1.4.4
|
42
28
|
- !ruby/object:Gem::Dependency
|
43
29
|
name: bundler
|
44
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,20 +53,6 @@ dependencies:
|
|
67
53
|
- - ">="
|
68
54
|
- !ruby/object:Gem::Version
|
69
55
|
version: '0'
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: rake
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '0'
|
77
|
-
type: :development
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - ">="
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '0'
|
84
56
|
- !ruby/object:Gem::Dependency
|
85
57
|
name: rspec
|
86
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,20 +95,6 @@ dependencies:
|
|
123
95
|
- - ">="
|
124
96
|
- !ruby/object:Gem::Version
|
125
97
|
version: '0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: activesupport
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
requirements:
|
130
|
-
- - '='
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: 6.1.4.4
|
133
|
-
type: :runtime
|
134
|
-
prerelease: false
|
135
|
-
version_requirements: !ruby/object:Gem::Requirement
|
136
|
-
requirements:
|
137
|
-
- - '='
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: 6.1.4.4
|
140
98
|
- !ruby/object:Gem::Dependency
|
141
99
|
name: oj
|
142
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -181,8 +139,8 @@ files:
|
|
181
139
|
- CHANGELOG.md
|
182
140
|
- Gemfile
|
183
141
|
- Gemfile.lock
|
142
|
+
- LICENSE
|
184
143
|
- README.md
|
185
|
-
- Rakefile
|
186
144
|
- bin/console
|
187
145
|
- bin/setup
|
188
146
|
- hcloud.gemspec
|
@@ -190,22 +148,35 @@ files:
|
|
190
148
|
- lib/hcloud/abstract_resource.rb
|
191
149
|
- lib/hcloud/action.rb
|
192
150
|
- lib/hcloud/action_resource.rb
|
151
|
+
- lib/hcloud/certificate.rb
|
152
|
+
- lib/hcloud/certificate_resource.rb
|
193
153
|
- lib/hcloud/client.rb
|
194
154
|
- lib/hcloud/datacenter.rb
|
195
155
|
- lib/hcloud/datacenter_resource.rb
|
196
156
|
- lib/hcloud/entry_loader.rb
|
197
157
|
- lib/hcloud/errors.rb
|
158
|
+
- lib/hcloud/firewall.rb
|
159
|
+
- lib/hcloud/firewall_resource.rb
|
198
160
|
- lib/hcloud/floating_ip.rb
|
199
161
|
- lib/hcloud/floating_ip_resource.rb
|
162
|
+
- lib/hcloud/future.rb
|
200
163
|
- lib/hcloud/image.rb
|
201
164
|
- lib/hcloud/image_resource.rb
|
202
165
|
- lib/hcloud/iso.rb
|
203
166
|
- lib/hcloud/iso_resource.rb
|
167
|
+
- lib/hcloud/load_balancer.rb
|
168
|
+
- lib/hcloud/load_balancer_resource.rb
|
169
|
+
- lib/hcloud/load_balancer_type.rb
|
170
|
+
- lib/hcloud/load_balancer_type_resource.rb
|
204
171
|
- lib/hcloud/location.rb
|
205
172
|
- lib/hcloud/location_resource.rb
|
206
173
|
- lib/hcloud/network.rb
|
207
174
|
- lib/hcloud/network_resource.rb
|
208
175
|
- lib/hcloud/pagination.rb
|
176
|
+
- lib/hcloud/placement_group.rb
|
177
|
+
- lib/hcloud/placement_group_resource.rb
|
178
|
+
- lib/hcloud/primary_ip.rb
|
179
|
+
- lib/hcloud/primary_ip_resource.rb
|
209
180
|
- lib/hcloud/server.rb
|
210
181
|
- lib/hcloud/server_resource.rb
|
211
182
|
- lib/hcloud/server_type.rb
|
@@ -217,7 +188,8 @@ files:
|
|
217
188
|
- lib/hcloud/volume.rb
|
218
189
|
- lib/hcloud/volume_resource.rb
|
219
190
|
homepage: https://github.com/tonobo/hcloud-ruby
|
220
|
-
licenses:
|
191
|
+
licenses:
|
192
|
+
- MIT
|
221
193
|
metadata: {}
|
222
194
|
post_install_message:
|
223
195
|
rdoc_options: []
|
@@ -234,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
234
206
|
- !ruby/object:Gem::Version
|
235
207
|
version: '0'
|
236
208
|
requirements: []
|
237
|
-
rubygems_version: 3.
|
209
|
+
rubygems_version: 3.3.7
|
238
210
|
signing_key:
|
239
211
|
specification_version: 4
|
240
212
|
summary: HetznerCloud native Ruby client
|
data/Rakefile
DELETED