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
@@ -33,6 +33,7 @@ module Fog
33
33
  response-content-language
34
34
  response-content-type
35
35
  response-expires
36
+ restore
36
37
  torrent
37
38
  uploadId
38
39
  uploads
@@ -87,6 +88,7 @@ module Fog
87
88
  request :list_multipart_uploads
88
89
  request :list_parts
89
90
  request :post_object_hidden_fields
91
+ request :post_object_restore
90
92
  request :put_bucket
91
93
  request :put_bucket_acl
92
94
  request :put_bucket_cors
@@ -201,8 +203,6 @@ module Fog
201
203
  if !path_style && COMPLIANT_BUCKET_NAMES !~ bucket_name
202
204
  Fog::Logger.warning("fog: the specified s3 bucket name(#{bucket_name}) is not a valid dns name, which will negatively impact performance. For details see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/BucketRestrictions.html")
203
205
  path_style = true
204
- elsif bucket_name.include?('.')
205
- Fog::Logger.warning("fog: the specified s3 bucket name(#{bucket_name}) might fail with https.")
206
206
  end
207
207
 
208
208
  if path_style
@@ -219,7 +219,7 @@ module Fog
219
219
  :path => path,
220
220
  :headers => headers,
221
221
  })
222
-
222
+
223
223
  #
224
224
  ret.delete(:path_style)
225
225
  ret.delete(:bucket_name)
@@ -451,7 +451,7 @@ DATA
451
451
  if VALID_QUERY_KEYS.include?(key)
452
452
  value = params[:query][key]
453
453
  if value
454
- query_args << "#{key}=#{Fog::AWS.escape(value.to_s)}"
454
+ query_args << "#{key}=#{value}"
455
455
  else
456
456
  query_args << key
457
457
  end
@@ -492,7 +492,7 @@ DATA
492
492
 
493
493
  expires = Fog::Time.now.to_date_header
494
494
  signature = signature(params, expires)
495
-
495
+
496
496
  params = request_params(params)
497
497
  params.delete(:port) unless params[:port]
498
498
 
@@ -0,0 +1,23 @@
1
+ module Fog
2
+ module Billing
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
+ if provider == :stormondemand
12
+ require 'fog/storm_on_demand/billing'
13
+ Fog::Billing::StormOnDemand.new(attributes)
14
+ else
15
+ raise ArgumentError.new("#{provider} has no billing service")
16
+ end
17
+ end
18
+
19
+ def self.providers
20
+ Fog.services[:billing]
21
+ end
22
+ end
23
+ end
@@ -94,3 +94,5 @@ require 'fog/bin/vsphere'
94
94
  require 'fog/bin/voxel'
95
95
  require 'fog/bin/xenserver'
96
96
  require 'fog/bin/zerigo'
97
+ require 'fog/bin/cloudsigma'
98
+ require 'fog/bin/openvz'
@@ -0,0 +1,29 @@
1
+ class CloudSigma < Fog::Bin
2
+ class << self
3
+
4
+ def class_for(key)
5
+ case key
6
+ when :compute
7
+ Fog::Compute::CloudSigma
8
+ else
9
+ raise ArgumentError, "Unrecognized service: #{key}"
10
+ end
11
+ end
12
+
13
+ def [](service)
14
+ @@connections ||= Hash.new do |hash, key|
15
+ hash[key] = case key
16
+ when :compute
17
+ Fog::Compute.new(:provider => 'CloudSigma')
18
+ else
19
+ raise ArgumentError, "Unrecognized service: #{key.inspect}"
20
+ end
21
+ end
22
+ @@connections[service]
23
+ end
24
+
25
+ def services
26
+ Fog::CloudSigma.services
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,31 @@
1
+ class Openvz < Fog::Bin
2
+ class << self
3
+
4
+ def class_for(key)
5
+ case key
6
+ when :compute
7
+ Fog::Compute::Openvz
8
+ else
9
+ raise ArgumentError, "Unsupported #{self} service: #{key}"
10
+ end
11
+ end
12
+
13
+ def [](service)
14
+ @@connections ||= Hash.new do |hash, key|
15
+ hash[key] = case key
16
+ when :compute
17
+ Fog::Logger.warning("Openvz[:compute] is not recommended, use Compute[:openvz] for portability")
18
+ Fog::Compute.new(:provider => 'Openvz')
19
+ else
20
+ raise ArgumentError, "Unrecognized service: #{key.inspect}"
21
+ end
22
+ end
23
+ @@connections[service]
24
+ end
25
+
26
+ def services
27
+ Fog::Openvz.services
28
+ end
29
+
30
+ end
31
+ end
@@ -19,7 +19,6 @@ module Fog
19
19
  attribute :minimum
20
20
 
21
21
  def initialize(attributes = {})
22
- self.ttl ||= 3600
23
22
  super(attributes)
24
23
  end
25
24
 
@@ -51,6 +50,7 @@ module Fog
51
50
  end
52
51
 
53
52
  def save
53
+ self.ttl ||= 3600
54
54
  requires :domain, :ttl
55
55
  options = attributes.dup
56
56
  options[:name] = options.delete(:domain)
@@ -71,15 +71,15 @@ module Fog
71
71
  request :create_load_balancer
72
72
  request :create_server
73
73
  request :create_server_group
74
- request :destroy_api_client
75
- request :destroy_application
76
- request :destroy_cloud_ip
77
- request :destroy_firewall_policy
78
- request :destroy_firewall_rule
79
- request :destroy_image
80
- request :destroy_load_balancer
81
- request :destroy_server
82
- request :destroy_server_group
74
+ request :delete_api_client
75
+ request :delete_application
76
+ request :delete_cloud_ip
77
+ request :delete_firewall_policy
78
+ request :delete_firewall_rule
79
+ request :delete_image
80
+ request :delete_load_balancer
81
+ request :delete_server
82
+ request :delete_server_group
83
83
  request :get_account
84
84
  request :get_api_client
85
85
  request :get_application
@@ -244,6 +244,12 @@ module Fog
244
244
  @credentials.refresh_token
245
245
  end
246
246
 
247
+ # Returns the current token expiry time in seconds or nil
248
+ # @return [Number,nil]
249
+ def expires_in
250
+ @credentials.expires_in
251
+ end
252
+
247
253
  # Requests a new access token
248
254
  #
249
255
  # @return [String] New access token
@@ -37,7 +37,7 @@ module Fog::Brightbox::OAuth2
37
37
  #
38
38
  class CredentialSet
39
39
  attr_reader :client_id, :client_secret, :username, :password
40
- attr_reader :access_token, :refresh_token
40
+ attr_reader :access_token, :refresh_token, :expires_in
41
41
  #
42
42
  # @param [String] client_id
43
43
  # @param [String] client_secret
@@ -52,6 +52,7 @@ module Fog::Brightbox::OAuth2
52
52
  @password = options[:password]
53
53
  @access_token = options[:access_token]
54
54
  @refresh_token = options[:refresh_token]
55
+ @expires_in = options[:expires_in]
55
56
  end
56
57
 
57
58
  # Returns true if user details are available
@@ -71,9 +72,10 @@ module Fog::Brightbox::OAuth2
71
72
  end
72
73
 
73
74
  # Updates the credentials with newer tokens
74
- def update_tokens(access_token, refresh_token = nil)
75
+ def update_tokens(access_token, refresh_token = nil, expires_in = nil)
75
76
  @access_token = access_token
76
77
  @refresh_token = refresh_token
78
+ @expires_in = expires_in
77
79
  end
78
80
 
79
81
  # Based on available credentials returns the best strategy
@@ -159,6 +161,6 @@ private
159
161
  #
160
162
  def update_credentials_from_response(credentials, response)
161
163
  response_data = Fog::JSON.decode(response.body)
162
- credentials.update_tokens(response_data["access_token"], response_data["refresh_token"])
164
+ credentials.update_tokens(response_data["access_token"], response_data["refresh_token"], response_data["expires_in"])
163
165
  end
164
166
  end
@@ -6,7 +6,7 @@ module Fog
6
6
  #
7
7
  # @param [String] identifier Unique reference to identify the resource
8
8
  #
9
- # @return [Hash] The JSON response parsed to a Hash
9
+ # @return [Hash] if successful Hash version of JSON object
10
10
  #
11
11
  # @see https://api.gb1.brightbox.com/1.0/#server_activate_console_server
12
12
  #
@@ -8,7 +8,8 @@ module Fog
8
8
  # @param [Hash] options
9
9
  # @option options [Array] :listeners Array of Listener parameters. Timeout is optional and specified in milliseconds.
10
10
  #
11
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
12
13
  #
13
14
  # @see https://api.gb1.brightbox.com/1.0/#load_balancer_add_listeners_load_balancer
14
15
  #
@@ -8,7 +8,8 @@ module Fog
8
8
  # @param [Hash] options
9
9
  # @option options [Array] :nodes Array of Node parameters
10
10
  #
11
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
12
13
  #
13
14
  # @see https://api.gb1.brightbox.com/1.0/#load_balancer_add_nodes_load_balancer
14
15
  #
@@ -6,14 +6,22 @@ module Fog
6
6
  #
7
7
  # @param [String] identifier Unique reference to identify the resource
8
8
  # @param [Hash] options
9
- # @option options [Array<Hash>] :servers Array of Hashes containing `{"server" => server_id}` for each server to add
9
+ # @option options [Array<Hash>] :servers Array of Hashes containing
10
+ # +{"server" => server_id}+ for each server to add
10
11
  #
11
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
12
+ # @return [Hash] if successful Hash version of JSON object
13
+ # @return [NilClass] if no options were passed
12
14
  #
13
15
  # @see https://api.gb1.brightbox.com/1.0/#server_group_add_servers_server_group
14
16
  #
15
17
  # @example
16
- # Compute[:brightbox].add_servers_server_group "grp-12345", :servers => [{"server" => "srv-abcde"}, {"server" => "srv-fghij"}]
18
+ # options = {
19
+ # :servers => [
20
+ # {"server" => "srv-abcde"},
21
+ # {"server" => "srv-fghij"}
22
+ # ]
23
+ # }
24
+ # Compute[:brightbox].add_servers_server_group "grp-12345", options
17
25
  #
18
26
  def add_servers_server_group(identifier, options)
19
27
  return nil if identifier.nil? || identifier == ""
@@ -8,7 +8,8 @@ module Fog
8
8
  # @param [Hash] options
9
9
  # @option options [String] :server_group Server Group to apply to
10
10
  #
11
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
12
13
  #
13
14
  # @see https://api.gb1.brightbox.com/1.0/#firewall_policy_apply_to_firewall_policy
14
15
  #
@@ -8,7 +8,8 @@ module Fog
8
8
  # @option options [String] :name
9
9
  # @option options [String] :description
10
10
  #
11
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
12
13
  #
13
14
  # @see https://api.gb1.brightbox.com/1.0/#api_client_create_api_client
14
15
  #
@@ -8,7 +8,8 @@ module Fog
8
8
  # @option options [String] :name
9
9
  # @option options [String] :description
10
10
  #
11
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
12
13
  #
13
14
  # @see https://api.gb1.brightbox.com/1.0/#application_create_application
14
15
  #
@@ -9,7 +9,8 @@ module Fog
9
9
  # @option options [String] :name Name for Cloud IP
10
10
  # @option options [Array] :port_translators Port on which external clients connect and port on which your service is listening.
11
11
  #
12
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
12
+ # @return [Hash] if successful Hash version of JSON object
13
+ # @return [NilClass] if no options were passed
13
14
  #
14
15
  # @see https://api.gb1.brightbox.com/1.0/#cloud_ip_create_cloud_ip
15
16
  #
@@ -11,7 +11,8 @@ module Fog
11
11
  # @option options [String] :name Editable label
12
12
  # @option options [String] :description Longer editable description
13
13
  #
14
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
14
+ # @return [Hash] if successful Hash version of JSON object
15
+ # @return [NilClass] if no options were passed
15
16
  #
16
17
  # @see https://api.gb1.brightbox.com/1.0/#firewall_policy_create_firewall_policy
17
18
  #
@@ -14,7 +14,8 @@ module Fog
14
14
  # @option options [String] :icmp_type_name
15
15
  # @option options [String] :description
16
16
  #
17
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
17
+ # @return [Hash] if successful Hash version of JSON object
18
+ # @return [NilClass] if no options were passed
18
19
  #
19
20
  # @see https://api.gb1.brightbox.com/1.0/#firewall_rule_create_firewall_rule
20
21
  #
@@ -15,7 +15,8 @@ module Fog
15
15
  # @option options [Boolean] :compatibility_mode
16
16
  # @option options [String] :description
17
17
  #
18
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
18
+ # @return [Hash] if successful Hash version of JSON object
19
+ # @return [NilClass] if no options were passed
19
20
  #
20
21
  # @see https://api.gb1.brightbox.com/1.0/#image_create_image
21
22
  #
@@ -11,7 +11,8 @@ module Fog
11
11
  # @option options [Array] :listeners What port to listen on, port to pass through to and protocol (tcp, http or http+ws) of listener. Timeout is optional and specified in milliseconds (default is 50000).
12
12
  # @option options [String] :healthcheck Healthcheck options - only "port" and "type" required
13
13
  #
14
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
14
+ # @return [Hash] if successful Hash version of JSON object
15
+ # @return [NilClass] if no options were passed
15
16
  #
16
17
  # @see https://api.gb1.brightbox.com/1.0/#load_balancer_create_load_balancer
17
18
  #
@@ -14,7 +14,8 @@ module Fog
14
14
  # @option options [String] :user_data
15
15
  # @option options [Array] :server_groups Array of server groups to add server to
16
16
  #
17
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
17
+ # @return [Hash] if successful Hash version of JSON object
18
+ # @return [NilClass] if no options were passed
18
19
  #
19
20
  # @see https://api.gb1.brightbox.com/1.0/#server_create_server
20
21
  #
@@ -8,7 +8,8 @@ module Fog
8
8
  # @option options [String] :name Editable user label
9
9
  # @option options [String] :description Editable user description
10
10
  #
11
- # @return [Hash, nil] The JSON response parsed to a Hash or nil if no options passed
11
+ # @return [Hash] if successful Hash version of JSON object
12
+ # @return [NilClass] if no options were passed
12
13
  #
13
14
  # @see https://api.gb1.brightbox.com/1.0/#server_group_create_server_group
14
15
  #
@@ -6,15 +6,22 @@ module Fog
6
6
  #
7
7
  # @param [String] identifier Unique reference to identify the resource
8
8
  #
9
- # @return [Hash] The JSON response parsed to a Hash
9
+ # @return [Hash] if successful Hash version of JSON object
10
10
  #
11
- # @see https://api.gb1.brightbox.com/1.0/#api_client_destroy_api_client
11
+ # @see https://api.gb1.brightbox.com/1.0/#api_client_delete_api_client
12
12
  #
13
- def destroy_api_client(identifier)
13
+ def delete_api_client(identifier)
14
14
  return nil if identifier.nil? || identifier == ""
15
15
  wrapped_request("delete", "/1.0/api_clients/#{identifier}", [200])
16
16
  end
17
17
 
18
+ # Old format of the delete request.
19
+ #
20
+ # @deprecated Use +#delete_api_client+ instead
21
+ #
22
+ def destroy_api_client(identifier)
23
+ delete_api_client(identifier)
24
+ end
18
25
  end
19
26
  end
20
27
  end
@@ -6,15 +6,22 @@ module Fog
6
6
  #
7
7
  # @param [String] identifier Unique reference to identify the resource
8
8
  #
9
- # @return [Hash] The JSON response parsed to a Hash
9
+ # @return [Hash] if successful Hash version of JSON object
10
10
  #
11
- # @see https://api.gb1.brightbox.com/1.0/#application_destroy_application
11
+ # @see https://api.gb1.brightbox.com/1.0/#application_delete_application
12
12
  #
13
- def destroy_application(identifier)
13
+ def delete_application(identifier)
14
14
  return nil if identifier.nil? || identifier == ""
15
15
  wrapped_request("delete", "/1.0/applications/#{identifier}", [200])
16
16
  end
17
17
 
18
+ # Old format of the delete request.
19
+ #
20
+ # @deprecated Use +#delete_application+ instead
21
+ #
22
+ def destroy_application(identifier)
23
+ delete_application(identifier)
24
+ end
18
25
  end
19
26
  end
20
27
  end