fog 1.11.1 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (594) hide show
  1. data/Gemfile +0 -2
  2. data/Rakefile +5 -0
  3. data/changelog.txt +192 -0
  4. data/fog.gemspec +4 -4
  5. data/lib/fog.rb +3 -0
  6. data/lib/fog/account.rb +25 -0
  7. data/lib/fog/aws/cloud_formation.rb +5 -3
  8. data/lib/fog/aws/compute.rb +1 -0
  9. data/lib/fog/aws/iam.rb +2 -0
  10. data/lib/fog/aws/models/compute/server.rb +38 -32
  11. data/lib/fog/aws/models/dns/record.rb +1 -1
  12. data/lib/fog/aws/models/iam/role.rb +36 -0
  13. data/lib/fog/aws/models/iam/roles.rb +40 -0
  14. data/lib/fog/aws/models/rds/snapshots.rb +19 -3
  15. data/lib/fog/aws/models/storage/file.rb +1 -1
  16. data/lib/fog/aws/models/storage/files.rb +1 -1
  17. data/lib/fog/aws/parsers/cloud_formation/list_stack_resources.rb +32 -0
  18. data/lib/fog/aws/parsers/cloud_formation/list_stacks.rb +34 -0
  19. data/lib/fog/aws/parsers/compute/copy_image.rb +22 -0
  20. data/lib/fog/aws/parsers/compute/describe_instances.rb +11 -4
  21. data/lib/fog/aws/parsers/compute/run_instances.rb +5 -4
  22. data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +2 -0
  23. data/lib/fog/aws/rds.rb +1 -1
  24. data/lib/fog/aws/requests/cloud_formation/list_stack_resources.rb +36 -0
  25. data/lib/fog/aws/requests/cloud_formation/list_stacks.rb +37 -0
  26. data/lib/fog/aws/requests/compute/copy_image.rb +63 -0
  27. data/lib/fog/aws/requests/compute/describe_instances.rb +1 -1
  28. data/lib/fog/aws/requests/compute/run_instances.rb +3 -1
  29. data/lib/fog/aws/requests/storage/post_object_restore.rb +54 -0
  30. data/lib/fog/aws/storage.rb +5 -5
  31. data/lib/fog/billing.rb +23 -0
  32. data/lib/fog/bin.rb +2 -0
  33. data/lib/fog/bin/cloudsigma.rb +29 -0
  34. data/lib/fog/bin/openvz.rb +31 -0
  35. data/lib/fog/bluebox/models/dns/zone.rb +1 -1
  36. data/lib/fog/brightbox/compute.rb +15 -9
  37. data/lib/fog/brightbox/oauth2.rb +5 -3
  38. data/lib/fog/brightbox/requests/compute/activate_console_server.rb +1 -1
  39. data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +2 -1
  40. data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +2 -1
  41. data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +11 -3
  42. data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +2 -1
  43. data/lib/fog/brightbox/requests/compute/create_api_client.rb +2 -1
  44. data/lib/fog/brightbox/requests/compute/create_application.rb +2 -1
  45. data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +2 -1
  46. data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +2 -1
  47. data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +2 -1
  48. data/lib/fog/brightbox/requests/compute/create_image.rb +2 -1
  49. data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +2 -1
  50. data/lib/fog/brightbox/requests/compute/create_server.rb +2 -1
  51. data/lib/fog/brightbox/requests/compute/create_server_group.rb +2 -1
  52. data/lib/fog/brightbox/requests/compute/{destroy_api_client.rb → delete_api_client.rb} +10 -3
  53. data/lib/fog/brightbox/requests/compute/{destroy_application.rb → delete_application.rb} +10 -3
  54. data/lib/fog/brightbox/requests/compute/{destroy_cloud_ip.rb → delete_cloud_ip.rb} +10 -3
  55. data/lib/fog/brightbox/requests/compute/{destroy_firewall_policy.rb → delete_firewall_policy.rb} +10 -3
  56. data/lib/fog/brightbox/requests/compute/{destroy_firewall_rule.rb → delete_firewall_rule.rb} +10 -3
  57. data/lib/fog/brightbox/requests/compute/{destroy_image.rb → delete_image.rb} +10 -3
  58. data/lib/fog/brightbox/requests/compute/{destroy_load_balancer.rb → delete_load_balancer.rb} +10 -3
  59. data/lib/fog/brightbox/requests/compute/{destroy_server.rb → delete_server.rb} +10 -3
  60. data/lib/fog/brightbox/requests/compute/{destroy_server_group.rb → delete_server_group.rb} +10 -3
  61. data/lib/fog/brightbox/requests/compute/get_account.rb +1 -1
  62. data/lib/fog/brightbox/requests/compute/get_api_client.rb +1 -1
  63. data/lib/fog/brightbox/requests/compute/get_application.rb +1 -1
  64. data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +1 -1
  65. data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +1 -1
  66. data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +1 -1
  67. data/lib/fog/brightbox/requests/compute/get_image.rb +1 -1
  68. data/lib/fog/brightbox/requests/compute/get_interface.rb +1 -1
  69. data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +1 -1
  70. data/lib/fog/brightbox/requests/compute/get_server.rb +1 -1
  71. data/lib/fog/brightbox/requests/compute/get_server_group.rb +1 -1
  72. data/lib/fog/brightbox/requests/compute/get_server_type.rb +1 -1
  73. data/lib/fog/brightbox/requests/compute/get_user.rb +1 -1
  74. data/lib/fog/brightbox/requests/compute/get_zone.rb +1 -1
  75. data/lib/fog/brightbox/requests/compute/list_accounts.rb +1 -1
  76. data/lib/fog/brightbox/requests/compute/list_api_clients.rb +1 -1
  77. data/lib/fog/brightbox/requests/compute/list_applications.rb +1 -1
  78. data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +1 -1
  79. data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +1 -1
  80. data/lib/fog/brightbox/requests/compute/list_images.rb +1 -1
  81. data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +1 -1
  82. data/lib/fog/brightbox/requests/compute/list_server_groups.rb +1 -1
  83. data/lib/fog/brightbox/requests/compute/list_server_types.rb +1 -1
  84. data/lib/fog/brightbox/requests/compute/list_servers.rb +1 -1
  85. data/lib/fog/brightbox/requests/compute/list_users.rb +1 -1
  86. data/lib/fog/brightbox/requests/compute/list_zones.rb +1 -1
  87. data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +2 -1
  88. data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +12 -3
  89. data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +2 -1
  90. data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +2 -1
  91. data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +2 -1
  92. data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +11 -3
  93. data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +2 -2
  94. data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +1 -2
  95. data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +1 -1
  96. data/lib/fog/brightbox/requests/compute/shutdown_server.rb +1 -1
  97. data/lib/fog/brightbox/requests/compute/snapshot_server.rb +1 -1
  98. data/lib/fog/brightbox/requests/compute/start_server.rb +1 -1
  99. data/lib/fog/brightbox/requests/compute/stop_server.rb +1 -1
  100. data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +1 -1
  101. data/lib/fog/brightbox/requests/compute/update_account.rb +2 -1
  102. data/lib/fog/brightbox/requests/compute/update_api_client.rb +2 -1
  103. data/lib/fog/brightbox/requests/compute/update_application.rb +2 -1
  104. data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +2 -1
  105. data/lib/fog/brightbox/requests/compute/update_firewall_policy.rb +2 -1
  106. data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +2 -1
  107. data/lib/fog/brightbox/requests/compute/update_image.rb +2 -1
  108. data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +2 -1
  109. data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +2 -1
  110. data/lib/fog/brightbox/requests/compute/update_server.rb +2 -1
  111. data/lib/fog/brightbox/requests/compute/update_server_group.rb +2 -1
  112. data/lib/fog/brightbox/requests/compute/update_user.rb +2 -1
  113. data/lib/fog/cloudsigma.rb +9 -0
  114. data/lib/fog/cloudsigma/compute.rb +221 -0
  115. data/lib/fog/cloudsigma/connection.rb +197 -0
  116. data/lib/fog/cloudsigma/error.rb +45 -0
  117. data/lib/fog/cloudsigma/mock_data.rb +46 -0
  118. data/lib/fog/cloudsigma/models/balance.rb +12 -0
  119. data/lib/fog/cloudsigma/models/current_usage.rb +19 -0
  120. data/lib/fog/cloudsigma/models/ip.rb +22 -0
  121. data/lib/fog/cloudsigma/models/ipconf.rb +12 -0
  122. data/lib/fog/cloudsigma/models/ips.rb +27 -0
  123. data/lib/fog/cloudsigma/models/lib_volume.rb +50 -0
  124. data/lib/fog/cloudsigma/models/lib_volumes.rb +27 -0
  125. data/lib/fog/cloudsigma/models/mountpoint.rb +25 -0
  126. data/lib/fog/cloudsigma/models/nic.rb +22 -0
  127. data/lib/fog/cloudsigma/models/obj_ref.rb +12 -0
  128. data/lib/fog/cloudsigma/models/price_calculation.rb +13 -0
  129. data/lib/fog/cloudsigma/models/price_record.rb +38 -0
  130. data/lib/fog/cloudsigma/models/pricing.rb +20 -0
  131. data/lib/fog/cloudsigma/models/profile.rb +50 -0
  132. data/lib/fog/cloudsigma/models/server.rb +208 -0
  133. data/lib/fog/cloudsigma/models/servers.rb +27 -0
  134. data/lib/fog/cloudsigma/models/subscription.rb +53 -0
  135. data/lib/fog/cloudsigma/models/subscriptions.rb +41 -0
  136. data/lib/fog/cloudsigma/models/usage_record.rb +13 -0
  137. data/lib/fog/cloudsigma/models/vlan.rb +29 -0
  138. data/lib/fog/cloudsigma/models/vlans.rb +27 -0
  139. data/lib/fog/cloudsigma/models/volume.rb +71 -0
  140. data/lib/fog/cloudsigma/models/volumes.rb +27 -0
  141. data/lib/fog/cloudsigma/nested_model.rb +60 -0
  142. data/lib/fog/cloudsigma/requests/calculate_subscription_price.rb +18 -0
  143. data/lib/fog/cloudsigma/requests/clone_libvolume.rb +32 -0
  144. data/lib/fog/cloudsigma/requests/clone_server.rb +32 -0
  145. data/lib/fog/cloudsigma/requests/clone_volume.rb +32 -0
  146. data/lib/fog/cloudsigma/requests/close_vnc.rb +30 -0
  147. data/lib/fog/cloudsigma/requests/create_server.rb +33 -0
  148. data/lib/fog/cloudsigma/requests/create_subscription.rb +40 -0
  149. data/lib/fog/cloudsigma/requests/create_volume.rb +30 -0
  150. data/lib/fog/cloudsigma/requests/delete_server.rb +18 -0
  151. data/lib/fog/cloudsigma/requests/delete_volume.rb +18 -0
  152. data/lib/fog/cloudsigma/requests/extend_subscription.rb +22 -0
  153. data/lib/fog/cloudsigma/requests/get_balance.rb +18 -0
  154. data/lib/fog/cloudsigma/requests/get_current_usage.rb +18 -0
  155. data/lib/fog/cloudsigma/requests/get_ip.rb +18 -0
  156. data/lib/fog/cloudsigma/requests/get_lib_volume.rb +18 -0
  157. data/lib/fog/cloudsigma/requests/get_pricing.rb +28 -0
  158. data/lib/fog/cloudsigma/requests/get_profile.rb +18 -0
  159. data/lib/fog/cloudsigma/requests/get_server.rb +18 -0
  160. data/lib/fog/cloudsigma/requests/get_subscription.rb +18 -0
  161. data/lib/fog/cloudsigma/requests/get_vlan.rb +18 -0
  162. data/lib/fog/cloudsigma/requests/get_volume.rb +18 -0
  163. data/lib/fog/cloudsigma/requests/list_ips.rb +18 -0
  164. data/lib/fog/cloudsigma/requests/list_lib_volumes.rb +18 -0
  165. data/lib/fog/cloudsigma/requests/list_servers.rb +18 -0
  166. data/lib/fog/cloudsigma/requests/list_subscriptions.rb +18 -0
  167. data/lib/fog/cloudsigma/requests/list_vlans.rb +18 -0
  168. data/lib/fog/cloudsigma/requests/list_volumes.rb +18 -0
  169. data/lib/fog/cloudsigma/requests/open_vnc.rb +34 -0
  170. data/lib/fog/cloudsigma/requests/start_server.rb +32 -0
  171. data/lib/fog/cloudsigma/requests/stop_server.rb +33 -0
  172. data/lib/fog/cloudsigma/requests/update_profile.rb +18 -0
  173. data/lib/fog/cloudsigma/requests/update_server.rb +40 -0
  174. data/lib/fog/cloudsigma/requests/update_vlan.rb +20 -0
  175. data/lib/fog/cloudsigma/requests/update_volume.rb +18 -0
  176. data/lib/fog/cloudstack/models/compute/servers.rb +3 -2
  177. data/lib/fog/core/json.rb +6 -48
  178. data/lib/fog/dns.rb +10 -6
  179. data/lib/fog/dnsimple/models/dns/record.rb +0 -1
  180. data/lib/fog/dnsmadeeasy/models/dns/record.rb +1 -1
  181. data/lib/fog/dreamhost/dns.rb +3 -1
  182. data/lib/fog/dynect/models/dns/zone.rb +1 -1
  183. data/lib/fog/hp.rb +1 -1
  184. data/lib/fog/internet_archive/models/storage/file.rb +1 -1
  185. data/lib/fog/internet_archive/models/storage/files.rb +1 -1
  186. data/lib/fog/joyent/compute.rb +59 -42
  187. data/lib/fog/joyent/errors.rb +2 -2
  188. data/lib/fog/joyent/models/compute/network.rb +13 -0
  189. data/lib/fog/joyent/models/compute/networks.rb +15 -0
  190. data/lib/fog/joyent/models/compute/server.rb +2 -1
  191. data/lib/fog/joyent/models/compute/servers.rb +3 -1
  192. data/lib/fog/joyent/requests/compute/delete_machine.rb +1 -1
  193. data/lib/fog/joyent/requests/compute/get_machine.rb +1 -1
  194. data/lib/fog/joyent/requests/compute/list_machines.rb +2 -1
  195. data/lib/fog/joyent/requests/compute/list_networks.rb +26 -0
  196. data/lib/fog/joyent/requests/compute/resize_machine.rb +2 -1
  197. data/lib/fog/libvirt/models/compute/nic.rb +1 -0
  198. data/lib/fog/linode/models/dns/record.rb +0 -1
  199. data/lib/fog/linode/models/dns/zone.rb +0 -1
  200. data/lib/fog/local/models/storage/files.rb +13 -13
  201. data/lib/fog/monitoring.rb +24 -0
  202. data/lib/fog/network.rb +4 -1
  203. data/lib/fog/openstack/compute.rb +5 -0
  204. data/lib/fog/openstack/identity.rb +2 -1
  205. data/lib/fog/openstack/image.rb +4 -1
  206. data/lib/fog/openstack/models/image/images.rb +1 -0
  207. data/lib/fog/openstack/models/network/lb_health_monitor.rb +68 -0
  208. data/lib/fog/openstack/models/network/lb_health_monitors.rb +34 -0
  209. data/lib/fog/openstack/models/network/lb_member.rb +53 -0
  210. data/lib/fog/openstack/models/network/lb_members.rb +34 -0
  211. data/lib/fog/openstack/models/network/lb_pool.rb +78 -0
  212. data/lib/fog/openstack/models/network/lb_pools.rb +34 -0
  213. data/lib/fog/openstack/models/network/lb_vip.rb +59 -0
  214. data/lib/fog/openstack/models/network/lb_vips.rb +34 -0
  215. data/lib/fog/openstack/network.rb +52 -4
  216. data/lib/fog/openstack/requests/compute/add_flavor_access.rb +31 -0
  217. data/lib/fog/openstack/requests/compute/allocate_address.rb +1 -1
  218. data/lib/fog/openstack/requests/compute/attach_volume.rb +1 -1
  219. data/lib/fog/openstack/requests/compute/boot_from_snapshot.rb +1 -1
  220. data/lib/fog/openstack/requests/compute/create_flavor.rb +1 -1
  221. data/lib/fog/openstack/requests/compute/create_key_pair.rb +1 -1
  222. data/lib/fog/openstack/requests/compute/create_security_group.rb +1 -1
  223. data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -1
  224. data/lib/fog/openstack/requests/compute/create_server.rb +4 -6
  225. data/lib/fog/openstack/requests/compute/create_volume.rb +1 -1
  226. data/lib/fog/openstack/requests/compute/create_volume_snapshot.rb +1 -1
  227. data/lib/fog/openstack/requests/compute/list_address_pools.rb +10 -0
  228. data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -1
  229. data/lib/fog/openstack/requests/compute/list_tenants_with_flavor_access.rb +26 -0
  230. data/lib/fog/openstack/requests/compute/remove_flavor_access.rb +31 -0
  231. data/lib/fog/openstack/requests/compute/update_quota.rb +1 -1
  232. data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +1 -1
  233. data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
  234. data/lib/fog/openstack/requests/identity/create_user.rb +1 -1
  235. data/lib/fog/openstack/requests/identity/update_user.rb +1 -1
  236. data/lib/fog/openstack/requests/image/update_image_members.rb +1 -1
  237. data/lib/fog/openstack/requests/network/associate_lb_health_monitor.rb +39 -0
  238. data/lib/fog/openstack/requests/network/create_lb_health_monitor.rb +56 -0
  239. data/lib/fog/openstack/requests/network/create_lb_member.rb +53 -0
  240. data/lib/fog/openstack/requests/network/create_lb_pool.rb +60 -0
  241. data/lib/fog/openstack/requests/network/create_lb_vip.rb +60 -0
  242. data/lib/fog/openstack/requests/network/delete_lb_health_monitor.rb +30 -0
  243. data/lib/fog/openstack/requests/network/delete_lb_member.rb +30 -0
  244. data/lib/fog/openstack/requests/network/delete_lb_pool.rb +30 -0
  245. data/lib/fog/openstack/requests/network/delete_lb_vip.rb +30 -0
  246. data/lib/fog/openstack/requests/network/disassociate_lb_health_monitor.rb +31 -0
  247. data/lib/fog/openstack/requests/network/get_lb_health_monitor.rb +30 -0
  248. data/lib/fog/openstack/requests/network/get_lb_member.rb +30 -0
  249. data/lib/fog/openstack/requests/network/get_lb_pool.rb +30 -0
  250. data/lib/fog/openstack/requests/network/get_lb_pool_stats.rb +35 -0
  251. data/lib/fog/openstack/requests/network/get_lb_vip.rb +30 -0
  252. data/lib/fog/openstack/requests/network/list_lb_health_monitors.rb +27 -0
  253. data/lib/fog/openstack/requests/network/list_lb_members.rb +27 -0
  254. data/lib/fog/openstack/requests/network/list_lb_pools.rb +27 -0
  255. data/lib/fog/openstack/requests/network/list_lb_vips.rb +27 -0
  256. data/lib/fog/openstack/requests/network/update_lb_health_monitor.rb +45 -0
  257. data/lib/fog/openstack/requests/network/update_lb_member.rb +41 -0
  258. data/lib/fog/openstack/requests/network/update_lb_pool.rb +42 -0
  259. data/lib/fog/openstack/requests/network/update_lb_vip.rb +44 -0
  260. data/lib/fog/openstack/requests/storage/put_object_manifest.rb +19 -6
  261. data/lib/fog/openstack/requests/volume/create_volume.rb +1 -1
  262. data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +1 -1
  263. data/lib/fog/openstack/volume.rb +4 -1
  264. data/lib/fog/openvz.rb +9 -0
  265. data/lib/fog/openvz/README.md +188 -0
  266. data/lib/fog/openvz/compute.rb +176 -0
  267. data/lib/fog/openvz/models/compute/server.rb +194 -0
  268. data/lib/fog/openvz/models/compute/servers.rb +27 -0
  269. data/lib/fog/openvz/requests/compute/compact_server.rb +21 -0
  270. data/lib/fog/openvz/requests/compute/convert_server.rb +21 -0
  271. data/lib/fog/openvz/requests/compute/create_server.rb +23 -0
  272. data/lib/fog/openvz/requests/compute/destroy_server.rb +21 -0
  273. data/lib/fog/openvz/requests/compute/exec2_server.rb +21 -0
  274. data/lib/fog/openvz/requests/compute/exec_server.rb +21 -0
  275. data/lib/fog/openvz/requests/compute/get_server_details.rb +21 -0
  276. data/lib/fog/openvz/requests/compute/list_servers.rb +21 -0
  277. data/lib/fog/openvz/requests/compute/mount_server.rb +21 -0
  278. data/lib/fog/openvz/requests/compute/quotainit_server.rb +21 -0
  279. data/lib/fog/openvz/requests/compute/quotaoff_server.rb +21 -0
  280. data/lib/fog/openvz/requests/compute/quotaon_server.rb +21 -0
  281. data/lib/fog/openvz/requests/compute/restart_server.rb +24 -0
  282. data/lib/fog/openvz/requests/compute/resume_server.rb +21 -0
  283. data/lib/fog/openvz/requests/compute/runscript_server.rb +21 -0
  284. data/lib/fog/openvz/requests/compute/set_server.rb +27 -0
  285. data/lib/fog/openvz/requests/compute/snapshot_delete_server.rb +21 -0
  286. data/lib/fog/openvz/requests/compute/snapshot_list_server.rb +21 -0
  287. data/lib/fog/openvz/requests/compute/snapshot_mount_server.rb +21 -0
  288. data/lib/fog/openvz/requests/compute/snapshot_server.rb +21 -0
  289. data/lib/fog/openvz/requests/compute/snapshot_switch_server.rb +21 -0
  290. data/lib/fog/openvz/requests/compute/snapshot_umount_server.rb +21 -0
  291. data/lib/fog/openvz/requests/compute/start_server.rb +24 -0
  292. data/lib/fog/openvz/requests/compute/status_server.rb +21 -0
  293. data/lib/fog/openvz/requests/compute/stop_server.rb +24 -0
  294. data/lib/fog/openvz/requests/compute/suspend_server.rb +21 -0
  295. data/lib/fog/openvz/requests/compute/umount_server.rb +21 -0
  296. data/lib/fog/rackspace.rb +1 -1
  297. data/lib/fog/rackspace/block_storage.rb +2 -1
  298. data/lib/fog/rackspace/compute.rb +2 -1
  299. data/lib/fog/rackspace/compute_v2.rb +8 -7
  300. data/lib/fog/rackspace/databases.rb +2 -1
  301. data/lib/fog/rackspace/dns.rb +2 -1
  302. data/lib/fog/rackspace/docs/storage.md +35 -1
  303. data/lib/fog/rackspace/examples/storage/upload_large_files.rb +103 -0
  304. data/lib/fog/rackspace/load_balancers.rb +2 -1
  305. data/lib/fog/rackspace/models/compute_v2/server.rb +0 -1
  306. data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +7 -7
  307. data/lib/fog/rackspace/models/storage/file.rb +18 -0
  308. data/lib/fog/rackspace/requests/load_balancers/create_load_balancer.rb +1 -1
  309. data/lib/fog/rackspace/requests/load_balancers/update_load_balancer.rb +2 -1
  310. data/lib/fog/rackspace/requests/storage/put_object.rb +7 -4
  311. data/lib/fog/rackspace/requests/storage/put_object_manifest.rb +24 -9
  312. data/lib/fog/rackspace/service.rb +2 -1
  313. data/lib/fog/rackspace/storage.rb +2 -1
  314. data/lib/fog/riakcs.rb +2 -2
  315. data/lib/fog/riakcs/provisioning.rb +3 -1
  316. data/lib/fog/riakcs/requests/provisioning/create_user.rb +2 -2
  317. data/lib/fog/riakcs/requests/provisioning/get_user.rb +1 -1
  318. data/lib/fog/riakcs/requests/provisioning/list_users.rb +1 -1
  319. data/lib/fog/riakcs/requests/usage/get_usage.rb +1 -1
  320. data/lib/fog/riakcs/usage.rb +1 -0
  321. data/lib/fog/serverlove/compute.rb +26 -23
  322. data/lib/fog/serverlove/models/compute/server.rb +1 -1
  323. data/lib/fog/storage.rb +3 -0
  324. data/lib/fog/storm_on_demand.rb +9 -1
  325. data/lib/fog/storm_on_demand/README.md +49 -0
  326. data/lib/fog/storm_on_demand/account.rb +58 -0
  327. data/lib/fog/storm_on_demand/billing.rb +61 -0
  328. data/lib/fog/storm_on_demand/compute.rb +33 -58
  329. data/lib/fog/storm_on_demand/dns.rb +85 -0
  330. data/lib/fog/storm_on_demand/models/account/token.rb +23 -0
  331. data/lib/fog/storm_on_demand/models/account/tokens.rb +20 -0
  332. data/lib/fog/storm_on_demand/models/billing/invoice.rb +28 -0
  333. data/lib/fog/storm_on_demand/models/billing/invoices.rb +30 -0
  334. data/lib/fog/storm_on_demand/models/billing/payment.rb +17 -0
  335. data/lib/fog/storm_on_demand/models/billing/payments.rb +19 -0
  336. data/lib/fog/storm_on_demand/models/compute/config.rb +18 -4
  337. data/lib/fog/storm_on_demand/models/compute/configs.rb +6 -2
  338. data/lib/fog/storm_on_demand/models/compute/image.rb +22 -1
  339. data/lib/fog/storm_on_demand/models/compute/images.rb +12 -2
  340. data/lib/fog/storm_on_demand/models/compute/notification.rb +34 -0
  341. data/lib/fog/storm_on_demand/models/compute/notifications.rb +30 -0
  342. data/lib/fog/storm_on_demand/models/compute/product.rb +40 -0
  343. data/lib/fog/storm_on_demand/models/compute/products.rb +28 -0
  344. data/lib/fog/storm_on_demand/models/compute/server.rb +33 -9
  345. data/lib/fog/storm_on_demand/models/compute/servers.rb +7 -2
  346. data/lib/fog/storm_on_demand/models/compute/template.rb +7 -1
  347. data/lib/fog/storm_on_demand/models/compute/templates.rb +7 -2
  348. data/lib/fog/storm_on_demand/models/dns/domain.rb +34 -0
  349. data/lib/fog/storm_on_demand/models/dns/domains.rb +20 -0
  350. data/lib/fog/storm_on_demand/models/dns/record.rb +64 -0
  351. data/lib/fog/storm_on_demand/models/dns/records.rb +30 -0
  352. data/lib/fog/storm_on_demand/models/dns/reverse.rb +15 -0
  353. data/lib/fog/storm_on_demand/models/dns/reverses.rb +23 -0
  354. data/lib/fog/storm_on_demand/models/dns/zone.rb +40 -0
  355. data/lib/fog/storm_on_demand/models/dns/zones.rb +30 -0
  356. data/lib/fog/storm_on_demand/models/monitoring/bandwidth.rb +23 -0
  357. data/lib/fog/storm_on_demand/models/monitoring/bandwidths.rb +23 -0
  358. data/lib/fog/storm_on_demand/models/{compute/stat.rb → monitoring/load.rb} +6 -6
  359. data/lib/fog/storm_on_demand/models/monitoring/loads.rb +24 -0
  360. data/lib/fog/storm_on_demand/models/monitoring/monitor_service.rb +22 -0
  361. data/lib/fog/storm_on_demand/models/monitoring/monitor_services.rb +32 -0
  362. data/lib/fog/storm_on_demand/models/{compute → network}/balancer.rb +27 -5
  363. data/lib/fog/storm_on_demand/models/network/balancers.rb +44 -0
  364. data/lib/fog/storm_on_demand/models/network/firewall.rb +20 -0
  365. data/lib/fog/storm_on_demand/models/network/firewalls.rb +32 -0
  366. data/lib/fog/storm_on_demand/models/network/network_ip.rb +23 -0
  367. data/lib/fog/storm_on_demand/models/network/network_ips.rb +48 -0
  368. data/lib/fog/storm_on_demand/models/network/pool.rb +32 -0
  369. data/lib/fog/storm_on_demand/models/network/pools.rb +28 -0
  370. data/lib/fog/storm_on_demand/models/{compute → network}/private_ip.rb +2 -3
  371. data/lib/fog/storm_on_demand/models/network/private_ips.rb +40 -0
  372. data/lib/fog/storm_on_demand/models/network/ruleset.rb +27 -0
  373. data/lib/fog/storm_on_demand/models/network/rulesets.rb +28 -0
  374. data/lib/fog/storm_on_demand/models/network/zone.rb +27 -0
  375. data/lib/fog/storm_on_demand/models/network/zones.rb +24 -0
  376. data/lib/fog/storm_on_demand/models/storage/cluster.rb +20 -0
  377. data/lib/fog/storm_on_demand/models/storage/clusters.rb +20 -0
  378. data/lib/fog/storm_on_demand/models/storage/volume.rb +54 -0
  379. data/lib/fog/storm_on_demand/models/storage/volumes.rb +30 -0
  380. data/lib/fog/storm_on_demand/models/support/alert.rb +19 -0
  381. data/lib/fog/storm_on_demand/models/support/alerts.rb +20 -0
  382. data/lib/fog/storm_on_demand/models/support/ticket.rb +74 -0
  383. data/lib/fog/storm_on_demand/models/support/tickets.rb +33 -0
  384. data/lib/fog/storm_on_demand/models/vpn/vpn.rb +30 -0
  385. data/lib/fog/storm_on_demand/models/vpn/vpns.rb +27 -0
  386. data/lib/fog/storm_on_demand/monitoring.rb +68 -0
  387. data/lib/fog/storm_on_demand/network.rb +113 -0
  388. data/lib/fog/storm_on_demand/requests/account/create_token.rb +16 -0
  389. data/lib/fog/storm_on_demand/requests/account/expire_token.rb +16 -0
  390. data/lib/fog/storm_on_demand/requests/billing/get_invoice.rb +16 -0
  391. data/lib/fog/storm_on_demand/requests/billing/list_invoices.rb +16 -0
  392. data/lib/fog/storm_on_demand/requests/billing/make_payment.rb +16 -0
  393. data/lib/fog/storm_on_demand/requests/billing/next_invoice.rb +16 -0
  394. data/lib/fog/storm_on_demand/requests/compute/clone_server.rb +1 -1
  395. data/lib/fog/storm_on_demand/requests/compute/create_image.rb +16 -0
  396. data/lib/fog/storm_on_demand/requests/compute/create_server.rb +1 -1
  397. data/lib/fog/storm_on_demand/requests/compute/current_notifications.rb +16 -0
  398. data/lib/fog/storm_on_demand/requests/compute/delete_image.rb +16 -0
  399. data/lib/fog/storm_on_demand/requests/compute/delete_server.rb +1 -1
  400. data/lib/fog/storm_on_demand/requests/compute/get_config_details.rb +16 -0
  401. data/lib/fog/storm_on_demand/requests/compute/get_image_details.rb +16 -0
  402. data/lib/fog/storm_on_demand/requests/compute/get_notification.rb +16 -0
  403. data/lib/fog/storm_on_demand/requests/compute/get_product.rb +16 -0
  404. data/lib/fog/storm_on_demand/requests/compute/get_product_code.rb +16 -0
  405. data/lib/fog/storm_on_demand/requests/compute/get_product_price.rb +16 -0
  406. data/lib/fog/storm_on_demand/requests/compute/get_product_starting_price.rb +16 -0
  407. data/lib/fog/storm_on_demand/requests/compute/get_server.rb +1 -1
  408. data/lib/fog/storm_on_demand/requests/compute/get_template_details.rb +16 -0
  409. data/lib/fog/storm_on_demand/requests/compute/list_configs.rb +1 -1
  410. data/lib/fog/storm_on_demand/requests/compute/list_images.rb +2 -2
  411. data/lib/fog/storm_on_demand/requests/compute/list_notifications.rb +16 -0
  412. data/lib/fog/storm_on_demand/requests/compute/list_products.rb +16 -0
  413. data/lib/fog/storm_on_demand/requests/compute/list_servers.rb +2 -2
  414. data/lib/fog/storm_on_demand/requests/compute/list_templates.rb +2 -2
  415. data/lib/fog/storm_on_demand/requests/compute/reboot_server.rb +1 -1
  416. data/lib/fog/storm_on_demand/requests/compute/resize_server.rb +1 -1
  417. data/lib/fog/storm_on_demand/requests/compute/resolve_notification.rb +16 -0
  418. data/lib/fog/storm_on_demand/requests/compute/restore_image.rb +16 -0
  419. data/lib/fog/storm_on_demand/requests/compute/restore_template.rb +16 -0
  420. data/lib/fog/storm_on_demand/requests/compute/server_history.rb +16 -0
  421. data/lib/fog/storm_on_demand/requests/compute/server_status.rb +16 -0
  422. data/lib/fog/storm_on_demand/requests/compute/shutdown_server.rb +16 -0
  423. data/lib/fog/storm_on_demand/requests/compute/start_server.rb +16 -0
  424. data/lib/fog/storm_on_demand/requests/compute/update_image.rb +16 -0
  425. data/lib/fog/storm_on_demand/requests/compute/update_server.rb +16 -0
  426. data/lib/fog/storm_on_demand/requests/dns/check_zone_delegation.rb +16 -0
  427. data/lib/fog/storm_on_demand/requests/dns/create_record.rb +16 -0
  428. data/lib/fog/storm_on_demand/requests/dns/create_record_region.rb +16 -0
  429. data/lib/fog/storm_on_demand/requests/dns/create_zone.rb +16 -0
  430. data/lib/fog/storm_on_demand/requests/dns/delete_record.rb +16 -0
  431. data/lib/fog/storm_on_demand/requests/dns/delete_record_region.rb +16 -0
  432. data/lib/fog/storm_on_demand/requests/dns/delete_reverse.rb +16 -0
  433. data/lib/fog/storm_on_demand/requests/dns/delete_zone.rb +16 -0
  434. data/lib/fog/storm_on_demand/requests/dns/get_record.rb +16 -0
  435. data/lib/fog/storm_on_demand/requests/dns/get_zone.rb +16 -0
  436. data/lib/fog/storm_on_demand/requests/dns/list_domains.rb +16 -0
  437. data/lib/fog/storm_on_demand/requests/dns/list_records.rb +16 -0
  438. data/lib/fog/storm_on_demand/requests/dns/list_zones.rb +16 -0
  439. data/lib/fog/storm_on_demand/requests/dns/renew_domain.rb +16 -0
  440. data/lib/fog/storm_on_demand/requests/dns/update_record.rb +16 -0
  441. data/lib/fog/storm_on_demand/requests/dns/update_record_region.rb +16 -0
  442. data/lib/fog/storm_on_demand/requests/dns/update_reverse.rb +16 -0
  443. data/lib/fog/storm_on_demand/requests/dns/update_zone.rb +16 -0
  444. data/lib/fog/storm_on_demand/requests/monitoring/get_bandwidth_graph.rb +16 -0
  445. data/lib/fog/storm_on_demand/requests/monitoring/get_bandwidth_stats.rb +16 -0
  446. data/lib/fog/storm_on_demand/requests/monitoring/get_load_graph.rb +16 -0
  447. data/lib/fog/storm_on_demand/requests/monitoring/get_load_stats.rb +16 -0
  448. data/lib/fog/storm_on_demand/requests/monitoring/get_service.rb +16 -0
  449. data/lib/fog/storm_on_demand/requests/monitoring/get_service_status.rb +16 -0
  450. data/lib/fog/storm_on_demand/requests/monitoring/monitoring_ips.rb +16 -0
  451. data/lib/fog/storm_on_demand/requests/monitoring/update_service.rb +16 -0
  452. data/lib/fog/storm_on_demand/requests/{compute → network}/add_balancer_node.rb +2 -2
  453. data/lib/fog/storm_on_demand/requests/network/add_balancer_service.rb +16 -0
  454. data/lib/fog/storm_on_demand/requests/network/add_ip_to_server.rb +16 -0
  455. data/lib/fog/storm_on_demand/requests/network/attach_server_to_private_ip.rb +16 -0
  456. data/lib/fog/storm_on_demand/requests/network/check_balancer_available.rb +16 -0
  457. data/lib/fog/storm_on_demand/requests/network/check_server_attached.rb +16 -0
  458. data/lib/fog/storm_on_demand/requests/network/create_balancer.rb +16 -0
  459. data/lib/fog/storm_on_demand/requests/network/create_pool.rb +16 -0
  460. data/lib/fog/storm_on_demand/requests/network/create_ruleset.rb +16 -0
  461. data/lib/fog/storm_on_demand/requests/network/delete_balancer.rb +16 -0
  462. data/lib/fog/storm_on_demand/requests/network/delete_pool.rb +16 -0
  463. data/lib/fog/storm_on_demand/requests/network/detach_server_from_private_ip.rb +16 -0
  464. data/lib/fog/storm_on_demand/requests/network/get_assignments.rb +16 -0
  465. data/lib/fog/storm_on_demand/requests/network/get_balancer_details.rb +16 -0
  466. data/lib/fog/storm_on_demand/requests/network/get_balancer_possible_nodes.rb +16 -0
  467. data/lib/fog/storm_on_demand/requests/network/get_balancer_strategies.rb +16 -0
  468. data/lib/fog/storm_on_demand/requests/network/get_firewall.rb +16 -0
  469. data/lib/fog/storm_on_demand/requests/network/get_firewall_basic_options.rb +16 -0
  470. data/lib/fog/storm_on_demand/requests/network/get_firewall_rules.rb +16 -0
  471. data/lib/fog/storm_on_demand/requests/network/get_ip_details.rb +16 -0
  472. data/lib/fog/storm_on_demand/requests/network/get_pool.rb +16 -0
  473. data/lib/fog/storm_on_demand/requests/network/get_private_ip.rb +16 -0
  474. data/lib/fog/storm_on_demand/requests/network/get_ruleset.rb +16 -0
  475. data/lib/fog/storm_on_demand/requests/network/get_zone.rb +16 -0
  476. data/lib/fog/storm_on_demand/requests/{compute → network}/list_balancers.rb +3 -3
  477. data/lib/fog/storm_on_demand/requests/network/list_ip_public_accounts.rb +16 -0
  478. data/lib/fog/storm_on_demand/requests/network/list_network_ips.rb +16 -0
  479. data/lib/fog/storm_on_demand/requests/network/list_network_public_ips.rb +16 -0
  480. data/lib/fog/storm_on_demand/requests/{compute → network}/list_private_ips.rb +3 -3
  481. data/lib/fog/storm_on_demand/requests/network/list_rulesets.rb +16 -0
  482. data/lib/fog/storm_on_demand/requests/network/list_zones.rb +16 -0
  483. data/lib/fog/storm_on_demand/requests/{compute → network}/remove_balancer_node.rb +2 -2
  484. data/lib/fog/storm_on_demand/requests/network/remove_balancer_service.rb +16 -0
  485. data/lib/fog/storm_on_demand/requests/network/remove_ip_from_server.rb +16 -0
  486. data/lib/fog/storm_on_demand/requests/network/request_new_ips.rb +16 -0
  487. data/lib/fog/storm_on_demand/requests/network/set_default_zone.rb +16 -0
  488. data/lib/fog/storm_on_demand/requests/network/update_balancer.rb +16 -0
  489. data/lib/fog/storm_on_demand/requests/network/update_firewall.rb +16 -0
  490. data/lib/fog/storm_on_demand/requests/network/update_pool.rb +16 -0
  491. data/lib/fog/storm_on_demand/requests/network/update_ruleset.rb +16 -0
  492. data/lib/fog/storm_on_demand/requests/storage/attach_volume_to_server.rb +16 -0
  493. data/lib/fog/storm_on_demand/requests/storage/create_volume.rb +16 -0
  494. data/lib/fog/storm_on_demand/requests/storage/delete_volume.rb +16 -0
  495. data/lib/fog/storm_on_demand/requests/storage/detach_volume_from_server.rb +16 -0
  496. data/lib/fog/storm_on_demand/requests/storage/get_volume.rb +16 -0
  497. data/lib/fog/storm_on_demand/requests/storage/list_clusters.rb +16 -0
  498. data/lib/fog/storm_on_demand/requests/storage/list_volumes.rb +16 -0
  499. data/lib/fog/storm_on_demand/requests/storage/resize_volume.rb +16 -0
  500. data/lib/fog/storm_on_demand/requests/storage/update_volume.rb +16 -0
  501. data/lib/fog/storm_on_demand/requests/support/add_feedback.rb +16 -0
  502. data/lib/fog/storm_on_demand/requests/support/add_transaction_feedback.rb +16 -0
  503. data/lib/fog/storm_on_demand/requests/support/authenticate.rb +16 -0
  504. data/lib/fog/storm_on_demand/requests/support/close_ticket.rb +16 -0
  505. data/lib/fog/storm_on_demand/requests/support/create_ticket.rb +16 -0
  506. data/lib/fog/storm_on_demand/requests/support/get_active_alert.rb +16 -0
  507. data/lib/fog/storm_on_demand/requests/support/get_ticket_details.rb +16 -0
  508. data/lib/fog/storm_on_demand/requests/support/list_ticket_types.rb +16 -0
  509. data/lib/fog/storm_on_demand/requests/support/list_tickets.rb +16 -0
  510. data/lib/fog/storm_on_demand/requests/support/reopen_ticket.rb +16 -0
  511. data/lib/fog/storm_on_demand/requests/support/reply_ticket.rb +16 -0
  512. data/lib/fog/storm_on_demand/requests/vpn/create_vpn.rb +16 -0
  513. data/lib/fog/storm_on_demand/requests/vpn/get_vpn.rb +16 -0
  514. data/lib/fog/storm_on_demand/requests/vpn/list_vpn_users.rb +16 -0
  515. data/lib/fog/storm_on_demand/requests/vpn/update_vpn.rb +16 -0
  516. data/lib/fog/storm_on_demand/shared.rb +55 -0
  517. data/lib/fog/storm_on_demand/storage.rb +69 -0
  518. data/lib/fog/storm_on_demand/support.rb +68 -0
  519. data/lib/fog/storm_on_demand/vpn.rb +58 -0
  520. data/lib/fog/support.rb +26 -0
  521. data/lib/fog/vcloud/compute.rb +6 -0
  522. data/lib/fog/vcloud/models/compute/server.rb +20 -0
  523. data/lib/fog/vcloud/models/compute/tag.rb +18 -0
  524. data/lib/fog/vcloud/models/compute/tags.rb +32 -0
  525. data/lib/fog/vcloud/requests/compute/configure_metadata.rb +36 -0
  526. data/lib/fog/vcloud/requests/compute/configure_vm_customization_script.rb +33 -0
  527. data/lib/fog/vcloud/requests/compute/delete_metadata.rb +10 -0
  528. data/lib/fog/vcloud/requests/compute/get_metadata.rb +10 -0
  529. data/lib/fog/version.rb +1 -1
  530. data/lib/fog/vpn.rb +25 -0
  531. data/lib/fog/vsphere/requests/compute/get_folder.rb +1 -1
  532. data/lib/fog/zerigo/models/dns/record.rb +0 -1
  533. data/lib/fog/zerigo/models/dns/zone.rb +1 -1
  534. data/lib/fog/zerigo/models/dns/zones.rb +2 -2
  535. data/lib/fog/zerigo/requests/dns/list_zones.rb +7 -1
  536. data/lib/tasks/changelog_task.rb +1 -0
  537. data/tests/aws/models/iam/roles_tests.rb +63 -0
  538. data/tests/aws/requests/cloud_formation/stack_tests.rb +10 -0
  539. data/tests/aws/requests/compute/image_tests.rb +20 -0
  540. data/tests/aws/requests/compute/instance_tests.rb +50 -54
  541. data/tests/aws/requests/storage/object_tests.rb +7 -0
  542. data/tests/brightbox/oauth2_tests.rb +8 -1
  543. data/tests/cloudsigma/models/server_tests.rb +72 -0
  544. data/tests/cloudsigma/models/servers_tests.rb +7 -0
  545. data/tests/cloudsigma/models/volume_tests.rb +21 -0
  546. data/tests/cloudsigma/models/volumes_tests.rb +9 -0
  547. data/tests/cloudsigma/requests/server_tests.rb +81 -0
  548. data/tests/cloudsigma/requests/volumes_tests.rb +55 -0
  549. data/tests/dynect/requests/dns/dns_tests.rb +4 -4
  550. data/tests/helper.rb +3 -1
  551. data/tests/helpers/mock_helper.rb +3 -1
  552. data/tests/joyent/requests/compute/networks_tests.rb +39 -0
  553. data/tests/openstack/models/image/images_tests.rb +5 -0
  554. data/tests/openstack/models/network/lb_health_monitor_tests.rb +52 -0
  555. data/tests/openstack/models/network/lb_health_monitors_tests.rb +21 -0
  556. data/tests/openstack/models/network/lb_member_tests.rb +28 -0
  557. data/tests/openstack/models/network/lb_members_tests.rb +21 -0
  558. data/tests/openstack/models/network/lb_pool_tests.rb +53 -0
  559. data/tests/openstack/models/network/lb_pools_tests.rb +20 -0
  560. data/tests/openstack/models/network/lb_vip_tests.rb +39 -0
  561. data/tests/openstack/models/network/lb_vips_tests.rb +21 -0
  562. data/tests/openstack/requests/compute/address_tests.rb +8 -0
  563. data/tests/openstack/requests/compute/flavor_tests.rb +12 -0
  564. data/tests/openstack/requests/network/lb_health_monitor_tests.rb +93 -0
  565. data/tests/openstack/requests/network/lb_member_tests.rb +60 -0
  566. data/tests/openstack/requests/network/lb_pool_tests.rb +80 -0
  567. data/tests/openstack/requests/network/lb_vip_tests.rb +71 -0
  568. data/tests/openstack/requests/storage/large_object_tests.rb +75 -11
  569. data/tests/openvz/helper.rb +41 -0
  570. data/tests/openvz/models/compute/server_tests.rb +56 -0
  571. data/tests/openvz/models/compute/servers_tests.rb +35 -0
  572. data/tests/rackspace/block_storage_tests.rb +6 -3
  573. data/tests/rackspace/cdn_tests.rb +5 -2
  574. data/tests/rackspace/compute_tests.rb +4 -2
  575. data/tests/rackspace/compute_v2_tests.rb +4 -2
  576. data/tests/rackspace/databases_tests.rb +5 -2
  577. data/tests/rackspace/dns_tests.rb +5 -2
  578. data/tests/rackspace/load_balancer_tests.rb +4 -2
  579. data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +2 -0
  580. data/tests/rackspace/models/storage/file_tests.rb +30 -0
  581. data/tests/rackspace/requests/identity/token_tests.rb +9 -0
  582. data/tests/rackspace/requests/load_balancers/helper.rb +2 -0
  583. data/tests/rackspace/requests/load_balancers/load_balancer_tests.rb +2 -1
  584. data/tests/rackspace/requests/storage/large_object_tests.rb +75 -11
  585. data/tests/rackspace/requests/storage/object_tests.rb +32 -2
  586. data/tests/rackspace/storage_tests.rb +5 -2
  587. data/tests/vcloud/requests/compute/disk_configure_tests.rb +7 -2
  588. data/tests/zerigo/requests/dns/dns_tests.rb +59 -13
  589. metadata +394 -30
  590. data/lib/fog/storm_on_demand/models/compute/balancers.rb +0 -21
  591. data/lib/fog/storm_on_demand/models/compute/private_ips.rb +0 -31
  592. data/lib/fog/storm_on_demand/models/compute/stats.rb +0 -22
  593. data/lib/fog/storm_on_demand/requests/compute/get_stats.rb +0 -16
  594. data/tests/core/json_tests.rb +0 -62
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Real
5
+
6
+ def get_ticket_details(options={})
7
+ request(
8
+ :path => '/Support/Ticket/details',
9
+ :body => Fog::JSON.encode(:params => options)
10
+ )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Real
5
+
6
+ def list_ticket_types(options={})
7
+ request(
8
+ :path => '/Support/Ticket/types',
9
+ :body => Fog::JSON.encode(:params => options)
10
+ )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Real
5
+
6
+ def list_tickets(options={})
7
+ request(
8
+ :path => '/Support/Ticket/list',
9
+ :body => Fog::JSON.encode(:params => options)
10
+ )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Real
5
+
6
+ def reopen_ticket(options={})
7
+ request(
8
+ :path => '/Support/Ticket/reopen',
9
+ :body => Fog::JSON.encode(:params => options)
10
+ )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Support
3
+ class StormOnDemand
4
+ class Real
5
+
6
+ def reply_ticket(options={})
7
+ request(
8
+ :path => '/Support/Ticket/reply',
9
+ :body => Fog::JSON.encode(:params => options)
10
+ )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module VPN
3
+ class StormOnDemand
4
+ class Real
5
+
6
+ def create_vpn(options={})
7
+ request(
8
+ :path => '/VPN/create',
9
+ :body => Fog::JSON.encode(:params => options)
10
+ )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module VPN
3
+ class StormOnDemand
4
+ class Real
5
+
6
+ def get_vpn(options={})
7
+ request(
8
+ :path => '/VPN/details',
9
+ :body => Fog::JSON.encode(:params => options)
10
+ )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module VPN
3
+ class StormOnDemand
4
+ class Real
5
+
6
+ def list_vpn_users(options={})
7
+ request(
8
+ :path => '/VPN/list',
9
+ :body => Fog::JSON.encode(:params => options)
10
+ )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module VPN
3
+ class StormOnDemand
4
+ class Real
5
+
6
+ def update_vpn(options={})
7
+ request(
8
+ :path => '/VPN/update',
9
+ :body => Fog::JSON.encode(:params => options)
10
+ )
11
+ end
12
+
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,55 @@
1
+ module Fog
2
+ module StormOnDemand
3
+ module RealShared
4
+
5
+ API_URL = 'https://api.stormondemand.com'
6
+ API_VERSION = 'v1'
7
+
8
+ def initialize(options={})
9
+ uri = URI.parse(options[:storm_on_demand_auth_url] ||= API_URL)
10
+ @connection_options = options[:connection_options] || {}
11
+ @host = uri.host
12
+ @path = uri.path
13
+ @persistent = options[:persistent] || false
14
+ @port = uri.port
15
+ @scheme = uri.scheme
16
+ @storm_on_demand_username = options[:storm_on_demand_username]
17
+ @storm_on_demand_password = options[:storm_on_demand_password]
18
+ @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
19
+ end
20
+
21
+ def reload
22
+ @connection.reset
23
+ end
24
+
25
+ def request(params)
26
+ begin
27
+ response = @connection.request(params.merge!({
28
+ :headers => {
29
+ 'Content-Type' => 'application/json',
30
+ 'Authorization' => 'Basic ' << Base64.encode64("#{@storm_on_demand_username}:#{@storm_on_demand_password}").chomp
31
+ }.merge!(params[:headers] || {}),
32
+ :host => @host,
33
+ :path => "#{@path}/#{API_VERSION}#{params[:path]}",
34
+ :expects => 200,
35
+ :method => :post
36
+ }))
37
+ rescue Excon::Errors::HTTPStatusError => error
38
+ raise case error
39
+ when Excon::Errors::NotFound
40
+ Fog::StormOnDemand::Compute::NotFound.slurp(error)
41
+ else
42
+ error
43
+ end
44
+ end
45
+ unless response.body.empty?
46
+ response.body = Fog::JSON.decode(response.body)
47
+ end
48
+ if response.body.has_key?('error_class')
49
+ raise(Fog::Compute::StormOnDemand::Error, response.body.inspect)
50
+ end
51
+ response
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,69 @@
1
+ require "fog/storm_on_demand"
2
+ require "fog/storage"
3
+ require "fog/storm_on_demand/shared"
4
+
5
+ module Fog
6
+ module Storage
7
+ class StormOnDemand < Fog::Service
8
+
9
+ API_URL = 'https://api.stormondemand.com'
10
+ API_VERSION = 'v1'
11
+
12
+ requires :storm_on_demand_username, :storm_on_demand_password
13
+ recognizes :storm_on_demand_auth_url
14
+
15
+ model_path 'fog/storm_on_demand/models/storage'
16
+ model :cluster
17
+ collection :clusters
18
+ model :volume
19
+ collection :volumes
20
+
21
+ request_path 'fog/storm_on_demand/requests/storage'
22
+ request :list_clusters
23
+ request :attach_volume_to_server
24
+ request :create_volume
25
+ request :delete_volume
26
+ request :detach_volume_from_server
27
+ request :get_volume
28
+ request :list_volumes
29
+ request :resize_volume
30
+ request :update_volume
31
+
32
+ class Mock
33
+
34
+ def self.data
35
+ @data ||= Hash.new
36
+ end
37
+
38
+ def self.reset
39
+ @data = nil
40
+ end
41
+
42
+ def self.reset_data(keys=data.keys)
43
+ for key in [*keys]
44
+ data.delete(key)
45
+ end
46
+ end
47
+
48
+ def initialize(options={})
49
+ @storm_on_demand_username = options[:storm_on_demand_username]
50
+ end
51
+
52
+ def data
53
+ self.class.data[@storm_on_demand_username]
54
+ end
55
+
56
+ def reset_data
57
+ self.class.data.delete(@storm_on_demand_username)
58
+ end
59
+
60
+ end
61
+
62
+ class Real
63
+
64
+ include Fog::StormOnDemand::RealShared
65
+
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,68 @@
1
+ require 'fog/storm_on_demand'
2
+ require 'fog/support'
3
+ require 'fog/storm_on_demand/shared'
4
+
5
+ module Fog
6
+ module Support
7
+
8
+ class StormOnDemand < Fog::Service
9
+
10
+ requires :storm_on_demand_username, :storm_on_demand_password
11
+ recognizes :storm_on_demand_auth_url
12
+
13
+ model_path 'fog/storm_on_demand/models/support'
14
+ model :alert
15
+ collection :alerts
16
+ model :ticket
17
+ collection :tickets
18
+
19
+ request_path 'fog/storm_on_demand/requests/support'
20
+ request :get_active_alert
21
+ request :add_feedback
22
+ request :add_transaction_feedback
23
+ request :authenticate
24
+ request :close_ticket
25
+ request :create_ticket
26
+ request :get_ticket_details
27
+ request :list_tickets
28
+ request :reply_ticket
29
+ request :list_ticket_types
30
+
31
+ class Mock
32
+
33
+ def self.data
34
+ @data ||= Hash.new
35
+ end
36
+
37
+ def self.reset
38
+ @data = nil
39
+ end
40
+
41
+ def self.reset_data(keys=data.keys)
42
+ for key in [*keys]
43
+ data.delete(key)
44
+ end
45
+ end
46
+
47
+ def initialize(options={})
48
+ @storm_on_demand_username = options[:storm_on_demand_username]
49
+ end
50
+
51
+ def data
52
+ self.class.data[@storm_on_demand_username]
53
+ end
54
+
55
+ def reset_data
56
+ self.class.data.delete(@storm_on_demand_username)
57
+ end
58
+
59
+ end
60
+
61
+ class Real
62
+
63
+ include Fog::StormOnDemand::RealShared
64
+
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,58 @@
1
+ require 'fog/storm_on_demand'
2
+ require 'fog/storm_on_demand/shared'
3
+ require 'fog/vpn'
4
+
5
+ module Fog
6
+ module VPN
7
+ class StormOnDemand < Fog::Service
8
+ requires :storm_on_demand_username, :storm_on_demand_password
9
+ recognizes :storm_on_demand_auth_url
10
+
11
+ model_path 'fog/storm_on_demand/models/vpn'
12
+ model :vpn
13
+ collection :vpns
14
+
15
+ request_path 'fog/storm_on_demand/requests/vpn'
16
+ request :create_vpn
17
+ request :get_vpn
18
+ request :list_vpn_users
19
+ request :update_vpn
20
+
21
+ class Mock
22
+
23
+ def self.data
24
+ @data ||= Hash.new
25
+ end
26
+
27
+ def self.reset
28
+ @data = nil
29
+ end
30
+
31
+ def self.reset_data(keys=data.keys)
32
+ for key in [*keys]
33
+ data.delete(key)
34
+ end
35
+ end
36
+
37
+ def initialize(options={})
38
+ @storm_on_demand_username = options[:storm_on_demand_username]
39
+ end
40
+
41
+ def data
42
+ self.class.data[@storm_on_demand_username]
43
+ end
44
+
45
+ def reset_data
46
+ self.class.data.delete(@storm_on_demand_username)
47
+ end
48
+
49
+ end
50
+
51
+ class Real
52
+
53
+ include Fog::StormOnDemand::RealShared
54
+
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,26 @@
1
+ module Fog
2
+ module Support
3
+
4
+ def self.[](provider)
5
+ self.new(:provider => provider)
6
+ end
7
+
8
+ def self.new(attributes)
9
+ attributes = attributes.dup
10
+ provider = attributes.delete(:provider).to_s.downcase.to_sym
11
+
12
+ if provider == :stormondemand
13
+ require 'fog/storm_on_demand/support'
14
+ Fog::Support::StormOnDemand.new(attributes)
15
+ else
16
+ raise ArgumentError.new("#{provider} has no support service")
17
+ end
18
+
19
+ end
20
+
21
+ def self.providers
22
+ Fog.services[:support]
23
+ end
24
+
25
+ end
26
+ end
@@ -105,6 +105,8 @@ module Fog
105
105
  collection :vdcs
106
106
  model :organization
107
107
  collection :organizations
108
+ model :tag
109
+ collection :tags
108
110
 
109
111
  request_path 'fog/vcloud/requests/compute'
110
112
  request :clone_vapp
@@ -135,6 +137,10 @@ module Fog
135
137
  request :power_reset
136
138
  request :power_shutdown
137
139
  request :undeploy
140
+ request :get_metadata
141
+ request :delete_metadata
142
+ request :configure_metadata
143
+ request :configure_vm_customization_script
138
144
 
139
145
  class Mock
140
146