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,63 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand < Fog::Service
4
+ autoload :Alert, 'fog/support/storm_on_demand/models/alert'
5
+ autoload :Alerts, 'fog/support/storm_on_demand/models/alerts'
6
+ autoload :Ticket, 'fog/support/storm_on_demand/models/ticket'
7
+ autoload :Tickets, 'fog/support/storm_on_demand/models/tickets'
8
+
9
+ requires :storm_on_demand_username, :storm_on_demand_password
10
+ recognizes :storm_on_demand_auth_url
11
+
12
+ model_path 'fog/support/storm_on_demand/models'
13
+ model :alert
14
+ collection :alerts
15
+ model :ticket
16
+ collection :tickets
17
+
18
+ request_path 'fog/support/storm_on_demand/requests'
19
+ request :get_active_alert
20
+ request :add_feedback
21
+ request :add_transaction_feedback
22
+ request :authenticate
23
+ request :close_ticket
24
+ request :create_ticket
25
+ request :get_ticket_details
26
+ request :list_tickets
27
+ request :reply_ticket
28
+ request :list_ticket_types
29
+
30
+ class Mock
31
+ def self.data
32
+ @data ||= Hash.new
33
+ end
34
+
35
+ def self.reset
36
+ @data = nil
37
+ end
38
+
39
+ def self.reset_data(keys=data.keys)
40
+ for key in [*keys]
41
+ data.delete(key)
42
+ end
43
+ end
44
+
45
+ def initialize(options = {})
46
+ @storm_on_demand_username = options[:storm_on_demand_username]
47
+ end
48
+
49
+ def data
50
+ self.class.data[@storm_on_demand_username]
51
+ end
52
+
53
+ def reset_data
54
+ self.class.data.delete(@storm_on_demand_username)
55
+ end
56
+ end
57
+
58
+ class Real
59
+ include Fog::StormOnDemand::Shared
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,10 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Alert < Fog::Model
5
+ attribute :message
6
+ attribute :subject
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Alerts < Fog::Collection
5
+ model Fog::Support::StormOnDemand::Alert
6
+
7
+ def get_active
8
+ alert = service.get_active_alert.body['active_alert']
9
+ new(alert)
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,64 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Ticket < Fog::Model
5
+ identity :id
6
+ attribute :accnt
7
+ attribute :account
8
+ attribute :body
9
+ attribute :closed
10
+ attribute :email
11
+ attribute :handler
12
+ attribute :last_responded
13
+ attribute :received
14
+ attribute :secid
15
+ attribute :status
16
+ attribute :subject
17
+ attribute :type
18
+
19
+ def add_feedback(options)
20
+ requires :identity
21
+ res = service.add_feedback({:id => identity}.merge!(options)).body
22
+ res['feedback'].to_i == 1 ? true : false
23
+ end
24
+
25
+ def add_transaction_feedback(options)
26
+ requires :identity
27
+ requires :secid
28
+ params = {:ticket_id => identity,
29
+ :secid => secid}.merge!(options)
30
+ service.add_transaction_feedback(params).body
31
+ end
32
+
33
+ def authenticate(options)
34
+ requires :identity
35
+ requires :secid
36
+ params = {:id => identity, :secid => secid}.merge!(options)
37
+ service.authenticate(params).body
38
+ end
39
+
40
+ def close
41
+ requires :identity
42
+ requires :secid
43
+ res = service.close_ticket(:id => identity, :secid => secid).body
44
+ res['closed'].to_i == 1 ? true : false
45
+ end
46
+
47
+ def reopen
48
+ requires :identity
49
+ requires :secid
50
+ res = service.reopen_ticket(:id => identity, :secid => secid).body
51
+ res['reopened'].to_i == 1 ? true : false
52
+ end
53
+
54
+ def reply(options)
55
+ requires :identity
56
+ requires :secid
57
+ res = service.reply_ticket({:id => identity,
58
+ :secid => secid}.merge!(options)).body
59
+ res['reply'].to_i == 1 ? true : false
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,27 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Tickets < Fog::Collection
5
+ model Fog::Support::StormOnDemand::Ticket
6
+
7
+ def create(options)
8
+ ticket = service.create_ticket(options).body
9
+ new(ticket)
10
+ end
11
+
12
+ def get(ticket_id, secid)
13
+ service.get_ticket_details(:id => ticket_id, :secid => secid).body
14
+ end
15
+
16
+ def all(options = {})
17
+ tickets = service.list_tickets(options).body['items']
18
+ load(tickets)
19
+ end
20
+
21
+ def types
22
+ service.list_ticket_types.body['types']
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,14 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Real
5
+ def add_feedback(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/addFeedback',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def add_transaction_feedback(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/addTransactionFeedback',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def authenticate(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/authenticate',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def close_ticket(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/close',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def create_ticket(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/create',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def get_active_alert(options = {})
6
+ request(
7
+ :path => '/Support/Alert/getActive',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def get_ticket_details(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/details',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def list_ticket_types(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/types',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def list_tickets(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/list',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def reopen_ticket(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/reopen',
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 Support
3
+ class StormOnDemand
4
+ class Real
5
+ def reply_ticket(options = {})
6
+ request(
7
+ :path => '/Support/Ticket/reply',
8
+ :body => Fog::JSON.encode(:params => options)
9
+ )
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,53 @@
1
+ module Fog
2
+ module VPN
3
+ class StormOnDemand < Fog::Service
4
+ autoload :Vpn, 'fog/vpn/storm_on_demand/models/vpn'
5
+ autoload :Vpns, 'fog/vpn/storm_on_demand/models/vpns'
6
+
7
+ requires :storm_on_demand_username, :storm_on_demand_password
8
+ recognizes :storm_on_demand_auth_url
9
+
10
+ model_path 'fog/vpn/storm_on_demand/models'
11
+ model :storm_on_demand
12
+ collection :vpns
13
+
14
+ request_path 'fog/vpn/storm_on_demand/requests'
15
+ request :create_vpn
16
+ request :get_vpn
17
+ request :list_vpn_users
18
+ request :update_vpn
19
+
20
+ class Mock
21
+ def self.data
22
+ @data ||= Hash.new
23
+ end
24
+
25
+ def self.reset
26
+ @data = nil
27
+ end
28
+
29
+ def self.reset_data(keys=data.keys)
30
+ for key in [*keys]
31
+ data.delete(key)
32
+ end
33
+ end
34
+
35
+ def initialize(options = {})
36
+ @storm_on_demand_username = options[:storm_on_demand_username]
37
+ end
38
+
39
+ def data
40
+ self.class.data[@storm_on_demand_username]
41
+ end
42
+
43
+ def reset_data
44
+ self.class.data.delete(@storm_on_demand_username)
45
+ end
46
+ end
47
+
48
+ class Real
49
+ include Fog::StormOnDemand::Shared
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,22 @@
1
+ module Fog
2
+ module VPN
3
+ class StormOnDemand
4
+ class Vpn < Fog::Model
5
+ identity :uniq_id
6
+ attribute :active
7
+ attribute :activeStatus
8
+ attribute :current_users
9
+ attribute :domain
10
+ attribute :max_users
11
+ attribute :network_range
12
+ attribute :region_id
13
+ attribute :vpn
14
+
15
+ def update(options = {})
16
+ requires :identity
17
+ service.update_vpn({:uniq_id => identity}.merge!(options))
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ module Fog
2
+ module VPN
3
+ class StormOnDemand
4
+ class Vpns < Fog::Collection
5
+ model Fog::VPN::StormOnDemand::Vpn
6
+
7
+ def create(options)
8
+ vpn = service.create_vpn(options).body
9
+ new(vpn)
10
+ end
11
+
12
+ def get(uniq_id)
13
+ vpn = service.get_vpn(:uniq_id => uniq_id).body
14
+ new(vpn)
15
+ end
16
+
17
+ def all_users(options = {})
18
+ service.list_vpn_users(options).body['items']
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end