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
@@ -18,7 +18,7 @@ module Fog
18
18
  request(
19
19
  :expects => 200,
20
20
  :method => 'POST',
21
- :body => Fog::JSON.encode(data),
21
+ :body => MultiJson.encode(data),
22
22
  :path => 'os-security-group-rules.json'
23
23
  )
24
24
  end
@@ -81,12 +81,10 @@ module Fog
81
81
  user_id = if user then
82
82
  user.id
83
83
  else
84
- identity.user.create(:name => @openstack_username,
85
- :password => 'password',
86
- :email =>
87
- "#{@openstack_username}@example",
88
- :tenant_id => @openstack_tenant,
89
- :enabled => true).id
84
+ response = identity.create_user(@openstack_username,
85
+ 'password',
86
+ "#{@openstack_username}@example.com")
87
+ response.body["user"]["id"]
90
88
  end
91
89
 
92
90
 
@@ -17,7 +17,7 @@ module Fog
17
17
  data['volume'][key] = options[key]
18
18
  end
19
19
  request(
20
- :body => Fog::JSON.encode(data),
20
+ :body => MultiJson.encode(data),
21
21
  :expects => [200, 202],
22
22
  :method => 'POST',
23
23
  :path => "os-volumes"
@@ -14,7 +14,7 @@ module Fog
14
14
  }
15
15
 
16
16
  request(
17
- :body => Fog::JSON.encode(data),
17
+ :body => MultiJson.encode(data),
18
18
  :expects => [200, 202],
19
19
  :method => 'POST',
20
20
  :path => "os-snapshots"
@@ -16,6 +16,16 @@ module Fog
16
16
 
17
17
  class Mock
18
18
 
19
+ def list_address_pools
20
+ response = Excon::Response.new
21
+ response.status = 200
22
+ response.body = {
23
+ 'floating_ip_pools' => [
24
+ { 'name' => 'nova' }
25
+ ]
26
+ }
27
+ response
28
+ end
19
29
 
20
30
  end
21
31
  end
@@ -11,7 +11,7 @@ module Fog
11
11
  :method => 'GET',
12
12
  :path => '/v2.0/tenants'
13
13
  })
14
- response.body = Fog::JSON.decode(response.body)
14
+ response.body = MultiJson.decode(response.body)
15
15
  response
16
16
  end
17
17
  end
@@ -0,0 +1,26 @@
1
+ module Fog
2
+ module Compute
3
+ class OpenStack
4
+ class Real
5
+ def list_tenants_with_flavor_access(flavor_ref)
6
+ request(
7
+ :expects => [200, 203],
8
+ :method => 'GET',
9
+ :path => "flavors/#{flavor_ref}/os-flavor-access.json"
10
+ )
11
+ end
12
+ end
13
+
14
+ class Mock
15
+ def list_tenants_with_flavor_access(flavor_ref)
16
+ response = Excon::Response.new
17
+ response.status = 200
18
+ response.body = {
19
+ "flavor_access" => [{ "tenant_id" => @tenant_id, "flavor_id" => flavor_ref }]
20
+ }
21
+ response
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,31 @@
1
+ module Fog
2
+ module Compute
3
+ class OpenStack
4
+ class Real
5
+ def remove_flavor_access(flavor_ref, tenant_id)
6
+ request(
7
+ :body => MultiJson.encode({
8
+ "removeTenantAccess" => {
9
+ "tenant" => tenant_id
10
+ }
11
+ }),
12
+ :expects => [200, 203],
13
+ :method => 'POST',
14
+ :path => "flavors/#{flavor_ref}/action.json"
15
+ )
16
+ end
17
+ end
18
+
19
+ class Mock
20
+ def remove_flavor_access(flavor_ref, tenant_id)
21
+ response = Excon::Response.new
22
+ response.status = 200
23
+ response.body = {
24
+ "flavor_access" => []
25
+ }
26
+ response
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -6,7 +6,7 @@ module Fog
6
6
  def update_quota(tenant_id, options = {})
7
7
  options['tenant_id'] = tenant_id
8
8
  request(
9
- :body => Fog::JSON.encode({ 'quota_set' => options }),
9
+ :body => MultiJson.encode({ 'quota_set' => options }),
10
10
  :expects => 200,
11
11
  :method => 'PUT',
12
12
  :path => "/os-quota-sets/#{tenant_id}"
@@ -26,7 +26,7 @@ module Fog
26
26
  data = { 'tenant_id' => tenant_id }
27
27
 
28
28
  request(
29
- :body => Fog::JSON.encode(data),
29
+ :body => MultiJson.encode(data),
30
30
  :expects => [200, 202],
31
31
  :method => 'POST',
32
32
  :path => "users/#{user_id}/credentials/OS-EC2"
@@ -10,7 +10,7 @@ module Fog
10
10
  }
11
11
 
12
12
  request(
13
- :body => Fog::JSON.encode(data),
13
+ :body => MultiJson.encode(data),
14
14
  :expects => [200, 202],
15
15
  :method => 'POST',
16
16
  :path => '/OS-KSADM/roles'
@@ -15,7 +15,7 @@ module Fog
15
15
  }
16
16
 
17
17
  request(
18
- :body => Fog::JSON.encode(data),
18
+ :body => MultiJson.encode(data),
19
19
  :expects => [200, 202],
20
20
  :method => 'POST',
21
21
  :path => '/users'
@@ -6,7 +6,7 @@ module Fog
6
6
  def update_user(user_id, options = {})
7
7
  url = options.delete('url') || "/users/#{user_id}"
8
8
  request(
9
- :body => Fog::JSON.encode({ 'user' => options }),
9
+ :body => MultiJson.encode({ 'user' => options }),
10
10
  :expects => 200,
11
11
  :method => 'PUT',
12
12
  :path => url
@@ -11,7 +11,7 @@ module Fog
11
11
  data = { 'memberships' => members }
12
12
 
13
13
  request(
14
- :body => Fog::JSON.encode(data),
14
+ :body => MultiJson.encode(data),
15
15
  :expects => [200, 202],
16
16
  :method => 'PUT',
17
17
  :path => "images/#{image_id}/members"
@@ -0,0 +1,39 @@
1
+ module Fog
2
+ module Network
3
+ class OpenStack
4
+
5
+ class Real
6
+ def associate_lb_health_monitor(pool_id, health_monitor_id)
7
+ data = {
8
+ 'health_monitor' => {
9
+ 'id' => health_monitor_id,
10
+ }
11
+ }
12
+
13
+ request(
14
+ :body => Fog::JSON.encode(data),
15
+ :expects => [201],
16
+ :method => 'POST',
17
+ :path => "lb/pools/#{pool_id}/health_monitors"
18
+ )
19
+ end
20
+ end
21
+
22
+ class Mock
23
+ def associate_lb_health_monitor(pool_id, health_monitor_id)
24
+ response = Excon::Response.new
25
+ if pool = list_lb_pools.body['pools'].detect { |_| _['id'] == pool_id }
26
+ pool['health_monitors'] << health_monitor_id
27
+ self.data[:lb_pools][pool_id] = pool
28
+ response.body = { 'health_monitor' => {} }
29
+ response.status = 200
30
+ response
31
+ else
32
+ raise Fog::Network::OpenStack::NotFound
33
+ end
34
+ end
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,56 @@
1
+ module Fog
2
+ module Network
3
+ class OpenStack
4
+
5
+ class Real
6
+ def create_lb_health_monitor(type, delay, timeout, max_retries, options = {})
7
+ data = {
8
+ 'health_monitor' => {
9
+ 'type' => type,
10
+ 'delay' => delay,
11
+ 'timeout' => timeout,
12
+ 'max_retries' => max_retries
13
+ }
14
+ }
15
+
16
+ vanilla_options = [:http_method, :url_path, :expected_codes, :admin_state_up, :tenant_id]
17
+ vanilla_options.reject{ |o| options[o].nil? }.each do |key|
18
+ data['health_monitor'][key] = options[key]
19
+ end
20
+
21
+ request(
22
+ :body => Fog::JSON.encode(data),
23
+ :expects => [201],
24
+ :method => 'POST',
25
+ :path => 'lb/health_monitors'
26
+ )
27
+ end
28
+ end
29
+
30
+ class Mock
31
+ def create_lb_health_monitor(type, delay, timeout, max_retries, options = {})
32
+ response = Excon::Response.new
33
+ response.status = 201
34
+ data = {
35
+ 'id' => Fog::Mock.random_numbers(6).to_s,
36
+ 'type' => type,
37
+ 'delay' => delay,
38
+ 'timeout' => timeout,
39
+ 'max_retries' => max_retries,
40
+ 'http_method' => options[:http_method],
41
+ 'url_path' => options[:url_path],
42
+ 'expected_codes' => options[:expected_codes],
43
+ 'status' => 'ACTIVE',
44
+ 'admin_state_up' => options[:admin_state_up],
45
+ 'tenant_id' => options[:tenant_id],
46
+ }
47
+
48
+ self.data[:lb_health_monitors][data['id']] = data
49
+ response.body = { 'health_monitor' => data }
50
+ response
51
+ end
52
+ end
53
+
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,53 @@
1
+ module Fog
2
+ module Network
3
+ class OpenStack
4
+
5
+ class Real
6
+ def create_lb_member(pool_id, address, protocol_port, weight, options = {})
7
+ data = {
8
+ 'member' => {
9
+ 'pool_id' => pool_id,
10
+ 'address' => address,
11
+ 'protocol_port' => protocol_port,
12
+ 'weight' => weight
13
+ }
14
+ }
15
+
16
+ vanilla_options = [:admin_state_up, :tenant_id]
17
+ vanilla_options.reject{ |o| options[o].nil? }.each do |key|
18
+ data['member'][key] = options[key]
19
+ end
20
+
21
+ request(
22
+ :body => Fog::JSON.encode(data),
23
+ :expects => [201],
24
+ :method => 'POST',
25
+ :path => 'lb/members'
26
+ )
27
+ end
28
+ end
29
+
30
+ class Mock
31
+ def create_lb_member(pool_id, address, protocol_port, weight, options = {})
32
+ response = Excon::Response.new
33
+ response.status = 201
34
+ data = {
35
+ 'id' => Fog::Mock.random_numbers(6).to_s,
36
+ 'pool_id' => pool_id,
37
+ 'address' => address,
38
+ 'protocol_port' => protocol_port,
39
+ 'weight' => weight,
40
+ 'status' => 'ACTIVE',
41
+ 'admin_state_up' => options[:admin_state_up],
42
+ 'tenant_id' => options[:tenant_id],
43
+ }
44
+
45
+ self.data[:lb_members][data['id']] = data
46
+ response.body = { 'member' => data }
47
+ response
48
+ end
49
+ end
50
+
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,60 @@
1
+ module Fog
2
+ module Network
3
+ class OpenStack
4
+
5
+ class Real
6
+ def create_lb_pool(subnet_id, protocol, lb_method, options = {})
7
+ data = {
8
+ 'pool' => {
9
+ 'subnet_id' => subnet_id,
10
+ 'protocol' => protocol,
11
+ 'lb_method' => lb_method
12
+ }
13
+ }
14
+
15
+ vanilla_options = [:name, :description, :admin_state_up, :tenant_id]
16
+ vanilla_options.reject{ |o| options[o].nil? }.each do |key|
17
+ data['pool'][key] = options[key]
18
+ end
19
+
20
+ request(
21
+ :body => Fog::JSON.encode(data),
22
+ :expects => [201],
23
+ :method => 'POST',
24
+ :path => 'lb/pools'
25
+ )
26
+ end
27
+ end
28
+
29
+ class Mock
30
+ def create_lb_pool(subnet_id, protocol, lb_method, options = {})
31
+ response = Excon::Response.new
32
+ response.status = 201
33
+ data = {
34
+ 'id' => Fog::Mock.random_numbers(6).to_s,
35
+ 'subnet_id' => subnet_id,
36
+ 'protocol' => protocol,
37
+ 'lb_method' => lb_method,
38
+ 'name' => options[:name],
39
+ 'description' => options[:description],
40
+ 'health_monitors' => [],
41
+ 'members' => [],
42
+ 'status' => 'ACTIVE',
43
+ 'admin_state_up' => options[:admin_state_up],
44
+ 'vip_id' => nil,
45
+ 'tenant_id' => options[:tenant_id],
46
+ 'active_connections' => nil,
47
+ 'bytes_in' => nil,
48
+ 'bytes_out' => nil,
49
+ 'total_connections' => nil
50
+ }
51
+
52
+ self.data[:lb_pools][data['id']] = data
53
+ response.body = { 'pool' => data }
54
+ response
55
+ end
56
+ end
57
+
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,60 @@
1
+ module Fog
2
+ module Network
3
+ class OpenStack
4
+
5
+ class Real
6
+ def create_lb_vip(subnet_id, pool_id, protocol, protocol_port, options = {})
7
+ data = {
8
+ 'vip' => {
9
+ 'subnet_id' => subnet_id,
10
+ 'pool_id' => pool_id,
11
+ 'protocol' => protocol,
12
+ 'protocol_port' => protocol_port
13
+ }
14
+ }
15
+
16
+ vanilla_options = [:name, :description, :address, :session_persistence, :connection_limit,
17
+ :admin_state_up, :tenant_id]
18
+ vanilla_options.reject{ |o| options[o].nil? }.each do |key|
19
+ data['vip'][key] = options[key]
20
+ end
21
+
22
+ request(
23
+ :body => Fog::JSON.encode(data),
24
+ :expects => [201],
25
+ :method => 'POST',
26
+ :path => 'lb/vips'
27
+ )
28
+ end
29
+ end
30
+
31
+ class Mock
32
+ def create_lb_vip(subnet_id, pool_id, protocol, protocol_port, options = {})
33
+ response = Excon::Response.new
34
+ response.status = 201
35
+ data = {
36
+ 'id' => Fog::Mock.random_numbers(6).to_s,
37
+ 'subnet_id' => subnet_id,
38
+ 'pool_id' => pool_id,
39
+ 'protocol' => protocol,
40
+ 'protocol_port' => protocol_port,
41
+ 'name' => options[:name],
42
+ 'description' => options[:description],
43
+ 'address' => options[:address],
44
+ 'port_id' => Fog::Mock.random_numbers(6).to_s,
45
+ 'session_persistence' => options[:session_persistence],
46
+ 'connection_limit' => options[:connection_limit],
47
+ 'status' => 'ACTIVE',
48
+ 'admin_state_up' => options[:admin_state_up],
49
+ 'tenant_id' => options[:tenant_id],
50
+ }
51
+
52
+ self.data[:lb_vips][data['id']] = data
53
+ response.body = { 'vip' => data }
54
+ response
55
+ end
56
+ end
57
+
58
+ end
59
+ end
60
+ end