fog-hetznercloud 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +201 -0
  4. data/README.md +139 -0
  5. data/Rakefile +24 -0
  6. data/bin/console +14 -0
  7. data/bin/setup +8 -0
  8. data/fog-hetznercloud.gemspec +33 -0
  9. data/lib/fog/hetznercloud.rb +13 -0
  10. data/lib/fog/hetznercloud/client.rb +55 -0
  11. data/lib/fog/hetznercloud/compute.rb +146 -0
  12. data/lib/fog/hetznercloud/errors.rb +37 -0
  13. data/lib/fog/hetznercloud/models/compute/action.rb +31 -0
  14. data/lib/fog/hetznercloud/models/compute/actions.rb +22 -0
  15. data/lib/fog/hetznercloud/models/compute/datacenter.rb +15 -0
  16. data/lib/fog/hetznercloud/models/compute/datacenters.rb +22 -0
  17. data/lib/fog/hetznercloud/models/compute/floating_ip.rb +154 -0
  18. data/lib/fog/hetznercloud/models/compute/floating_ips.rb +22 -0
  19. data/lib/fog/hetznercloud/models/compute/image.rb +78 -0
  20. data/lib/fog/hetznercloud/models/compute/images.rb +22 -0
  21. data/lib/fog/hetznercloud/models/compute/location.rb +18 -0
  22. data/lib/fog/hetznercloud/models/compute/locations.rb +22 -0
  23. data/lib/fog/hetznercloud/models/compute/server.rb +393 -0
  24. data/lib/fog/hetznercloud/models/compute/server_type.rb +17 -0
  25. data/lib/fog/hetznercloud/models/compute/server_types.rb +22 -0
  26. data/lib/fog/hetznercloud/models/compute/servers.rb +47 -0
  27. data/lib/fog/hetznercloud/models/compute/ssh_key.rb +65 -0
  28. data/lib/fog/hetznercloud/models/compute/ssh_keys.rb +22 -0
  29. data/lib/fog/hetznercloud/request_helper.rb +32 -0
  30. data/lib/fog/hetznercloud/requests/compute/create_floating_ip.rb +29 -0
  31. data/lib/fog/hetznercloud/requests/compute/create_server.rb +31 -0
  32. data/lib/fog/hetznercloud/requests/compute/create_ssh_key.rb +24 -0
  33. data/lib/fog/hetznercloud/requests/compute/delete_floating_ip.rb +17 -0
  34. data/lib/fog/hetznercloud/requests/compute/delete_image.rb +17 -0
  35. data/lib/fog/hetznercloud/requests/compute/delete_server.rb +17 -0
  36. data/lib/fog/hetznercloud/requests/compute/delete_ssh_key.rb +17 -0
  37. data/lib/fog/hetznercloud/requests/compute/execute_server_action.rb +17 -0
  38. data/lib/fog/hetznercloud/requests/compute/floating_ip_assign_to_server.rb +17 -0
  39. data/lib/fog/hetznercloud/requests/compute/floating_ip_unassign.rb +17 -0
  40. data/lib/fog/hetznercloud/requests/compute/floating_ip_update_dns_ptr.rb +17 -0
  41. data/lib/fog/hetznercloud/requests/compute/get_action.rb +17 -0
  42. data/lib/fog/hetznercloud/requests/compute/get_datacenter.rb +17 -0
  43. data/lib/fog/hetznercloud/requests/compute/get_floating_ip.rb +17 -0
  44. data/lib/fog/hetznercloud/requests/compute/get_image.rb +17 -0
  45. data/lib/fog/hetznercloud/requests/compute/get_location.rb +17 -0
  46. data/lib/fog/hetznercloud/requests/compute/get_server.rb +17 -0
  47. data/lib/fog/hetznercloud/requests/compute/get_server_type.rb +17 -0
  48. data/lib/fog/hetznercloud/requests/compute/get_ssh_key.rb +17 -0
  49. data/lib/fog/hetznercloud/requests/compute/list_actions.rb +17 -0
  50. data/lib/fog/hetznercloud/requests/compute/list_datacenters.rb +17 -0
  51. data/lib/fog/hetznercloud/requests/compute/list_floating_ips.rb +17 -0
  52. data/lib/fog/hetznercloud/requests/compute/list_images.rb +17 -0
  53. data/lib/fog/hetznercloud/requests/compute/list_locations.rb +17 -0
  54. data/lib/fog/hetznercloud/requests/compute/list_server_types.rb +17 -0
  55. data/lib/fog/hetznercloud/requests/compute/list_servers.rb +17 -0
  56. data/lib/fog/hetznercloud/requests/compute/list_ssh_keys.rb +17 -0
  57. data/lib/fog/hetznercloud/requests/compute/update_floating_ip.rb +17 -0
  58. data/lib/fog/hetznercloud/requests/compute/update_image.rb +17 -0
  59. data/lib/fog/hetznercloud/requests/compute/update_server.rb +77 -0
  60. data/lib/fog/hetznercloud/requests/compute/update_ssh_key.rb +17 -0
  61. data/lib/fog/hetznercloud/version.rb +5 -0
  62. metadata +244 -0
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def get_action(id)
6
+ get("/actions/#{id}")
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def get_action(_id)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def get_datacenter(id)
6
+ get("/datacenters/#{id}")
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def get_datacenter(_id)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def get_floating_ip(id)
6
+ get("/floating_ips/#{id}")
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def get_floating_ip(_id)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def get_image(image_id)
6
+ get("/images/#{image_id}")
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def get_image(_image_id)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def get_location(id)
6
+ get("/locations/#{id}")
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def get_location(_id)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def get_server(server_id)
6
+ get("/servers/#{server_id}")
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def get_server(_server_id)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def get_server_type(server_type_id)
6
+ get("/server_types/#{server_type_id}")
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def get_server_type(_server_type_id)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def get_ssh_key(id)
6
+ get("/ssh_keys/#{id}")
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def get_ssh_key(_id)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def list_ssh_keys(filters = {})
6
+ get('/ssh_keys', filters)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_ssh_keys
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def list_datacenters(filters = {})
6
+ get('/datacenters', filters)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_datacenters
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def list_floating_ips(filters = {})
6
+ get('/floating_ips', filters)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_floating_ips
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def list_images(filters = {})
6
+ get('/images', filters)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_images
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def list_locations(filters = {})
6
+ get('/locations', filters)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_locations
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def list_server_types(filters = {})
6
+ get('/server_types', filters)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_server_types
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def list_servers(filters = {})
6
+ get('/servers', filters)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_servers
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def list_locations(filters = {})
6
+ get('/locations', filters)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_locations
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def update_floating_ip(id, body)
6
+ update("/floating_ips/#{id}", body)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def update_floating_ip(_id, _body)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def update_image(id, body)
6
+ update("/images/#{id}", body)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def update_image(_server_id, _body)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,77 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def update_server(server_id, body)
6
+ update("/servers/#{server_id}", body)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def update_server(server_id, body)
12
+ body = jsonify(body)
13
+
14
+ server = lookup(:servers, server_id)
15
+
16
+ bootscript = if body['bootscript'].is_a?(Hash)
17
+ lookup(:bootscripts, body['bootscript']['id'])
18
+ elsif body['bootscript'].is_a?(String)
19
+ lookup(:bootscripts, body['bootscript'])
20
+ end
21
+
22
+ _, product_server = lookup_product_server(server['commercial_type'])
23
+
24
+ if body['enable_ipv6'] && !product_server['network']['ipv6_support']
25
+ raise_invalid_request_error("Cannot enable ipv6 on #{commercial_type}")
26
+ end
27
+
28
+ volumes = {}
29
+ body['volumes'].each do |index, volume|
30
+ volume = lookup(:volumes, volume['id'])
31
+
32
+ if volume['server'] && volume['server']['id'] != server['id']
33
+ message = "volume #{volume['id']} is already attached to a server"
34
+ raise_invalid_request_error(message)
35
+ end
36
+
37
+ volumes[index] = volume
38
+ end
39
+
40
+ server['bootscript'] = bootscript if bootscript
41
+ server['dynamic_ip_required'] = body['dynamic_ip_required']
42
+ server['enable_ipv6'] = body['enable_ipv6']
43
+ server['hostname'] = body['name']
44
+ server['modification_date'] = now
45
+ server['name'] = body['name']
46
+ server['tags'] = body['tags']
47
+ server['volumes'] = volumes
48
+
49
+ if server['dynamic_ip_required'] && server['state'] == 'running'
50
+ server['public_ip'] ||= create_dynamic_ip
51
+ elsif !server['dynamic_ip_required'] && server['public_ip'] && server['public_ip']['dynamic']
52
+ server['public_ip'] = nil
53
+ end
54
+
55
+ if server['enable_ipv6'] && server['state'] == 'running'
56
+ server['ipv6'] ||= create_ipv6
57
+ elsif !server['enable_ipv6']
58
+ server['ipv6'] = nil
59
+ end
60
+
61
+ data[:volumes].each do |id, volume|
62
+ if server['volumes'].any? { |_i, v| v['id'] == id }
63
+ volume['server'] = {
64
+ 'id' => server['id'],
65
+ 'name' => server['name']
66
+ }
67
+ elsif volume['server'] && volume['server']['id'] == server['id']
68
+ volume['server'] = nil
69
+ end
70
+ end
71
+
72
+ response(status: 200, body: { 'server' => server })
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ class Compute
4
+ class Real
5
+ def update_ssh_key(id, body)
6
+ update("/ssh_keys/#{id}", body)
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def update_ssh_key(_server_id, _body)
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ module Fog
2
+ module Hetznercloud
3
+ VERSION = '0.0.1'.freeze
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,244 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fog-hetznercloud
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Robert Heinzmann
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-03-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: coveralls
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: net-ssh
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: fog-core
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 1.45.0
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 1.45.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: fog-json
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: 1.0.2
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 1.0.2
153
+ description: Fog provider gem to support the Hetzner Cloud.
154
+ email:
155
+ - reg@elconas.de
156
+ executables: []
157
+ extensions: []
158
+ extra_rdoc_files: []
159
+ files:
160
+ - Gemfile
161
+ - LICENSE
162
+ - README.md
163
+ - Rakefile
164
+ - bin/console
165
+ - bin/setup
166
+ - fog-hetznercloud.gemspec
167
+ - lib/fog/hetznercloud.rb
168
+ - lib/fog/hetznercloud/client.rb
169
+ - lib/fog/hetznercloud/compute.rb
170
+ - lib/fog/hetznercloud/errors.rb
171
+ - lib/fog/hetznercloud/models/compute/action.rb
172
+ - lib/fog/hetznercloud/models/compute/actions.rb
173
+ - lib/fog/hetznercloud/models/compute/datacenter.rb
174
+ - lib/fog/hetznercloud/models/compute/datacenters.rb
175
+ - lib/fog/hetznercloud/models/compute/floating_ip.rb
176
+ - lib/fog/hetznercloud/models/compute/floating_ips.rb
177
+ - lib/fog/hetznercloud/models/compute/image.rb
178
+ - lib/fog/hetznercloud/models/compute/images.rb
179
+ - lib/fog/hetznercloud/models/compute/location.rb
180
+ - lib/fog/hetznercloud/models/compute/locations.rb
181
+ - lib/fog/hetznercloud/models/compute/server.rb
182
+ - lib/fog/hetznercloud/models/compute/server_type.rb
183
+ - lib/fog/hetznercloud/models/compute/server_types.rb
184
+ - lib/fog/hetznercloud/models/compute/servers.rb
185
+ - lib/fog/hetznercloud/models/compute/ssh_key.rb
186
+ - lib/fog/hetznercloud/models/compute/ssh_keys.rb
187
+ - lib/fog/hetznercloud/request_helper.rb
188
+ - lib/fog/hetznercloud/requests/compute/create_floating_ip.rb
189
+ - lib/fog/hetznercloud/requests/compute/create_server.rb
190
+ - lib/fog/hetznercloud/requests/compute/create_ssh_key.rb
191
+ - lib/fog/hetznercloud/requests/compute/delete_floating_ip.rb
192
+ - lib/fog/hetznercloud/requests/compute/delete_image.rb
193
+ - lib/fog/hetznercloud/requests/compute/delete_server.rb
194
+ - lib/fog/hetznercloud/requests/compute/delete_ssh_key.rb
195
+ - lib/fog/hetznercloud/requests/compute/execute_server_action.rb
196
+ - lib/fog/hetznercloud/requests/compute/floating_ip_assign_to_server.rb
197
+ - lib/fog/hetznercloud/requests/compute/floating_ip_unassign.rb
198
+ - lib/fog/hetznercloud/requests/compute/floating_ip_update_dns_ptr.rb
199
+ - lib/fog/hetznercloud/requests/compute/get_action.rb
200
+ - lib/fog/hetznercloud/requests/compute/get_datacenter.rb
201
+ - lib/fog/hetznercloud/requests/compute/get_floating_ip.rb
202
+ - lib/fog/hetznercloud/requests/compute/get_image.rb
203
+ - lib/fog/hetznercloud/requests/compute/get_location.rb
204
+ - lib/fog/hetznercloud/requests/compute/get_server.rb
205
+ - lib/fog/hetznercloud/requests/compute/get_server_type.rb
206
+ - lib/fog/hetznercloud/requests/compute/get_ssh_key.rb
207
+ - lib/fog/hetznercloud/requests/compute/list_actions.rb
208
+ - lib/fog/hetznercloud/requests/compute/list_datacenters.rb
209
+ - lib/fog/hetznercloud/requests/compute/list_floating_ips.rb
210
+ - lib/fog/hetznercloud/requests/compute/list_images.rb
211
+ - lib/fog/hetznercloud/requests/compute/list_locations.rb
212
+ - lib/fog/hetznercloud/requests/compute/list_server_types.rb
213
+ - lib/fog/hetznercloud/requests/compute/list_servers.rb
214
+ - lib/fog/hetznercloud/requests/compute/list_ssh_keys.rb
215
+ - lib/fog/hetznercloud/requests/compute/update_floating_ip.rb
216
+ - lib/fog/hetznercloud/requests/compute/update_image.rb
217
+ - lib/fog/hetznercloud/requests/compute/update_server.rb
218
+ - lib/fog/hetznercloud/requests/compute/update_ssh_key.rb
219
+ - lib/fog/hetznercloud/version.rb
220
+ homepage: https://github.com/elconas/gem-fog-hetznerloud
221
+ licenses:
222
+ - APACHE-2.0
223
+ metadata: {}
224
+ post_install_message:
225
+ rdoc_options: []
226
+ require_paths:
227
+ - lib
228
+ required_ruby_version: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: '0'
233
+ required_rubygems_version: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ requirements: []
239
+ rubyforge_project:
240
+ rubygems_version: 2.4.5.1
241
+ signing_key:
242
+ specification_version: 4
243
+ summary: Fog provider for Hetzner Cloud
244
+ test_files: []