fog-storm_on_demand 0.0.1

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 (214) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.rubocop.yml +20 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +17 -0
  7. data/CONTRIBUTING.md +18 -0
  8. data/CONTRIBUTORS.md +15 -0
  9. data/Gemfile +4 -0
  10. data/LICENSE.md +20 -0
  11. data/README.md +38 -0
  12. data/Rakefile +11 -0
  13. data/fog-storm_on_demand.gemspec +34 -0
  14. data/gemfiles/Gemfile.1.9.2- +8 -0
  15. data/gemfiles/Gemfile.1.9.3+ +7 -0
  16. data/lib/fog/account/storm_on_demand.rb +51 -0
  17. data/lib/fog/account/storm_on_demand/models/token.rb +14 -0
  18. data/lib/fog/account/storm_on_demand/models/tokens.rb +14 -0
  19. data/lib/fog/account/storm_on_demand/requests/create_token.rb +14 -0
  20. data/lib/fog/account/storm_on_demand/requests/expire_token.rb +14 -0
  21. data/lib/fog/billing/storm_on_demand.rb +57 -0
  22. data/lib/fog/billing/storm_on_demand/models/invoice.rb +19 -0
  23. data/lib/fog/billing/storm_on_demand/models/invoices.rb +24 -0
  24. data/lib/fog/billing/storm_on_demand/models/payment.rb +8 -0
  25. data/lib/fog/billing/storm_on_demand/models/payments.rb +14 -0
  26. data/lib/fog/billing/storm_on_demand/requests/get_invoice.rb +14 -0
  27. data/lib/fog/billing/storm_on_demand/requests/list_invoices.rb +14 -0
  28. data/lib/fog/billing/storm_on_demand/requests/make_payment.rb +14 -0
  29. data/lib/fog/billing/storm_on_demand/requests/next_invoice.rb +14 -0
  30. data/lib/fog/bin/storm_on_demand.rb +29 -0
  31. data/lib/fog/compute/storm_on_demand.rb +115 -0
  32. data/lib/fog/compute/storm_on_demand/models/config.rb +31 -0
  33. data/lib/fog/compute/storm_on_demand/models/configs.rb +19 -0
  34. data/lib/fog/compute/storm_on_demand/models/image.rb +35 -0
  35. data/lib/fog/compute/storm_on_demand/models/images.rb +24 -0
  36. data/lib/fog/compute/storm_on_demand/models/notification.rb +25 -0
  37. data/lib/fog/compute/storm_on_demand/models/notifications.rb +24 -0
  38. data/lib/fog/compute/storm_on_demand/models/product.rb +31 -0
  39. data/lib/fog/compute/storm_on_demand/models/products.rb +22 -0
  40. data/lib/fog/compute/storm_on_demand/models/server.rb +87 -0
  41. data/lib/fog/compute/storm_on_demand/models/servers.rb +24 -0
  42. data/lib/fog/compute/storm_on_demand/models/template.rb +20 -0
  43. data/lib/fog/compute/storm_on_demand/models/templates.rb +19 -0
  44. data/lib/fog/compute/storm_on_demand/requests/clone_server.rb +14 -0
  45. data/lib/fog/compute/storm_on_demand/requests/create_image.rb +14 -0
  46. data/lib/fog/compute/storm_on_demand/requests/create_server.rb +14 -0
  47. data/lib/fog/compute/storm_on_demand/requests/current_notifications.rb +14 -0
  48. data/lib/fog/compute/storm_on_demand/requests/delete_image.rb +14 -0
  49. data/lib/fog/compute/storm_on_demand/requests/delete_server.rb +14 -0
  50. data/lib/fog/compute/storm_on_demand/requests/get_config_details.rb +14 -0
  51. data/lib/fog/compute/storm_on_demand/requests/get_image_details.rb +14 -0
  52. data/lib/fog/compute/storm_on_demand/requests/get_notification.rb +14 -0
  53. data/lib/fog/compute/storm_on_demand/requests/get_product.rb +14 -0
  54. data/lib/fog/compute/storm_on_demand/requests/get_product_code.rb +14 -0
  55. data/lib/fog/compute/storm_on_demand/requests/get_product_price.rb +14 -0
  56. data/lib/fog/compute/storm_on_demand/requests/get_product_starting_price.rb +14 -0
  57. data/lib/fog/compute/storm_on_demand/requests/get_server.rb +14 -0
  58. data/lib/fog/compute/storm_on_demand/requests/get_template_details.rb +14 -0
  59. data/lib/fog/compute/storm_on_demand/requests/list_configs.rb +14 -0
  60. data/lib/fog/compute/storm_on_demand/requests/list_images.rb +14 -0
  61. data/lib/fog/compute/storm_on_demand/requests/list_notifications.rb +14 -0
  62. data/lib/fog/compute/storm_on_demand/requests/list_products.rb +14 -0
  63. data/lib/fog/compute/storm_on_demand/requests/list_servers.rb +14 -0
  64. data/lib/fog/compute/storm_on_demand/requests/list_templates.rb +14 -0
  65. data/lib/fog/compute/storm_on_demand/requests/reboot_server.rb +14 -0
  66. data/lib/fog/compute/storm_on_demand/requests/resize_server.rb +14 -0
  67. data/lib/fog/compute/storm_on_demand/requests/resolve_notification.rb +14 -0
  68. data/lib/fog/compute/storm_on_demand/requests/restore_image.rb +14 -0
  69. data/lib/fog/compute/storm_on_demand/requests/restore_template.rb +14 -0
  70. data/lib/fog/compute/storm_on_demand/requests/server_history.rb +14 -0
  71. data/lib/fog/compute/storm_on_demand/requests/server_status.rb +14 -0
  72. data/lib/fog/compute/storm_on_demand/requests/shutdown_server.rb +14 -0
  73. data/lib/fog/compute/storm_on_demand/requests/start_server.rb +14 -0
  74. data/lib/fog/compute/storm_on_demand/requests/update_image.rb +14 -0
  75. data/lib/fog/compute/storm_on_demand/requests/update_server.rb +14 -0
  76. data/lib/fog/dns/storm_on_demand.rb +82 -0
  77. data/lib/fog/dns/storm_on_demand/models/domain.rb +25 -0
  78. data/lib/fog/dns/storm_on_demand/models/domains.rb +14 -0
  79. data/lib/fog/dns/storm_on_demand/models/record.rb +55 -0
  80. data/lib/fog/dns/storm_on_demand/models/records.rb +24 -0
  81. data/lib/fog/dns/storm_on_demand/models/reverse.rb +8 -0
  82. data/lib/fog/dns/storm_on_demand/models/reverses.rb +17 -0
  83. data/lib/fog/dns/storm_on_demand/models/zone.rb +32 -0
  84. data/lib/fog/dns/storm_on_demand/models/zones.rb +24 -0
  85. data/lib/fog/dns/storm_on_demand/requests/check_zone_delegation.rb +14 -0
  86. data/lib/fog/dns/storm_on_demand/requests/create_record.rb +14 -0
  87. data/lib/fog/dns/storm_on_demand/requests/create_record_region.rb +14 -0
  88. data/lib/fog/dns/storm_on_demand/requests/create_zone.rb +14 -0
  89. data/lib/fog/dns/storm_on_demand/requests/delete_record.rb +14 -0
  90. data/lib/fog/dns/storm_on_demand/requests/delete_record_region.rb +14 -0
  91. data/lib/fog/dns/storm_on_demand/requests/delete_reverse.rb +14 -0
  92. data/lib/fog/dns/storm_on_demand/requests/delete_zone.rb +14 -0
  93. data/lib/fog/dns/storm_on_demand/requests/get_record.rb +14 -0
  94. data/lib/fog/dns/storm_on_demand/requests/get_zone.rb +14 -0
  95. data/lib/fog/dns/storm_on_demand/requests/list_domains.rb +14 -0
  96. data/lib/fog/dns/storm_on_demand/requests/list_records.rb +14 -0
  97. data/lib/fog/dns/storm_on_demand/requests/list_zones.rb +14 -0
  98. data/lib/fog/dns/storm_on_demand/requests/renew_domain.rb +14 -0
  99. data/lib/fog/dns/storm_on_demand/requests/update_record.rb +14 -0
  100. data/lib/fog/dns/storm_on_demand/requests/update_record_region.rb +14 -0
  101. data/lib/fog/dns/storm_on_demand/requests/update_reverse.rb +14 -0
  102. data/lib/fog/dns/storm_on_demand/requests/update_zone.rb +14 -0
  103. data/lib/fog/monitoring/storm_on_demand.rb +65 -0
  104. data/lib/fog/monitoring/storm_on_demand/models/bandwidth.rb +14 -0
  105. data/lib/fog/monitoring/storm_on_demand/models/bandwidths.rb +18 -0
  106. data/lib/fog/monitoring/storm_on_demand/models/load.rb +14 -0
  107. data/lib/fog/monitoring/storm_on_demand/models/loads.rb +18 -0
  108. data/lib/fog/monitoring/storm_on_demand/models/monitor_service.rb +13 -0
  109. data/lib/fog/monitoring/storm_on_demand/models/monitor_services.rb +27 -0
  110. data/lib/fog/monitoring/storm_on_demand/requests/get_bandwidth_graph.rb +14 -0
  111. data/lib/fog/monitoring/storm_on_demand/requests/get_bandwidth_stats.rb +14 -0
  112. data/lib/fog/monitoring/storm_on_demand/requests/get_load_graph.rb +14 -0
  113. data/lib/fog/monitoring/storm_on_demand/requests/get_load_stats.rb +14 -0
  114. data/lib/fog/monitoring/storm_on_demand/requests/get_service.rb +14 -0
  115. data/lib/fog/monitoring/storm_on_demand/requests/get_service_status.rb +14 -0
  116. data/lib/fog/monitoring/storm_on_demand/requests/monitoring_ips.rb +14 -0
  117. data/lib/fog/monitoring/storm_on_demand/requests/update_service.rb +14 -0
  118. data/lib/fog/network/storm_on_demand.rb +115 -0
  119. data/lib/fog/network/storm_on_demand/models/balancer.rb +50 -0
  120. data/lib/fog/network/storm_on_demand/models/balancers.rb +37 -0
  121. data/lib/fog/network/storm_on_demand/models/firewall.rb +12 -0
  122. data/lib/fog/network/storm_on_demand/models/firewalls.rb +28 -0
  123. data/lib/fog/network/storm_on_demand/models/network_ip.rb +15 -0
  124. data/lib/fog/network/storm_on_demand/models/network_ips.rb +43 -0
  125. data/lib/fog/network/storm_on_demand/models/pool.rb +24 -0
  126. data/lib/fog/network/storm_on_demand/models/pools.rb +23 -0
  127. data/lib/fog/network/storm_on_demand/models/private_ip.rb +9 -0
  128. data/lib/fog/network/storm_on_demand/models/private_ips.rb +33 -0
  129. data/lib/fog/network/storm_on_demand/models/ruleset.rb +19 -0
  130. data/lib/fog/network/storm_on_demand/models/rulesets.rb +24 -0
  131. data/lib/fog/network/storm_on_demand/models/zone.rb +19 -0
  132. data/lib/fog/network/storm_on_demand/models/zones.rb +19 -0
  133. data/lib/fog/network/storm_on_demand/requests/add_balancer_node.rb +14 -0
  134. data/lib/fog/network/storm_on_demand/requests/add_balancer_service.rb +14 -0
  135. data/lib/fog/network/storm_on_demand/requests/add_ip_to_server.rb +14 -0
  136. data/lib/fog/network/storm_on_demand/requests/attach_server_to_private_ip.rb +14 -0
  137. data/lib/fog/network/storm_on_demand/requests/check_balancer_available.rb +14 -0
  138. data/lib/fog/network/storm_on_demand/requests/check_server_attached.rb +14 -0
  139. data/lib/fog/network/storm_on_demand/requests/create_balancer.rb +14 -0
  140. data/lib/fog/network/storm_on_demand/requests/create_pool.rb +14 -0
  141. data/lib/fog/network/storm_on_demand/requests/create_ruleset.rb +14 -0
  142. data/lib/fog/network/storm_on_demand/requests/delete_balancer.rb +14 -0
  143. data/lib/fog/network/storm_on_demand/requests/delete_pool.rb +14 -0
  144. data/lib/fog/network/storm_on_demand/requests/detach_server_from_private_ip.rb +14 -0
  145. data/lib/fog/network/storm_on_demand/requests/get_assignments.rb +14 -0
  146. data/lib/fog/network/storm_on_demand/requests/get_balancer_details.rb +14 -0
  147. data/lib/fog/network/storm_on_demand/requests/get_balancer_possible_nodes.rb +14 -0
  148. data/lib/fog/network/storm_on_demand/requests/get_balancer_strategies.rb +14 -0
  149. data/lib/fog/network/storm_on_demand/requests/get_firewall.rb +14 -0
  150. data/lib/fog/network/storm_on_demand/requests/get_firewall_basic_options.rb +14 -0
  151. data/lib/fog/network/storm_on_demand/requests/get_firewall_rules.rb +14 -0
  152. data/lib/fog/network/storm_on_demand/requests/get_ip_details.rb +14 -0
  153. data/lib/fog/network/storm_on_demand/requests/get_pool.rb +14 -0
  154. data/lib/fog/network/storm_on_demand/requests/get_private_ip.rb +14 -0
  155. data/lib/fog/network/storm_on_demand/requests/get_ruleset.rb +14 -0
  156. data/lib/fog/network/storm_on_demand/requests/get_zone.rb +14 -0
  157. data/lib/fog/network/storm_on_demand/requests/list_balancers.rb +14 -0
  158. data/lib/fog/network/storm_on_demand/requests/list_ip_public_accounts.rb +14 -0
  159. data/lib/fog/network/storm_on_demand/requests/list_network_ips.rb +14 -0
  160. data/lib/fog/network/storm_on_demand/requests/list_network_public_ips.rb +14 -0
  161. data/lib/fog/network/storm_on_demand/requests/list_private_ips.rb +14 -0
  162. data/lib/fog/network/storm_on_demand/requests/list_rulesets.rb +14 -0
  163. data/lib/fog/network/storm_on_demand/requests/list_zones.rb +14 -0
  164. data/lib/fog/network/storm_on_demand/requests/remove_balancer_node.rb +14 -0
  165. data/lib/fog/network/storm_on_demand/requests/remove_balancer_service.rb +14 -0
  166. data/lib/fog/network/storm_on_demand/requests/remove_ip_from_server.rb +14 -0
  167. data/lib/fog/network/storm_on_demand/requests/request_new_ips.rb +14 -0
  168. data/lib/fog/network/storm_on_demand/requests/set_default_zone.rb +14 -0
  169. data/lib/fog/network/storm_on_demand/requests/update_balancer.rb +14 -0
  170. data/lib/fog/network/storm_on_demand/requests/update_firewall.rb +14 -0
  171. data/lib/fog/network/storm_on_demand/requests/update_pool.rb +14 -0
  172. data/lib/fog/network/storm_on_demand/requests/update_ruleset.rb +14 -0
  173. data/lib/fog/storage/storm_on_demand.rb +62 -0
  174. data/lib/fog/storage/storm_on_demand/models/cluster.rb +11 -0
  175. data/lib/fog/storage/storm_on_demand/models/clusters.rb +14 -0
  176. data/lib/fog/storage/storm_on_demand/models/volume.rb +45 -0
  177. data/lib/fog/storage/storm_on_demand/models/volumes.rb +24 -0
  178. data/lib/fog/storage/storm_on_demand/requests/attach_volume_to_server.rb +14 -0
  179. data/lib/fog/storage/storm_on_demand/requests/create_volume.rb +14 -0
  180. data/lib/fog/storage/storm_on_demand/requests/delete_volume.rb +14 -0
  181. data/lib/fog/storage/storm_on_demand/requests/detach_volume_from_server.rb +14 -0
  182. data/lib/fog/storage/storm_on_demand/requests/get_volume.rb +14 -0
  183. data/lib/fog/storage/storm_on_demand/requests/list_clusters.rb +14 -0
  184. data/lib/fog/storage/storm_on_demand/requests/list_volumes.rb +14 -0
  185. data/lib/fog/storage/storm_on_demand/requests/resize_volume.rb +14 -0
  186. data/lib/fog/storage/storm_on_demand/requests/update_volume.rb +14 -0
  187. data/lib/fog/storm_on_demand.rb +57 -0
  188. data/lib/fog/storm_on_demand/shared.rb +53 -0
  189. data/lib/fog/storm_on_demand/version.rb +5 -0
  190. data/lib/fog/support/storm_on_demand.rb +63 -0
  191. data/lib/fog/support/storm_on_demand/models/alert.rb +10 -0
  192. data/lib/fog/support/storm_on_demand/models/alerts.rb +14 -0
  193. data/lib/fog/support/storm_on_demand/models/ticket.rb +64 -0
  194. data/lib/fog/support/storm_on_demand/models/tickets.rb +27 -0
  195. data/lib/fog/support/storm_on_demand/requests/add_feedback.rb +14 -0
  196. data/lib/fog/support/storm_on_demand/requests/add_transaction_feedback.rb +14 -0
  197. data/lib/fog/support/storm_on_demand/requests/authenticate.rb +14 -0
  198. data/lib/fog/support/storm_on_demand/requests/close_ticket.rb +14 -0
  199. data/lib/fog/support/storm_on_demand/requests/create_ticket.rb +14 -0
  200. data/lib/fog/support/storm_on_demand/requests/get_active_alert.rb +14 -0
  201. data/lib/fog/support/storm_on_demand/requests/get_ticket_details.rb +14 -0
  202. data/lib/fog/support/storm_on_demand/requests/list_ticket_types.rb +14 -0
  203. data/lib/fog/support/storm_on_demand/requests/list_tickets.rb +14 -0
  204. data/lib/fog/support/storm_on_demand/requests/reopen_ticket.rb +14 -0
  205. data/lib/fog/support/storm_on_demand/requests/reply_ticket.rb +14 -0
  206. data/lib/fog/vpn/storm_on_demand.rb +53 -0
  207. data/lib/fog/vpn/storm_on_demand/models/vpn.rb +22 -0
  208. data/lib/fog/vpn/storm_on_demand/models/vpns.rb +23 -0
  209. data/lib/fog/vpn/storm_on_demand/requests/create_vpn.rb +14 -0
  210. data/lib/fog/vpn/storm_on_demand/requests/get_vpn.rb +14 -0
  211. data/lib/fog/vpn/storm_on_demand/requests/list_vpn_users.rb +14 -0
  212. data/lib/fog/vpn/storm_on_demand/requests/update_vpn.rb +14 -0
  213. data/spec/minitest_helper.rb +31 -0
  214. metadata +371 -0
@@ -0,0 +1,18 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Bandwidths < Fog::Collection
5
+ model Fog::Monitoring::StormOnDemand::Bandwidth
6
+
7
+ def graph(options)
8
+ service.get_bandwidth_graph(options).body
9
+ end
10
+
11
+ def stats(uniq_id)
12
+ bw = service.get_bandwidth_stats(:uniq_id => uniq_id).body
13
+ new(bw)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Load < Fog::Model
5
+ attribute :disk
6
+ attribute :domain
7
+ attribute :loadavg
8
+ attribute :memory
9
+ attribute :proc
10
+ attribute :uptime
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Loads < Fog::Collection
5
+ model Fog::Monitoring::StormOnDemand::Load
6
+
7
+ def graph(options)
8
+ service.get_load_graph(options).body
9
+ end
10
+
11
+ def stats(uniq_id)
12
+ load = service.get_load_stats(:uniq_id => uniq_id).body
13
+ new(load)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,13 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class MonitorService < Fog::Model
5
+ attribute :can_monitor
6
+ attribute :enabled
7
+ attribute :services
8
+ attribute :uniq_id
9
+ attribute :unmonitored
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,27 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class MonitorServices < Fog::Collection
5
+ model Fog::Monitoring::StormOnDemand::MonitorService
6
+
7
+ def get(uniq_id)
8
+ status = service.get_service(:uniq_id => uniq_id).body
9
+ new(status)
10
+ end
11
+
12
+ def monitoring_ips
13
+ service.monitoring_ips.body['ips']
14
+ end
15
+
16
+ def status(uniq_id)
17
+ service.get_service_status(:uniq_id => uniq_id).body
18
+ end
19
+
20
+ def update(options)
21
+ status = service.update_service(options).body
22
+ new(status)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Real
5
+ def get_bandwidth_graph(options = {})
6
+ request(
7
+ :path => '/Monitoring/Bandwidth/graph',
8
+ :body => Fog::JSON.encode(:params => options)
9
+ )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Real
5
+ def get_bandwidth_stats(options = {})
6
+ request(
7
+ :path => '/Monitoring/Bandwidth/stats',
8
+ :body => Fog::JSON.encode(:params => options)
9
+ )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Real
5
+ def get_load_graph(options = {})
6
+ request(
7
+ :path => '/Monitoring/Load/graph',
8
+ :body => Fog::JSON.encode(:params => options)
9
+ )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Real
5
+ def get_load_stats(options = {})
6
+ request(
7
+ :path => '/Monitoring/Load/stats',
8
+ :body => Fog::JSON.encode(:params => options)
9
+ )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Real
5
+ def get_service(options = {})
6
+ request(
7
+ :path => '/Monitoring/Services/get',
8
+ :body => Fog::JSON.encode(:params => options)
9
+ )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Real
5
+ def get_service_status(options = {})
6
+ request(
7
+ :path => '/Monitoring/Services/status',
8
+ :body => Fog::JSON.encode(:params => options)
9
+ )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Real
5
+ def monitoring_ips(options = {})
6
+ request(
7
+ :path => '/Monitoring/Services/monitoringIps',
8
+ :body => Fog::JSON.encode(:params => options)
9
+ )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Monitoring
3
+ class StormOnDemand
4
+ class Real
5
+ def update_service(options = {})
6
+ request(
7
+ :path => '/Monitoring/Services/update',
8
+ :body => Fog::JSON.encode(:params => options)
9
+ )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,115 @@
1
+ module Fog
2
+ module Network
3
+ class StormOnDemand < Fog::Service
4
+ autoload :Balancer, 'fog/network/storm_on_demand/models/balancer'
5
+ autoload :Balancers, 'fog/network/storm_on_demand/models/balancers'
6
+ autoload :Firewall, 'fog/network/storm_on_demand/models/firewall'
7
+ autoload :Firewalls, 'fog/network/storm_on_demand/models/firewalls'
8
+ autoload :NetworkIp, 'fog/network/storm_on_demand/models/network_ip'
9
+ autoload :NetworkIps, 'fog/network/storm_on_demand/models/network_ips'
10
+ autoload :Ruleset, 'fog/network/storm_on_demand/models/ruleset'
11
+ autoload :Rulesets, 'fog/network/storm_on_demand/models/rulesets'
12
+ autoload :Zone, 'fog/network/storm_on_demand/models/zone'
13
+ autoload :Zones, 'fog/network/storm_on_demand/models/zones'
14
+
15
+ requires :storm_on_demand_username, :storm_on_demand_password
16
+ recognizes :storm_on_demand_auth_url
17
+
18
+ model_path 'fog/network/storm_on_demand/models'
19
+ model :balancer
20
+ collection :balancers
21
+ model :network_ip
22
+ collection :network_ips
23
+ model :private_ip
24
+ collection :private_ips
25
+ model :firewall
26
+ collection :firewalls
27
+ model :ruleset
28
+ collection :rulesets
29
+ model :pool
30
+ collection :pools
31
+ model :zone
32
+ collection :zones
33
+
34
+ request_path 'fog/network/storm_on_demand/requests'
35
+ request :remove_balancer_node
36
+ request :add_balancer_node
37
+ request :add_balancer_service
38
+ request :remove_balancer_service
39
+ request :check_balancer_available
40
+ request :create_balancer
41
+ request :delete_balancer
42
+ request :update_balancer
43
+ request :get_balancer_details
44
+ request :list_balancers
45
+ request :get_balancer_possible_nodes
46
+ request :get_balancer_strategies
47
+
48
+ request :list_private_ips
49
+ request :get_private_ip
50
+ request :attach_server_to_private_ip
51
+ request :detach_server_from_private_ip
52
+ request :check_server_attached
53
+
54
+ request :add_ip_to_server
55
+ request :get_ip_details
56
+ request :list_network_ips
57
+ request :list_ip_public_accounts
58
+ request :list_network_public_ips
59
+ request :remove_ip_from_server
60
+ request :request_new_ips
61
+
62
+ request :get_firewall
63
+ request :get_firewall_basic_options
64
+ request :get_firewall_rules
65
+ request :update_firewall
66
+
67
+ request :create_ruleset
68
+ request :get_ruleset
69
+ request :list_rulesets
70
+ request :update_ruleset
71
+
72
+ request :create_pool
73
+ request :delete_pool
74
+ request :get_pool
75
+ request :get_assignments
76
+ request :update_pool
77
+
78
+ request :get_zone
79
+ request :list_zones
80
+ request :set_default_zone
81
+
82
+ class Mock
83
+ def self.data
84
+ @data ||= Hash.new
85
+ end
86
+
87
+ def self.reset
88
+ @data = nil
89
+ end
90
+
91
+ def self.reset_data(keys=data.keys)
92
+ for key in [*keys]
93
+ data.delete(key)
94
+ end
95
+ end
96
+
97
+ def initialize(options = {})
98
+ @storm_on_demand_username = options[:storm_on_demand_username]
99
+ end
100
+
101
+ def data
102
+ self.class.data[@storm_on_demand_username]
103
+ end
104
+
105
+ def reset_data
106
+ self.class.data.delete(@storm_on_demand_username)
107
+ end
108
+ end
109
+
110
+ class Real
111
+ include Fog::StormOnDemand::Shared
112
+ end
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,50 @@
1
+ module Fog
2
+ module Network
3
+ class StormOnDemand
4
+ class Balancer < Fog::Model
5
+ identity :uniq_id
6
+
7
+ attribute :capabilities
8
+ attribute :name
9
+ attribute :nodes
10
+ attribute :region_id
11
+ attribute :services
12
+ attribute :session_persistence
13
+ attribute :ssl_includes
14
+ attribute :ssl_termination
15
+ attribute :strategy
16
+ attribute :vip
17
+
18
+ def add_node(options)
19
+ requires :identity
20
+ service.add_balancer_node({:uniq_id => identity}.merge!(options))
21
+ end
22
+
23
+ def remove_node(options)
24
+ requires :identity
25
+ service.remove_balancer_node({:uniq_id => identity}.merge!(options))
26
+ end
27
+
28
+ def add_service(options)
29
+ requires :identity
30
+ service.add_balancer_service({:uniq_id => identity}.merge!(options))
31
+ end
32
+
33
+ def remove_service(options)
34
+ requires :identity
35
+ service.remove_balancer_service({:uniq_id => identity}.merge!(options))
36
+ end
37
+
38
+ def destroy
39
+ requires :identity
40
+ service.delete_balancer({:uniq_id => identity})
41
+ end
42
+
43
+ def update(options)
44
+ requires :identity
45
+ service.update_balancer({:uniq_id => identity}.merge!(options))
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,37 @@
1
+ module Fog
2
+ module Network
3
+ class StormOnDemand
4
+ class Balancers < Fog::Collection
5
+ model Fog::Network::StormOnDemand::Balancer
6
+
7
+ def all(options = {})
8
+ data = service.list_balancers(options).body['items']
9
+ load(data)
10
+ end
11
+
12
+ def available(name)
13
+ avail = service.check_balancer_available(:name => name).body
14
+ avail['available'].to_i == 1 ? true : false
15
+ end
16
+
17
+ def create(options)
18
+ balancer = service.create_balancer(options).body
19
+ new(balancer)
20
+ end
21
+
22
+ def get(uniq_id)
23
+ balancer = service.get_balancer_details(:uniq_id => uniq_id).body
24
+ new(balancer)
25
+ end
26
+
27
+ def possible_nodes(options = {})
28
+ service.get_balancer_possible_nodes(options).body['items']
29
+ end
30
+
31
+ def strategies
32
+ service.get_balancer_strategies.body['strategies']
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,12 @@
1
+ module Fog
2
+ module Network
3
+ class StormOnDemand
4
+ class Firewall < Fog::Model
5
+ attribute :allow
6
+ attribute :rules
7
+ attribute :ruleset
8
+ attribute :type
9
+ end
10
+ end
11
+ end
12
+ end