fog-maestrodev 1.8.0.20130114204828 → 1.14.0.20130806165225

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1713) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +2 -0
  3. data/.travis.yml +18 -2
  4. data/Gemfile +6 -1
  5. data/Gemfile.1.8.7 +10 -0
  6. data/README.md +54 -42
  7. data/Rakefile +21 -2
  8. data/benchs/load_times.rb +31 -0
  9. data/bin/fog +22 -0
  10. data/changelog.txt +2198 -0
  11. data/fog.gemspec +7 -7
  12. data/lib/fog.rb +44 -14
  13. data/lib/fog/account.rb +25 -0
  14. data/lib/fog/atmos/models/storage/file.rb +2 -2
  15. data/lib/fog/aws.rb +12 -2
  16. data/lib/fog/aws/auto_scaling.rb +15 -18
  17. data/lib/fog/aws/beanstalk.rb +8 -10
  18. data/lib/fog/aws/cloud_formation.rb +11 -12
  19. data/lib/fog/aws/compute.rb +9 -10
  20. data/lib/fog/aws/credential_fetcher.rb +7 -7
  21. data/lib/fog/aws/data_pipeline.rb +114 -0
  22. data/lib/fog/aws/dynamodb.rb +3 -3
  23. data/lib/fog/aws/elasticache.rb +16 -20
  24. data/lib/fog/aws/elb.rb +32 -31
  25. data/lib/fog/aws/elb/policy_types.rb +441 -430
  26. data/lib/fog/aws/iam.rb +13 -13
  27. data/lib/fog/aws/models/auto_scaling/activities.rb +11 -3
  28. data/lib/fog/aws/models/auto_scaling/group.rb +6 -3
  29. data/lib/fog/aws/models/auto_scaling/policies.rb +7 -3
  30. data/lib/fog/aws/models/beanstalk/environment.rb +6 -2
  31. data/lib/fog/aws/models/cdn/distributions.rb +2 -1
  32. data/lib/fog/aws/models/cdn/distributions_helper.rb +2 -1
  33. data/lib/fog/aws/models/cdn/streaming_distributions.rb +2 -1
  34. data/lib/fog/aws/models/compute/flavors.rb +1 -1
  35. data/lib/fog/aws/models/compute/server.rb +39 -33
  36. data/lib/fog/aws/models/compute/spot_request.rb +3 -11
  37. data/lib/fog/aws/models/compute/volume.rb +2 -1
  38. data/lib/fog/aws/models/data_pipeline/pipeline.rb +67 -0
  39. data/lib/fog/aws/models/data_pipeline/pipelines.rb +36 -0
  40. data/lib/fog/aws/models/dns/record.rb +1 -1
  41. data/lib/fog/aws/models/elb/backend_server_description.rb +11 -0
  42. data/lib/fog/aws/models/elb/backend_server_descriptions.rb +22 -0
  43. data/lib/fog/aws/models/elb/load_balancer.rb +15 -2
  44. data/lib/fog/aws/models/elb/policies.rb +28 -13
  45. data/lib/fog/aws/models/elb/policy.rb +20 -10
  46. data/lib/fog/aws/models/iam/role.rb +36 -0
  47. data/lib/fog/aws/models/iam/roles.rb +40 -0
  48. data/lib/fog/aws/models/iam/user.rb +1 -0
  49. data/lib/fog/aws/models/rds/log_file.rb +26 -0
  50. data/lib/fog/aws/models/rds/log_files.rb +50 -0
  51. data/lib/fog/aws/models/rds/server.rb +4 -1
  52. data/lib/fog/aws/models/rds/snapshot.rb +1 -0
  53. data/lib/fog/aws/models/rds/snapshots.rb +26 -3
  54. data/lib/fog/aws/models/storage/directories.rb +1 -1
  55. data/lib/fog/aws/models/storage/directory.rb +20 -17
  56. data/lib/fog/aws/models/storage/file.rb +6 -7
  57. data/lib/fog/aws/models/storage/files.rb +6 -6
  58. data/lib/fog/aws/parsers/auto_scaling/describe_policies.rb +5 -5
  59. data/lib/fog/aws/parsers/beanstalk/describe_environment_resources.rb +11 -0
  60. data/lib/fog/aws/parsers/cloud_formation/list_stack_resources.rb +32 -0
  61. data/lib/fog/aws/parsers/cloud_formation/list_stacks.rb +34 -0
  62. data/lib/fog/aws/parsers/cloud_watch/list_metrics.rb +1 -1
  63. data/lib/fog/aws/parsers/compute/copy_image.rb +22 -0
  64. data/lib/fog/aws/parsers/compute/describe_instances.rb +19 -5
  65. data/lib/fog/aws/parsers/compute/run_instances.rb +5 -4
  66. data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +2 -0
  67. data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +2 -0
  68. data/lib/fog/aws/parsers/elasticache/describe_reserved_cache_nodes.rb +37 -0
  69. data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +44 -13
  70. data/lib/fog/aws/parsers/iam/get_user.rb +2 -0
  71. data/lib/fog/aws/parsers/iam/list_users.rb +2 -0
  72. data/lib/fog/aws/parsers/rds/db_parser.rb +27 -5
  73. data/lib/fog/aws/parsers/rds/describe_db_log_files.rb +44 -0
  74. data/lib/fog/aws/parsers/rds/download_db_logfile_portion.rb +26 -0
  75. data/lib/fog/aws/parsers/ses/verify_domain_identity.rb +26 -0
  76. data/lib/fog/aws/parsers/storage/complete_multipart_upload.rb +1 -1
  77. data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +45 -11
  78. data/lib/fog/aws/parsers/sts/assume_role.rb +30 -0
  79. data/lib/fog/aws/rds.rb +27 -14
  80. data/lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb +8 -0
  81. data/lib/fog/aws/requests/auto_scaling/update_auto_scaling_group.rb +8 -1
  82. data/lib/fog/aws/requests/cdn/delete_distribution.rb +5 -7
  83. data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +5 -7
  84. data/lib/fog/aws/requests/cdn/get_distribution.rb +28 -31
  85. data/lib/fog/aws/requests/cdn/get_distribution_list.rb +29 -33
  86. data/lib/fog/aws/requests/cdn/get_invalidation.rb +15 -13
  87. data/lib/fog/aws/requests/cdn/get_invalidation_list.rb +15 -17
  88. data/lib/fog/aws/requests/cdn/get_streaming_distribution.rb +23 -26
  89. data/lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb +29 -33
  90. data/lib/fog/aws/requests/cdn/post_distribution.rb +40 -42
  91. data/lib/fog/aws/requests/cdn/post_invalidation.rb +14 -18
  92. data/lib/fog/aws/requests/cdn/post_streaming_distribution.rb +28 -30
  93. data/lib/fog/aws/requests/cdn/put_distribution_config.rb +42 -44
  94. data/lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb +31 -33
  95. data/lib/fog/aws/requests/cloud_formation/create_stack.rb +33 -20
  96. data/lib/fog/aws/requests/cloud_formation/delete_stack.rb +5 -8
  97. data/lib/fog/aws/requests/cloud_formation/describe_stack_events.rb +19 -22
  98. data/lib/fog/aws/requests/cloud_formation/describe_stack_resources.rb +18 -21
  99. data/lib/fog/aws/requests/cloud_formation/describe_stacks.rb +18 -21
  100. data/lib/fog/aws/requests/cloud_formation/get_template.rb +7 -10
  101. data/lib/fog/aws/requests/cloud_formation/list_stack_resources.rb +36 -0
  102. data/lib/fog/aws/requests/cloud_formation/list_stacks.rb +37 -0
  103. data/lib/fog/aws/requests/cloud_formation/update_stack.rb +11 -15
  104. data/lib/fog/aws/requests/cloud_formation/validate_template.rb +9 -12
  105. data/lib/fog/aws/requests/compute/associate_address.rb +13 -7
  106. data/lib/fog/aws/requests/compute/copy_image.rb +63 -0
  107. data/lib/fog/aws/requests/compute/create_volume.rb +3 -3
  108. data/lib/fog/aws/requests/compute/describe_instances.rb +1 -1
  109. data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +16 -2
  110. data/lib/fog/aws/requests/compute/describe_security_groups.rb +2 -2
  111. data/lib/fog/aws/requests/compute/request_spot_instances.rb +1 -0
  112. data/lib/fog/aws/requests/compute/run_instances.rb +3 -1
  113. data/lib/fog/aws/requests/data_pipeline/activate_pipeline.rb +35 -0
  114. data/lib/fog/aws/requests/data_pipeline/create_pipeline.rb +41 -0
  115. data/lib/fog/aws/requests/data_pipeline/delete_pipeline.rb +35 -0
  116. data/lib/fog/aws/requests/data_pipeline/describe_pipelines.rb +36 -0
  117. data/lib/fog/aws/requests/data_pipeline/list_pipelines.rb +36 -0
  118. data/lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb +72 -0
  119. data/lib/fog/aws/requests/elasticache/describe_reserved_cache_nodes.rb +42 -0
  120. data/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +0 -2
  121. data/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +0 -2
  122. data/lib/fog/aws/requests/elb/create_load_balancer.rb +17 -0
  123. data/lib/fog/aws/requests/elb/create_load_balancer_policy.rb +11 -8
  124. data/lib/fog/aws/requests/elb/describe_load_balancers.rb +21 -1
  125. data/lib/fog/aws/requests/elb/set_load_balancer_policies_for_backend_server.rb +67 -0
  126. data/lib/fog/aws/requests/iam/create_user.rb +5 -4
  127. data/lib/fog/aws/requests/iam/get_user.rb +5 -4
  128. data/lib/fog/aws/requests/iam/list_users.rb +5 -4
  129. data/lib/fog/aws/requests/iam/update_server_certificate.rb +27 -0
  130. data/lib/fog/aws/requests/rds/create_db_instance.rb +28 -26
  131. data/lib/fog/aws/requests/rds/describe_db_instances.rb +8 -9
  132. data/lib/fog/aws/requests/rds/describe_db_log_files.rb +67 -0
  133. data/lib/fog/aws/requests/rds/download_db_logfile_portion.rb +63 -0
  134. data/lib/fog/aws/requests/ses/send_raw_email.rb +1 -1
  135. data/lib/fog/aws/requests/ses/verify_domain_identity.rb +30 -0
  136. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +3 -3
  137. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +8 -4
  138. data/lib/fog/aws/requests/storage/copy_object.rb +2 -2
  139. data/lib/fog/aws/requests/storage/delete_bucket.rb +1 -1
  140. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +1 -1
  141. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +1 -1
  142. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +1 -1
  143. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +1 -1
  144. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +1 -1
  145. data/lib/fog/aws/requests/storage/delete_object.rb +1 -1
  146. data/lib/fog/aws/requests/storage/get_bucket.rb +1 -1
  147. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +1 -1
  148. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +1 -1
  149. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +1 -1
  150. data/lib/fog/aws/requests/storage/get_bucket_location.rb +1 -1
  151. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +1 -1
  152. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +1 -1
  153. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +1 -1
  154. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +1 -1
  155. data/lib/fog/aws/requests/storage/get_bucket_website.rb +1 -1
  156. data/lib/fog/aws/requests/storage/get_object.rb +8 -4
  157. data/lib/fog/aws/requests/storage/get_object_acl.rb +2 -2
  158. data/lib/fog/aws/requests/storage/get_object_http_url.rb +1 -19
  159. data/lib/fog/aws/requests/storage/get_object_torrent.rb +2 -2
  160. data/lib/fog/aws/requests/storage/get_object_url.rb +5 -14
  161. data/lib/fog/aws/requests/storage/get_request_payment.rb +1 -1
  162. data/lib/fog/aws/requests/storage/get_service.rb +1 -2
  163. data/lib/fog/aws/requests/storage/head_object.rb +2 -5
  164. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +3 -5
  165. data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +27 -33
  166. data/lib/fog/aws/requests/storage/list_parts.rb +27 -31
  167. data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +15 -17
  168. data/lib/fog/aws/requests/storage/post_object_restore.rb +54 -0
  169. data/lib/fog/aws/requests/storage/put_bucket.rb +9 -12
  170. data/lib/fog/aws/requests/storage/put_bucket_acl.rb +16 -18
  171. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +11 -13
  172. data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +45 -16
  173. data/lib/fog/aws/requests/storage/put_bucket_logging.rb +14 -16
  174. data/lib/fog/aws/requests/storage/put_bucket_policy.rb +4 -6
  175. data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +4 -6
  176. data/lib/fog/aws/requests/storage/put_bucket_website.rb +6 -8
  177. data/lib/fog/aws/requests/storage/put_object.rb +21 -24
  178. data/lib/fog/aws/requests/storage/put_object_acl.rb +19 -21
  179. data/lib/fog/aws/requests/storage/put_object_url.rb +11 -16
  180. data/lib/fog/aws/requests/storage/put_request_payment.rb +4 -6
  181. data/lib/fog/aws/requests/storage/upload_part.rb +14 -17
  182. data/lib/fog/aws/requests/sts/assume_role.rb +46 -0
  183. data/lib/fog/aws/ses.rb +26 -9
  184. data/lib/fog/aws/storage.rb +204 -97
  185. data/lib/fog/aws/sts.rb +31 -21
  186. data/lib/fog/billing.rb +23 -0
  187. data/lib/fog/bin.rb +6 -2
  188. data/lib/fog/bin/aws.rb +4 -0
  189. data/lib/fog/bin/bluebox.rb +2 -0
  190. data/lib/fog/bin/cloudsigma.rb +29 -0
  191. data/lib/fog/bin/digitalocean.rb +31 -0
  192. data/lib/fog/bin/dreamhost.rb +31 -0
  193. data/lib/fog/bin/google.rb +47 -1
  194. data/lib/fog/bin/hp.rb +7 -0
  195. data/lib/fog/bin/internet_archive.rb +34 -0
  196. data/lib/fog/bin/openstack.rb +22 -2
  197. data/lib/fog/bin/openvz.rb +31 -0
  198. data/lib/fog/bin/rackspace.rb +11 -0
  199. data/lib/fog/bin/riakcs.rb +27 -0
  200. data/lib/fog/bluebox.rb +1 -0
  201. data/lib/fog/bluebox/blb.rb +85 -0
  202. data/lib/fog/bluebox/models/blb/lb_application.rb +32 -0
  203. data/lib/fog/bluebox/models/blb/lb_applications.rb +26 -0
  204. data/lib/fog/bluebox/models/blb/lb_backend.rb +22 -0
  205. data/lib/fog/bluebox/models/blb/lb_backends.rb +30 -0
  206. data/lib/fog/bluebox/models/blb/lb_service.rb +35 -0
  207. data/lib/fog/bluebox/models/blb/lb_services.rb +29 -0
  208. data/lib/fog/bluebox/models/compute/server.rb +3 -1
  209. data/lib/fog/bluebox/models/dns/zone.rb +1 -1
  210. data/lib/fog/bluebox/requests/blb/add_machine_to_lb_application.rb +33 -0
  211. data/lib/fog/bluebox/requests/blb/add_machine_to_lb_backend.rb +31 -0
  212. data/lib/fog/bluebox/requests/blb/get_lb_application.rb +33 -0
  213. data/lib/fog/bluebox/requests/blb/get_lb_applications.rb +31 -0
  214. data/lib/fog/bluebox/requests/blb/get_lb_backend.rb +36 -0
  215. data/lib/fog/bluebox/requests/blb/get_lb_backends.rb +36 -0
  216. data/lib/fog/bluebox/requests/blb/get_lb_machine.rb +35 -0
  217. data/lib/fog/bluebox/requests/blb/get_lb_machines.rb +35 -0
  218. data/lib/fog/bluebox/requests/blb/get_lb_service.rb +36 -0
  219. data/lib/fog/bluebox/requests/blb/get_lb_services.rb +36 -0
  220. data/lib/fog/bluebox/requests/blb/remove_machine_from_lb_backend.rb +28 -0
  221. data/lib/fog/bluebox/requests/blb/update_lb_backend_machine.rb +29 -0
  222. data/lib/fog/brightbox/compute.rb +36 -236
  223. data/lib/fog/brightbox/compute/image_selector.rb +45 -0
  224. data/lib/fog/brightbox/compute/shared.rb +232 -0
  225. data/lib/fog/brightbox/models/compute/collaboration.rb +43 -0
  226. data/lib/fog/brightbox/models/compute/collaborations.rb +23 -0
  227. data/lib/fog/brightbox/models/compute/user_collaboration.rb +29 -0
  228. data/lib/fog/brightbox/models/compute/user_collaborations.rb +23 -0
  229. data/lib/fog/brightbox/oauth2.rb +5 -3
  230. data/lib/fog/brightbox/requests/compute/accept_user_collaboration.rb +21 -0
  231. data/lib/fog/brightbox/requests/compute/activate_console_server.rb +1 -1
  232. data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +2 -1
  233. data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +2 -1
  234. data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +11 -3
  235. data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +2 -1
  236. data/lib/fog/brightbox/requests/compute/create_api_client.rb +2 -1
  237. data/lib/fog/brightbox/requests/compute/create_application.rb +2 -1
  238. data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +2 -1
  239. data/lib/fog/brightbox/requests/compute/create_collaboration.rb +23 -0
  240. data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +3 -1
  241. data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +2 -1
  242. data/lib/fog/brightbox/requests/compute/create_image.rb +2 -1
  243. data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +2 -1
  244. data/lib/fog/brightbox/requests/compute/create_server.rb +2 -1
  245. data/lib/fog/brightbox/requests/compute/create_server_group.rb +2 -1
  246. data/lib/fog/brightbox/requests/compute/{destroy_api_client.rb → delete_api_client.rb} +10 -3
  247. data/lib/fog/brightbox/requests/compute/{destroy_application.rb → delete_application.rb} +10 -3
  248. data/lib/fog/brightbox/requests/compute/{destroy_cloud_ip.rb → delete_cloud_ip.rb} +10 -3
  249. data/lib/fog/brightbox/requests/compute/delete_collaboration.rb +28 -0
  250. data/lib/fog/brightbox/requests/compute/{destroy_firewall_policy.rb → delete_firewall_policy.rb} +10 -3
  251. data/lib/fog/brightbox/requests/compute/{destroy_firewall_rule.rb → delete_firewall_rule.rb} +10 -3
  252. data/lib/fog/brightbox/requests/compute/{destroy_image.rb → delete_image.rb} +10 -3
  253. data/lib/fog/brightbox/requests/compute/{destroy_load_balancer.rb → delete_load_balancer.rb} +10 -3
  254. data/lib/fog/brightbox/requests/compute/{destroy_server.rb → delete_server.rb} +10 -3
  255. data/lib/fog/brightbox/requests/compute/{destroy_server_group.rb → delete_server_group.rb} +10 -3
  256. data/lib/fog/brightbox/requests/compute/delete_user_collaboration.rb +28 -0
  257. data/lib/fog/brightbox/requests/compute/destroy_user_collaboration.rb +21 -0
  258. data/lib/fog/brightbox/requests/compute/get_account.rb +1 -1
  259. data/lib/fog/brightbox/requests/compute/get_api_client.rb +1 -1
  260. data/lib/fog/brightbox/requests/compute/get_application.rb +1 -1
  261. data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +1 -1
  262. data/lib/fog/brightbox/requests/compute/get_collaboration.rb +21 -0
  263. data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +1 -1
  264. data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +1 -1
  265. data/lib/fog/brightbox/requests/compute/get_image.rb +1 -1
  266. data/lib/fog/brightbox/requests/compute/get_interface.rb +1 -1
  267. data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +1 -1
  268. data/lib/fog/brightbox/requests/compute/get_server.rb +1 -1
  269. data/lib/fog/brightbox/requests/compute/get_server_group.rb +1 -1
  270. data/lib/fog/brightbox/requests/compute/get_server_type.rb +1 -1
  271. data/lib/fog/brightbox/requests/compute/get_user.rb +1 -1
  272. data/lib/fog/brightbox/requests/compute/get_user_collaboration.rb +21 -0
  273. data/lib/fog/brightbox/requests/compute/get_zone.rb +1 -1
  274. data/lib/fog/brightbox/requests/compute/list_accounts.rb +1 -1
  275. data/lib/fog/brightbox/requests/compute/list_api_clients.rb +1 -1
  276. data/lib/fog/brightbox/requests/compute/list_applications.rb +1 -1
  277. data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +1 -1
  278. data/lib/fog/brightbox/requests/compute/list_collaborations.rb +19 -0
  279. data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +1 -1
  280. data/lib/fog/brightbox/requests/compute/list_images.rb +1 -1
  281. data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +1 -1
  282. data/lib/fog/brightbox/requests/compute/list_server_groups.rb +1 -1
  283. data/lib/fog/brightbox/requests/compute/list_server_types.rb +1 -1
  284. data/lib/fog/brightbox/requests/compute/list_servers.rb +1 -1
  285. data/lib/fog/brightbox/requests/compute/list_user_collaborations.rb +19 -0
  286. data/lib/fog/brightbox/requests/compute/list_users.rb +1 -1
  287. data/lib/fog/brightbox/requests/compute/list_zones.rb +1 -1
  288. data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +2 -1
  289. data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +12 -3
  290. data/lib/fog/brightbox/requests/compute/reject_user_collaboration.rb +21 -0
  291. data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +2 -1
  292. data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +2 -1
  293. data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +2 -1
  294. data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +11 -3
  295. data/lib/fog/brightbox/requests/compute/resend_collaboration.rb +21 -0
  296. data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +2 -2
  297. data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +1 -2
  298. data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +1 -1
  299. data/lib/fog/brightbox/requests/compute/shutdown_server.rb +1 -1
  300. data/lib/fog/brightbox/requests/compute/snapshot_server.rb +1 -1
  301. data/lib/fog/brightbox/requests/compute/start_server.rb +1 -1
  302. data/lib/fog/brightbox/requests/compute/stop_server.rb +1 -1
  303. data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +1 -1
  304. data/lib/fog/brightbox/requests/compute/update_account.rb +2 -1
  305. data/lib/fog/brightbox/requests/compute/update_api_client.rb +2 -1
  306. data/lib/fog/brightbox/requests/compute/update_application.rb +2 -1
  307. data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +2 -1
  308. data/lib/fog/brightbox/requests/compute/update_firewall_policy.rb +26 -0
  309. data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +2 -1
  310. data/lib/fog/brightbox/requests/compute/update_image.rb +2 -1
  311. data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +2 -1
  312. data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +2 -1
  313. data/lib/fog/brightbox/requests/compute/update_server.rb +3 -1
  314. data/lib/fog/brightbox/requests/compute/update_server_group.rb +2 -1
  315. data/lib/fog/brightbox/requests/compute/update_user.rb +2 -1
  316. data/lib/fog/cdn.rb +5 -12
  317. data/lib/fog/cloudsigma.rb +9 -0
  318. data/lib/fog/cloudsigma/compute.rb +221 -0
  319. data/lib/fog/cloudsigma/connection.rb +197 -0
  320. data/lib/fog/cloudsigma/docs/getting_started.md +59 -0
  321. data/lib/fog/cloudsigma/error.rb +45 -0
  322. data/lib/fog/cloudsigma/mock_data.rb +46 -0
  323. data/lib/fog/cloudsigma/models/balance.rb +12 -0
  324. data/lib/fog/cloudsigma/models/current_usage.rb +19 -0
  325. data/lib/fog/cloudsigma/models/ip.rb +22 -0
  326. data/lib/fog/cloudsigma/models/ipconf.rb +12 -0
  327. data/lib/fog/cloudsigma/models/ips.rb +27 -0
  328. data/lib/fog/cloudsigma/models/lib_volume.rb +50 -0
  329. data/lib/fog/cloudsigma/models/lib_volumes.rb +27 -0
  330. data/lib/fog/cloudsigma/models/mountpoint.rb +25 -0
  331. data/lib/fog/cloudsigma/models/nic.rb +22 -0
  332. data/lib/fog/cloudsigma/models/obj_ref.rb +12 -0
  333. data/lib/fog/cloudsigma/models/price_calculation.rb +13 -0
  334. data/lib/fog/cloudsigma/models/price_record.rb +38 -0
  335. data/lib/fog/cloudsigma/models/pricing.rb +20 -0
  336. data/lib/fog/cloudsigma/models/profile.rb +50 -0
  337. data/lib/fog/cloudsigma/models/server.rb +208 -0
  338. data/lib/fog/cloudsigma/models/servers.rb +27 -0
  339. data/lib/fog/cloudsigma/models/subscription.rb +53 -0
  340. data/lib/fog/cloudsigma/models/subscriptions.rb +41 -0
  341. data/lib/fog/cloudsigma/models/usage_record.rb +13 -0
  342. data/lib/fog/cloudsigma/models/vlan.rb +29 -0
  343. data/lib/fog/cloudsigma/models/vlans.rb +27 -0
  344. data/lib/fog/cloudsigma/models/volume.rb +71 -0
  345. data/lib/fog/cloudsigma/models/volumes.rb +27 -0
  346. data/lib/fog/cloudsigma/nested_model.rb +60 -0
  347. data/lib/fog/cloudsigma/requests/calculate_subscription_price.rb +18 -0
  348. data/lib/fog/cloudsigma/requests/clone_libvolume.rb +32 -0
  349. data/lib/fog/cloudsigma/requests/clone_server.rb +32 -0
  350. data/lib/fog/cloudsigma/requests/clone_volume.rb +32 -0
  351. data/lib/fog/cloudsigma/requests/close_vnc.rb +30 -0
  352. data/lib/fog/cloudsigma/requests/create_server.rb +33 -0
  353. data/lib/fog/cloudsigma/requests/create_subscription.rb +40 -0
  354. data/lib/fog/cloudsigma/requests/create_volume.rb +30 -0
  355. data/lib/fog/cloudsigma/requests/delete_server.rb +18 -0
  356. data/lib/fog/cloudsigma/requests/delete_volume.rb +18 -0
  357. data/lib/fog/cloudsigma/requests/extend_subscription.rb +22 -0
  358. data/lib/fog/cloudsigma/requests/get_balance.rb +18 -0
  359. data/lib/fog/cloudsigma/requests/get_current_usage.rb +18 -0
  360. data/lib/fog/cloudsigma/requests/get_ip.rb +18 -0
  361. data/lib/fog/cloudsigma/requests/get_lib_volume.rb +18 -0
  362. data/lib/fog/cloudsigma/requests/get_pricing.rb +28 -0
  363. data/lib/fog/cloudsigma/requests/get_profile.rb +18 -0
  364. data/lib/fog/cloudsigma/requests/get_server.rb +18 -0
  365. data/lib/fog/cloudsigma/requests/get_subscription.rb +18 -0
  366. data/lib/fog/cloudsigma/requests/get_vlan.rb +18 -0
  367. data/lib/fog/cloudsigma/requests/get_volume.rb +18 -0
  368. data/lib/fog/cloudsigma/requests/list_ips.rb +18 -0
  369. data/lib/fog/cloudsigma/requests/list_lib_volumes.rb +18 -0
  370. data/lib/fog/cloudsigma/requests/list_servers.rb +18 -0
  371. data/lib/fog/cloudsigma/requests/list_subscriptions.rb +18 -0
  372. data/lib/fog/cloudsigma/requests/list_vlans.rb +18 -0
  373. data/lib/fog/cloudsigma/requests/list_volumes.rb +18 -0
  374. data/lib/fog/cloudsigma/requests/open_vnc.rb +34 -0
  375. data/lib/fog/cloudsigma/requests/start_server.rb +32 -0
  376. data/lib/fog/cloudsigma/requests/stop_server.rb +33 -0
  377. data/lib/fog/cloudsigma/requests/update_profile.rb +18 -0
  378. data/lib/fog/cloudsigma/requests/update_server.rb +40 -0
  379. data/lib/fog/cloudsigma/requests/update_vlan.rb +20 -0
  380. data/lib/fog/cloudsigma/requests/update_volume.rb +18 -0
  381. data/lib/fog/cloudstack/compute.rb +72 -1
  382. data/lib/fog/cloudstack/models/compute/disk_offering.rb +46 -0
  383. data/lib/fog/cloudstack/models/compute/disk_offerings.rb +27 -0
  384. data/lib/fog/cloudstack/models/compute/image.rb +1 -1
  385. data/lib/fog/cloudstack/models/compute/servers.rb +6 -4
  386. data/lib/fog/cloudstack/models/compute/snapshot.rb +46 -0
  387. data/lib/fog/cloudstack/models/compute/snapshots.rb +25 -0
  388. data/lib/fog/cloudstack/requests/compute/create_disk_offering.rb +51 -0
  389. data/lib/fog/cloudstack/requests/compute/create_snapshot.rb +24 -0
  390. data/lib/fog/cloudstack/requests/compute/delete_disk_offering.rb +31 -0
  391. data/lib/fog/cloudstack/requests/compute/delete_snapshot.rb +44 -2
  392. data/lib/fog/cloudstack/requests/compute/list_disk_offerings.rb +9 -0
  393. data/lib/fog/cloudstack/requests/compute/list_os_types.rb +9 -0
  394. data/lib/fog/cloudstack/requests/compute/list_snapshots.rb +21 -0
  395. data/lib/fog/compute.rb +7 -65
  396. data/lib/fog/compute/models/server.rb +21 -16
  397. data/lib/fog/core.rb +18 -7
  398. data/lib/fog/core/attributes.rb +1 -1
  399. data/lib/fog/core/connection.rb +62 -25
  400. data/lib/fog/core/deprecated/connection.rb +24 -0
  401. data/lib/fog/core/errors.rb +10 -1
  402. data/lib/fog/core/logger.rb +2 -0
  403. data/lib/fog/core/mock.rb +16 -0
  404. data/lib/fog/core/model.rb +12 -11
  405. data/lib/fog/core/parser.rb +14 -1
  406. data/lib/fog/core/scp.rb +4 -3
  407. data/lib/fog/core/service.rb +1 -1
  408. data/lib/fog/core/ssh.rb +1 -0
  409. data/lib/fog/digitalocean.rb +9 -0
  410. data/lib/fog/digitalocean/CHANGELOG.md +6 -0
  411. data/lib/fog/digitalocean/compute.rb +136 -0
  412. data/lib/fog/digitalocean/examples/getting_started.md +106 -0
  413. data/lib/fog/digitalocean/models/compute/flavor.rb +14 -0
  414. data/lib/fog/digitalocean/models/compute/flavors.rb +25 -0
  415. data/lib/fog/digitalocean/models/compute/image.rb +15 -0
  416. data/lib/fog/digitalocean/models/compute/images.rb +25 -0
  417. data/lib/fog/digitalocean/models/compute/region.rb +14 -0
  418. data/lib/fog/digitalocean/models/compute/regions.rb +25 -0
  419. data/lib/fog/digitalocean/models/compute/server.rb +179 -0
  420. data/lib/fog/digitalocean/models/compute/servers.rb +50 -0
  421. data/lib/fog/digitalocean/models/compute/ssh_key.rb +28 -0
  422. data/lib/fog/digitalocean/models/compute/ssh_keys.rb +26 -0
  423. data/lib/fog/digitalocean/requests/compute/create_server.rb +70 -0
  424. data/lib/fog/digitalocean/requests/compute/create_ssh_key.rb +38 -0
  425. data/lib/fog/digitalocean/requests/compute/destroy_server.rb +37 -0
  426. data/lib/fog/digitalocean/requests/compute/destroy_ssh_key.rb +37 -0
  427. data/lib/fog/digitalocean/requests/compute/get_server_details.rb +35 -0
  428. data/lib/fog/digitalocean/requests/compute/get_ssh_key.rb +39 -0
  429. data/lib/fog/digitalocean/requests/compute/list_flavors.rb +38 -0
  430. data/lib/fog/digitalocean/requests/compute/list_images.rb +49 -0
  431. data/lib/fog/digitalocean/requests/compute/list_regions.rb +34 -0
  432. data/lib/fog/digitalocean/requests/compute/list_servers.rb +31 -0
  433. data/lib/fog/digitalocean/requests/compute/list_ssh_keys.rb +31 -0
  434. data/lib/fog/digitalocean/requests/compute/power_cycle_server.rb +33 -0
  435. data/lib/fog/digitalocean/requests/compute/power_off_server.rb +33 -0
  436. data/lib/fog/digitalocean/requests/compute/power_on_server.rb +33 -0
  437. data/lib/fog/digitalocean/requests/compute/reboot_server.rb +33 -0
  438. data/lib/fog/digitalocean/requests/compute/shutdown_server.rb +36 -0
  439. data/lib/fog/dns.rb +8 -24
  440. data/lib/fog/dnsimple/dns.rb +4 -1
  441. data/lib/fog/dnsimple/models/dns/record.rb +3 -4
  442. data/lib/fog/dnsimple/requests/dns/create_domain.rb +36 -0
  443. data/lib/fog/dnsimple/requests/dns/create_record.rb +27 -0
  444. data/lib/fog/dnsimple/requests/dns/delete_domain.rb +12 -0
  445. data/lib/fog/dnsimple/requests/dns/delete_record.rb +12 -0
  446. data/lib/fog/dnsimple/requests/dns/get_domain.rb +12 -0
  447. data/lib/fog/dnsimple/requests/dns/get_record.rb +24 -0
  448. data/lib/fog/dnsimple/requests/dns/list_domains.rb +12 -0
  449. data/lib/fog/dnsimple/requests/dns/list_records.rb +12 -0
  450. data/lib/fog/dnsimple/requests/dns/update_record.rb +20 -0
  451. data/lib/fog/dnsmadeeasy/models/dns/record.rb +1 -1
  452. data/lib/fog/dreamhost.rb +11 -0
  453. data/lib/fog/dreamhost/CHANGELOG.md +8 -0
  454. data/lib/fog/dreamhost/dns.rb +86 -0
  455. data/lib/fog/dreamhost/examples/dns/getting_started.md +105 -0
  456. data/lib/fog/dreamhost/models/dns/record.rb +35 -0
  457. data/lib/fog/dreamhost/models/dns/records.rb +38 -0
  458. data/lib/fog/dreamhost/models/dns/zone.rb +59 -0
  459. data/lib/fog/dreamhost/models/dns/zones.rb +41 -0
  460. data/lib/fog/dreamhost/requests/dns/create_record.rb +32 -0
  461. data/lib/fog/dreamhost/requests/dns/delete_record.rb +31 -0
  462. data/lib/fog/dreamhost/requests/dns/list_records.rb +25 -0
  463. data/lib/fog/dynect/models/dns/zone.rb +1 -1
  464. data/lib/fog/ecloud/models/compute/detached_disks.rb +3 -7
  465. data/lib/fog/ecloud/models/compute/internet_services.rb +1 -5
  466. data/lib/fog/ecloud/models/compute/ip_address.rb +2 -2
  467. data/lib/fog/ecloud/models/compute/network.rb +1 -1
  468. data/lib/fog/ecloud/models/compute/nodes.rb +1 -5
  469. data/lib/fog/ecloud/models/compute/public_ips.rb +1 -5
  470. data/lib/fog/ecloud/models/compute/servers.rb +2 -6
  471. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ip.rb +2 -2
  472. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ips.rb +2 -2
  473. data/lib/fog/ecloud/requests/compute/get_detached_disk.rb +1 -1
  474. data/lib/fog/ecloud/requests/compute/get_internet_service.rb +1 -1
  475. data/lib/fog/ecloud/requests/compute/get_node.rb +1 -1
  476. data/lib/fog/ecloud/requests/compute/get_public_ip.rb +1 -1
  477. data/lib/fog/ecloud/requests/compute/get_server.rb +1 -1
  478. data/lib/fog/ecloud/requests/compute/virtual_machine_create_from_template.rb +1 -1
  479. data/lib/fog/glesys/compute.rb +5 -1
  480. data/lib/fog/glesys/models/compute/ip.rb +47 -46
  481. data/lib/fog/glesys/models/compute/ips.rb +95 -12
  482. data/lib/fog/glesys/models/compute/server.rb +72 -5
  483. data/lib/fog/glesys/models/compute/servers.rb +7 -1
  484. data/lib/fog/glesys/models/compute/template.rb +8 -16
  485. data/lib/fog/glesys/models/compute/templates.rb +23 -5
  486. data/lib/fog/glesys/requests/compute/ip_details.rb +2 -2
  487. data/lib/fog/glesys/requests/compute/server_details.rb +2 -2
  488. data/lib/fog/glesys/requests/compute/template_list.rb +2 -2
  489. data/lib/fog/google.rb +1 -0
  490. data/lib/fog/google/README.md +28 -0
  491. data/lib/fog/google/Rakefile +17 -0
  492. data/lib/fog/google/compute.rb +162 -0
  493. data/lib/fog/google/examples/bootstrap.rb +9 -0
  494. data/lib/fog/google/examples/create.rb +37 -0
  495. data/lib/fog/google/examples/eric-fail.rb +19 -0
  496. data/lib/fog/google/examples/launch_micro_instance.rb +21 -0
  497. data/lib/fog/google/examples/metadata.rb +18 -0
  498. data/lib/fog/google/models/compute/disk.rb +80 -0
  499. data/lib/fog/google/models/compute/disks.rb +38 -0
  500. data/lib/fog/google/models/compute/flavor.rb +24 -0
  501. data/lib/fog/google/models/compute/flavors.rb +29 -0
  502. data/lib/fog/google/models/compute/image.rb +55 -0
  503. data/lib/fog/google/models/compute/images.rb +35 -0
  504. data/lib/fog/google/models/compute/server.rb +93 -0
  505. data/lib/fog/google/models/compute/servers.rb +71 -0
  506. data/lib/fog/google/models/storage/file.rb +7 -1
  507. data/lib/fog/google/parsers/storage/access_control_list.rb +2 -2
  508. data/lib/fog/google/requests/compute/delete_disk.rb +31 -0
  509. data/lib/fog/google/requests/compute/delete_firewall.rb +30 -0
  510. data/lib/fog/google/requests/compute/delete_image.rb +30 -0
  511. data/lib/fog/google/requests/compute/delete_network.rb +30 -0
  512. data/lib/fog/google/requests/compute/delete_operation.rb +30 -0
  513. data/lib/fog/google/requests/compute/delete_server.rb +43 -0
  514. data/lib/fog/google/requests/compute/get_disk.rb +34 -0
  515. data/lib/fog/google/requests/compute/get_firewall.rb +30 -0
  516. data/lib/fog/google/requests/compute/get_image.rb +30 -0
  517. data/lib/fog/google/requests/compute/get_machine_type.rb +30 -0
  518. data/lib/fog/google/requests/compute/get_network.rb +30 -0
  519. data/lib/fog/google/requests/compute/get_server.rb +37 -0
  520. data/lib/fog/google/requests/compute/get_zone.rb +30 -0
  521. data/lib/fog/google/requests/compute/insert_disk.rb +41 -0
  522. data/lib/fog/google/requests/compute/insert_firewall.rb +37 -0
  523. data/lib/fog/google/requests/compute/insert_image.rb +38 -0
  524. data/lib/fog/google/requests/compute/insert_network.rb +34 -0
  525. data/lib/fog/google/requests/compute/insert_server.rb +78 -0
  526. data/lib/fog/google/requests/compute/list_disks.rb +30 -0
  527. data/lib/fog/google/requests/compute/list_firewalls.rb +29 -0
  528. data/lib/fog/google/requests/compute/list_global_operations.rb +28 -0
  529. data/lib/fog/google/requests/compute/list_images.rb +30 -0
  530. data/lib/fog/google/requests/compute/list_machine_types.rb +30 -0
  531. data/lib/fog/google/requests/compute/list_networks.rb +29 -0
  532. data/lib/fog/google/requests/compute/list_servers.rb +30 -0
  533. data/lib/fog/google/requests/compute/list_zone_operations.rb +28 -0
  534. data/lib/fog/google/requests/compute/list_zones.rb +29 -0
  535. data/lib/fog/google/requests/compute/set_metadata.rb +36 -0
  536. data/lib/fog/google/requests/storage/get_object.rb +1 -1
  537. data/lib/fog/google/storage.rb +1 -1
  538. data/lib/fog/hp.rb +56 -26
  539. data/lib/fog/hp/CHANGELOG.hp +123 -0
  540. data/lib/fog/hp/README_HP.rdoc +7 -6
  541. data/lib/fog/hp/block_storage.rb +170 -0
  542. data/lib/fog/hp/cdn.rb +30 -7
  543. data/lib/fog/hp/compute.rb +89 -17
  544. data/lib/fog/hp/models/block_storage/bootable_volumes.rb +28 -0
  545. data/lib/fog/hp/models/block_storage/snapshot.rb +56 -0
  546. data/lib/fog/hp/models/block_storage/snapshots.rb +29 -0
  547. data/lib/fog/hp/models/block_storage/volume.rb +102 -0
  548. data/lib/fog/hp/models/block_storage/volumes.rb +28 -0
  549. data/lib/fog/hp/models/compute/address.rb +0 -1
  550. data/lib/fog/hp/models/compute/image.rb +43 -4
  551. data/lib/fog/hp/models/compute/images.rb +0 -5
  552. data/lib/fog/hp/models/compute/key_pair.rb +0 -5
  553. data/lib/fog/hp/models/compute/meta.rb +29 -0
  554. data/lib/fog/hp/models/compute/metadata.rb +79 -0
  555. data/lib/fog/hp/models/compute/server.rb +96 -26
  556. data/lib/fog/hp/models/meta_parent.rb +33 -0
  557. data/lib/fog/hp/models/storage/directories.rb +35 -10
  558. data/lib/fog/hp/models/storage/directory.rb +139 -29
  559. data/lib/fog/hp/models/storage/file.rb +10 -0
  560. data/lib/fog/hp/models/storage/files.rb +9 -1
  561. data/lib/fog/hp/models/storage/shared_directories.rb +55 -0
  562. data/lib/fog/hp/models/storage/shared_directory.rb +39 -0
  563. data/lib/fog/hp/models/storage/shared_file.rb +67 -0
  564. data/lib/fog/hp/models/storage/shared_files.rb +64 -0
  565. data/lib/fog/hp/requests/block_storage/create_snapshot.rb +76 -0
  566. data/lib/fog/hp/requests/block_storage/create_volume.rb +87 -0
  567. data/lib/fog/hp/requests/block_storage/delete_snapshot.rb +38 -0
  568. data/lib/fog/hp/requests/block_storage/delete_volume.rb +38 -0
  569. data/lib/fog/hp/requests/block_storage/get_bootable_volume_details.rb +59 -0
  570. data/lib/fog/hp/requests/block_storage/get_snapshot_details.rb +54 -0
  571. data/lib/fog/hp/requests/block_storage/get_volume_details.rb +58 -0
  572. data/lib/fog/hp/requests/block_storage/list_bootable_volumes.rb +53 -0
  573. data/lib/fog/hp/requests/block_storage/list_snapshots.rb +48 -0
  574. data/lib/fog/hp/requests/block_storage/list_volumes.rb +52 -0
  575. data/lib/fog/hp/requests/compute/attach_volume.rb +78 -0
  576. data/lib/fog/hp/requests/compute/create_image.rb +5 -8
  577. data/lib/fog/hp/requests/compute/create_persistent_server.rb +168 -0
  578. data/lib/fog/hp/requests/compute/create_server.rb +38 -32
  579. data/lib/fog/hp/requests/compute/delete_meta.rb +55 -0
  580. data/lib/fog/hp/requests/compute/delete_security_group_rule.rb +4 -4
  581. data/lib/fog/hp/requests/compute/detach_volume.rb +47 -0
  582. data/lib/fog/hp/requests/compute/get_console_output.rb +43 -0
  583. data/lib/fog/hp/requests/compute/get_meta.rb +57 -0
  584. data/lib/fog/hp/requests/compute/get_windows_password.rb +43 -0
  585. data/lib/fog/hp/requests/compute/list_metadata.rb +56 -0
  586. data/lib/fog/hp/requests/compute/list_server_volumes.rb +49 -0
  587. data/lib/fog/hp/requests/compute/set_metadata.rb +60 -0
  588. data/lib/fog/hp/requests/compute/update_meta.rb +61 -0
  589. data/lib/fog/hp/requests/compute/update_metadata.rb +60 -0
  590. data/lib/fog/hp/requests/storage/delete_shared_object.rb +38 -0
  591. data/lib/fog/hp/requests/storage/get_object.rb +13 -11
  592. data/lib/fog/hp/requests/storage/get_object_temp_url.rb +31 -0
  593. data/lib/fog/hp/requests/storage/get_shared_container.rb +75 -0
  594. data/lib/fog/hp/requests/storage/get_shared_object.rb +66 -0
  595. data/lib/fog/hp/requests/storage/head_container.rb +1 -0
  596. data/lib/fog/hp/requests/storage/head_object.rb +1 -0
  597. data/lib/fog/hp/requests/storage/head_shared_container.rb +45 -0
  598. data/lib/fog/hp/requests/storage/head_shared_object.rb +39 -0
  599. data/lib/fog/hp/requests/storage/put_container.rb +6 -6
  600. data/lib/fog/hp/requests/storage/put_object.rb +12 -1
  601. data/lib/fog/hp/requests/storage/put_shared_object.rb +85 -0
  602. data/lib/fog/hp/storage.rb +195 -34
  603. data/lib/fog/ibm/requests/compute/create_instance.rb +20 -15
  604. data/lib/fog/identity.rb +8 -4
  605. data/lib/fog/image.rb +5 -6
  606. data/lib/fog/internet_archive.rb +292 -0
  607. data/lib/fog/internet_archive/models/storage/directories.rb +43 -0
  608. data/lib/fog/internet_archive/models/storage/directory.rb +109 -0
  609. data/lib/fog/internet_archive/models/storage/file.rb +267 -0
  610. data/lib/fog/internet_archive/models/storage/files.rb +122 -0
  611. data/lib/fog/internet_archive/models/storage/ia_attributes.rb +39 -0
  612. data/lib/fog/internet_archive/parsers/storage/access_control_list.rb +46 -0
  613. data/lib/fog/internet_archive/parsers/storage/complete_multipart_upload.rb +24 -0
  614. data/lib/fog/internet_archive/parsers/storage/copy_object.rb +22 -0
  615. data/lib/fog/internet_archive/parsers/storage/cors_configuration.rb +41 -0
  616. data/lib/fog/internet_archive/parsers/storage/delete_multiple_objects.rb +50 -0
  617. data/lib/fog/internet_archive/parsers/storage/get_bucket.rb +62 -0
  618. data/lib/fog/internet_archive/parsers/storage/get_bucket_lifecycle.rb +66 -0
  619. data/lib/fog/internet_archive/parsers/storage/get_bucket_location.rb +20 -0
  620. data/lib/fog/internet_archive/parsers/storage/get_bucket_logging.rb +40 -0
  621. data/lib/fog/internet_archive/parsers/storage/get_bucket_website.rb +26 -0
  622. data/lib/fog/internet_archive/parsers/storage/get_request_payment.rb +20 -0
  623. data/lib/fog/internet_archive/parsers/storage/get_service.rb +32 -0
  624. data/lib/fog/internet_archive/parsers/storage/initiate_multipart_upload.rb +24 -0
  625. data/lib/fog/internet_archive/parsers/storage/list_multipart_uploads.rb +56 -0
  626. data/lib/fog/internet_archive/parsers/storage/list_parts.rb +40 -0
  627. data/lib/fog/internet_archive/requests/storage/abort_multipart_upload.rb +28 -0
  628. data/lib/fog/internet_archive/requests/storage/acl_utils.rb +62 -0
  629. data/lib/fog/internet_archive/requests/storage/complete_multipart_upload.rb +48 -0
  630. data/lib/fog/internet_archive/requests/storage/copy_object.rb +81 -0
  631. data/lib/fog/internet_archive/requests/storage/cors_utils.rb +41 -0
  632. data/lib/fog/internet_archive/requests/storage/delete_bucket.rb +47 -0
  633. data/lib/fog/internet_archive/requests/storage/delete_bucket_cors.rb +29 -0
  634. data/lib/fog/internet_archive/requests/storage/delete_bucket_lifecycle.rb +27 -0
  635. data/lib/fog/internet_archive/requests/storage/delete_bucket_policy.rb +29 -0
  636. data/lib/fog/internet_archive/requests/storage/delete_bucket_website.rb +29 -0
  637. data/lib/fog/internet_archive/requests/storage/delete_multiple_objects.rb +93 -0
  638. data/lib/fog/internet_archive/requests/storage/delete_object.rb +50 -0
  639. data/lib/fog/internet_archive/requests/storage/get_bucket.rb +112 -0
  640. data/lib/fog/internet_archive/requests/storage/get_bucket_acl.rb +69 -0
  641. data/lib/fog/internet_archive/requests/storage/get_bucket_cors.rb +65 -0
  642. data/lib/fog/internet_archive/requests/storage/get_bucket_lifecycle.rb +38 -0
  643. data/lib/fog/internet_archive/requests/storage/get_bucket_location.rb +58 -0
  644. data/lib/fog/internet_archive/requests/storage/get_bucket_logging.rb +47 -0
  645. data/lib/fog/internet_archive/requests/storage/get_bucket_policy.rb +34 -0
  646. data/lib/fog/internet_archive/requests/storage/get_bucket_website.rb +40 -0
  647. data/lib/fog/internet_archive/requests/storage/get_object.rb +167 -0
  648. data/lib/fog/internet_archive/requests/storage/get_object_acl.rb +76 -0
  649. data/lib/fog/internet_archive/requests/storage/get_object_http_url.rb +55 -0
  650. data/lib/fog/internet_archive/requests/storage/get_object_https_url.rb +37 -0
  651. data/lib/fog/internet_archive/requests/storage/get_object_torrent.rb +47 -0
  652. data/lib/fog/internet_archive/requests/storage/get_object_url.rb +55 -0
  653. data/lib/fog/internet_archive/requests/storage/get_request_payment.rb +49 -0
  654. data/lib/fog/internet_archive/requests/storage/get_service.rb +54 -0
  655. data/lib/fog/internet_archive/requests/storage/head_object.rb +61 -0
  656. data/lib/fog/internet_archive/requests/storage/initiate_multipart_upload.rb +44 -0
  657. data/lib/fog/internet_archive/requests/storage/list_multipart_uploads.rb +54 -0
  658. data/lib/fog/internet_archive/requests/storage/list_parts.rb +55 -0
  659. data/lib/fog/internet_archive/requests/storage/post_object_hidden_fields.rb +38 -0
  660. data/lib/fog/internet_archive/requests/storage/put_bucket.rb +74 -0
  661. data/lib/fog/internet_archive/requests/storage/put_bucket_acl.rb +71 -0
  662. data/lib/fog/internet_archive/requests/storage/put_bucket_cors.rb +49 -0
  663. data/lib/fog/internet_archive/requests/storage/put_bucket_lifecycle.rb +77 -0
  664. data/lib/fog/internet_archive/requests/storage/put_bucket_logging.rb +81 -0
  665. data/lib/fog/internet_archive/requests/storage/put_bucket_policy.rb +28 -0
  666. data/lib/fog/internet_archive/requests/storage/put_bucket_website.rb +64 -0
  667. data/lib/fog/internet_archive/requests/storage/put_object.rb +98 -0
  668. data/lib/fog/internet_archive/requests/storage/put_object_acl.rb +75 -0
  669. data/lib/fog/internet_archive/requests/storage/put_object_url.rb +48 -0
  670. data/lib/fog/internet_archive/requests/storage/put_request_payment.rb +49 -0
  671. data/lib/fog/internet_archive/requests/storage/sync_clock.rb +28 -0
  672. data/lib/fog/internet_archive/requests/storage/upload_part.rb +41 -0
  673. data/lib/fog/internet_archive/signaturev4.rb +73 -0
  674. data/lib/fog/internet_archive/storage.rb +390 -0
  675. data/lib/fog/joyent.rb +2 -0
  676. data/lib/fog/joyent/compute.rb +59 -42
  677. data/lib/fog/joyent/errors.rb +2 -2
  678. data/lib/fog/joyent/models/compute/network.rb +13 -0
  679. data/lib/fog/joyent/models/compute/networks.rb +15 -0
  680. data/lib/fog/joyent/models/compute/server.rb +3 -2
  681. data/lib/fog/joyent/models/compute/servers.rb +3 -1
  682. data/lib/fog/joyent/requests/compute/delete_machine.rb +1 -1
  683. data/lib/fog/joyent/requests/compute/get_machine.rb +1 -1
  684. data/lib/fog/joyent/requests/compute/list_machines.rb +2 -1
  685. data/lib/fog/joyent/requests/compute/list_networks.rb +26 -0
  686. data/lib/fog/joyent/requests/compute/resize_machine.rb +4 -1
  687. data/lib/fog/{core/json.rb → json.rb} +13 -3
  688. data/lib/fog/libvirt/models/compute/nic.rb +1 -0
  689. data/lib/fog/libvirt/models/compute/volume.rb +1 -1
  690. data/lib/fog/libvirt/requests/compute/get_node_info.rb +1 -1
  691. data/lib/fog/linode/models/dns/record.rb +0 -1
  692. data/lib/fog/linode/models/dns/zone.rb +0 -1
  693. data/lib/fog/local/models/storage/files.rb +13 -13
  694. data/lib/fog/metering.rb +25 -0
  695. data/lib/fog/monitoring.rb +24 -0
  696. data/lib/fog/network.rb +8 -6
  697. data/lib/fog/openstack.rb +40 -1
  698. data/lib/fog/openstack/CHANGELOG.md +47 -0
  699. data/lib/fog/openstack/compute.rb +20 -7
  700. data/lib/fog/openstack/examples/identity/basics.rb +69 -0
  701. data/lib/fog/openstack/examples/image/upload-test-image.rb +77 -0
  702. data/lib/fog/openstack/examples/network/network_subnets_routers.rb +63 -0
  703. data/lib/fog/openstack/examples/storage/set-account-quota.rb +66 -0
  704. data/lib/fog/openstack/identity.rb +5 -5
  705. data/lib/fog/openstack/image.rb +8 -2
  706. data/lib/fog/openstack/metering.rb +215 -0
  707. data/lib/fog/openstack/models/compute/flavors.rb +2 -2
  708. data/lib/fog/openstack/models/compute/images.rb +2 -1
  709. data/lib/fog/openstack/models/compute/metadata.rb +5 -6
  710. data/lib/fog/openstack/models/compute/server.rb +69 -25
  711. data/lib/fog/openstack/models/identity/role.rb +1 -1
  712. data/lib/fog/openstack/models/image/images.rb +2 -1
  713. data/lib/fog/openstack/models/metering/meter.rb +0 -0
  714. data/lib/fog/openstack/models/metering/meters.rb +0 -0
  715. data/lib/fog/openstack/models/metering/resource.rb +24 -0
  716. data/lib/fog/openstack/models/metering/resources.rb +25 -0
  717. data/lib/fog/openstack/models/network/floating_ip.rb +52 -0
  718. data/lib/fog/openstack/models/network/floating_ips.rb +34 -0
  719. data/lib/fog/openstack/models/network/lb_health_monitor.rb +68 -0
  720. data/lib/fog/openstack/models/network/lb_health_monitors.rb +34 -0
  721. data/lib/fog/openstack/models/network/lb_member.rb +53 -0
  722. data/lib/fog/openstack/models/network/lb_members.rb +34 -0
  723. data/lib/fog/openstack/models/network/lb_pool.rb +78 -0
  724. data/lib/fog/openstack/models/network/lb_pools.rb +34 -0
  725. data/lib/fog/openstack/models/network/lb_vip.rb +59 -0
  726. data/lib/fog/openstack/models/network/lb_vips.rb +34 -0
  727. data/lib/fog/openstack/models/network/network.rb +8 -0
  728. data/lib/fog/openstack/models/network/router.rb +56 -0
  729. data/lib/fog/openstack/models/network/routers.rb +34 -0
  730. data/lib/fog/openstack/models/storage/directories.rb +39 -0
  731. data/lib/fog/openstack/models/storage/directory.rb +50 -0
  732. data/lib/fog/openstack/models/storage/file.rb +150 -0
  733. data/lib/fog/openstack/models/storage/files.rb +94 -0
  734. data/lib/fog/openstack/models/volume/volume.rb +3 -1
  735. data/lib/fog/openstack/models/volume/volumes.rb +2 -1
  736. data/lib/fog/openstack/network.rb +103 -29
  737. data/lib/fog/openstack/requests/compute/add_flavor_access.rb +31 -0
  738. data/lib/fog/openstack/requests/compute/allocate_address.rb +1 -1
  739. data/lib/fog/openstack/requests/compute/attach_volume.rb +10 -5
  740. data/lib/fog/openstack/requests/compute/create_flavor.rb +1 -1
  741. data/lib/fog/openstack/requests/compute/create_server.rb +34 -7
  742. data/lib/fog/openstack/requests/compute/create_volume.rb +14 -13
  743. data/lib/fog/openstack/requests/compute/delete_meta.rb +43 -0
  744. data/lib/fog/openstack/requests/compute/delete_volume.rb +9 -2
  745. data/lib/fog/openstack/requests/compute/detach_volume.rb +8 -2
  746. data/lib/fog/openstack/requests/compute/get_limits.rb +1 -1
  747. data/lib/fog/openstack/requests/compute/get_server_volumes.rb +10 -0
  748. data/lib/fog/openstack/requests/compute/get_snapshot_details.rb +1 -1
  749. data/lib/fog/openstack/requests/compute/get_volume_details.rb +8 -17
  750. data/lib/fog/openstack/requests/compute/list_address_pools.rb +10 -0
  751. data/lib/fog/openstack/requests/compute/list_flavors_detail.rb +4 -3
  752. data/lib/fog/openstack/requests/compute/list_security_groups.rb +1 -1
  753. data/lib/fog/openstack/requests/compute/list_servers.rb +1 -1
  754. data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -0
  755. data/lib/fog/openstack/requests/compute/list_tenants_with_flavor_access.rb +26 -0
  756. data/lib/fog/openstack/requests/compute/list_volumes.rb +4 -26
  757. data/lib/fog/openstack/requests/compute/rebuild_server.rb +9 -1
  758. data/lib/fog/openstack/requests/compute/remove_fixed_ip.rb +1 -1
  759. data/lib/fog/openstack/requests/compute/remove_flavor_access.rb +31 -0
  760. data/lib/fog/openstack/requests/compute/revert_resize_server.rb +2 -2
  761. data/lib/fog/openstack/requests/compute/update_meta.rb +46 -0
  762. data/lib/fog/openstack/requests/compute/update_server.rb +1 -1
  763. data/lib/fog/openstack/requests/identity/create_tenant.rb +2 -2
  764. data/lib/fog/openstack/requests/identity/delete_user_role.rb +2 -2
  765. data/lib/fog/openstack/requests/identity/get_user_by_name.rb +2 -2
  766. data/lib/fog/openstack/requests/image/create_image.rb +1 -1
  767. data/lib/fog/openstack/requests/metering/get_resource.rb +32 -0
  768. data/lib/fog/openstack/requests/metering/get_samples.rb +55 -0
  769. data/lib/fog/openstack/requests/metering/get_statistics.rb +56 -0
  770. data/lib/fog/openstack/requests/metering/list_meters.rb +50 -0
  771. data/lib/fog/openstack/requests/metering/list_resources.rb +32 -0
  772. data/lib/fog/openstack/requests/network/add_router_interface.rb +48 -0
  773. data/lib/fog/openstack/requests/network/associate_floating_ip.rb +49 -0
  774. data/lib/fog/openstack/requests/network/associate_lb_health_monitor.rb +39 -0
  775. data/lib/fog/openstack/requests/network/create_floating_ip.rb +50 -0
  776. data/lib/fog/openstack/requests/network/create_lb_health_monitor.rb +56 -0
  777. data/lib/fog/openstack/requests/network/create_lb_member.rb +53 -0
  778. data/lib/fog/openstack/requests/network/create_lb_pool.rb +60 -0
  779. data/lib/fog/openstack/requests/network/create_lb_vip.rb +60 -0
  780. data/lib/fog/openstack/requests/network/create_network.rb +57 -2
  781. data/lib/fog/openstack/requests/network/create_router.rb +57 -0
  782. data/lib/fog/openstack/requests/network/delete_floating_ip.rb +30 -0
  783. data/lib/fog/openstack/requests/network/delete_lb_health_monitor.rb +30 -0
  784. data/lib/fog/openstack/requests/network/delete_lb_member.rb +30 -0
  785. data/lib/fog/openstack/requests/network/delete_lb_pool.rb +30 -0
  786. data/lib/fog/openstack/requests/network/delete_lb_vip.rb +30 -0
  787. data/lib/fog/openstack/requests/network/delete_quota.rb +26 -0
  788. data/lib/fog/openstack/requests/network/delete_router.rb +30 -0
  789. data/lib/fog/openstack/requests/network/disassociate_floating_ip.rb +49 -0
  790. data/lib/fog/openstack/requests/network/disassociate_lb_health_monitor.rb +31 -0
  791. data/lib/fog/openstack/requests/network/get_floating_ip.rb +42 -0
  792. data/lib/fog/openstack/requests/network/get_lb_health_monitor.rb +30 -0
  793. data/lib/fog/openstack/requests/network/get_lb_member.rb +30 -0
  794. data/lib/fog/openstack/requests/network/get_lb_pool.rb +30 -0
  795. data/lib/fog/openstack/requests/network/get_lb_pool_stats.rb +35 -0
  796. data/lib/fog/openstack/requests/network/get_lb_vip.rb +30 -0
  797. data/lib/fog/openstack/requests/network/get_quota.rb +31 -0
  798. data/lib/fog/openstack/requests/network/get_quotas.rb +31 -0
  799. data/lib/fog/openstack/requests/network/get_router.rb +32 -0
  800. data/lib/fog/openstack/requests/network/list_floating_ips.rb +27 -0
  801. data/lib/fog/openstack/requests/network/list_lb_health_monitors.rb +27 -0
  802. data/lib/fog/openstack/requests/network/list_lb_members.rb +27 -0
  803. data/lib/fog/openstack/requests/network/list_lb_pools.rb +27 -0
  804. data/lib/fog/openstack/requests/network/list_lb_vips.rb +27 -0
  805. data/lib/fog/openstack/requests/network/list_routers.rb +27 -0
  806. data/lib/fog/openstack/requests/network/remove_router_interface.rb +36 -0
  807. data/lib/fog/openstack/requests/network/update_lb_health_monitor.rb +45 -0
  808. data/lib/fog/openstack/requests/network/update_lb_member.rb +41 -0
  809. data/lib/fog/openstack/requests/network/update_lb_pool.rb +42 -0
  810. data/lib/fog/openstack/requests/network/update_lb_vip.rb +44 -0
  811. data/lib/fog/openstack/requests/network/update_quota.rb +33 -0
  812. data/lib/fog/openstack/requests/network/update_router.rb +85 -0
  813. data/lib/fog/openstack/requests/storage/copy_object.rb +27 -0
  814. data/lib/fog/openstack/requests/storage/delete_container.rb +22 -0
  815. data/lib/fog/openstack/requests/storage/delete_object.rb +23 -0
  816. data/lib/fog/openstack/requests/storage/get_container.rb +44 -0
  817. data/lib/fog/openstack/requests/storage/get_containers.rb +33 -0
  818. data/lib/fog/openstack/requests/storage/get_object.rb +29 -0
  819. data/lib/fog/openstack/requests/storage/get_object_https_url.rb +51 -0
  820. data/lib/fog/openstack/requests/storage/head_container.rb +28 -0
  821. data/lib/fog/openstack/requests/storage/head_containers.rb +25 -0
  822. data/lib/fog/openstack/requests/storage/head_object.rb +23 -0
  823. data/lib/fog/openstack/requests/storage/post_set_meta_temp_url_key.rb +37 -0
  824. data/lib/fog/openstack/requests/storage/put_container.rb +22 -0
  825. data/lib/fog/openstack/requests/storage/put_object.rb +33 -0
  826. data/lib/fog/openstack/requests/storage/put_object_manifest.rb +38 -0
  827. data/lib/fog/openstack/requests/volume/create_volume.rb +4 -2
  828. data/lib/fog/openstack/requests/volume/get_quota.rb +31 -0
  829. data/lib/fog/openstack/requests/volume/get_quota_defaults.rb +31 -0
  830. data/lib/fog/openstack/requests/volume/update_quota.rb +32 -0
  831. data/lib/fog/openstack/storage.rb +216 -0
  832. data/lib/fog/openstack/volume.rb +14 -5
  833. data/lib/fog/openvz.rb +9 -0
  834. data/lib/fog/openvz/README.md +188 -0
  835. data/lib/fog/openvz/compute.rb +176 -0
  836. data/lib/fog/openvz/models/compute/server.rb +194 -0
  837. data/lib/fog/openvz/models/compute/servers.rb +27 -0
  838. data/lib/fog/openvz/requests/compute/compact_server.rb +21 -0
  839. data/lib/fog/openvz/requests/compute/convert_server.rb +21 -0
  840. data/lib/fog/openvz/requests/compute/create_server.rb +23 -0
  841. data/lib/fog/openvz/requests/compute/destroy_server.rb +21 -0
  842. data/lib/fog/openvz/requests/compute/exec2_server.rb +21 -0
  843. data/lib/fog/openvz/requests/compute/exec_server.rb +21 -0
  844. data/lib/fog/openvz/requests/compute/get_server_details.rb +21 -0
  845. data/lib/fog/openvz/requests/compute/list_servers.rb +21 -0
  846. data/lib/fog/openvz/requests/compute/mount_server.rb +21 -0
  847. data/lib/fog/openvz/requests/compute/quotainit_server.rb +21 -0
  848. data/lib/fog/openvz/requests/compute/quotaoff_server.rb +21 -0
  849. data/lib/fog/openvz/requests/compute/quotaon_server.rb +21 -0
  850. data/lib/fog/openvz/requests/compute/restart_server.rb +24 -0
  851. data/lib/fog/openvz/requests/compute/resume_server.rb +21 -0
  852. data/lib/fog/openvz/requests/compute/runscript_server.rb +21 -0
  853. data/lib/fog/openvz/requests/compute/set_server.rb +27 -0
  854. data/lib/fog/openvz/requests/compute/snapshot_delete_server.rb +21 -0
  855. data/lib/fog/openvz/requests/compute/snapshot_list_server.rb +21 -0
  856. data/lib/fog/openvz/requests/compute/snapshot_mount_server.rb +21 -0
  857. data/lib/fog/openvz/requests/compute/snapshot_server.rb +21 -0
  858. data/lib/fog/openvz/requests/compute/snapshot_switch_server.rb +21 -0
  859. data/lib/fog/openvz/requests/compute/snapshot_umount_server.rb +21 -0
  860. data/lib/fog/openvz/requests/compute/start_server.rb +24 -0
  861. data/lib/fog/openvz/requests/compute/status_server.rb +21 -0
  862. data/lib/fog/openvz/requests/compute/stop_server.rb +24 -0
  863. data/lib/fog/openvz/requests/compute/suspend_server.rb +21 -0
  864. data/lib/fog/openvz/requests/compute/umount_server.rb +21 -0
  865. data/lib/fog/ovirt/compute.rb +5 -0
  866. data/lib/fog/ovirt/models/compute/quota.rb +21 -0
  867. data/lib/fog/ovirt/models/compute/quotas.rb +24 -0
  868. data/lib/fog/ovirt/models/compute/server.rb +4 -3
  869. data/lib/fog/ovirt/models/compute/volume.rb +2 -0
  870. data/lib/fog/ovirt/requests/compute/get_api_version.rb +16 -0
  871. data/lib/fog/ovirt/requests/compute/get_quota.rb +19 -0
  872. data/lib/fog/ovirt/requests/compute/list_quotas.rb +21 -0
  873. data/lib/fog/ovirt/requests/compute/mock_files/quotas.xml +7 -0
  874. data/lib/fog/rackspace.rb +55 -11
  875. data/lib/fog/rackspace/block_storage.rb +103 -40
  876. data/lib/fog/rackspace/cdn.rb +120 -38
  877. data/lib/fog/rackspace/compute.rb +56 -58
  878. data/lib/fog/rackspace/compute_v2.rb +149 -45
  879. data/lib/fog/rackspace/databases.rb +86 -43
  880. data/lib/fog/rackspace/dns.rb +77 -38
  881. data/lib/fog/rackspace/docs/block_storage.md +417 -0
  882. data/lib/fog/rackspace/docs/compute_v2.md +722 -0
  883. data/lib/fog/rackspace/docs/getting_started.md +86 -0
  884. data/lib/fog/rackspace/docs/storage.md +530 -0
  885. data/lib/fog/rackspace/errors.rb +34 -0
  886. data/lib/fog/rackspace/examples/README.md +47 -0
  887. data/lib/fog/rackspace/examples/block_storage/create_snapshot.rb +118 -0
  888. data/lib/fog/rackspace/examples/block_storage/create_volume.rb +58 -0
  889. data/lib/fog/rackspace/examples/block_storage/delete_volume.rb +53 -0
  890. data/lib/fog/rackspace/examples/compute_v2/create_image.rb +61 -0
  891. data/lib/fog/rackspace/examples/compute_v2/create_server.rb +89 -0
  892. data/lib/fog/rackspace/examples/compute_v2/delete_image.rb +61 -0
  893. data/lib/fog/rackspace/examples/compute_v2/delete_server.rb +56 -0
  894. data/lib/fog/rackspace/examples/compute_v2/detach_volume.rb +93 -0
  895. data/lib/fog/rackspace/examples/compute_v2/resize_server.rb +106 -0
  896. data/lib/fog/rackspace/examples/compute_v2/server_attachments.rb +69 -0
  897. data/lib/fog/rackspace/examples/compute_v2/server_metadata.rb +85 -0
  898. data/lib/fog/rackspace/examples/storage/create_cdn_directory.rb +44 -0
  899. data/lib/fog/rackspace/examples/storage/create_private_directory.rb +46 -0
  900. data/lib/fog/rackspace/examples/storage/delete_directory.rb +62 -0
  901. data/lib/fog/rackspace/examples/storage/delete_file.rb +70 -0
  902. data/lib/fog/rackspace/examples/storage/download_file.rb +75 -0
  903. data/lib/fog/rackspace/examples/storage/lorem.txt +1 -0
  904. data/lib/fog/rackspace/examples/storage/storage_metadata.rb +82 -0
  905. data/lib/fog/rackspace/examples/storage/upload_file.rb +45 -0
  906. data/lib/fog/rackspace/examples/storage/upload_large_files.rb +103 -0
  907. data/lib/fog/rackspace/identity.rb +19 -28
  908. data/lib/fog/rackspace/load_balancers.rb +86 -42
  909. data/lib/fog/rackspace/mock_data.rb +172 -0
  910. data/lib/fog/rackspace/models/block_storage/snapshot.rb +42 -0
  911. data/lib/fog/rackspace/models/block_storage/snapshots.rb +15 -0
  912. data/lib/fog/rackspace/models/block_storage/volume.rb +65 -0
  913. data/lib/fog/rackspace/models/block_storage/volume_type.rb +6 -0
  914. data/lib/fog/rackspace/models/block_storage/volume_types.rb +15 -0
  915. data/lib/fog/rackspace/models/block_storage/volumes.rb +15 -0
  916. data/lib/fog/rackspace/models/compute/server.rb +1 -1
  917. data/lib/fog/rackspace/models/compute_v2/attachment.rb +37 -9
  918. data/lib/fog/rackspace/models/compute_v2/attachments.rb +14 -0
  919. data/lib/fog/rackspace/models/compute_v2/flavor.rb +18 -0
  920. data/lib/fog/rackspace/models/compute_v2/flavors.rb +17 -1
  921. data/lib/fog/rackspace/models/compute_v2/image.rb +82 -3
  922. data/lib/fog/rackspace/models/compute_v2/images.rb +17 -0
  923. data/lib/fog/rackspace/models/compute_v2/key_pair.rb +56 -0
  924. data/lib/fog/rackspace/models/compute_v2/key_pairs.rb +43 -0
  925. data/lib/fog/rackspace/models/compute_v2/meta_parent.rb +42 -0
  926. data/lib/fog/rackspace/models/compute_v2/metadata.rb +112 -0
  927. data/lib/fog/rackspace/models/compute_v2/metadatum.rb +41 -0
  928. data/lib/fog/rackspace/models/compute_v2/network.rb +27 -0
  929. data/lib/fog/rackspace/models/compute_v2/networks.rb +23 -0
  930. data/lib/fog/rackspace/models/compute_v2/server.rb +380 -19
  931. data/lib/fog/rackspace/models/compute_v2/servers.rb +35 -2
  932. data/lib/fog/rackspace/models/dns/records.rb +1 -1
  933. data/lib/fog/rackspace/models/dns/zones.rb +46 -4
  934. data/lib/fog/rackspace/models/identity/credentials.rb +3 -2
  935. data/lib/fog/rackspace/models/identity/service_catalog.rb +83 -0
  936. data/lib/fog/rackspace/models/identity/users.rb +2 -2
  937. data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +7 -7
  938. data/lib/fog/rackspace/models/monitoring/agent_token.rb +40 -0
  939. data/lib/fog/rackspace/models/monitoring/agent_tokens.rb +28 -0
  940. data/lib/fog/rackspace/models/monitoring/alarm.rb +51 -0
  941. data/lib/fog/rackspace/models/monitoring/alarm_example.rb +26 -0
  942. data/lib/fog/rackspace/models/monitoring/alarm_examples.rb +31 -0
  943. data/lib/fog/rackspace/models/monitoring/alarms.rb +40 -0
  944. data/lib/fog/rackspace/models/monitoring/base.rb +36 -0
  945. data/lib/fog/rackspace/models/monitoring/check.rb +75 -0
  946. data/lib/fog/rackspace/models/monitoring/check_type.rb +15 -0
  947. data/lib/fog/rackspace/models/monitoring/check_types.rb +23 -0
  948. data/lib/fog/rackspace/models/monitoring/checks.rb +40 -0
  949. data/lib/fog/rackspace/models/monitoring/data_point.rb +18 -0
  950. data/lib/fog/rackspace/models/monitoring/data_points.rb +49 -0
  951. data/lib/fog/rackspace/models/monitoring/entities.rb +48 -0
  952. data/lib/fog/rackspace/models/monitoring/entity.rb +64 -0
  953. data/lib/fog/rackspace/models/monitoring/metric.rb +25 -0
  954. data/lib/fog/rackspace/models/monitoring/metrics.rb +27 -0
  955. data/lib/fog/rackspace/models/storage/account.rb +50 -0
  956. data/lib/fog/rackspace/models/storage/directories.rb +26 -3
  957. data/lib/fog/rackspace/models/storage/directory.rb +151 -38
  958. data/lib/fog/rackspace/models/storage/file.rb +166 -66
  959. data/lib/fog/rackspace/models/storage/files.rb +89 -4
  960. data/lib/fog/rackspace/models/storage/metadata.rb +152 -0
  961. data/lib/fog/rackspace/monitoring.rb +145 -0
  962. data/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +52 -0
  963. data/lib/fog/rackspace/requests/block_storage/create_volume.rb +66 -0
  964. data/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +17 -0
  965. data/lib/fog/rackspace/requests/block_storage/delete_volume.rb +28 -0
  966. data/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +31 -0
  967. data/lib/fog/rackspace/requests/block_storage/get_volume.rb +41 -0
  968. data/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +27 -0
  969. data/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +25 -0
  970. data/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +20 -0
  971. data/lib/fog/rackspace/requests/block_storage/list_volumes.rb +28 -0
  972. data/lib/fog/rackspace/requests/cdn/delete_object.rb +41 -0
  973. data/lib/fog/rackspace/requests/cdn/get_containers.rb +39 -0
  974. data/lib/fog/rackspace/requests/cdn/head_container.rb +29 -0
  975. data/lib/fog/rackspace/requests/cdn/post_container.rb +27 -1
  976. data/lib/fog/rackspace/requests/cdn/put_container.rb +27 -1
  977. data/lib/fog/rackspace/requests/compute/delete_image.rb +1 -1
  978. data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +58 -2
  979. data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +17 -0
  980. data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +22 -0
  981. data/lib/fog/rackspace/requests/compute_v2/create_image.rb +68 -11
  982. data/lib/fog/rackspace/requests/compute_v2/create_keypair.rb +53 -0
  983. data/lib/fog/rackspace/requests/compute_v2/create_network.rb +36 -0
  984. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +160 -8
  985. data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +25 -0
  986. data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +8 -4
  987. data/lib/fog/rackspace/requests/compute_v2/delete_keypair.rb +36 -0
  988. data/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +37 -0
  989. data/lib/fog/rackspace/requests/compute_v2/delete_network.rb +21 -0
  990. data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +21 -0
  991. data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +24 -0
  992. data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +29 -0
  993. data/lib/fog/rackspace/requests/compute_v2/get_image.rb +33 -0
  994. data/lib/fog/rackspace/requests/compute_v2/get_keypair.rb +41 -0
  995. data/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +39 -0
  996. data/lib/fog/rackspace/requests/compute_v2/get_network.rb +21 -0
  997. data/lib/fog/rackspace/requests/compute_v2/get_server.rb +49 -0
  998. data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +9 -0
  999. data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +16 -0
  1000. data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +23 -0
  1001. data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +21 -0
  1002. data/lib/fog/rackspace/requests/compute_v2/list_images.rb +21 -0
  1003. data/lib/fog/rackspace/requests/compute_v2/list_keypairs.rb +37 -0
  1004. data/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +38 -0
  1005. data/lib/fog/rackspace/requests/compute_v2/list_networks.rb +18 -0
  1006. data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +42 -0
  1007. data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +23 -0
  1008. data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +54 -4
  1009. data/lib/fog/rackspace/requests/compute_v2/rescue_server.rb +43 -0
  1010. data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +23 -0
  1011. data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +23 -0
  1012. data/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +41 -0
  1013. data/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +41 -0
  1014. data/lib/fog/rackspace/requests/compute_v2/unrescue_server.rb +40 -0
  1015. data/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +40 -0
  1016. data/lib/fog/rackspace/requests/compute_v2/update_server.rb +30 -7
  1017. data/lib/fog/rackspace/requests/dns/list_domains.rb +2 -2
  1018. data/lib/fog/rackspace/requests/load_balancers/create_load_balancer.rb +1 -1
  1019. data/lib/fog/rackspace/requests/load_balancers/set_ssl_termination.rb +3 -3
  1020. data/lib/fog/rackspace/requests/load_balancers/update_load_balancer.rb +2 -1
  1021. data/lib/fog/rackspace/requests/monitoring/create_agent_token.rb +19 -0
  1022. data/lib/fog/rackspace/requests/monitoring/create_alarm.rb +19 -0
  1023. data/lib/fog/rackspace/requests/monitoring/create_check.rb +19 -0
  1024. data/lib/fog/rackspace/requests/monitoring/create_entity.rb +19 -0
  1025. data/lib/fog/rackspace/requests/monitoring/delete_agent_token.rb +17 -0
  1026. data/lib/fog/rackspace/requests/monitoring/delete_alarm.rb +18 -0
  1027. data/lib/fog/rackspace/requests/monitoring/delete_check.rb +17 -0
  1028. data/lib/fog/rackspace/requests/monitoring/delete_entity.rb +17 -0
  1029. data/lib/fog/rackspace/requests/monitoring/evaluate_alarm_example.rb +21 -0
  1030. data/lib/fog/rackspace/requests/monitoring/get_agent_token.rb +19 -0
  1031. data/lib/fog/rackspace/requests/monitoring/get_alarm.rb +19 -0
  1032. data/lib/fog/rackspace/requests/monitoring/get_alarm_example.rb +19 -0
  1033. data/lib/fog/rackspace/requests/monitoring/get_check.rb +19 -0
  1034. data/lib/fog/rackspace/requests/monitoring/get_entity.rb +19 -0
  1035. data/lib/fog/rackspace/requests/monitoring/list_agent_tokens.rb +19 -0
  1036. data/lib/fog/rackspace/requests/monitoring/list_alarm_examples.rb +18 -0
  1037. data/lib/fog/rackspace/requests/monitoring/list_alarms.rb +18 -0
  1038. data/lib/fog/rackspace/requests/monitoring/list_check_types.rb +17 -0
  1039. data/lib/fog/rackspace/requests/monitoring/list_checks.rb +18 -0
  1040. data/lib/fog/rackspace/requests/monitoring/list_data_points.rb +18 -0
  1041. data/lib/fog/rackspace/requests/monitoring/list_entities.rb +19 -0
  1042. data/lib/fog/rackspace/requests/monitoring/list_metrics.rb +18 -0
  1043. data/lib/fog/rackspace/requests/monitoring/list_notification_plans.rb +18 -0
  1044. data/lib/fog/rackspace/requests/monitoring/list_overview.rb +19 -0
  1045. data/lib/fog/rackspace/requests/monitoring/update_alarm.rb +18 -0
  1046. data/lib/fog/rackspace/requests/monitoring/update_check.rb +18 -0
  1047. data/lib/fog/rackspace/requests/monitoring/update_entity.rb +18 -0
  1048. data/lib/fog/rackspace/requests/storage/copy_object.rb +4 -0
  1049. data/lib/fog/rackspace/requests/storage/delete_container.rb +4 -1
  1050. data/lib/fog/rackspace/requests/storage/delete_multiple_objects.rb +75 -0
  1051. data/lib/fog/rackspace/requests/storage/delete_object.rb +4 -1
  1052. data/lib/fog/rackspace/requests/storage/delete_static_large_object.rb +50 -0
  1053. data/lib/fog/rackspace/requests/storage/get_container.rb +4 -0
  1054. data/lib/fog/rackspace/requests/storage/get_containers.rb +4 -0
  1055. data/lib/fog/rackspace/requests/storage/get_object.rb +7 -3
  1056. data/lib/fog/rackspace/requests/storage/get_object_https_url.rb +7 -4
  1057. data/lib/fog/rackspace/requests/storage/head_container.rb +4 -0
  1058. data/lib/fog/rackspace/requests/storage/head_containers.rb +4 -0
  1059. data/lib/fog/rackspace/requests/storage/head_object.rb +4 -1
  1060. data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +4 -1
  1061. data/lib/fog/rackspace/requests/storage/put_container.rb +6 -2
  1062. data/lib/fog/rackspace/requests/storage/put_dynamic_obj_manifest.rb +44 -0
  1063. data/lib/fog/rackspace/requests/storage/put_object.rb +12 -6
  1064. data/lib/fog/rackspace/requests/storage/put_object_manifest.rb +4 -13
  1065. data/lib/fog/rackspace/requests/storage/put_static_obj_manifest.rb +60 -0
  1066. data/lib/fog/rackspace/service.rb +121 -0
  1067. data/lib/fog/rackspace/storage.rb +91 -46
  1068. data/lib/fog/riakcs.rb +122 -0
  1069. data/lib/fog/riakcs/provisioning.rb +101 -0
  1070. data/lib/fog/riakcs/requests/provisioning/create_user.rb +77 -0
  1071. data/lib/fog/riakcs/requests/provisioning/disable_user.rb +23 -0
  1072. data/lib/fog/riakcs/requests/provisioning/enable_user.rb +23 -0
  1073. data/lib/fog/riakcs/requests/provisioning/get_user.rb +41 -0
  1074. data/lib/fog/riakcs/requests/provisioning/list_users.rb +43 -0
  1075. data/lib/fog/riakcs/requests/provisioning/regrant_secret.rb +23 -0
  1076. data/lib/fog/riakcs/requests/provisioning/update_user.rb +23 -0
  1077. data/lib/fog/riakcs/requests/usage/get_usage.rb +68 -0
  1078. data/lib/fog/riakcs/usage.rb +67 -0
  1079. data/lib/fog/schema/data_validator.rb +154 -0
  1080. data/lib/fog/serverlove/compute.rb +26 -23
  1081. data/lib/fog/serverlove/models/compute/server.rb +1 -1
  1082. data/lib/fog/storage.rb +11 -24
  1083. data/lib/fog/storm_on_demand.rb +9 -1
  1084. data/lib/fog/storm_on_demand/README.md +49 -0
  1085. data/lib/fog/storm_on_demand/account.rb +58 -0
  1086. data/lib/fog/storm_on_demand/billing.rb +61 -0
  1087. data/lib/fog/storm_on_demand/compute.rb +33 -58
  1088. data/lib/fog/storm_on_demand/dns.rb +85 -0
  1089. data/lib/fog/storm_on_demand/models/account/token.rb +23 -0
  1090. data/lib/fog/storm_on_demand/models/account/tokens.rb +20 -0
  1091. data/lib/fog/storm_on_demand/models/billing/invoice.rb +28 -0
  1092. data/lib/fog/storm_on_demand/models/billing/invoices.rb +30 -0
  1093. data/lib/fog/storm_on_demand/models/billing/payment.rb +17 -0
  1094. data/lib/fog/storm_on_demand/models/billing/payments.rb +19 -0
  1095. data/lib/fog/storm_on_demand/models/compute/config.rb +18 -4
  1096. data/lib/fog/storm_on_demand/models/compute/configs.rb +6 -2
  1097. data/lib/fog/storm_on_demand/models/compute/image.rb +22 -1
  1098. data/lib/fog/storm_on_demand/models/compute/images.rb +12 -2
  1099. data/lib/fog/storm_on_demand/models/compute/notification.rb +34 -0
  1100. data/lib/fog/storm_on_demand/models/compute/notifications.rb +30 -0
  1101. data/lib/fog/storm_on_demand/models/compute/product.rb +40 -0
  1102. data/lib/fog/storm_on_demand/models/compute/products.rb +28 -0
  1103. data/lib/fog/storm_on_demand/models/compute/server.rb +33 -9
  1104. data/lib/fog/storm_on_demand/models/compute/servers.rb +7 -2
  1105. data/lib/fog/storm_on_demand/models/compute/template.rb +7 -1
  1106. data/lib/fog/storm_on_demand/models/compute/templates.rb +7 -2
  1107. data/lib/fog/storm_on_demand/models/dns/domain.rb +34 -0
  1108. data/lib/fog/storm_on_demand/models/dns/domains.rb +20 -0
  1109. data/lib/fog/storm_on_demand/models/dns/record.rb +64 -0
  1110. data/lib/fog/storm_on_demand/models/dns/records.rb +30 -0
  1111. data/lib/fog/storm_on_demand/models/dns/reverse.rb +15 -0
  1112. data/lib/fog/storm_on_demand/models/dns/reverses.rb +23 -0
  1113. data/lib/fog/storm_on_demand/models/dns/zone.rb +40 -0
  1114. data/lib/fog/storm_on_demand/models/dns/zones.rb +30 -0
  1115. data/lib/fog/storm_on_demand/models/monitoring/bandwidth.rb +23 -0
  1116. data/lib/fog/storm_on_demand/models/monitoring/bandwidths.rb +23 -0
  1117. data/lib/fog/storm_on_demand/models/{compute/stat.rb → monitoring/load.rb} +6 -6
  1118. data/lib/fog/storm_on_demand/models/monitoring/loads.rb +24 -0
  1119. data/lib/fog/storm_on_demand/models/monitoring/monitor_service.rb +22 -0
  1120. data/lib/fog/storm_on_demand/models/monitoring/monitor_services.rb +32 -0
  1121. data/lib/fog/storm_on_demand/models/{compute → network}/balancer.rb +27 -5
  1122. data/lib/fog/storm_on_demand/models/network/balancers.rb +44 -0
  1123. data/lib/fog/storm_on_demand/models/network/firewall.rb +20 -0
  1124. data/lib/fog/storm_on_demand/models/network/firewalls.rb +32 -0
  1125. data/lib/fog/storm_on_demand/models/network/network_ip.rb +23 -0
  1126. data/lib/fog/storm_on_demand/models/network/network_ips.rb +48 -0
  1127. data/lib/fog/storm_on_demand/models/network/pool.rb +32 -0
  1128. data/lib/fog/storm_on_demand/models/network/pools.rb +28 -0
  1129. data/lib/fog/storm_on_demand/models/{compute → network}/private_ip.rb +2 -3
  1130. data/lib/fog/storm_on_demand/models/network/private_ips.rb +40 -0
  1131. data/lib/fog/storm_on_demand/models/network/ruleset.rb +27 -0
  1132. data/lib/fog/storm_on_demand/models/network/rulesets.rb +28 -0
  1133. data/lib/fog/storm_on_demand/models/network/zone.rb +27 -0
  1134. data/lib/fog/storm_on_demand/models/network/zones.rb +24 -0
  1135. data/lib/fog/storm_on_demand/models/storage/cluster.rb +20 -0
  1136. data/lib/fog/storm_on_demand/models/storage/clusters.rb +20 -0
  1137. data/lib/fog/storm_on_demand/models/storage/volume.rb +54 -0
  1138. data/lib/fog/storm_on_demand/models/storage/volumes.rb +30 -0
  1139. data/lib/fog/storm_on_demand/models/support/alert.rb +19 -0
  1140. data/lib/fog/storm_on_demand/models/support/alerts.rb +20 -0
  1141. data/lib/fog/storm_on_demand/models/support/ticket.rb +74 -0
  1142. data/lib/fog/storm_on_demand/models/support/tickets.rb +33 -0
  1143. data/lib/fog/storm_on_demand/models/vpn/vpn.rb +30 -0
  1144. data/lib/fog/storm_on_demand/models/vpn/vpns.rb +27 -0
  1145. data/lib/fog/storm_on_demand/monitoring.rb +68 -0
  1146. data/lib/fog/storm_on_demand/network.rb +113 -0
  1147. data/lib/fog/storm_on_demand/requests/account/create_token.rb +16 -0
  1148. data/lib/fog/storm_on_demand/requests/account/expire_token.rb +16 -0
  1149. data/lib/fog/storm_on_demand/requests/billing/get_invoice.rb +16 -0
  1150. data/lib/fog/storm_on_demand/requests/billing/list_invoices.rb +16 -0
  1151. data/lib/fog/storm_on_demand/requests/billing/make_payment.rb +16 -0
  1152. data/lib/fog/storm_on_demand/requests/billing/next_invoice.rb +16 -0
  1153. data/lib/fog/storm_on_demand/requests/compute/clone_server.rb +1 -1
  1154. data/lib/fog/storm_on_demand/requests/compute/create_image.rb +16 -0
  1155. data/lib/fog/storm_on_demand/requests/compute/create_server.rb +1 -1
  1156. data/lib/fog/storm_on_demand/requests/compute/current_notifications.rb +16 -0
  1157. data/lib/fog/storm_on_demand/requests/compute/delete_image.rb +16 -0
  1158. data/lib/fog/storm_on_demand/requests/compute/delete_server.rb +1 -1
  1159. data/lib/fog/storm_on_demand/requests/compute/get_config_details.rb +16 -0
  1160. data/lib/fog/storm_on_demand/requests/compute/get_image_details.rb +16 -0
  1161. data/lib/fog/storm_on_demand/requests/compute/get_notification.rb +16 -0
  1162. data/lib/fog/storm_on_demand/requests/compute/get_product.rb +16 -0
  1163. data/lib/fog/storm_on_demand/requests/compute/get_product_code.rb +16 -0
  1164. data/lib/fog/storm_on_demand/requests/compute/get_product_price.rb +16 -0
  1165. data/lib/fog/storm_on_demand/requests/compute/get_product_starting_price.rb +16 -0
  1166. data/lib/fog/storm_on_demand/requests/compute/get_server.rb +1 -1
  1167. data/lib/fog/storm_on_demand/requests/compute/get_template_details.rb +16 -0
  1168. data/lib/fog/storm_on_demand/requests/compute/list_configs.rb +1 -1
  1169. data/lib/fog/storm_on_demand/requests/compute/list_images.rb +2 -2
  1170. data/lib/fog/storm_on_demand/requests/compute/list_notifications.rb +16 -0
  1171. data/lib/fog/storm_on_demand/requests/compute/list_products.rb +16 -0
  1172. data/lib/fog/storm_on_demand/requests/compute/list_servers.rb +2 -2
  1173. data/lib/fog/storm_on_demand/requests/compute/list_templates.rb +2 -2
  1174. data/lib/fog/storm_on_demand/requests/compute/reboot_server.rb +1 -1
  1175. data/lib/fog/storm_on_demand/requests/compute/resize_server.rb +1 -1
  1176. data/lib/fog/storm_on_demand/requests/compute/resolve_notification.rb +16 -0
  1177. data/lib/fog/storm_on_demand/requests/compute/restore_image.rb +16 -0
  1178. data/lib/fog/storm_on_demand/requests/compute/restore_template.rb +16 -0
  1179. data/lib/fog/storm_on_demand/requests/compute/server_history.rb +16 -0
  1180. data/lib/fog/storm_on_demand/requests/compute/server_status.rb +16 -0
  1181. data/lib/fog/storm_on_demand/requests/compute/shutdown_server.rb +16 -0
  1182. data/lib/fog/storm_on_demand/requests/compute/start_server.rb +16 -0
  1183. data/lib/fog/storm_on_demand/requests/compute/update_image.rb +16 -0
  1184. data/lib/fog/storm_on_demand/requests/compute/update_server.rb +16 -0
  1185. data/lib/fog/storm_on_demand/requests/dns/check_zone_delegation.rb +16 -0
  1186. data/lib/fog/storm_on_demand/requests/dns/create_record.rb +16 -0
  1187. data/lib/fog/storm_on_demand/requests/dns/create_record_region.rb +16 -0
  1188. data/lib/fog/storm_on_demand/requests/dns/create_zone.rb +16 -0
  1189. data/lib/fog/storm_on_demand/requests/dns/delete_record.rb +16 -0
  1190. data/lib/fog/storm_on_demand/requests/dns/delete_record_region.rb +16 -0
  1191. data/lib/fog/storm_on_demand/requests/dns/delete_reverse.rb +16 -0
  1192. data/lib/fog/storm_on_demand/requests/dns/delete_zone.rb +16 -0
  1193. data/lib/fog/storm_on_demand/requests/dns/get_record.rb +16 -0
  1194. data/lib/fog/storm_on_demand/requests/dns/get_zone.rb +16 -0
  1195. data/lib/fog/storm_on_demand/requests/dns/list_domains.rb +16 -0
  1196. data/lib/fog/storm_on_demand/requests/dns/list_records.rb +16 -0
  1197. data/lib/fog/storm_on_demand/requests/dns/list_zones.rb +16 -0
  1198. data/lib/fog/storm_on_demand/requests/dns/renew_domain.rb +16 -0
  1199. data/lib/fog/storm_on_demand/requests/dns/update_record.rb +16 -0
  1200. data/lib/fog/storm_on_demand/requests/dns/update_record_region.rb +16 -0
  1201. data/lib/fog/storm_on_demand/requests/dns/update_reverse.rb +16 -0
  1202. data/lib/fog/storm_on_demand/requests/dns/update_zone.rb +16 -0
  1203. data/lib/fog/storm_on_demand/requests/monitoring/get_bandwidth_graph.rb +16 -0
  1204. data/lib/fog/storm_on_demand/requests/monitoring/get_bandwidth_stats.rb +16 -0
  1205. data/lib/fog/storm_on_demand/requests/monitoring/get_load_graph.rb +16 -0
  1206. data/lib/fog/storm_on_demand/requests/monitoring/get_load_stats.rb +16 -0
  1207. data/lib/fog/storm_on_demand/requests/monitoring/get_service.rb +16 -0
  1208. data/lib/fog/storm_on_demand/requests/monitoring/get_service_status.rb +16 -0
  1209. data/lib/fog/storm_on_demand/requests/monitoring/monitoring_ips.rb +16 -0
  1210. data/lib/fog/storm_on_demand/requests/monitoring/update_service.rb +16 -0
  1211. data/lib/fog/storm_on_demand/requests/{compute → network}/add_balancer_node.rb +2 -2
  1212. data/lib/fog/storm_on_demand/requests/network/add_balancer_service.rb +16 -0
  1213. data/lib/fog/storm_on_demand/requests/network/add_ip_to_server.rb +16 -0
  1214. data/lib/fog/storm_on_demand/requests/network/attach_server_to_private_ip.rb +16 -0
  1215. data/lib/fog/storm_on_demand/requests/network/check_balancer_available.rb +16 -0
  1216. data/lib/fog/storm_on_demand/requests/network/check_server_attached.rb +16 -0
  1217. data/lib/fog/storm_on_demand/requests/network/create_balancer.rb +16 -0
  1218. data/lib/fog/storm_on_demand/requests/network/create_pool.rb +16 -0
  1219. data/lib/fog/storm_on_demand/requests/network/create_ruleset.rb +16 -0
  1220. data/lib/fog/storm_on_demand/requests/network/delete_balancer.rb +16 -0
  1221. data/lib/fog/storm_on_demand/requests/network/delete_pool.rb +16 -0
  1222. data/lib/fog/storm_on_demand/requests/network/detach_server_from_private_ip.rb +16 -0
  1223. data/lib/fog/storm_on_demand/requests/network/get_assignments.rb +16 -0
  1224. data/lib/fog/storm_on_demand/requests/network/get_balancer_details.rb +16 -0
  1225. data/lib/fog/storm_on_demand/requests/network/get_balancer_possible_nodes.rb +16 -0
  1226. data/lib/fog/storm_on_demand/requests/network/get_balancer_strategies.rb +16 -0
  1227. data/lib/fog/storm_on_demand/requests/network/get_firewall.rb +16 -0
  1228. data/lib/fog/storm_on_demand/requests/network/get_firewall_basic_options.rb +16 -0
  1229. data/lib/fog/storm_on_demand/requests/network/get_firewall_rules.rb +16 -0
  1230. data/lib/fog/storm_on_demand/requests/network/get_ip_details.rb +16 -0
  1231. data/lib/fog/storm_on_demand/requests/network/get_pool.rb +16 -0
  1232. data/lib/fog/storm_on_demand/requests/network/get_private_ip.rb +16 -0
  1233. data/lib/fog/storm_on_demand/requests/network/get_ruleset.rb +16 -0
  1234. data/lib/fog/storm_on_demand/requests/network/get_zone.rb +16 -0
  1235. data/lib/fog/storm_on_demand/requests/{compute → network}/list_balancers.rb +3 -3
  1236. data/lib/fog/storm_on_demand/requests/network/list_ip_public_accounts.rb +16 -0
  1237. data/lib/fog/storm_on_demand/requests/network/list_network_ips.rb +16 -0
  1238. data/lib/fog/storm_on_demand/requests/network/list_network_public_ips.rb +16 -0
  1239. data/lib/fog/storm_on_demand/requests/{compute → network}/list_private_ips.rb +3 -3
  1240. data/lib/fog/storm_on_demand/requests/network/list_rulesets.rb +16 -0
  1241. data/lib/fog/storm_on_demand/requests/network/list_zones.rb +16 -0
  1242. data/lib/fog/storm_on_demand/requests/{compute → network}/remove_balancer_node.rb +2 -2
  1243. data/lib/fog/storm_on_demand/requests/network/remove_balancer_service.rb +16 -0
  1244. data/lib/fog/storm_on_demand/requests/network/remove_ip_from_server.rb +16 -0
  1245. data/lib/fog/storm_on_demand/requests/network/request_new_ips.rb +16 -0
  1246. data/lib/fog/storm_on_demand/requests/network/set_default_zone.rb +16 -0
  1247. data/lib/fog/storm_on_demand/requests/network/update_balancer.rb +16 -0
  1248. data/lib/fog/storm_on_demand/requests/network/update_firewall.rb +16 -0
  1249. data/lib/fog/storm_on_demand/requests/network/update_pool.rb +16 -0
  1250. data/lib/fog/storm_on_demand/requests/network/update_ruleset.rb +16 -0
  1251. data/lib/fog/storm_on_demand/requests/storage/attach_volume_to_server.rb +16 -0
  1252. data/lib/fog/storm_on_demand/requests/storage/create_volume.rb +16 -0
  1253. data/lib/fog/storm_on_demand/requests/storage/delete_volume.rb +16 -0
  1254. data/lib/fog/storm_on_demand/requests/storage/detach_volume_from_server.rb +16 -0
  1255. data/lib/fog/storm_on_demand/requests/storage/get_volume.rb +16 -0
  1256. data/lib/fog/storm_on_demand/requests/storage/list_clusters.rb +16 -0
  1257. data/lib/fog/storm_on_demand/requests/storage/list_volumes.rb +16 -0
  1258. data/lib/fog/storm_on_demand/requests/storage/resize_volume.rb +16 -0
  1259. data/lib/fog/storm_on_demand/requests/storage/update_volume.rb +16 -0
  1260. data/lib/fog/storm_on_demand/requests/support/add_feedback.rb +16 -0
  1261. data/lib/fog/storm_on_demand/requests/support/add_transaction_feedback.rb +16 -0
  1262. data/lib/fog/storm_on_demand/requests/support/authenticate.rb +16 -0
  1263. data/lib/fog/storm_on_demand/requests/support/close_ticket.rb +16 -0
  1264. data/lib/fog/storm_on_demand/requests/support/create_ticket.rb +16 -0
  1265. data/lib/fog/storm_on_demand/requests/support/get_active_alert.rb +16 -0
  1266. data/lib/fog/storm_on_demand/requests/support/get_ticket_details.rb +16 -0
  1267. data/lib/fog/storm_on_demand/requests/support/list_ticket_types.rb +16 -0
  1268. data/lib/fog/storm_on_demand/requests/support/list_tickets.rb +16 -0
  1269. data/lib/fog/storm_on_demand/requests/support/reopen_ticket.rb +16 -0
  1270. data/lib/fog/storm_on_demand/requests/support/reply_ticket.rb +16 -0
  1271. data/lib/fog/storm_on_demand/requests/vpn/create_vpn.rb +16 -0
  1272. data/lib/fog/storm_on_demand/requests/vpn/get_vpn.rb +16 -0
  1273. data/lib/fog/storm_on_demand/requests/vpn/list_vpn_users.rb +16 -0
  1274. data/lib/fog/storm_on_demand/requests/vpn/update_vpn.rb +16 -0
  1275. data/lib/fog/storm_on_demand/shared.rb +55 -0
  1276. data/lib/fog/storm_on_demand/storage.rb +69 -0
  1277. data/lib/fog/storm_on_demand/support.rb +68 -0
  1278. data/lib/fog/storm_on_demand/vpn.rb +58 -0
  1279. data/lib/fog/support.rb +26 -0
  1280. data/lib/fog/terremark/models/shared/server.rb +5 -3
  1281. data/lib/fog/terremark/parser.rb +14 -13
  1282. data/lib/fog/terremark/parsers/shared/get_catalog.rb +5 -19
  1283. data/lib/fog/terremark/parsers/shared/get_catalog_item.rb +4 -14
  1284. data/lib/fog/terremark/parsers/shared/get_internet_services.rb +1 -1
  1285. data/lib/fog/terremark/parsers/shared/get_keys_list.rb +4 -18
  1286. data/lib/fog/terremark/parsers/shared/get_network_ips.rb +1 -1
  1287. data/lib/fog/terremark/parsers/shared/get_node_services.rb +1 -1
  1288. data/lib/fog/terremark/parsers/shared/get_organization.rb +4 -3
  1289. data/lib/fog/terremark/parsers/shared/get_organizations.rb +3 -2
  1290. data/lib/fog/terremark/parsers/shared/get_public_ips.rb +1 -1
  1291. data/lib/fog/terremark/parsers/shared/get_tasks_list.rb +4 -17
  1292. data/lib/fog/terremark/parsers/shared/get_vapp_template.rb +3 -14
  1293. data/lib/fog/terremark/parsers/shared/get_vdc.rb +6 -38
  1294. data/lib/fog/terremark/parsers/shared/instantiate_vapp_template.rb +3 -14
  1295. data/lib/fog/terremark/parsers/shared/internet_service.rb +2 -5
  1296. data/lib/fog/terremark/parsers/shared/network.rb +3 -11
  1297. data/lib/fog/terremark/parsers/shared/node_service.rb +1 -1
  1298. data/lib/fog/terremark/parsers/shared/public_ip.rb +1 -1
  1299. data/lib/fog/terremark/parsers/shared/task.rb +3 -14
  1300. data/lib/fog/terremark/parsers/shared/vapp.rb +3 -14
  1301. data/lib/fog/vcloud/compute.rb +9 -2
  1302. data/lib/fog/vcloud/models/compute/catalog_item.rb +8 -0
  1303. data/lib/fog/vcloud/models/compute/server.rb +36 -2
  1304. data/lib/fog/vcloud/models/compute/tag.rb +18 -0
  1305. data/lib/fog/vcloud/models/compute/tags.rb +32 -0
  1306. data/lib/fog/vcloud/models/compute/vapp.rb +11 -0
  1307. data/lib/fog/vcloud/requests/compute/configure_metadata.rb +36 -0
  1308. data/lib/fog/vcloud/requests/compute/configure_vm.rb +2 -2
  1309. data/lib/fog/vcloud/requests/compute/configure_vm_cpus.rb +1 -1
  1310. data/lib/fog/vcloud/requests/compute/configure_vm_customization_script.rb +33 -0
  1311. data/lib/fog/vcloud/requests/compute/configure_vm_memory.rb +1 -1
  1312. data/lib/fog/vcloud/requests/compute/configure_vm_network.rb +36 -0
  1313. data/lib/fog/vcloud/requests/compute/delete_metadata.rb +10 -0
  1314. data/lib/fog/vcloud/requests/compute/get_metadata.rb +10 -0
  1315. data/lib/fog/vcloud/requests/compute/instantiate_vapp_template.rb +8 -4
  1316. data/lib/fog/version.rb +1 -1
  1317. data/lib/fog/volume.rb +6 -6
  1318. data/lib/fog/vpn.rb +25 -0
  1319. data/lib/fog/vsphere/compute.rb +160 -15
  1320. data/lib/fog/vsphere/models/compute/customfield.rb +19 -0
  1321. data/lib/fog/vsphere/models/compute/customfields.rb +27 -0
  1322. data/lib/fog/vsphere/models/compute/customvalue.rb +17 -0
  1323. data/lib/fog/vsphere/models/compute/customvalues.rb +37 -0
  1324. data/lib/fog/vsphere/models/compute/datacenter.rb +4 -0
  1325. data/lib/fog/vsphere/models/compute/interface.rb +2 -0
  1326. data/lib/fog/vsphere/models/compute/interfaces.rb +14 -2
  1327. data/lib/fog/vsphere/models/compute/networks.rb +2 -2
  1328. data/lib/fog/vsphere/models/compute/server.rb +44 -8
  1329. data/lib/fog/vsphere/models/compute/servers.rb +9 -9
  1330. data/lib/fog/vsphere/requests/compute/create_vm.rb +18 -3
  1331. data/lib/fog/vsphere/requests/compute/get_datacenter.rb +3 -1
  1332. data/lib/fog/vsphere/requests/compute/get_datastore.rb +6 -1
  1333. data/lib/fog/vsphere/requests/compute/get_folder.rb +3 -1
  1334. data/lib/fog/vsphere/requests/compute/get_network.rb +6 -1
  1335. data/lib/fog/vsphere/requests/compute/get_template.rb +16 -0
  1336. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +13 -28
  1337. data/lib/fog/vsphere/requests/compute/list_customfields.rb +22 -0
  1338. data/lib/fog/vsphere/requests/compute/list_datacenters.rb +1 -0
  1339. data/lib/fog/vsphere/requests/compute/list_templates.rb +49 -0
  1340. data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +25 -122
  1341. data/lib/fog/vsphere/requests/compute/list_vm_customvalues.rb +22 -0
  1342. data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +14 -1
  1343. data/lib/fog/vsphere/requests/compute/modify_vm_interface.rb +58 -0
  1344. data/lib/fog/vsphere/requests/compute/vm_clone.rb +79 -50
  1345. data/lib/fog/vsphere/requests/compute/vm_power_off.rb +2 -0
  1346. data/lib/fog/vsphere/requests/compute/vm_reconfig_hardware.rb +1 -1
  1347. data/lib/fog/xenserver.rb +2 -0
  1348. data/lib/fog/xenserver/CHANGELOG.md +77 -0
  1349. data/lib/fog/xenserver/compute.rb +23 -12
  1350. data/lib/fog/xenserver/examples/networks-and-vlans.rb +45 -0
  1351. data/lib/fog/xenserver/models/compute/console.rb +27 -0
  1352. data/lib/fog/xenserver/models/compute/consoles.rb +25 -0
  1353. data/lib/fog/xenserver/models/compute/host.rb +19 -6
  1354. data/lib/fog/xenserver/models/compute/host_cpu.rb +37 -0
  1355. data/lib/fog/xenserver/models/compute/network.rb +33 -0
  1356. data/lib/fog/xenserver/models/compute/pbd.rb +1 -1
  1357. data/lib/fog/xenserver/models/compute/pool.rb +4 -4
  1358. data/lib/fog/xenserver/models/compute/server.rb +13 -7
  1359. data/lib/fog/xenserver/models/compute/servers.rb +5 -0
  1360. data/lib/fog/xenserver/models/compute/storage_repository.rb +4 -4
  1361. data/lib/fog/xenserver/models/compute/vlan.rb +80 -0
  1362. data/lib/fog/xenserver/models/compute/vlans.rb +39 -0
  1363. data/lib/fog/xenserver/requests/compute/create_network.rb +42 -0
  1364. data/lib/fog/xenserver/requests/compute/create_server.rb +4 -0
  1365. data/lib/fog/xenserver/requests/compute/create_vlan.rb +35 -0
  1366. data/lib/fog/xenserver/requests/compute/destroy_network.rb +33 -0
  1367. data/lib/fog/xenserver/requests/compute/destroy_vlan.rb +32 -0
  1368. data/lib/fog/xenserver/requests/compute/snapshot_revert.rb +22 -0
  1369. data/lib/fog/xenserver/requests/compute/snapshot_server.rb +22 -0
  1370. data/lib/fog/xml.rb +21 -0
  1371. data/lib/fog/xml/sax_parser_connection.rb +46 -0
  1372. data/lib/fog/zerigo/models/dns/record.rb +0 -1
  1373. data/lib/fog/zerigo/models/dns/records.rb +15 -12
  1374. data/lib/fog/zerigo/models/dns/zone.rb +1 -1
  1375. data/lib/fog/zerigo/models/dns/zones.rb +2 -2
  1376. data/lib/fog/zerigo/requests/dns/list_zones.rb +7 -1
  1377. data/lib/tasks/changelog_task.rb +8 -2
  1378. data/tests/aws/models/auto_scaling/groups_test.rb +22 -0
  1379. data/tests/aws/models/compute/volume_tests.rb +1 -1
  1380. data/tests/aws/models/data_pipeline/pipeline_tests.rb +8 -0
  1381. data/tests/aws/models/data_pipeline/pipelines_tests.rb +8 -0
  1382. data/tests/aws/models/elb/model_tests.rb +28 -1
  1383. data/tests/aws/models/iam/roles_tests.rb +63 -0
  1384. data/tests/aws/models/rds/server_tests.rb +10 -9
  1385. data/tests/aws/models/storage/directory_tests.rb +41 -5
  1386. data/tests/aws/models/storage/file_tests.rb +1 -2
  1387. data/tests/aws/models/storage/files_tests.rb +6 -4
  1388. data/tests/aws/models/storage/url_tests.rb +7 -5
  1389. data/tests/aws/models/storage/version_tests.rb +2 -2
  1390. data/tests/aws/models/storage/versions_tests.rb +5 -5
  1391. data/tests/aws/parsers/elb/describe_load_balancers.rb +65 -0
  1392. data/tests/aws/requests/cloud_formation/stack_tests.rb +10 -0
  1393. data/tests/aws/requests/compute/address_tests.rb +4 -0
  1394. data/tests/aws/requests/compute/image_tests.rb +22 -2
  1395. data/tests/aws/requests/compute/instance_tests.rb +50 -54
  1396. data/tests/aws/requests/compute/security_group_tests.rb +1 -1
  1397. data/tests/aws/requests/compute/spot_instance_tests.rb +3 -2
  1398. data/tests/aws/requests/compute/volume_tests.rb +3 -3
  1399. data/tests/aws/requests/data_pipeline/helper.rb +44 -0
  1400. data/tests/aws/requests/data_pipeline/pipeline_tests.rb +54 -0
  1401. data/tests/aws/requests/elasticache/describe_reserved_cache_nodes.rb +17 -0
  1402. data/tests/aws/requests/elasticache/helper.rb +17 -0
  1403. data/tests/aws/requests/elb/helper.rb +2 -1
  1404. data/tests/aws/requests/elb/listener_tests.rb +1 -1
  1405. data/tests/aws/requests/elb/load_balancer_tests.rb +5 -1
  1406. data/tests/aws/requests/elb/policy_tests.rb +85 -6
  1407. data/tests/aws/requests/glacier/vault_tests.rb +1 -1
  1408. data/tests/aws/requests/iam/helper.rb +4 -1
  1409. data/tests/aws/requests/iam/server_certificate_tests.rb +33 -1
  1410. data/tests/aws/requests/iam/user_tests.rb +10 -8
  1411. data/tests/aws/requests/rds/helper.rb +14 -0
  1412. data/tests/aws/requests/rds/instance_tests.rb +8 -5
  1413. data/tests/aws/requests/rds/log_file_tests.rb +19 -0
  1414. data/tests/aws/requests/ses/verified_domain_identity_tests.rb +16 -0
  1415. data/tests/aws/requests/storage/bucket_tests.rb +23 -3
  1416. data/tests/aws/requests/storage/multipart_upload_tests.rb +1 -1
  1417. data/tests/aws/requests/storage/object_tests.rb +22 -13
  1418. data/tests/aws/requests/sts/assume_role_tests.rb +19 -0
  1419. data/tests/bluebox/requests/blb/helper.rb +64 -0
  1420. data/tests/bluebox/requests/blb/lb_tests.rb +75 -0
  1421. data/tests/brightbox/compute/image_selector_tests.rb +103 -0
  1422. data/tests/brightbox/oauth2_tests.rb +8 -1
  1423. data/tests/brightbox/requests/compute/collaboration_tests.rb +41 -0
  1424. data/tests/brightbox/requests/compute/firewall_policy_tests.rb +7 -0
  1425. data/tests/brightbox/requests/compute/helper.rb +50 -4
  1426. data/tests/brightbox/requests/compute/user_collaboration_tests.rb +67 -0
  1427. data/tests/cloudsigma/models/server_tests.rb +72 -0
  1428. data/tests/cloudsigma/models/servers_tests.rb +7 -0
  1429. data/tests/cloudsigma/models/volume_tests.rb +21 -0
  1430. data/tests/cloudsigma/models/volumes_tests.rb +9 -0
  1431. data/tests/cloudsigma/requests/server_tests.rb +81 -0
  1432. data/tests/cloudsigma/requests/volumes_tests.rb +55 -0
  1433. data/tests/cloudstack/compute/models/disk_offering_tests.rb +5 -0
  1434. data/tests/cloudstack/compute/models/snapshot_tests.rb +19 -0
  1435. data/tests/cloudstack/requests/disk_offering_tests.rb +3 -3
  1436. data/tests/cloudstack/requests/os_type_tests.rb +2 -3
  1437. data/tests/compute/helper.rb +17 -0
  1438. data/tests/core/connection_tests.rb +26 -0
  1439. data/tests/core/mocking_tests.rb +15 -0
  1440. data/tests/core/parser_tests.rb +32 -6
  1441. data/tests/digitalocean/helper.rb +51 -0
  1442. data/tests/digitalocean/models/compute/flavor_tests.rb +30 -0
  1443. data/tests/digitalocean/models/compute/image_tests.rb +31 -0
  1444. data/tests/digitalocean/models/compute/region_tests.rb +30 -0
  1445. data/tests/digitalocean/models/compute/server_tests.rb +92 -0
  1446. data/tests/digitalocean/models/compute/servers_tests.rb +21 -0
  1447. data/tests/digitalocean/models/compute/ssh_key_tests.rb +44 -0
  1448. data/tests/digitalocean/models/compute/ssh_keys_tests.rb +32 -0
  1449. data/tests/digitalocean/requests/compute/create_server_tests.rb +25 -0
  1450. data/tests/digitalocean/requests/compute/create_ssh_key_tests.rb +22 -0
  1451. data/tests/digitalocean/requests/compute/destroy_server_tests.rb +14 -0
  1452. data/tests/digitalocean/requests/compute/destroy_ssh_key_tests.rb +23 -0
  1453. data/tests/digitalocean/requests/compute/get_server_details_tests.rb +13 -0
  1454. data/tests/digitalocean/requests/compute/get_ssh_key_tests.rb +25 -0
  1455. data/tests/digitalocean/requests/compute/list_flavors_tests.rb +23 -0
  1456. data/tests/digitalocean/requests/compute/list_images_tests.rb +24 -0
  1457. data/tests/digitalocean/requests/compute/list_regions_tests.rb +23 -0
  1458. data/tests/digitalocean/requests/compute/list_servers_tests.rb +26 -0
  1459. data/tests/digitalocean/requests/compute/list_ssh_keys_tests.rb +24 -0
  1460. data/tests/digitalocean/requests/compute/power_cycle_server_tests.rb +20 -0
  1461. data/tests/digitalocean/requests/compute/power_state_tests.rb +25 -0
  1462. data/tests/digitalocean/requests/compute/reboot_server_tests.rb +14 -0
  1463. data/tests/dnsimple/requests/dns/dns_tests.rb +30 -26
  1464. data/tests/dreamhost/README.md +56 -0
  1465. data/tests/dreamhost/dns_tests.rb +20 -0
  1466. data/tests/dreamhost/helper.rb +19 -0
  1467. data/tests/dreamhost/models/dns/record_tests.rb +73 -0
  1468. data/tests/dreamhost/models/dns/records_tests.rb +29 -0
  1469. data/tests/dreamhost/models/dns/zone_tests.rb +62 -0
  1470. data/tests/dreamhost/models/dns/zones_tests.rb +29 -0
  1471. data/tests/dreamhost/requests/dns/create_record_tests.rb +39 -0
  1472. data/tests/dreamhost/requests/dns/delete_record_tests.rb +26 -0
  1473. data/tests/dreamhost/requests/dns/list_records_tests.rb +31 -0
  1474. data/tests/dynect/requests/dns/dns_tests.rb +4 -7
  1475. data/tests/ecloud/compute/models/server_tests.rb +9 -1
  1476. data/tests/glesys/requests/compute/helper.rb +5 -5
  1477. data/tests/google/models/compute/server_tests.rb +24 -0
  1478. data/tests/google/requests/compute/disk_tests.rb +88 -0
  1479. data/tests/google/requests/compute/firewall_tests.rb +85 -0
  1480. data/tests/google/requests/compute/image_tests.rb +80 -0
  1481. data/tests/google/requests/compute/network_tests.rb +74 -0
  1482. data/tests/google/requests/compute/operation_tests.rb +19 -0
  1483. data/tests/google/requests/compute/server_tests.rb +84 -0
  1484. data/tests/google/requests/compute/zone_tests.rb +46 -0
  1485. data/tests/helper.rb +16 -1
  1486. data/tests/helpers/collection_helper.rb +35 -0
  1487. data/tests/helpers/formats_helper.rb +63 -50
  1488. data/tests/helpers/formats_helper_tests.rb +87 -36
  1489. data/tests/helpers/mock_helper.rb +15 -2
  1490. data/tests/helpers/schema_validator_tests.rb +107 -0
  1491. data/tests/hp/models/block_storage/bootable_volume_tests.rb +23 -0
  1492. data/tests/hp/models/block_storage/snapshot_tests.rb +23 -0
  1493. data/tests/hp/models/block_storage/volume_tests.rb +21 -0
  1494. data/tests/hp/models/compute/address_tests.rb +1 -1
  1495. data/tests/hp/models/compute/addresses_tests.rb +1 -1
  1496. data/tests/hp/models/compute/key_pair_tests.rb +1 -1
  1497. data/tests/hp/models/compute/key_pairs_tests.rb +1 -1
  1498. data/tests/hp/models/compute/metadata_image_tests.rb +60 -0
  1499. data/tests/hp/models/compute/metadata_server_tests.rb +54 -0
  1500. data/tests/hp/models/compute/security_group_tests.rb +3 -1
  1501. data/tests/hp/models/compute/security_groups_tests.rb +1 -1
  1502. data/tests/hp/models/storage/directories_tests.rb +23 -0
  1503. data/tests/hp/models/storage/directory_tests.rb +62 -0
  1504. data/tests/hp/models/storage/file_tests.rb +44 -0
  1505. data/tests/hp/models/storage/files_tests.rb +38 -0
  1506. data/tests/hp/requests/block_storage/bootable_volume_tests.rb +78 -0
  1507. data/tests/hp/requests/block_storage/snapshot_tests.rb +56 -0
  1508. data/tests/hp/requests/block_storage/volume_tests.rb +94 -0
  1509. data/tests/hp/requests/cdn/container_tests.rb +1 -1
  1510. data/tests/hp/requests/compute/address_tests.rb +5 -6
  1511. data/tests/hp/requests/compute/flavor_tests.rb +1 -1
  1512. data/tests/hp/requests/compute/image_tests.rb +1 -1
  1513. data/tests/hp/requests/compute/key_pair_tests.rb +1 -1
  1514. data/tests/hp/requests/compute/metadata_tests.rb +70 -0
  1515. data/tests/hp/requests/compute/persistent_server_tests.rb +66 -0
  1516. data/tests/hp/requests/compute/security_group_rule_tests.rb +1 -1
  1517. data/tests/hp/requests/compute/security_group_tests.rb +1 -1
  1518. data/tests/hp/requests/compute/server_address_tests.rb +1 -1
  1519. data/tests/hp/requests/compute/server_tests.rb +5 -6
  1520. data/tests/hp/requests/compute/server_volume_tests.rb +76 -0
  1521. data/tests/hp/requests/storage/container_tests.rb +1 -1
  1522. data/tests/hp/requests/storage/object_tests.rb +9 -1
  1523. data/tests/hp/user_agent_tests.rb +13 -0
  1524. data/tests/internet_archive/models/storage/directory_tests.rb +43 -0
  1525. data/tests/internet_archive/models/storage/file_tests.rb +61 -0
  1526. data/tests/internet_archive/models/storage/files_tests.rb +58 -0
  1527. data/tests/internet_archive/models/storage/url_tests.rb +28 -0
  1528. data/tests/internet_archive/requests/storage/acl_utils_tests.rb +209 -0
  1529. data/tests/internet_archive/requests/storage/bucket_tests.rb +324 -0
  1530. data/tests/internet_archive/requests/storage/cors_utils_tests.rb +108 -0
  1531. data/tests/internet_archive/requests/storage/multipart_upload_tests.rb +132 -0
  1532. data/tests/internet_archive/requests/storage/object_tests.rb +166 -0
  1533. data/tests/internet_archive/signaturev4_tests.rb +41 -0
  1534. data/tests/internet_archive/signed_params_tests.rb +5 -0
  1535. data/tests/joyent/requests/compute/networks_tests.rb +39 -0
  1536. data/tests/openstack/models/compute/images_tests.rb +14 -0
  1537. data/tests/openstack/models/compute/server_tests.rb +133 -2
  1538. data/tests/openstack/models/identity/roles_tests.rb +1 -0
  1539. data/tests/openstack/models/identity/user_tests.rb +2 -2
  1540. data/tests/openstack/models/image/images_tests.rb +5 -0
  1541. data/tests/openstack/models/network/floating_ip_tests.rb +30 -0
  1542. data/tests/openstack/models/network/floating_ips_tests.rb +27 -0
  1543. data/tests/openstack/models/network/lb_health_monitor_tests.rb +52 -0
  1544. data/tests/openstack/models/network/lb_health_monitors_tests.rb +21 -0
  1545. data/tests/openstack/models/network/lb_member_tests.rb +28 -0
  1546. data/tests/openstack/models/network/lb_members_tests.rb +21 -0
  1547. data/tests/openstack/models/network/lb_pool_tests.rb +53 -0
  1548. data/tests/openstack/models/network/lb_pools_tests.rb +20 -0
  1549. data/tests/openstack/models/network/lb_vip_tests.rb +39 -0
  1550. data/tests/openstack/models/network/lb_vips_tests.rb +21 -0
  1551. data/tests/openstack/models/network/network_tests.rb +38 -1
  1552. data/tests/openstack/models/network/router_tests.rb +38 -0
  1553. data/tests/openstack/models/network/routers_tests.rb +21 -0
  1554. data/tests/openstack/models/storage/file_tests.rb +178 -0
  1555. data/tests/openstack/requests/compute/address_tests.rb +8 -0
  1556. data/tests/openstack/requests/compute/flavor_tests.rb +12 -0
  1557. data/tests/openstack/requests/compute/limit_tests.rb +1 -1
  1558. data/tests/openstack/requests/compute/tenant_tests.rb +2 -2
  1559. data/tests/openstack/requests/compute/volume_tests.rb +11 -9
  1560. data/tests/openstack/requests/identity/ec2_credentials_tests.rb +7 -4
  1561. data/tests/openstack/requests/identity/helper.rb +17 -0
  1562. data/tests/openstack/requests/identity/role_tests.rb +6 -0
  1563. data/tests/openstack/requests/identity/tenant_tests.rb +14 -12
  1564. data/tests/openstack/requests/identity/user_tests.rb +9 -5
  1565. data/tests/openstack/requests/metering/meter_tests.rb +52 -0
  1566. data/tests/openstack/requests/metering/resource_tests.rb +19 -0
  1567. data/tests/openstack/requests/network/lb_health_monitor_tests.rb +93 -0
  1568. data/tests/openstack/requests/network/lb_member_tests.rb +60 -0
  1569. data/tests/openstack/requests/network/lb_pool_tests.rb +80 -0
  1570. data/tests/openstack/requests/network/lb_vip_tests.rb +71 -0
  1571. data/tests/openstack/requests/network/network_tests.rb +61 -10
  1572. data/tests/openstack/requests/network/quota_tests.rb +65 -0
  1573. data/tests/openstack/requests/network/router_tests.rb +75 -0
  1574. data/tests/openstack/requests/storage/container_tests.rb +64 -0
  1575. data/tests/openstack/requests/storage/large_object_tests.rb +111 -0
  1576. data/tests/openstack/requests/storage/object_tests.rb +109 -0
  1577. data/tests/openstack/requests/volume/quota_tests.rb +51 -0
  1578. data/tests/openstack/storage_tests.rb +19 -0
  1579. data/tests/openstack/version_tests.rb +55 -0
  1580. data/tests/openstack/volume_tests.rb +15 -0
  1581. data/tests/openvz/helper.rb +47 -0
  1582. data/tests/openvz/models/compute/server_tests.rb +56 -0
  1583. data/tests/openvz/models/compute/servers_tests.rb +35 -0
  1584. data/tests/ovirt/requests/compute/list_quotas_tests.rb +12 -0
  1585. data/tests/rackspace/block_storage_tests.rb +114 -0
  1586. data/tests/rackspace/cdn_tests.rb +173 -0
  1587. data/tests/rackspace/compute_tests.rb +99 -0
  1588. data/tests/rackspace/compute_v2_tests.rb +113 -0
  1589. data/tests/rackspace/databases_tests.rb +110 -0
  1590. data/tests/rackspace/dns_tests.rb +105 -0
  1591. data/tests/rackspace/helper.rb +47 -1
  1592. data/tests/rackspace/identity_tests.rb +25 -0
  1593. data/tests/rackspace/load_balancer_tests.rb +111 -0
  1594. data/tests/rackspace/models/block_storage/snapshot_tests.rb +4 -6
  1595. data/tests/rackspace/models/block_storage/snapshots_tests.rb +1 -3
  1596. data/tests/rackspace/models/block_storage/volume_tests.rb +3 -5
  1597. data/tests/rackspace/models/block_storage/volume_types_tests.rb +1 -3
  1598. data/tests/rackspace/models/block_storage/volumes_tests.rb +1 -3
  1599. data/tests/rackspace/models/compute_v2/flavors_tests.rb +2 -5
  1600. data/tests/rackspace/models/compute_v2/image_tests.rb +57 -10
  1601. data/tests/rackspace/models/compute_v2/images_tests.rb +2 -4
  1602. data/tests/rackspace/models/compute_v2/keypairs_tests.rb +47 -0
  1603. data/tests/rackspace/models/compute_v2/metadata_tests.rb +44 -0
  1604. data/tests/rackspace/models/compute_v2/network_tests.rb +10 -0
  1605. data/tests/rackspace/models/compute_v2/networks_tests.rb +10 -0
  1606. data/tests/rackspace/models/compute_v2/server_tests.rb +152 -15
  1607. data/tests/rackspace/models/compute_v2/servers_tests.rb +9 -7
  1608. data/tests/rackspace/models/dns/zones_tests.rb +36 -0
  1609. data/tests/rackspace/models/identity/credentials_tests.rb +14 -5
  1610. data/tests/rackspace/models/identity/service_catalog_tests.rb +81 -0
  1611. data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +2 -0
  1612. data/tests/rackspace/models/monitoring/agent_token_tests.rb +9 -0
  1613. data/tests/rackspace/models/monitoring/agent_tokens_tests.rb +9 -0
  1614. data/tests/rackspace/models/monitoring/alarm_example_tests.rb +18 -0
  1615. data/tests/rackspace/models/monitoring/alarm_examples_tests.rb +19 -0
  1616. data/tests/rackspace/models/monitoring/alarm_tests.rb +56 -0
  1617. data/tests/rackspace/models/monitoring/alarms_tests.rb +25 -0
  1618. data/tests/rackspace/models/monitoring/check_tests.rb +50 -0
  1619. data/tests/rackspace/models/monitoring/check_types_tests.rb +14 -0
  1620. data/tests/rackspace/models/monitoring/checks_tests.rb +16 -0
  1621. data/tests/rackspace/models/monitoring/data_points_tests.rb +19 -0
  1622. data/tests/rackspace/models/monitoring/entities_tests.rb +14 -0
  1623. data/tests/rackspace/models/monitoring/entity_tests.rb +26 -0
  1624. data/tests/rackspace/models/monitoring/metric_tests.rb +19 -0
  1625. data/tests/rackspace/models/monitoring/metrics_tests.rb +17 -0
  1626. data/tests/rackspace/models/storage/account_tests.rb +28 -0
  1627. data/tests/rackspace/models/storage/directories_tests.rb +29 -0
  1628. data/tests/rackspace/models/storage/directory_tests.rb +141 -0
  1629. data/tests/rackspace/models/storage/file_tests.rb +146 -16
  1630. data/tests/rackspace/models/storage/metadata_tests.rb +174 -0
  1631. data/tests/rackspace/monitoring_tests.rb +72 -0
  1632. data/tests/rackspace/rackspace_tests.rb +56 -0
  1633. data/tests/rackspace/requests/block_storage/snapshot_tests.rb +14 -15
  1634. data/tests/rackspace/requests/block_storage/volume_tests.rb +9 -11
  1635. data/tests/rackspace/requests/block_storage/volume_type_tests.rb +6 -16
  1636. data/tests/rackspace/requests/cdn/cdn_tests.rb +76 -0
  1637. data/tests/rackspace/requests/compute/image_tests.rb +3 -3
  1638. data/tests/rackspace/requests/compute_v2/address_tests.rb +1 -1
  1639. data/tests/rackspace/requests/compute_v2/attachment_tests.rb +19 -20
  1640. data/tests/rackspace/requests/compute_v2/flavor_tests.rb +8 -10
  1641. data/tests/rackspace/requests/compute_v2/image_tests.rb +19 -21
  1642. data/tests/rackspace/requests/compute_v2/keypair_tests.rb +55 -0
  1643. data/tests/rackspace/requests/compute_v2/metadata_tests.rb +104 -0
  1644. data/tests/rackspace/requests/compute_v2/network_tests.rb +49 -0
  1645. data/tests/rackspace/requests/compute_v2/server_tests.rb +55 -58
  1646. data/tests/rackspace/requests/databases/database_tests.rb +23 -20
  1647. data/tests/rackspace/requests/databases/user_tests.rb +6 -6
  1648. data/tests/rackspace/requests/dns/dns_tests.rb +1 -1
  1649. data/tests/rackspace/requests/dns/records_tests.rb +3 -3
  1650. data/tests/rackspace/requests/identity/token_tests.rb +9 -0
  1651. data/tests/rackspace/requests/identity/user_tests.rb +4 -5
  1652. data/tests/rackspace/requests/load_balancers/helper.rb +2 -0
  1653. data/tests/rackspace/requests/load_balancers/load_balancer_tests.rb +2 -1
  1654. data/tests/rackspace/requests/load_balancers/usage_tests.rb +4 -2
  1655. data/tests/rackspace/requests/monitoring/agent_tests.rb +34 -0
  1656. data/tests/rackspace/requests/monitoring/alarm_example_tests.rb +30 -0
  1657. data/tests/rackspace/requests/monitoring/alarm_tests.rb +56 -0
  1658. data/tests/rackspace/requests/monitoring/check_tests.rb +40 -0
  1659. data/tests/rackspace/requests/monitoring/entity_tests.rb +37 -0
  1660. data/tests/rackspace/requests/monitoring/helper.rb +78 -0
  1661. data/tests/rackspace/requests/monitoring/list_tests.rb +60 -0
  1662. data/tests/rackspace/requests/storage/container_tests.rb +8 -1
  1663. data/tests/rackspace/requests/storage/large_object_tests.rb +326 -18
  1664. data/tests/rackspace/requests/storage/object_tests.rb +89 -4
  1665. data/tests/rackspace/service_tests.rb +83 -0
  1666. data/tests/rackspace/storage_tests.rb +116 -0
  1667. data/tests/riakcs/requests/provisioning/provisioning_tests.rb +174 -0
  1668. data/tests/riakcs/requests/usage/usage_tests.rb +29 -0
  1669. data/tests/storage/helper.rb +3 -0
  1670. data/tests/vcloud/requests/compute/disk_configure_tests.rb +7 -2
  1671. data/tests/vsphere/models/compute/server_tests.rb +1 -1
  1672. data/tests/vsphere/requests/compute/list_virtual_machines_tests.rb +2 -2
  1673. data/tests/vsphere/requests/compute/vm_clone_tests.rb +21 -5
  1674. data/tests/xenserver/compute_tests.rb +5 -5
  1675. data/tests/xenserver/models/compute/console_test.rb +35 -0
  1676. data/tests/xenserver/models/compute/consoles_test.rb +19 -0
  1677. data/tests/xenserver/models/compute/host_cpu_tests.rb +58 -0
  1678. data/tests/xenserver/models/compute/host_metrics_tests.rb +1 -1
  1679. data/tests/xenserver/models/compute/host_tests.rb +13 -1
  1680. data/tests/xenserver/models/compute/network_tests.rb +18 -6
  1681. data/tests/xenserver/models/compute/server_tests.rb +35 -18
  1682. data/tests/xenserver/models/compute/servers_tests.rb +1 -0
  1683. data/tests/xenserver/models/compute/vlan_tests.rb +76 -0
  1684. data/tests/xenserver/models/compute/vlans_tests.rb +36 -0
  1685. data/tests/xenserver/requests/compute/create_network_tests.rb +20 -0
  1686. data/tests/xenserver/requests/compute/create_vlan_tests.rb +36 -0
  1687. data/tests/xenserver/requests/compute/destroy_network_tests.rb +13 -0
  1688. data/tests/xenserver/requests/compute/destroy_vlan_tests.rb +36 -0
  1689. data/tests/zerigo/requests/dns/dns_tests.rb +59 -13
  1690. metadata +1211 -107
  1691. data/docs/storage/aws.markdown +0 -21
  1692. data/lib/fog/bin/virtual_box.rb +0 -57
  1693. data/lib/fog/openstack/README.identity.md +0 -69
  1694. data/lib/fog/providers.rb +0 -33
  1695. data/lib/fog/rackspace/requests/identity/get_credentials.rb +0 -15
  1696. data/lib/fog/storm_on_demand/models/compute/balancers.rb +0 -21
  1697. data/lib/fog/storm_on_demand/models/compute/private_ips.rb +0 -31
  1698. data/lib/fog/storm_on_demand/models/compute/stats.rb +0 -22
  1699. data/lib/fog/storm_on_demand/requests/compute/get_stats.rb +0 -16
  1700. data/lib/fog/virtual_box.rb +0 -11
  1701. data/lib/fog/virtual_box/compute.rb +0 -59
  1702. data/lib/fog/virtual_box/models/compute/medium.rb +0 -87
  1703. data/lib/fog/virtual_box/models/compute/medium_format.rb +0 -34
  1704. data/lib/fog/virtual_box/models/compute/mediums.rb +0 -32
  1705. data/lib/fog/virtual_box/models/compute/nat_engine.rb +0 -65
  1706. data/lib/fog/virtual_box/models/compute/nat_redirect.rb +0 -91
  1707. data/lib/fog/virtual_box/models/compute/nat_redirects.rb +0 -41
  1708. data/lib/fog/virtual_box/models/compute/network_adapter.rb +0 -82
  1709. data/lib/fog/virtual_box/models/compute/network_adapters.rb +0 -42
  1710. data/lib/fog/virtual_box/models/compute/server.rb +0 -199
  1711. data/lib/fog/virtual_box/models/compute/servers.rb +0 -41
  1712. data/lib/fog/virtual_box/models/compute/storage_controller.rb +0 -83
  1713. data/lib/fog/virtual_box/models/compute/storage_controllers.rb +0 -38
@@ -0,0 +1,31 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # Add machine to specified lb_backend
6
+ #
7
+ # === Parameters
8
+ # * lb_backend_id<~String> - ID of backend
9
+ # * lb_machine_id<~String> - ID of machine
10
+ # * options<~Hash>:
11
+ # * port<~Integer> - port machine listens on; defaults to service listening port
12
+ # * maxconn<~Integer> - maximum number of connections server can be sent
13
+ # * backup<~Boolean> - only send traffic to machine if all others are down
14
+ def add_machine_to_lb_backend(lb_backend_id, lb_machine_id, options = {})
15
+ # convert to CGI array args
16
+ body = Hash[options.map {|k,v| ["lb_options[#{k}]", v] }]
17
+ body['lb_machine'] = lb_machine_id
18
+ request(
19
+ :expects => 200,
20
+ :method => 'POST',
21
+ :path => "/api/lb_backends/#{lb_backend_id}/lb_machines.json",
22
+ :body => body.map {|k,v| "#{CGI.escape(k)}=#{CGI.escape(v.to_s)}"}.join('&')
23
+ )
24
+ end
25
+ end
26
+
27
+ class Mock
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,33 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # Get details of an lb_application.
6
+ #
7
+ # ==== Parameters
8
+ # * lb_application_id<~Integer> - ID of application
9
+ #
10
+ # ==== Returns
11
+ # * response<~Excon::Response>:
12
+ # * body<~Hash>:
13
+ # * 'id'<~String> - UUID of application
14
+ # * 'ip_v4'<~Array> - IPv4 addresses
15
+ # * 'ip_v6'<~String> - IPv6 address
16
+ # * 'name'<~String> - The hostname
17
+ # * 'lb_services'<~Array> - Listening services
18
+ # * 'source_ip_v4'<~String> - address that application connects to pool members from (v1 only)
19
+ def get_lb_application(lb_application_id)
20
+ request(
21
+ :expects => 200,
22
+ :method => 'GET',
23
+ :path => "api/lb_applications/#{lb_application_id}.json"
24
+ )
25
+ end
26
+ end
27
+
28
+ class Mock
29
+ end
30
+
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,31 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # Get list of applications
6
+ #
7
+ # ==== Returns
8
+ # * response<~Excon::Response>:
9
+ # * body<~Array>:
10
+ # * 'application'<~Hash>:
11
+ # * 'id'<~String> - UUID of application
12
+ # * 'ip_v4'<~Array> - IPv4 addresses
13
+ # * 'ip_v6'<~String> - IPv6 address
14
+ # * 'name'<~String> - The hostname
15
+ # * 'lb_services'<~Array> - Listening services
16
+ # * 'source_ip_v4'<~String> - address that application connects to pool members from (v1 only)
17
+ def get_lb_applications
18
+ request(
19
+ :expects => 200,
20
+ :method => 'GET',
21
+ :path => 'api/lb_applications.json'
22
+ )
23
+ end
24
+ end
25
+
26
+ class Mock
27
+ end
28
+
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,36 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # Get details of an lb_backend.
6
+ #
7
+ # ==== Parameters
8
+ # * lb_service_id<~String> - service backend belongs to
9
+ # * lb_backend_id<~String> - backend to look up
10
+ #
11
+ # ==== Returns
12
+ # * response<~Excon::Response>:
13
+ # * body<~Hash>:
14
+ # * id<~String> - backend ID
15
+ # * backend_name<~String>
16
+ # * lb_machines<~Array> - array of backend members
17
+ # * acl_name<~String> - name of ACL for this backend
18
+ # * acl_rule<~String>
19
+ # * monitoring_url_hostname<~String> - HTTP host header for health check
20
+ # * monitoring_url<~String> - URL for health check
21
+ # * check_interval<~Integer> - time between checks, in milliseconds
22
+ def get_lb_backend(lb_service_id, lb_backend_id)
23
+ request(
24
+ :expects => 200,
25
+ :method => 'GET',
26
+ :path => "api/lb_services/#{lb_service_id}/lb_backends/#{lb_backend_id}.json"
27
+ )
28
+ end
29
+ end
30
+
31
+ class Mock
32
+ end
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # Get list of backends
6
+ #
7
+ # ==== Parameters
8
+ # * lb_service_id<~String> - service containing backends
9
+ #
10
+ # ==== Returns
11
+ # * response<~Excon::Response>:
12
+ # * body<~Array>:
13
+ # * backend<~Hash>:
14
+ # * id<~String> - backend ID
15
+ # * backend_name<~String>
16
+ # * lb_machines<~Array> - array of backend members
17
+ # * acl_name<~String> - name of ACL for this backend
18
+ # * acl_rule<~String>
19
+ # * monitoring_url_hostname<~String> - HTTP host header for health check
20
+ # * monitoring_url<~String> - URL for health check
21
+ # * check_interval<~Integer> - time between checks, in milliseconds
22
+ def get_lb_backends(lb_service_id)
23
+ request(
24
+ :expects => 200,
25
+ :method => 'GET',
26
+ :path => "api/lb_services/#{lb_service_id}/lb_backends.json"
27
+ )
28
+ end
29
+ end
30
+
31
+ class Mock
32
+ end
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,35 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # Get details of an lb_machine.
6
+ #
7
+ # ==== Parameters
8
+ # * lb_backend_id<~String> - backend machine belongs to
9
+ # * lb_machine_id<~String> - machine to look up
10
+ #
11
+ # ==== Returns
12
+ # * response<~Excon::Response>:
13
+ # * body<~Hash>:
14
+ # * id<~String> - machine ID
15
+ # * ip<~String> - machine IP address for this member (v4 or v6)
16
+ # * port<~Integer> - service port for this member
17
+ # * hostname<~String> - name as registered with Box Panel
18
+ # * acl_name<~String> - name of ACL for this machine
19
+ # * created<~DateTime> - when machine was added to load balancer backend
20
+ # * maxconn<~Integer> - maximum concurrent connections for this member (BLBv2 only)
21
+ def get_lb_machine(lb_backend_id, lb_machine_id)
22
+ request(
23
+ :expects => 200,
24
+ :method => 'GET',
25
+ :path => "api/lb_backends/#{lb_backend_id}/lb_machines/#{lb_machine_id}.json"
26
+ )
27
+ end
28
+ end
29
+
30
+ class Mock
31
+ end
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,35 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # Get list of machines
6
+ #
7
+ # ==== Parameters
8
+ # * lb_backend_id<~String> - backend containing machines
9
+ #
10
+ # ==== Returns
11
+ # * response<~Excon::Response>:
12
+ # * body<~Array>:
13
+ # * machine<~Hash>:
14
+ # * id<~String> - machine ID
15
+ # * ip<~String> - machine IP address for this member (v4 or v6)
16
+ # * port<~Integer> - service port for this member
17
+ # * hostname<~String> - name as registered with Box Panel
18
+ # * acl_name<~String> - name of ACL for this machine
19
+ # * created<~DateTime> - when machine was added to load balancer backend
20
+ # * maxconn<~Integer> - maximum concurrent connections for this member (BLBv2 only)
21
+ def get_lb_machines(lb_backend_id)
22
+ request(
23
+ :expects => 200,
24
+ :method => 'GET',
25
+ :path => "api/lb_backends/#{lb_backend_id}/lb_machines.json"
26
+ )
27
+ end
28
+ end
29
+
30
+ class Mock
31
+ end
32
+
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,36 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # Get details of a lb_service.
6
+ #
7
+ # ==== Parameters
8
+ # * lb_application_id<~String> - ID of application the service belongs to
9
+ # * lb_service_id<~String> - ID of service to look up
10
+ #
11
+ # ==== Returns
12
+ # * response<~Excon::Response>:
13
+ # * body<~Hash>:
14
+ # * name<~String> - service name
15
+ # * port<~Integer> - port of load balanced service
16
+ # * private<~Boolean> - whether service is only available internally
17
+ # * status_username<~String> - HTTP basic auth username
18
+ # * status_password<~String> - HTTP basic auth password
19
+ # * status_url<~String> - URL of stats page
20
+ # * service_type<~String> - proto being load balanced (e.g. 'http', 'tcp')
21
+ # * created<~DateTime> - when service was created
22
+ def get_lb_service(lb_application_id, lb_service_id)
23
+ request(
24
+ :expects => 200,
25
+ :method => 'GET',
26
+ :path => "api/lb_applications/#{lb_application_id}/lb_services/#{lb_service_id}.json",
27
+ )
28
+ end
29
+ end
30
+
31
+ class Mock
32
+ end
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # Get list of load balancing services
6
+ #
7
+ # ==== Parameters
8
+ # * lb_application_id<~String> - Id of application services to list
9
+ #
10
+ # ==== Returns
11
+ # * response<~Excon::Response>:
12
+ # * body<~Array>:
13
+ # * backend<~Hash>:
14
+ # * name<~String> - service name
15
+ # * port<~Integer> - port of load balanced service
16
+ # * private<~Boolean> - whether service is only available internally
17
+ # * status_username<~String> - HTTP basic auth username
18
+ # * status_password<~String> - HTTP basic auth password
19
+ # * status_url<~String> - URL of stats page
20
+ # * service_type<~String> - proto being load balanced (e.g. 'http', 'tcp')
21
+ # * created<~DateTime> - when service was created
22
+ def get_lb_services(lb_application_id)
23
+ request(
24
+ :expects => 200,
25
+ :method => 'GET',
26
+ :path => "api/lb_applications/#{lb_application_id}/lb_services.json"
27
+ )
28
+ end
29
+ end
30
+
31
+ class Mock
32
+ end
33
+
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,28 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # remove machine from single backend
6
+ #
7
+ # === Parameters
8
+ # * lb_backend_id<~String> - ID of backend
9
+ # * lb_machine_id<~String> - ID of machine
10
+ #
11
+ # ==== Returns
12
+ # * response<~Excon::Response>:
13
+ # * body<~String> - success or failure message
14
+ def remove_machine_from_lb_backend(lb_backend_id, lb_machine_id)
15
+ request(
16
+ :expects => 200,
17
+ :method => 'DELETE',
18
+ :path => "/api/lb_backends/#{lb_backend_id}/lb_machines/#{lb_machine_id}",
19
+ :headers => {"Accept" => "text/plain"},
20
+ )
21
+ end
22
+ end
23
+
24
+ class Mock
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,29 @@
1
+ module Fog
2
+ module Bluebox
3
+ class BLB
4
+ class Real
5
+ # change machine attributes (port &c) in a single backend
6
+ #
7
+ # === Parameters
8
+ # * lb_backend_id<~String> - ID of backend
9
+ # * lb_machine_id<~String> - ID of machine
10
+ # * options<~Hash>:
11
+ # * port<~Integer> - port machine listens on
12
+ # * maxconn<~Integer> - maximum number of connections server can be sent
13
+ # * backup<~Boolean> - only send traffic to machine if all others are down
14
+ def update_lb_backend_machine(lb_backend_id, lb_machine_id, options = {})
15
+ # inconsistent, no?
16
+ request(
17
+ :expects => 202,
18
+ :method => 'PUT',
19
+ :path => "/api/lb_backends/#{lb_backend_id}/lb_machines/#{lb_machine_id}",
20
+ :body => options.map {|k,v| "#{CGI.escape(k)}=#{CGI.escape(v.to_s)}"}.join('&')
21
+ )
22
+ end
23
+ end
24
+
25
+ class Mock
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,13 +1,12 @@
1
1
  require 'fog/brightbox'
2
2
  require 'fog/compute'
3
- require 'fog/brightbox/oauth2'
3
+ require 'fog/brightbox/compute/shared'
4
+ require 'fog/brightbox/compute/image_selector'
4
5
 
5
6
  module Fog
6
7
  module Compute
7
8
  class Brightbox < Fog::Service
8
9
 
9
- API_URL = "https://api.gb1.brightbox.com/"
10
-
11
10
  # Client credentials
12
11
  requires :brightbox_client_id, :brightbox_secret
13
12
 
@@ -33,6 +32,8 @@ module Fog
33
32
  model :application
34
33
  collection :api_clients
35
34
  model :api_client
35
+ collection :collaborations
36
+ model :collaboration
36
37
  collection :servers
37
38
  model :server
38
39
  collection :server_groups
@@ -53,37 +54,45 @@ module Fog
53
54
  model :cloud_ip
54
55
  collection :users
55
56
  model :user
57
+ collection :user_collaborations
58
+ model :user_collaboration
56
59
 
57
60
  request_path 'fog/brightbox/requests/compute'
61
+ request :accept_user_collaboration
58
62
  request :activate_console_server
59
63
  request :add_listeners_load_balancer
60
64
  request :add_nodes_load_balancer
61
65
  request :add_servers_server_group
62
66
  request :apply_to_firewall_policy
67
+ request :accept_user_collaboration
63
68
  request :remove_firewall_policy
64
69
  request :create_api_client
65
70
  request :create_application
66
71
  request :create_cloud_ip
72
+ request :create_collaboration
67
73
  request :create_firewall_policy
68
74
  request :create_firewall_rule
69
75
  request :create_image
70
76
  request :create_load_balancer
71
77
  request :create_server
72
78
  request :create_server_group
73
- request :destroy_api_client
74
- request :destroy_application
75
- request :destroy_cloud_ip
76
- request :destroy_firewall_policy
77
- request :destroy_firewall_rule
78
- request :destroy_image
79
- request :destroy_load_balancer
80
- request :destroy_server
81
- request :destroy_server_group
79
+ request :delete_api_client
80
+ request :delete_application
81
+ request :delete_cloud_ip
82
+ request :delete_collaboration
83
+ request :delete_firewall_policy
84
+ request :delete_firewall_rule
85
+ request :delete_image
86
+ request :delete_load_balancer
87
+ request :delete_server
88
+ request :delete_server_group
89
+ request :delete_user_collaboration
82
90
  request :get_account
83
91
  request :get_api_client
84
92
  request :get_application
85
93
  request :get_authenticated_user
86
94
  request :get_cloud_ip
95
+ request :get_collaboration
87
96
  request :get_firewall_policy
88
97
  request :get_firewall_rule
89
98
  request :get_image
@@ -94,11 +103,13 @@ module Fog
94
103
  request :get_server_group
95
104
  request :get_server_type
96
105
  request :get_user
106
+ request :get_user_collaboration
97
107
  request :get_zone
98
108
  request :list_accounts
99
109
  request :list_api_clients
100
110
  request :list_applications
101
111
  request :list_cloud_ips
112
+ request :list_collaborations
102
113
  request :list_firewall_policies
103
114
  request :list_images
104
115
  request :list_load_balancers
@@ -106,16 +117,21 @@ module Fog
106
117
  request :list_server_types
107
118
  request :list_servers
108
119
  request :list_users
120
+ request :list_user_collaborations
109
121
  request :list_zones
110
122
  request :map_cloud_ip
111
123
  request :move_servers_server_group
124
+ request :reject_user_collaboration
112
125
  request :remove_listeners_load_balancer
113
126
  request :remove_nodes_load_balancer
114
127
  request :remove_servers_server_group
128
+ request :resend_collaboration
115
129
  request :reset_ftp_password_account
116
130
  request :reset_ftp_password_scoped_account
117
131
  request :reset_secret_api_client
118
132
  request :reset_secret_application
133
+ request :resend_collaboration
134
+ request :reject_user_collaboration
119
135
  request :shutdown_server
120
136
  request :snapshot_server
121
137
  request :start_server
@@ -125,6 +141,7 @@ module Fog
125
141
  request :update_api_client
126
142
  request :update_application
127
143
  request :update_cloud_ip
144
+ request :update_firewall_policy
128
145
  request :update_firewall_rule
129
146
  request :update_image
130
147
  request :update_load_balancer
@@ -133,212 +150,13 @@ module Fog
133
150
  request :update_server_group
134
151
  request :update_user
135
152
 
136
- module Shared
137
- include Fog::Brightbox::OAuth2
138
-
139
- # Creates a new instance of the Brightbox Compute service
140
- #
141
- # @note If you create service using just a refresh token when it
142
- # expires the service will no longer be able to authenticate.
143
- #
144
- # @param [Hash] options
145
- # @option options [String] :brightbox_api_url Override the default (or configured) API endpoint
146
- # @option options [String] :brightbox_auth_url Override the default (or configured) API authentication endpoint
147
- # @option options [String] :brightbox_client_id Client identifier to authenticate with (overrides configured)
148
- # @option options [String] :brightbox_secret Client secret to authenticate with (overrides configured)
149
- # @option options [String] :brightbox_username Email or user identifier for user based authentication
150
- # @option options [String] :brightbox_password Password for user based authentication
151
- # @option options [String] :brightbox_account Account identifier to scope this connection to
152
- # @option options [String] :connection_options Settings to pass to underlying {Fog::Connection}
153
- # @option options [Boolean] :persistent Sets a persistent HTTP {Fog::Connection}
154
- # @option options [String] :brightbox_access_token Sets the OAuth access token to use rather than requesting a new token
155
- # @option options [String] :brightbox_refresh_token Sets the refresh token to use when requesting a newer access token
156
- # @option options [String] :brightbox_token_management Overide the existing behaviour to request access tokens if expired (default is `true`)
157
- #
158
- def initialize(options)
159
- # Currently authentication and api endpoints are the same but may change
160
- @auth_url = options[:brightbox_auth_url] || Fog.credentials[:brightbox_auth_url] || API_URL
161
- @auth_connection = Fog::Connection.new(@auth_url)
162
-
163
- @api_url = options[:brightbox_api_url] || Fog.credentials[:brightbox_api_url] || API_URL
164
- @connection_options = options[:connection_options] || {}
165
- @persistent = options[:persistent] || false
166
- @connection = Fog::Connection.new(@api_url, @persistent, @connection_options)
167
-
168
- # Authentication options
169
- client_id = options[:brightbox_client_id] || Fog.credentials[:brightbox_client_id]
170
- client_secret = options[:brightbox_secret] || Fog.credentials[:brightbox_secret]
171
-
172
- username = options[:brightbox_username] || Fog.credentials[:brightbox_username]
173
- password = options[:brightbox_password] || Fog.credentials[:brightbox_password]
174
- @configured_account = options[:brightbox_account] || Fog.credentials[:brightbox_account]
175
- # Request account can be changed at anytime and changes behaviour of future requests
176
- @scoped_account = @configured_account
177
-
178
- credential_options = {:username => username, :password => password}
179
- @credentials = CredentialSet.new(client_id, client_secret, credential_options)
180
-
181
- # If existing tokens have been cached, allow continued use of them in the service
182
- @credentials.update_tokens(options[:brightbox_access_token], options[:brightbox_refresh_token])
183
-
184
- @token_management = options.fetch(:brightbox_token_management, true)
185
- end
186
-
187
- # Sets the scoped account for future requests
188
- # @param [String] scoped_account Identifier of the account to scope request to
189
- def scoped_account=(scoped_account)
190
- @scoped_account = scoped_account
191
- end
192
-
193
- # This returns the account identifier that the request should be scoped by
194
- # based on the options passed to the request and current configuration
195
- #
196
- # @param [String] options_account Any identifier passed into the request
197
- #
198
- # @return [String, nil] The account identifier to scope the request to or nil
199
- def scoped_account(options_account = nil)
200
- [options_account, @scoped_account].compact.first
201
- end
202
-
203
- # Resets the scoped account back to intially configured one
204
- def scoped_account_reset
205
- @scoped_account = @configured_account
206
- end
207
-
208
- # Returns the scoped account being used for requests
209
- #
210
- # * For API clients this is the owning account
211
- # * For User applications this is the account specified by either +account_id+
212
- # option on the service or the +brightbox_account+ setting in your configuration
213
- #
214
- # @return [Fog::Compute::Brightbox::Account]
215
- #
216
- def account
217
- account_data = get_scoped_account.merge(:service => self)
218
- Fog::Compute::Brightbox::Account.new(account_data)
219
- end
220
-
221
- # Returns true if authentication is being performed as a user
222
- # @return [Boolean]
223
- def authenticating_as_user?
224
- @credentials.user_details?
225
- end
226
-
227
- # Returns true if an access token is set
228
- # @return [Boolean]
229
- def access_token_available?
230
- !! @credentials.access_token
231
- end
232
-
233
- # Returns the current access token or nil
234
- # @return [String,nil]
235
- def access_token
236
- @credentials.access_token
237
- end
238
-
239
- # Returns the current refresh token or nil
240
- # @return [String,nil]
241
- def refresh_token
242
- @credentials.refresh_token
243
- end
244
-
245
- # Requests a new access token
246
- #
247
- # @return [String] New access token
248
- def get_access_token
249
- begin
250
- get_access_token!
251
- rescue Excon::Errors::Unauthorized, Excon::Errors::BadRequest
252
- @credentials.update_tokens(nil, nil)
253
- end
254
- @credentials.access_token
255
- end
256
-
257
- # Requests a new access token and raises if there is a problem
258
- #
259
- # @return [String] New access token
260
- # @raise [Excon::Errors::BadRequest] The credentials are expired or incorrect
261
- #
262
- def get_access_token!
263
- response = request_access_token(@auth_connection, @credentials)
264
- update_credentials_from_response(@credentials, response)
265
- @credentials.access_token
266
- end
267
-
268
- # Returns an identifier for the default image for use
269
- #
270
- # Currently tries to find the latest version Ubuntu LTS (i686) widening
271
- # up to the latest, official version of Ubuntu available.
272
- #
273
- # Highly recommended that you actually select the image you want to run
274
- # on your servers yourself!
275
- #
276
- # @return [String, nil]
277
- def default_image
278
- return @default_image_id unless @default_image_id.nil?
279
- @default_image_id = Fog.credentials[:brightbox_default_image] || select_default_image
280
- end
281
-
282
- private
283
-
284
- # This makes a request of the API based on the configured setting for
285
- # token management.
286
- #
287
- # @param [Hash] options Excon compatible options
288
- # @see https://github.com/geemus/excon/blob/master/lib/excon/connection.rb
289
- #
290
- # @return [Hash] Data of response body
291
- #
292
- def make_request(options)
293
- if @token_management
294
- managed_token_request(options)
295
- else
296
- authenticated_request(options)
297
- end
298
- end
299
-
300
- # This request checks for access tokens and will ask for a new one if
301
- # it receives Unauthorized from the API before repeating the request
302
- #
303
- # @param [Hash] options Excon compatible options
304
- #
305
- # @return [Excon::Response]
306
- def managed_token_request(options)
307
- begin
308
- get_access_token unless access_token_available?
309
- response = authenticated_request(options)
310
- rescue Excon::Errors::Unauthorized
311
- get_access_token
312
- response = authenticated_request(options)
313
- end
314
- end
315
-
316
- # This request makes an authenticated request of the API using currently
317
- # setup credentials.
318
- #
319
- # @param [Hash] options Excon compatible options
320
- #
321
- # @see https://github.com/geemus/excon/blob/master/lib/excon/connection.rb
322
- #
323
- # @return [Excon::Response]
324
- def authenticated_request(options)
325
- headers = options[:headers] || {}
326
- headers.merge!("Authorization" => "OAuth #{@credentials.access_token}", "Content-Type" => "application/json")
327
- options[:headers] = headers
328
- # TODO This is just a wrapper around a call to Excon::Connection#request
329
- # so can be extracted from Compute by passing in the connection,
330
- # credentials and options
331
- @connection.request(options)
332
- end
333
- end
334
-
335
153
  # The Mock Service allows you to run a fake instance of the Service
336
154
  # which makes no real connections.
337
155
  #
338
156
  # @todo Implement
339
157
  #
340
158
  class Mock
341
- include Shared
159
+ include Fog::Brightbox::Compute::Shared
342
160
 
343
161
  def request(method, path, expected_responses, parameters = {})
344
162
  _request
@@ -363,7 +181,7 @@ module Fog
363
181
  # service.
364
182
  #
365
183
  class Real
366
- include Shared
184
+ include Fog::Brightbox::Compute::Shared
367
185
 
368
186
  # Makes an API request to the given path using passed options or those
369
187
  # set with the service setup
@@ -457,30 +275,12 @@ module Fog
457
275
 
458
276
  # Queries the API and tries to select the most suitable official Image
459
277
  # to use if the user chooses not to select their own.
278
+ #
279
+ # @return [String] if image is found, the image's identifier
280
+ # @return [NilClass] if no image found or an error occured
281
+ #
460
282
  def select_default_image
461
- return @default_image_id unless @default_image_id.nil?
462
-
463
- all_images = list_images
464
- official_images = all_images.select {|img| img["official"] == true}
465
- ubuntu_lts_images = official_images.select {|img| img["name"] =~ /Ubuntu.*LTS/}
466
- ubuntu_lts_i686_images = ubuntu_lts_images.select {|img| img["arch"] == "i686"}
467
-
468
- if ubuntu_lts_i686_images.empty?
469
- # Accept other architectures
470
- if ubuntu_lts_images.empty?
471
- # Accept non-LTS versions of Ubuntu
472
- unsorted_images = official_images.select {|img| img["name"] =~ /Ubuntu/}
473
- else
474
- unsorted_images = ubuntu_lts_images
475
- end
476
- else
477
- unsorted_images = ubuntu_lts_i686_images
478
- end
479
-
480
- # Get the latest and use it's ID for the default image
481
- @default_image_id = unsorted_images.sort {|a,b| a["created_at"] <=> b["created_at"]}.first["id"]
482
- rescue
483
- nil
283
+ Fog::Brightbox::Compute::ImageSelector.new(list_images).latest_ubuntu
484
284
  end
485
285
  end
486
286