fog-gridscale 0.1.2

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 (209) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.ruby-gemset +0 -0
  4. data/.ruby-version +0 -0
  5. data/.travis.yml +5 -0
  6. data/CHANGELOG.md +14 -0
  7. data/CONTRIBUTING.md +21 -0
  8. data/CONTRIBUTORS.md +2 -0
  9. data/Gemfile +6 -0
  10. data/LICENSE.md +21 -0
  11. data/README.md +87 -0
  12. data/Rakefile +10 -0
  13. data/bin/console +14 -0
  14. data/bin/setup +8 -0
  15. data/fog-gridscale.gemspec +41 -0
  16. data/lib/fog/bin/gridscale.rb +29 -0
  17. data/lib/fog/compute/gridscale.rb +325 -0
  18. data/lib/fog/compute/gridscale/models/access_key.rb +28 -0
  19. data/lib/fog/compute/gridscale/models/access_keys.rb +27 -0
  20. data/lib/fog/compute/gridscale/models/bucket.rb +15 -0
  21. data/lib/fog/compute/gridscale/models/buckets.rb +27 -0
  22. data/lib/fog/compute/gridscale/models/cas.rb +51 -0
  23. data/lib/fog/compute/gridscale/models/cass.rb +27 -0
  24. data/lib/fog/compute/gridscale/models/deleted_ip.rb +30 -0
  25. data/lib/fog/compute/gridscale/models/deleted_ips.rb +18 -0
  26. data/lib/fog/compute/gridscale/models/deleted_isoimage.rb +32 -0
  27. data/lib/fog/compute/gridscale/models/deleted_isoimages.rb +18 -0
  28. data/lib/fog/compute/gridscale/models/deleted_network.rb +29 -0
  29. data/lib/fog/compute/gridscale/models/deleted_networks.rb +18 -0
  30. data/lib/fog/compute/gridscale/models/deleted_server.rb +47 -0
  31. data/lib/fog/compute/gridscale/models/deleted_servers.rb +20 -0
  32. data/lib/fog/compute/gridscale/models/deleted_snapshot.rb +32 -0
  33. data/lib/fog/compute/gridscale/models/deleted_snapshots.rb +18 -0
  34. data/lib/fog/compute/gridscale/models/deleted_storage.rb +30 -0
  35. data/lib/fog/compute/gridscale/models/deleted_storages.rb +18 -0
  36. data/lib/fog/compute/gridscale/models/deleted_template.rb +33 -0
  37. data/lib/fog/compute/gridscale/models/deleted_templates.rb +19 -0
  38. data/lib/fog/compute/gridscale/models/firewall.rb +46 -0
  39. data/lib/fog/compute/gridscale/models/firewalls.rb +27 -0
  40. data/lib/fog/compute/gridscale/models/interface.rb +44 -0
  41. data/lib/fog/compute/gridscale/models/interfaces.rb +25 -0
  42. data/lib/fog/compute/gridscale/models/ip.rb +72 -0
  43. data/lib/fog/compute/gridscale/models/ips.rb +26 -0
  44. data/lib/fog/compute/gridscale/models/isoimage.rb +68 -0
  45. data/lib/fog/compute/gridscale/models/isoimages.rb +25 -0
  46. data/lib/fog/compute/gridscale/models/loadbalancer.rb +64 -0
  47. data/lib/fog/compute/gridscale/models/loadbalancers.rb +26 -0
  48. data/lib/fog/compute/gridscale/models/location.rb +18 -0
  49. data/lib/fog/compute/gridscale/models/locations.rb +26 -0
  50. data/lib/fog/compute/gridscale/models/marketplace_template.rb +71 -0
  51. data/lib/fog/compute/gridscale/models/marketplace_templates.rb +27 -0
  52. data/lib/fog/compute/gridscale/models/network.rb +73 -0
  53. data/lib/fog/compute/gridscale/models/networks.rb +25 -0
  54. data/lib/fog/compute/gridscale/models/paas_security_zone.rb +65 -0
  55. data/lib/fog/compute/gridscale/models/paas_security_zones.rb +26 -0
  56. data/lib/fog/compute/gridscale/models/paas_service.rb +62 -0
  57. data/lib/fog/compute/gridscale/models/paas_services.rb +25 -0
  58. data/lib/fog/compute/gridscale/models/paging_collection.rb +42 -0
  59. data/lib/fog/compute/gridscale/models/request.rb +16 -0
  60. data/lib/fog/compute/gridscale/models/requests.rb +19 -0
  61. data/lib/fog/compute/gridscale/models/server.rb +168 -0
  62. data/lib/fog/compute/gridscale/models/server_relation_ip.rb +49 -0
  63. data/lib/fog/compute/gridscale/models/server_relation_ips.rb +27 -0
  64. data/lib/fog/compute/gridscale/models/server_relation_isoimage.rb +47 -0
  65. data/lib/fog/compute/gridscale/models/server_relation_isoimages.rb +27 -0
  66. data/lib/fog/compute/gridscale/models/server_relation_network.rb +58 -0
  67. data/lib/fog/compute/gridscale/models/server_relation_networks.rb +28 -0
  68. data/lib/fog/compute/gridscale/models/server_relation_storage.rb +53 -0
  69. data/lib/fog/compute/gridscale/models/server_relation_storages.rb +27 -0
  70. data/lib/fog/compute/gridscale/models/servers.rb +27 -0
  71. data/lib/fog/compute/gridscale/models/snapshot.rb +56 -0
  72. data/lib/fog/compute/gridscale/models/snapshot_schedule.rb +50 -0
  73. data/lib/fog/compute/gridscale/models/snapshot_schedules.rb +25 -0
  74. data/lib/fog/compute/gridscale/models/snapshots.rb +25 -0
  75. data/lib/fog/compute/gridscale/models/sshkey.rb +49 -0
  76. data/lib/fog/compute/gridscale/models/sshkeys.rb +25 -0
  77. data/lib/fog/compute/gridscale/models/storage.rb +78 -0
  78. data/lib/fog/compute/gridscale/models/storages.rb +25 -0
  79. data/lib/fog/compute/gridscale/models/template.rb +67 -0
  80. data/lib/fog/compute/gridscale/models/templates.rb +25 -0
  81. data/lib/fog/compute/gridscale/requests/access_key_create.rb +19 -0
  82. data/lib/fog/compute/gridscale/requests/access_key_delete.rb +20 -0
  83. data/lib/fog/compute/gridscale/requests/access_key_get.rb +17 -0
  84. data/lib/fog/compute/gridscale/requests/access_keys_get.rb +19 -0
  85. data/lib/fog/compute/gridscale/requests/bucket_get.rb +18 -0
  86. data/lib/fog/compute/gridscale/requests/buckets_get.rb +18 -0
  87. data/lib/fog/compute/gridscale/requests/cas_actions_get.rb +17 -0
  88. data/lib/fog/compute/gridscale/requests/cas_create.rb +42 -0
  89. data/lib/fog/compute/gridscale/requests/cas_delete.rb +20 -0
  90. data/lib/fog/compute/gridscale/requests/cas_events_get.rb +17 -0
  91. data/lib/fog/compute/gridscale/requests/cas_get.rb +17 -0
  92. data/lib/fog/compute/gridscale/requests/cas_update.rb +23 -0
  93. data/lib/fog/compute/gridscale/requests/cass_get.rb +18 -0
  94. data/lib/fog/compute/gridscale/requests/deleted_ips_get.rb +18 -0
  95. data/lib/fog/compute/gridscale/requests/deleted_isoimages_get.rb +18 -0
  96. data/lib/fog/compute/gridscale/requests/deleted_networks_get.rb +18 -0
  97. data/lib/fog/compute/gridscale/requests/deleted_servers_get.rb +18 -0
  98. data/lib/fog/compute/gridscale/requests/deleted_snapshots_get.rb +18 -0
  99. data/lib/fog/compute/gridscale/requests/deleted_storages_get.rb +18 -0
  100. data/lib/fog/compute/gridscale/requests/deleted_templates_get.rb +18 -0
  101. data/lib/fog/compute/gridscale/requests/firewall_create.rb +31 -0
  102. data/lib/fog/compute/gridscale/requests/firewall_delete.rb +20 -0
  103. data/lib/fog/compute/gridscale/requests/firewall_events_get.rb +17 -0
  104. data/lib/fog/compute/gridscale/requests/firewall_get.rb +17 -0
  105. data/lib/fog/compute/gridscale/requests/firewall_update.rb +24 -0
  106. data/lib/fog/compute/gridscale/requests/firewalls_get.rb +18 -0
  107. data/lib/fog/compute/gridscale/requests/ip_create.rb +46 -0
  108. data/lib/fog/compute/gridscale/requests/ip_delete.rb +20 -0
  109. data/lib/fog/compute/gridscale/requests/ip_events_get.rb +17 -0
  110. data/lib/fog/compute/gridscale/requests/ip_get.rb +17 -0
  111. data/lib/fog/compute/gridscale/requests/ip_update.rb +24 -0
  112. data/lib/fog/compute/gridscale/requests/ips_get.rb +19 -0
  113. data/lib/fog/compute/gridscale/requests/isoimage_create.rb +37 -0
  114. data/lib/fog/compute/gridscale/requests/isoimage_delete.rb +20 -0
  115. data/lib/fog/compute/gridscale/requests/isoimage_events_get.rb +17 -0
  116. data/lib/fog/compute/gridscale/requests/isoimage_get.rb +17 -0
  117. data/lib/fog/compute/gridscale/requests/isoimage_update.rb +24 -0
  118. data/lib/fog/compute/gridscale/requests/isoimages_get.rb +18 -0
  119. data/lib/fog/compute/gridscale/requests/load_balancer_create.rb +40 -0
  120. data/lib/fog/compute/gridscale/requests/load_balancer_delete.rb +20 -0
  121. data/lib/fog/compute/gridscale/requests/load_balancer_events_get.rb +17 -0
  122. data/lib/fog/compute/gridscale/requests/load_balancer_get.rb +17 -0
  123. data/lib/fog/compute/gridscale/requests/load_balancer_update.rb +24 -0
  124. data/lib/fog/compute/gridscale/requests/load_balancers_get.rb +18 -0
  125. data/lib/fog/compute/gridscale/requests/location_get.rb +17 -0
  126. data/lib/fog/compute/gridscale/requests/locations_get.rb +18 -0
  127. data/lib/fog/compute/gridscale/requests/marketplace_template_create.rb +47 -0
  128. data/lib/fog/compute/gridscale/requests/marketplace_template_delete.rb +20 -0
  129. data/lib/fog/compute/gridscale/requests/marketplace_template_events_get.rb +17 -0
  130. data/lib/fog/compute/gridscale/requests/marketplace_template_get.rb +17 -0
  131. data/lib/fog/compute/gridscale/requests/marketplace_template_update.rb +24 -0
  132. data/lib/fog/compute/gridscale/requests/marketplace_templates_get.rb +17 -0
  133. data/lib/fog/compute/gridscale/requests/network_create.rb +41 -0
  134. data/lib/fog/compute/gridscale/requests/network_delete.rb +21 -0
  135. data/lib/fog/compute/gridscale/requests/network_events_get.rb +17 -0
  136. data/lib/fog/compute/gridscale/requests/network_get.rb +17 -0
  137. data/lib/fog/compute/gridscale/requests/network_update.rb +24 -0
  138. data/lib/fog/compute/gridscale/requests/networks_get.rb +18 -0
  139. data/lib/fog/compute/gridscale/requests/paas_security_zone_create.rb +36 -0
  140. data/lib/fog/compute/gridscale/requests/paas_security_zone_delete.rb +20 -0
  141. data/lib/fog/compute/gridscale/requests/paas_security_zone_get.rb +17 -0
  142. data/lib/fog/compute/gridscale/requests/paas_security_zone_update.rb +25 -0
  143. data/lib/fog/compute/gridscale/requests/paas_security_zones_get.rb +18 -0
  144. data/lib/fog/compute/gridscale/requests/paas_service_create.rb +30 -0
  145. data/lib/fog/compute/gridscale/requests/paas_service_delete.rb +20 -0
  146. data/lib/fog/compute/gridscale/requests/paas_service_get.rb +17 -0
  147. data/lib/fog/compute/gridscale/requests/paas_service_update.rb +25 -0
  148. data/lib/fog/compute/gridscale/requests/paas_services_get.rb +18 -0
  149. data/lib/fog/compute/gridscale/requests/request_get.rb +17 -0
  150. data/lib/fog/compute/gridscale/requests/server_create.rb +114 -0
  151. data/lib/fog/compute/gridscale/requests/server_delete.rb +20 -0
  152. data/lib/fog/compute/gridscale/requests/server_events_get.rb +17 -0
  153. data/lib/fog/compute/gridscale/requests/server_get.rb +17 -0
  154. data/lib/fog/compute/gridscale/requests/server_power_get.rb +17 -0
  155. data/lib/fog/compute/gridscale/requests/server_power_off.rb +25 -0
  156. data/lib/fog/compute/gridscale/requests/server_power_on.rb +25 -0
  157. data/lib/fog/compute/gridscale/requests/server_relation_ip_create.rb +32 -0
  158. data/lib/fog/compute/gridscale/requests/server_relation_ip_delete.rb +22 -0
  159. data/lib/fog/compute/gridscale/requests/server_relation_ip_get.rb +19 -0
  160. data/lib/fog/compute/gridscale/requests/server_relation_ips_get.rb +19 -0
  161. data/lib/fog/compute/gridscale/requests/server_relation_isoimage_create.rb +30 -0
  162. data/lib/fog/compute/gridscale/requests/server_relation_isoimage_delete.rb +22 -0
  163. data/lib/fog/compute/gridscale/requests/server_relation_isoimage_get.rb +19 -0
  164. data/lib/fog/compute/gridscale/requests/server_relation_isoimage_update.rb +23 -0
  165. data/lib/fog/compute/gridscale/requests/server_relation_isoimages_get.rb +19 -0
  166. data/lib/fog/compute/gridscale/requests/server_relation_network_create.rb +31 -0
  167. data/lib/fog/compute/gridscale/requests/server_relation_network_delete.rb +24 -0
  168. data/lib/fog/compute/gridscale/requests/server_relation_network_get.rb +19 -0
  169. data/lib/fog/compute/gridscale/requests/server_relation_network_update.rb +23 -0
  170. data/lib/fog/compute/gridscale/requests/server_relation_networks_get.rb +21 -0
  171. data/lib/fog/compute/gridscale/requests/server_relation_storage_create.rb +31 -0
  172. data/lib/fog/compute/gridscale/requests/server_relation_storage_delete.rb +24 -0
  173. data/lib/fog/compute/gridscale/requests/server_relation_storage_get.rb +22 -0
  174. data/lib/fog/compute/gridscale/requests/server_relation_storage_update.rb +23 -0
  175. data/lib/fog/compute/gridscale/requests/server_relation_storages_get.rb +21 -0
  176. data/lib/fog/compute/gridscale/requests/server_shutdown.rb +20 -0
  177. data/lib/fog/compute/gridscale/requests/server_update.rb +24 -0
  178. data/lib/fog/compute/gridscale/requests/servers_get.rb +18 -0
  179. data/lib/fog/compute/gridscale/requests/snapshot_create.rb +29 -0
  180. data/lib/fog/compute/gridscale/requests/snapshot_delete.rb +24 -0
  181. data/lib/fog/compute/gridscale/requests/snapshot_get.rb +19 -0
  182. data/lib/fog/compute/gridscale/requests/snapshot_schedule_create.rb +30 -0
  183. data/lib/fog/compute/gridscale/requests/snapshot_schedule_delete.rb +24 -0
  184. data/lib/fog/compute/gridscale/requests/snapshot_schedule_get.rb +19 -0
  185. data/lib/fog/compute/gridscale/requests/snapshot_schedule_update.rb +24 -0
  186. data/lib/fog/compute/gridscale/requests/snapshot_schedules_get.rb +19 -0
  187. data/lib/fog/compute/gridscale/requests/snapshot_update.rb +23 -0
  188. data/lib/fog/compute/gridscale/requests/snapshots_get.rb +18 -0
  189. data/lib/fog/compute/gridscale/requests/sshkey_create.rb +33 -0
  190. data/lib/fog/compute/gridscale/requests/sshkey_delete.rb +20 -0
  191. data/lib/fog/compute/gridscale/requests/sshkey_get.rb +17 -0
  192. data/lib/fog/compute/gridscale/requests/sshkey_update.rb +23 -0
  193. data/lib/fog/compute/gridscale/requests/sshkeys_get.rb +19 -0
  194. data/lib/fog/compute/gridscale/requests/storage_create.rb +44 -0
  195. data/lib/fog/compute/gridscale/requests/storage_delete.rb +20 -0
  196. data/lib/fog/compute/gridscale/requests/storage_events_get.rb +17 -0
  197. data/lib/fog/compute/gridscale/requests/storage_get.rb +17 -0
  198. data/lib/fog/compute/gridscale/requests/storage_update.rb +24 -0
  199. data/lib/fog/compute/gridscale/requests/storages_get.rb +18 -0
  200. data/lib/fog/compute/gridscale/requests/template_create.rb +31 -0
  201. data/lib/fog/compute/gridscale/requests/template_delete.rb +20 -0
  202. data/lib/fog/compute/gridscale/requests/template_events_get.rb +17 -0
  203. data/lib/fog/compute/gridscale/requests/template_get.rb +17 -0
  204. data/lib/fog/compute/gridscale/requests/template_update.rb +24 -0
  205. data/lib/fog/compute/gridscale/requests/templates_get.rb +19 -0
  206. data/lib/fog/gridscale.rb +15 -0
  207. data/lib/fog/gridscale/service.rb +51 -0
  208. data/lib/fog/gridscale/version.rb +5 -0
  209. metadata +322 -0
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_isoimages_get(server_uuid)
7
+ server_uuid = server_uuid[:server_uuid]
8
+
9
+ request(
10
+ :expects => [200],
11
+ :method => 'GET',
12
+ :path => "/objects/servers/#{server_uuid}/isoimages"
13
+ )
14
+ end
15
+
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,31 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_network_create(server_uuid, network_uuid, options = {})
7
+
8
+ create_options = {
9
+ :object_uuid => network_uuid,
10
+
11
+ }
12
+ if options[:bootdevice]
13
+ create_options[:bootdevice] = options[:bootdevice]
14
+ end
15
+
16
+ encoded_body = Fog::JSON.encode(create_options)
17
+ request(
18
+ :expects => [202],
19
+ :headers => {
20
+ 'Content-Type' => "application/json; charset=UTF-8",
21
+ },
22
+ :method => 'POST',
23
+ :path => "/objects/servers/#{server_uuid}/networks",
24
+ :body => encoded_body,
25
+ )
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_network_delete(object_uuid)
7
+
8
+ server_uuid = object_uuid[:server_uuid]
9
+ network_uuid = object_uuid[:network_uuid]
10
+
11
+ request(
12
+ :expects => [202],
13
+ :headers => {
14
+ 'Content-Type' => "application/json; charset=UTF-8",
15
+ },
16
+ :method => 'DELETE',
17
+ :path => "/objects/servers/#{server_uuid}/networks/#{network_uuid}",
18
+ )
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_network_get(server_uuid, network_uuid)
7
+
8
+ request(
9
+ :expects => [200],
10
+ :method => 'GET',
11
+ :path => "/objects/servers/#{server_uuid}/networks/#{network_uuid}"
12
+ )
13
+ end
14
+
15
+ end
16
+ end
17
+ end
18
+ end
19
+
@@ -0,0 +1,23 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_network_update(server_uuid, network_uuid, payload)
7
+
8
+ encoded_body = Fog::JSON.encode(payload)
9
+ request(
10
+ :expects => [202],
11
+ :headers => {
12
+ 'Content-Type' => "application/json; charset=UTF-8",
13
+ },
14
+ :method => 'PATCH',
15
+ :path => "/objects/servers/#{server_uuid}/networks/#{network_uuid}",
16
+ :body => encoded_body,
17
+ )
18
+ end
19
+
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_networks_get(server_uuid, filters={})
7
+
8
+ request(
9
+ :expects => [200],
10
+ :method => 'GET',
11
+ :path => "/objects/servers/#{server_uuid}/networks",
12
+ :query => filters
13
+ )
14
+
15
+ end
16
+
17
+ end
18
+ end
19
+ end
20
+ end
21
+
@@ -0,0 +1,31 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_storage_create(server_uuid, storage_uuid, options = {})
7
+
8
+ create_options = {
9
+ :object_uuid => storage_uuid,
10
+
11
+ }
12
+ if options[:bootdevice]
13
+ create_options[:bootdevice] = options[:bootdevice]
14
+ end
15
+
16
+ encoded_body = Fog::JSON.encode(create_options)
17
+ request(
18
+ :expects => [202],
19
+ :headers => {
20
+ 'Content-Type' => "application/json; charset=UTF-8",
21
+ },
22
+ :method => 'POST',
23
+ :path => "/objects/servers/#{server_uuid}/storages",
24
+ :body => encoded_body,
25
+ )
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_storage_delete(object_uuid)
7
+
8
+ server_uuid = object_uuid[:server_uuid]
9
+ storage_uuid = object_uuid[:storage_uuid]
10
+
11
+ request(
12
+ :expects => [202],
13
+ :headers => {
14
+ 'Content-Type' => "application/json; charset=UTF-8",
15
+ },
16
+ :method => 'DELETE',
17
+ :path => "/objects/servers/#{server_uuid}/storages/#{storage_uuid}",
18
+ )
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_storage_get(payload)
7
+
8
+ server_uuid = payload[:server_uuid]
9
+ storage_uuid = payload[:object_uuid]
10
+
11
+ request(
12
+ :expects => [200],
13
+ :method => 'GET',
14
+ :path => "/objects/servers/#{server_uuid}/storages/#{storage_uuid}"
15
+ )
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end
22
+
@@ -0,0 +1,23 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_storage_update(server_uuid, storage_uuid, options)
7
+
8
+ encoded_body = Fog::JSON.encode(options)
9
+ request(
10
+ :expects => [202],
11
+ :headers => {
12
+ 'Content-Type' => "application/json; charset=UTF-8",
13
+ },
14
+ :method => 'PATCH',
15
+ :path => "/objects/servers/#{server_uuid}/storages/#{storage_uuid}",
16
+ :body => encoded_body,
17
+ )
18
+ end
19
+
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_relation_storages_get(server_uuid)
7
+
8
+ server_uuid = server_uuid[:server_uuid]
9
+
10
+ request(
11
+ :expects => [200],
12
+ :method => 'GET',
13
+ :path => "/objects/servers/#{server_uuid}/storages"
14
+ )
15
+ end
16
+
17
+ end
18
+ end
19
+ end
20
+ end
21
+
@@ -0,0 +1,20 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_shutdown(server_uuid)
7
+ request(
8
+ :expects => [204],
9
+ :headers => {
10
+ 'Content-Type' => "application/json; charset=UTF-8",
11
+ },
12
+ :method => 'PATCH',
13
+ :path => "/objects/servers/#{server_uuid}/shutdown",
14
+ )
15
+ end
16
+
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def server_update(server_uuid, payload)
7
+
8
+ encoded_body = Fog::JSON.encode(payload)
9
+
10
+ request(
11
+ :expects => [204],
12
+ :headers => {
13
+ 'Content-Type' => "application/json; charset=UTF-8",
14
+ },
15
+ :method => 'PATCH',
16
+ :path => "/objects/servers/#{server_uuid}",
17
+ :body => encoded_body,
18
+ )
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,18 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def servers_get(filters={})
7
+ request(
8
+ :expects => [200],
9
+ :method => 'GET',
10
+ :path => "/objects/servers",
11
+ :query => filters
12
+ )
13
+ end
14
+
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,29 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def snapshot_create(storage_uuid, name, options ={})
7
+ create_options = {
8
+ :name => name
9
+ }
10
+
11
+ create_options[:labels] = options[:labels] || []
12
+
13
+ encoded_body = Fog::JSON.encode(create_options)
14
+
15
+ request(
16
+ :expects => [202],
17
+ :headers => {
18
+ 'Content-Type' => "application/json; charset=UTF-8",
19
+ },
20
+ :method => 'POST',
21
+ :path => "/objects/storages/#{storage_uuid}/snapshots",
22
+ :body => encoded_body,
23
+ )
24
+ end
25
+
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def snapshot_delete(object_uuid)
7
+
8
+ storage_uuid = object_uuid[:storage_uuid]
9
+ snapshot_uuid = object_uuid[:snapshot_uuid]
10
+
11
+ request(
12
+ :expects => [204],
13
+ :headers => {
14
+ 'Content-Type' => "application/json; charset=UTF-8",
15
+ },
16
+ :method => 'DELETE',
17
+ :path => "objects/storages/#{storage_uuid}/snapshots/#{snapshot_uuid}",
18
+ )
19
+ end
20
+
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def snapshot_get(payload)
7
+ storage_uuid = payload[:storage_uuid]
8
+ snapshot_uuid = payload[:snapshot_uuid]
9
+ request(
10
+ :expects => [200],
11
+ :method => 'GET',
12
+ :path => "/objects/storages/#{storage_uuid}/snapshots/#{snapshot_uuid}"
13
+ )
14
+ end
15
+
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,30 @@
1
+ module Fog
2
+ module Compute
3
+ class Gridscale
4
+ class Real
5
+
6
+ def snapshot_schedule_create(storage_uuid, name, run_interval, keep_snapshots, options = {})
7
+ create_options = {
8
+ :name => name,
9
+ :run_interval => run_interval,
10
+ :keep_snapshots => keep_snapshots
11
+ }
12
+ create_options[:labels] = options[:labels] || []
13
+
14
+ encoded_body = Fog::JSON.encode(create_options)
15
+
16
+ request(
17
+ :expects => [202],
18
+ :headers => {
19
+ 'Content-Type' => "application/json; charset=UTF-8",
20
+ },
21
+ :method => 'POST',
22
+ :path => "/objects/storages/#{storage_uuid}/snapshot_schedules",
23
+ :body => encoded_body,
24
+ )
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end