fog 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (990) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +3 -1
  3. data/RELEASE.md +39 -0
  4. data/Rakefile +39 -14
  5. data/bin/fog +4 -0
  6. data/changelog.txt +430 -0
  7. data/docs/storage/aws.markdown +21 -0
  8. data/fog.gemspec +2 -2
  9. data/lib/fog/atmos/models/storage/directories.rb +2 -2
  10. data/lib/fog/atmos/models/storage/directory.rb +11 -11
  11. data/lib/fog/atmos/models/storage/file.rb +8 -8
  12. data/lib/fog/atmos/models/storage/files.rb +3 -3
  13. data/lib/fog/aws.rb +1 -0
  14. data/lib/fog/aws/compute.rb +2 -1
  15. data/lib/fog/aws/dynamodb.rb +1 -1
  16. data/lib/fog/aws/elasticache.rb +3 -1
  17. data/lib/fog/aws/models/auto_scaling/activities.rb +2 -2
  18. data/lib/fog/aws/models/auto_scaling/activity.rb +1 -1
  19. data/lib/fog/aws/models/auto_scaling/configuration.rb +2 -2
  20. data/lib/fog/aws/models/auto_scaling/configurations.rb +2 -2
  21. data/lib/fog/aws/models/auto_scaling/group.rb +12 -12
  22. data/lib/fog/aws/models/auto_scaling/groups.rb +2 -2
  23. data/lib/fog/aws/models/auto_scaling/instance.rb +5 -5
  24. data/lib/fog/aws/models/auto_scaling/instances.rb +2 -2
  25. data/lib/fog/aws/models/auto_scaling/policies.rb +2 -2
  26. data/lib/fog/aws/models/auto_scaling/policy.rb +2 -2
  27. data/lib/fog/aws/models/beanstalk/application.rb +7 -7
  28. data/lib/fog/aws/models/beanstalk/applications.rb +2 -2
  29. data/lib/fog/aws/models/beanstalk/environment.rb +10 -10
  30. data/lib/fog/aws/models/beanstalk/environments.rb +2 -2
  31. data/lib/fog/aws/models/beanstalk/events.rb +1 -1
  32. data/lib/fog/aws/models/beanstalk/template.rb +5 -5
  33. data/lib/fog/aws/models/beanstalk/templates.rb +3 -3
  34. data/lib/fog/aws/models/beanstalk/version.rb +6 -6
  35. data/lib/fog/aws/models/beanstalk/versions.rb +2 -2
  36. data/lib/fog/aws/models/cdn/distribution.rb +4 -4
  37. data/lib/fog/aws/models/cdn/distributions.rb +2 -2
  38. data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
  39. data/lib/fog/aws/models/cdn/invalidations.rb +2 -2
  40. data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
  41. data/lib/fog/aws/models/cdn/streaming_distributions.rb +2 -2
  42. data/lib/fog/aws/models/cloud_watch/alarm.rb +2 -2
  43. data/lib/fog/aws/models/cloud_watch/alarm_data.rb +9 -9
  44. data/lib/fog/aws/models/cloud_watch/alarm_datum.rb +3 -3
  45. data/lib/fog/aws/models/cloud_watch/alarm_histories.rb +1 -1
  46. data/lib/fog/aws/models/cloud_watch/alarms.rb +7 -7
  47. data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +2 -2
  48. data/lib/fog/aws/models/cloud_watch/metric_statistics.rb +3 -3
  49. data/lib/fog/aws/models/cloud_watch/metrics.rb +27 -7
  50. data/lib/fog/aws/models/compute/address.rb +9 -9
  51. data/lib/fog/aws/models/compute/addresses.rb +2 -2
  52. data/lib/fog/aws/models/compute/dhcp_option.rb +3 -3
  53. data/lib/fog/aws/models/compute/dhcp_options.rb +2 -2
  54. data/lib/fog/aws/models/compute/flavors.rb +1 -1
  55. data/lib/fog/aws/models/compute/image.rb +2 -2
  56. data/lib/fog/aws/models/compute/images.rb +5 -5
  57. data/lib/fog/aws/models/compute/internet_gateway.rb +4 -4
  58. data/lib/fog/aws/models/compute/internet_gateways.rb +2 -2
  59. data/lib/fog/aws/models/compute/key_pair.rb +4 -4
  60. data/lib/fog/aws/models/compute/key_pairs.rb +2 -2
  61. data/lib/fog/aws/models/compute/network_interface.rb +3 -3
  62. data/lib/fog/aws/models/compute/network_interfaces.rb +2 -2
  63. data/lib/fog/aws/models/compute/security_group.rb +7 -7
  64. data/lib/fog/aws/models/compute/security_groups.rb +3 -3
  65. data/lib/fog/aws/models/compute/server.rb +20 -16
  66. data/lib/fog/aws/models/compute/servers.rb +6 -6
  67. data/lib/fog/aws/models/compute/snapshot.rb +4 -4
  68. data/lib/fog/aws/models/compute/snapshots.rb +3 -3
  69. data/lib/fog/aws/models/compute/spot_request.rb +18 -8
  70. data/lib/fog/aws/models/compute/spot_requests.rb +11 -11
  71. data/lib/fog/aws/models/compute/subnet.rb +3 -3
  72. data/lib/fog/aws/models/compute/subnets.rb +2 -2
  73. data/lib/fog/aws/models/compute/tag.rb +2 -2
  74. data/lib/fog/aws/models/compute/tags.rb +3 -3
  75. data/lib/fog/aws/models/compute/volume.rb +12 -12
  76. data/lib/fog/aws/models/compute/volumes.rb +2 -2
  77. data/lib/fog/aws/models/compute/vpc.rb +2 -2
  78. data/lib/fog/aws/models/compute/vpcs.rb +2 -2
  79. data/lib/fog/aws/models/dns/record.rb +4 -4
  80. data/lib/fog/aws/models/dns/records.rb +3 -3
  81. data/lib/fog/aws/models/dns/zone.rb +3 -3
  82. data/lib/fog/aws/models/dns/zones.rb +2 -2
  83. data/lib/fog/aws/models/elasticache/cluster.rb +2 -2
  84. data/lib/fog/aws/models/elasticache/clusters.rb +2 -2
  85. data/lib/fog/aws/models/elasticache/parameter_group.rb +2 -2
  86. data/lib/fog/aws/models/elasticache/parameter_groups.rb +2 -2
  87. data/lib/fog/aws/models/elasticache/security_group.rb +4 -4
  88. data/lib/fog/aws/models/elasticache/security_groups.rb +2 -2
  89. data/lib/fog/aws/models/elb/listener.rb +2 -2
  90. data/lib/fog/aws/models/elb/load_balancer.rb +19 -19
  91. data/lib/fog/aws/models/elb/load_balancers.rb +2 -2
  92. data/lib/fog/aws/models/elb/policy.rb +3 -3
  93. data/lib/fog/aws/models/glacier/archive.rb +7 -7
  94. data/lib/fog/aws/models/glacier/job.rb +2 -2
  95. data/lib/fog/aws/models/glacier/jobs.rb +3 -3
  96. data/lib/fog/aws/models/glacier/vault.rb +7 -7
  97. data/lib/fog/aws/models/glacier/vaults.rb +2 -2
  98. data/lib/fog/aws/models/iam/access_key.rb +8 -8
  99. data/lib/fog/aws/models/iam/access_keys.rb +7 -7
  100. data/lib/fog/aws/models/iam/policies.rb +10 -10
  101. data/lib/fog/aws/models/iam/policy.rb +8 -8
  102. data/lib/fog/aws/models/iam/user.rb +10 -10
  103. data/lib/fog/aws/models/iam/users.rb +2 -2
  104. data/lib/fog/aws/models/rds/parameter.rb +2 -2
  105. data/lib/fog/aws/models/rds/parameter_group.rb +10 -10
  106. data/lib/fog/aws/models/rds/parameter_groups.rb +3 -3
  107. data/lib/fog/aws/models/rds/parameters.rb +2 -2
  108. data/lib/fog/aws/models/rds/security_group.rb +4 -4
  109. data/lib/fog/aws/models/rds/security_groups.rb +2 -2
  110. data/lib/fog/aws/models/rds/server.rb +10 -10
  111. data/lib/fog/aws/models/rds/servers.rb +3 -3
  112. data/lib/fog/aws/models/rds/snapshot.rb +3 -3
  113. data/lib/fog/aws/models/rds/snapshots.rb +3 -3
  114. data/lib/fog/aws/models/rds/subnet_groups.rb +2 -2
  115. data/lib/fog/aws/models/storage/directories.rb +2 -2
  116. data/lib/fog/aws/models/storage/directory.rb +13 -13
  117. data/lib/fog/aws/models/storage/file.rb +106 -14
  118. data/lib/fog/aws/models/storage/files.rb +10 -10
  119. data/lib/fog/aws/models/storage/version.rb +2 -2
  120. data/lib/fog/aws/models/storage/versions.rb +3 -3
  121. data/lib/fog/aws/parsers/compute/copy_snapshot.rb +22 -0
  122. data/lib/fog/aws/parsers/compute/describe_instances.rb +8 -1
  123. data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +5 -3
  124. data/lib/fog/aws/parsers/elasticache/describe_reserved_cache_nodes.rb +37 -0
  125. data/lib/fog/aws/parsers/storage/cors_configuration.rb +41 -0
  126. data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +45 -11
  127. data/lib/fog/aws/requests/auto_scaling/resume_processes.rb +10 -1
  128. data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +7 -2
  129. data/lib/fog/aws/requests/cloud_formation/create_stack.rb +17 -0
  130. data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +27 -0
  131. data/lib/fog/aws/requests/compute/copy_snapshot.rb +58 -0
  132. data/lib/fog/aws/requests/elasticache/describe_reserved_cache_nodes.rb +42 -0
  133. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +5 -7
  134. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +12 -16
  135. data/lib/fog/aws/requests/storage/copy_object.rb +19 -20
  136. data/lib/fog/aws/requests/storage/cors_utils.rb +41 -0
  137. data/lib/fog/aws/requests/storage/delete_bucket.rb +4 -7
  138. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +29 -0
  139. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +4 -7
  140. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +5 -8
  141. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +4 -7
  142. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +24 -29
  143. data/lib/fog/aws/requests/storage/delete_object.rb +5 -8
  144. data/lib/fog/aws/requests/storage/get_bucket.rb +25 -28
  145. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +15 -18
  146. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +65 -0
  147. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +9 -12
  148. data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -8
  149. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +15 -18
  150. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +37 -43
  151. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +4 -7
  152. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +6 -9
  153. data/lib/fog/aws/requests/storage/get_bucket_website.rb +9 -11
  154. data/lib/fog/aws/requests/storage/get_object.rb +17 -20
  155. data/lib/fog/aws/requests/storage/get_object_acl.rb +18 -21
  156. data/lib/fog/aws/requests/storage/get_object_http_url.rb +6 -9
  157. data/lib/fog/aws/requests/storage/get_object_https_url.rb +6 -9
  158. data/lib/fog/aws/requests/storage/get_object_torrent.rb +15 -18
  159. data/lib/fog/aws/requests/storage/get_object_url.rb +7 -10
  160. data/lib/fog/aws/requests/storage/get_request_payment.rb +5 -8
  161. data/lib/fog/aws/requests/storage/get_service.rb +9 -11
  162. data/lib/fog/aws/requests/storage/head_object.rb +19 -22
  163. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +17 -20
  164. data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +27 -32
  165. data/lib/fog/aws/requests/storage/list_parts.rb +25 -29
  166. data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +15 -17
  167. data/lib/fog/aws/requests/storage/put_bucket.rb +8 -11
  168. data/lib/fog/aws/requests/storage/put_bucket_acl.rb +15 -17
  169. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +49 -0
  170. data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +44 -15
  171. data/lib/fog/aws/requests/storage/put_bucket_logging.rb +13 -15
  172. data/lib/fog/aws/requests/storage/put_bucket_policy.rb +3 -5
  173. data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +3 -5
  174. data/lib/fog/aws/requests/storage/put_bucket_website.rb +5 -7
  175. data/lib/fog/aws/requests/storage/put_object.rb +19 -22
  176. data/lib/fog/aws/requests/storage/put_object_acl.rb +17 -19
  177. data/lib/fog/aws/requests/storage/put_object_url.rb +6 -9
  178. data/lib/fog/aws/requests/storage/put_request_payment.rb +3 -5
  179. data/lib/fog/aws/requests/storage/upload_part.rb +12 -15
  180. data/lib/fog/aws/storage.rb +8 -1
  181. data/lib/fog/bin/rackspace.rb +7 -0
  182. data/lib/fog/bluebox/models/compute/flavors.rb +2 -2
  183. data/lib/fog/bluebox/models/compute/image.rb +8 -8
  184. data/lib/fog/bluebox/models/compute/images.rb +2 -2
  185. data/lib/fog/bluebox/models/compute/locations.rb +2 -2
  186. data/lib/fog/bluebox/models/compute/server.rb +10 -10
  187. data/lib/fog/bluebox/models/compute/servers.rb +2 -2
  188. data/lib/fog/bluebox/models/dns/record.rb +3 -3
  189. data/lib/fog/bluebox/models/dns/records.rb +2 -2
  190. data/lib/fog/bluebox/models/dns/zone.rb +3 -3
  191. data/lib/fog/bluebox/models/dns/zones.rb +2 -2
  192. data/lib/fog/bluebox/requests/compute/create_block.rb +2 -2
  193. data/lib/fog/brightbox/compute.rb +56 -9
  194. data/lib/fog/brightbox/models/compute/account.rb +1 -1
  195. data/lib/fog/brightbox/models/compute/accounts.rb +3 -3
  196. data/lib/fog/brightbox/models/compute/api_client.rb +4 -4
  197. data/lib/fog/brightbox/models/compute/api_clients.rb +2 -2
  198. data/lib/fog/brightbox/models/compute/application.rb +2 -2
  199. data/lib/fog/brightbox/models/compute/applications.rb +3 -3
  200. data/lib/fog/brightbox/models/compute/cloud_ip.rb +4 -3
  201. data/lib/fog/brightbox/models/compute/cloud_ips.rb +4 -4
  202. data/lib/fog/brightbox/models/compute/firewall_policies.rb +3 -3
  203. data/lib/fog/brightbox/models/compute/firewall_policy.rb +5 -5
  204. data/lib/fog/brightbox/models/compute/firewall_rule.rb +3 -3
  205. data/lib/fog/brightbox/models/compute/firewall_rules.rb +2 -2
  206. data/lib/fog/brightbox/models/compute/flavors.rb +3 -3
  207. data/lib/fog/brightbox/models/compute/image.rb +3 -3
  208. data/lib/fog/brightbox/models/compute/images.rb +2 -2
  209. data/lib/fog/brightbox/models/compute/load_balancer.rb +3 -3
  210. data/lib/fog/brightbox/models/compute/load_balancers.rb +2 -2
  211. data/lib/fog/brightbox/models/compute/server.rb +23 -17
  212. data/lib/fog/brightbox/models/compute/server_group.rb +6 -6
  213. data/lib/fog/brightbox/models/compute/server_groups.rb +3 -3
  214. data/lib/fog/brightbox/models/compute/servers.rb +3 -3
  215. data/lib/fog/brightbox/models/compute/user.rb +1 -1
  216. data/lib/fog/brightbox/models/compute/users.rb +3 -3
  217. data/lib/fog/brightbox/models/compute/zones.rb +3 -3
  218. data/lib/fog/brightbox/requests/compute/activate_console_server.rb +1 -1
  219. data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +1 -1
  220. data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +1 -1
  221. data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +1 -1
  222. data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +1 -1
  223. data/lib/fog/brightbox/requests/compute/create_api_client.rb +1 -1
  224. data/lib/fog/brightbox/requests/compute/create_application.rb +1 -1
  225. data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +1 -1
  226. data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +1 -1
  227. data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +1 -1
  228. data/lib/fog/brightbox/requests/compute/create_image.rb +1 -1
  229. data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +1 -1
  230. data/lib/fog/brightbox/requests/compute/create_server.rb +1 -1
  231. data/lib/fog/brightbox/requests/compute/create_server_group.rb +1 -1
  232. data/lib/fog/brightbox/requests/compute/destroy_api_client.rb +1 -1
  233. data/lib/fog/brightbox/requests/compute/destroy_application.rb +1 -1
  234. data/lib/fog/brightbox/requests/compute/destroy_cloud_ip.rb +1 -1
  235. data/lib/fog/brightbox/requests/compute/destroy_firewall_policy.rb +1 -1
  236. data/lib/fog/brightbox/requests/compute/destroy_firewall_rule.rb +1 -1
  237. data/lib/fog/brightbox/requests/compute/destroy_image.rb +1 -1
  238. data/lib/fog/brightbox/requests/compute/destroy_load_balancer.rb +1 -1
  239. data/lib/fog/brightbox/requests/compute/destroy_server.rb +1 -1
  240. data/lib/fog/brightbox/requests/compute/destroy_server_group.rb +1 -1
  241. data/lib/fog/brightbox/requests/compute/get_account.rb +1 -1
  242. data/lib/fog/brightbox/requests/compute/get_api_client.rb +1 -1
  243. data/lib/fog/brightbox/requests/compute/get_application.rb +1 -1
  244. data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +1 -1
  245. data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +1 -1
  246. data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +1 -1
  247. data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +1 -1
  248. data/lib/fog/brightbox/requests/compute/get_image.rb +1 -1
  249. data/lib/fog/brightbox/requests/compute/get_interface.rb +1 -1
  250. data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +1 -1
  251. data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +1 -1
  252. data/lib/fog/brightbox/requests/compute/get_server.rb +1 -1
  253. data/lib/fog/brightbox/requests/compute/get_server_group.rb +1 -1
  254. data/lib/fog/brightbox/requests/compute/get_server_type.rb +1 -1
  255. data/lib/fog/brightbox/requests/compute/get_user.rb +1 -1
  256. data/lib/fog/brightbox/requests/compute/get_zone.rb +1 -1
  257. data/lib/fog/brightbox/requests/compute/list_accounts.rb +1 -1
  258. data/lib/fog/brightbox/requests/compute/list_api_clients.rb +1 -1
  259. data/lib/fog/brightbox/requests/compute/list_applications.rb +1 -1
  260. data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +1 -1
  261. data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +1 -1
  262. data/lib/fog/brightbox/requests/compute/list_images.rb +1 -1
  263. data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +1 -1
  264. data/lib/fog/brightbox/requests/compute/list_server_groups.rb +1 -1
  265. data/lib/fog/brightbox/requests/compute/list_server_types.rb +1 -1
  266. data/lib/fog/brightbox/requests/compute/list_servers.rb +1 -1
  267. data/lib/fog/brightbox/requests/compute/list_users.rb +1 -1
  268. data/lib/fog/brightbox/requests/compute/list_zones.rb +1 -1
  269. data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +1 -1
  270. data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +1 -1
  271. data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +1 -1
  272. data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +1 -1
  273. data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +1 -1
  274. data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +1 -1
  275. data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +1 -1
  276. data/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +1 -1
  277. data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +1 -1
  278. data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +1 -1
  279. data/lib/fog/brightbox/requests/compute/shutdown_server.rb +1 -1
  280. data/lib/fog/brightbox/requests/compute/snapshot_server.rb +1 -1
  281. data/lib/fog/brightbox/requests/compute/start_server.rb +1 -1
  282. data/lib/fog/brightbox/requests/compute/stop_server.rb +1 -1
  283. data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +1 -1
  284. data/lib/fog/brightbox/requests/compute/update_account.rb +1 -1
  285. data/lib/fog/brightbox/requests/compute/update_api_client.rb +1 -1
  286. data/lib/fog/brightbox/requests/compute/update_application.rb +1 -1
  287. data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +1 -1
  288. data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +1 -1
  289. data/lib/fog/brightbox/requests/compute/update_image.rb +1 -1
  290. data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +1 -1
  291. data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +1 -1
  292. data/lib/fog/brightbox/requests/compute/update_server.rb +1 -1
  293. data/lib/fog/brightbox/requests/compute/update_server_group.rb +1 -1
  294. data/lib/fog/brightbox/requests/compute/update_user.rb +1 -1
  295. data/lib/fog/clodo/models/compute/images.rb +2 -2
  296. data/lib/fog/clodo/models/compute/server.rb +7 -7
  297. data/lib/fog/clodo/models/compute/servers.rb +2 -2
  298. data/lib/fog/cloudstack/models/compute/flavors.rb +2 -2
  299. data/lib/fog/cloudstack/models/compute/image.rb +2 -2
  300. data/lib/fog/cloudstack/models/compute/images.rb +2 -2
  301. data/lib/fog/cloudstack/models/compute/job.rb +2 -2
  302. data/lib/fog/cloudstack/models/compute/jobs.rb +2 -2
  303. data/lib/fog/cloudstack/models/compute/security_group.rb +3 -3
  304. data/lib/fog/cloudstack/models/compute/security_group_rule.rb +5 -5
  305. data/lib/fog/cloudstack/models/compute/security_group_rules.rb +1 -1
  306. data/lib/fog/cloudstack/models/compute/security_groups.rb +2 -2
  307. data/lib/fog/cloudstack/models/compute/server.rb +11 -11
  308. data/lib/fog/cloudstack/models/compute/servers.rb +2 -2
  309. data/lib/fog/cloudstack/models/compute/volume.rb +8 -8
  310. data/lib/fog/cloudstack/models/compute/volumes.rb +2 -2
  311. data/lib/fog/cloudstack/models/compute/zone.rb +1 -1
  312. data/lib/fog/cloudstack/models/compute/zones.rb +2 -2
  313. data/lib/fog/compute.rb +2 -1
  314. data/lib/fog/core/attributes.rb +20 -3
  315. data/lib/fog/core/collection.rb +17 -6
  316. data/lib/fog/core/deprecated_connection_accessors.rb +41 -0
  317. data/lib/fog/core/errors.rb +2 -0
  318. data/lib/fog/core/json.rb +4 -16
  319. data/lib/fog/core/logger.rb +2 -0
  320. data/lib/fog/core/model.rb +11 -1
  321. data/lib/fog/core/parser.rb +13 -0
  322. data/lib/fog/core/service.rb +1 -1
  323. data/lib/fog/core/wait_for.rb +1 -1
  324. data/lib/fog/dnsimple/models/dns/record.rb +4 -4
  325. data/lib/fog/dnsimple/models/dns/records.rb +2 -2
  326. data/lib/fog/dnsimple/models/dns/zone.rb +3 -3
  327. data/lib/fog/dnsimple/models/dns/zones.rb +2 -2
  328. data/lib/fog/dnsmadeeasy/models/dns/record.rb +5 -5
  329. data/lib/fog/dnsmadeeasy/models/dns/records.rb +2 -2
  330. data/lib/fog/dnsmadeeasy/models/dns/zone.rb +3 -3
  331. data/lib/fog/dnsmadeeasy/models/dns/zones.rb +2 -2
  332. data/lib/fog/dynect/models/dns/record.rb +3 -3
  333. data/lib/fog/dynect/models/dns/records.rb +2 -2
  334. data/lib/fog/dynect/models/dns/zone.rb +4 -4
  335. data/lib/fog/dynect/models/dns/zones.rb +2 -2
  336. data/lib/fog/ecloud.rb +19 -5
  337. data/lib/fog/ecloud/compute.rb +663 -351
  338. data/lib/fog/ecloud/generate_collection.rb +3 -3
  339. data/lib/fog/ecloud/models/compute/admin_organization.rb +14 -10
  340. data/lib/fog/ecloud/models/compute/admin_organizations.rb +1 -6
  341. data/lib/fog/ecloud/models/compute/api_keys.rb +2 -2
  342. data/lib/fog/ecloud/models/compute/association.rb +3 -3
  343. data/lib/fog/ecloud/models/compute/associations.rb +2 -2
  344. data/lib/fog/ecloud/models/compute/authentication_levels.rb +2 -2
  345. data/lib/fog/ecloud/models/compute/backup_internet_service.rb +7 -7
  346. data/lib/fog/ecloud/models/compute/backup_internet_services.rb +3 -3
  347. data/lib/fog/ecloud/models/compute/catalog.rb +2 -2
  348. data/lib/fog/ecloud/models/compute/catalog_configurations.rb +2 -2
  349. data/lib/fog/ecloud/models/compute/catalog_item.rb +1 -1
  350. data/lib/fog/ecloud/models/compute/compute_pool.rb +27 -15
  351. data/lib/fog/ecloud/models/compute/compute_pools.rb +2 -2
  352. data/lib/fog/ecloud/models/compute/cpu_usage_detail_summary.rb +2 -2
  353. data/lib/fog/ecloud/models/compute/detached_disk.rb +27 -0
  354. data/lib/fog/ecloud/models/compute/detached_disks.rb +31 -0
  355. data/lib/fog/ecloud/models/compute/environment.rb +27 -20
  356. data/lib/fog/ecloud/models/compute/environments.rb +2 -2
  357. data/lib/fog/ecloud/models/compute/firewall_acl.rb +1 -1
  358. data/lib/fog/ecloud/models/compute/firewall_acls.rb +2 -2
  359. data/lib/fog/ecloud/models/compute/group.rb +8 -6
  360. data/lib/fog/ecloud/models/compute/groups.rb +17 -6
  361. data/lib/fog/ecloud/models/compute/guest_processes.rb +2 -2
  362. data/lib/fog/ecloud/models/compute/hardware_configuration.rb +4 -4
  363. data/lib/fog/ecloud/models/compute/hardware_configurations.rb +2 -2
  364. data/lib/fog/ecloud/models/compute/internet_service.rb +35 -29
  365. data/lib/fog/ecloud/models/compute/internet_services.rb +11 -8
  366. data/lib/fog/ecloud/models/compute/ip_address.rb +17 -3
  367. data/lib/fog/ecloud/models/compute/ip_addresses.rb +7 -2
  368. data/lib/fog/ecloud/models/compute/layout.rb +1 -1
  369. data/lib/fog/ecloud/models/compute/layouts.rb +2 -2
  370. data/lib/fog/ecloud/models/compute/location.rb +1 -1
  371. data/lib/fog/ecloud/models/compute/locations.rb +2 -2
  372. data/lib/fog/ecloud/models/compute/login_banners.rb +2 -2
  373. data/lib/fog/ecloud/models/compute/memory_usage_detail_summary.rb +2 -2
  374. data/lib/fog/ecloud/models/compute/monitor.rb +4 -4
  375. data/lib/fog/ecloud/models/compute/monitors.rb +2 -2
  376. data/lib/fog/ecloud/models/compute/network.rb +22 -12
  377. data/lib/fog/ecloud/models/compute/networks.rb +9 -5
  378. data/lib/fog/ecloud/models/compute/node.rb +12 -6
  379. data/lib/fog/ecloud/models/compute/nodes.rb +7 -4
  380. data/lib/fog/ecloud/models/compute/operating_system_families.rb +2 -2
  381. data/lib/fog/ecloud/models/compute/operating_system_family.rb +1 -1
  382. data/lib/fog/ecloud/models/compute/operating_systems.rb +1 -1
  383. data/lib/fog/ecloud/models/compute/organization.rb +17 -17
  384. data/lib/fog/ecloud/models/compute/organizations.rb +3 -3
  385. data/lib/fog/ecloud/models/compute/password_complexity_rules.rb +2 -2
  386. data/lib/fog/ecloud/models/compute/physical_devices.rb +2 -2
  387. data/lib/fog/ecloud/models/compute/public_ip.rb +2 -2
  388. data/lib/fog/ecloud/models/compute/public_ips.rb +8 -5
  389. data/lib/fog/ecloud/models/compute/rnat.rb +2 -2
  390. data/lib/fog/ecloud/models/compute/rnats.rb +2 -2
  391. data/lib/fog/ecloud/models/compute/roles.rb +2 -2
  392. data/lib/fog/ecloud/models/compute/row.rb +10 -7
  393. data/lib/fog/ecloud/models/compute/rows.rb +9 -6
  394. data/lib/fog/ecloud/models/compute/server.rb +139 -93
  395. data/lib/fog/ecloud/models/compute/server_configuration_options.rb +2 -2
  396. data/lib/fog/ecloud/models/compute/servers.rb +18 -15
  397. data/lib/fog/ecloud/models/compute/ssh_key.rb +1 -1
  398. data/lib/fog/ecloud/models/compute/ssh_keys.rb +2 -2
  399. data/lib/fog/ecloud/models/compute/storage_usage_detail_summary.rb +2 -2
  400. data/lib/fog/ecloud/models/compute/support_tickets.rb +2 -2
  401. data/lib/fog/ecloud/models/compute/tags.rb +2 -2
  402. data/lib/fog/ecloud/models/compute/task.rb +3 -0
  403. data/lib/fog/ecloud/models/compute/tasks.rb +3 -3
  404. data/lib/fog/ecloud/models/compute/template.rb +8 -9
  405. data/lib/fog/ecloud/models/compute/templates.rb +2 -2
  406. data/lib/fog/ecloud/models/compute/trusted_network_group.rb +5 -5
  407. data/lib/fog/ecloud/models/compute/trusted_network_groups.rb +2 -2
  408. data/lib/fog/ecloud/models/compute/user.rb +2 -2
  409. data/lib/fog/ecloud/models/compute/users.rb +2 -2
  410. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ip.rb +32 -0
  411. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ips.rb +27 -0
  412. data/lib/fog/ecloud/requests/compute/admin_edit_authentication_levels.rb +1 -2
  413. data/lib/fog/ecloud/requests/compute/get_admin_organization.rb +14 -0
  414. data/lib/fog/ecloud/requests/compute/get_compute_pool.rb +11 -0
  415. data/lib/fog/ecloud/requests/compute/get_compute_pools.rb +21 -0
  416. data/lib/fog/ecloud/requests/compute/get_detached_disk.rb +21 -0
  417. data/lib/fog/ecloud/requests/compute/get_detached_disks.rb +33 -0
  418. data/lib/fog/ecloud/requests/compute/get_environment.rb +21 -0
  419. data/lib/fog/ecloud/requests/compute/get_group.rb +8 -1
  420. data/lib/fog/ecloud/requests/compute/get_groups.rb +8 -1
  421. data/lib/fog/ecloud/requests/compute/get_hardware_configuration.rb +19 -0
  422. data/lib/fog/ecloud/requests/compute/get_hardware_configurations.rb +4 -0
  423. data/lib/fog/ecloud/requests/compute/get_internet_service.rb +12 -0
  424. data/lib/fog/ecloud/requests/compute/get_internet_services.rb +8 -0
  425. data/lib/fog/ecloud/requests/compute/get_ip_address.rb +11 -0
  426. data/lib/fog/ecloud/requests/compute/get_layout.rb +8 -1
  427. data/lib/fog/ecloud/requests/compute/get_layouts.rb +8 -1
  428. data/lib/fog/ecloud/requests/compute/get_network.rb +11 -0
  429. data/lib/fog/ecloud/requests/compute/get_networks.rb +20 -0
  430. data/lib/fog/ecloud/requests/compute/get_node.rb +11 -0
  431. data/lib/fog/ecloud/requests/compute/get_nodes.rb +9 -0
  432. data/lib/fog/ecloud/requests/compute/get_operating_system.rb +14 -0
  433. data/lib/fog/ecloud/requests/compute/get_operating_system_families.rb +20 -0
  434. data/lib/fog/ecloud/requests/compute/get_organization.rb +14 -0
  435. data/lib/fog/ecloud/requests/compute/get_organizations.rb +14 -2
  436. data/lib/fog/ecloud/requests/compute/get_public_ip.rb +11 -1
  437. data/lib/fog/ecloud/requests/compute/get_public_ips.rb +22 -0
  438. data/lib/fog/ecloud/requests/compute/get_row.rb +8 -1
  439. data/lib/fog/ecloud/requests/compute/get_rows.rb +2 -1
  440. data/lib/fog/ecloud/requests/compute/get_server.rb +11 -0
  441. data/lib/fog/ecloud/requests/compute/get_servers.rb +32 -1
  442. data/lib/fog/ecloud/requests/compute/get_ssh_key.rb +11 -0
  443. data/lib/fog/ecloud/requests/compute/get_ssh_keys.rb +20 -0
  444. data/lib/fog/ecloud/requests/compute/get_task.rb +4 -2
  445. data/lib/fog/ecloud/requests/compute/get_template.rb +11 -0
  446. data/lib/fog/ecloud/requests/compute/get_templates.rb +38 -0
  447. data/lib/fog/ecloud/requests/compute/get_virtual_machine_assigned_ips.rb +44 -0
  448. data/lib/fog/ecloud/requests/compute/groups_delete.rb +16 -1
  449. data/lib/fog/ecloud/requests/compute/internet_service_create.rb +36 -1
  450. data/lib/fog/ecloud/requests/compute/internet_service_delete.rb +23 -0
  451. data/lib/fog/ecloud/requests/compute/node_service_create.rb +49 -1
  452. data/lib/fog/ecloud/requests/compute/node_service_delete.rb +24 -0
  453. data/lib/fog/ecloud/requests/compute/rows_delete.rb +11 -1
  454. data/lib/fog/ecloud/requests/compute/virtual_machine_attach_disk.rb +62 -0
  455. data/lib/fog/ecloud/requests/compute/virtual_machine_create_from_template.rb +136 -16
  456. data/lib/fog/ecloud/requests/compute/virtual_machine_delete.rb +36 -1
  457. data/lib/fog/ecloud/requests/compute/virtual_machine_detach_disk.rb +71 -0
  458. data/lib/fog/ecloud/requests/compute/virtual_machine_edit_assigned_ips.rb +82 -0
  459. data/lib/fog/ecloud/requests/compute/virtual_machine_edit_hardware_configuration.rb +27 -3
  460. data/lib/fog/ecloud/requests/compute/virtual_machine_import.rb +120 -6
  461. data/lib/fog/glesys/models/compute/ip.rb +7 -7
  462. data/lib/fog/glesys/models/compute/ips.rb +7 -7
  463. data/lib/fog/glesys/models/compute/server.rb +6 -6
  464. data/lib/fog/glesys/models/compute/servers.rb +4 -4
  465. data/lib/fog/glesys/models/compute/template.rb +1 -1
  466. data/lib/fog/glesys/models/compute/templates.rb +2 -2
  467. data/lib/fog/go_grid/models/compute/image.rb +3 -3
  468. data/lib/fog/go_grid/models/compute/images.rb +2 -2
  469. data/lib/fog/go_grid/models/compute/password.rb +5 -5
  470. data/lib/fog/go_grid/models/compute/passwords.rb +3 -3
  471. data/lib/fog/go_grid/models/compute/server.rb +4 -4
  472. data/lib/fog/go_grid/models/compute/servers.rb +2 -2
  473. data/lib/fog/google/models/storage/directories.rb +2 -2
  474. data/lib/fog/google/models/storage/directory.rb +4 -4
  475. data/lib/fog/google/models/storage/file.rb +5 -5
  476. data/lib/fog/google/models/storage/files.rb +4 -4
  477. data/lib/fog/hp.rb +6 -3
  478. data/lib/fog/hp/models/compute/address.rb +8 -8
  479. data/lib/fog/hp/models/compute/addresses.rb +2 -2
  480. data/lib/fog/hp/models/compute/flavors.rb +2 -2
  481. data/lib/fog/hp/models/compute/image.rb +2 -2
  482. data/lib/fog/hp/models/compute/images.rb +2 -2
  483. data/lib/fog/hp/models/compute/key_pair.rb +3 -3
  484. data/lib/fog/hp/models/compute/key_pairs.rb +2 -2
  485. data/lib/fog/hp/models/compute/security_group.rb +4 -4
  486. data/lib/fog/hp/models/compute/security_groups.rb +3 -3
  487. data/lib/fog/hp/models/compute/server.rb +15 -15
  488. data/lib/fog/hp/models/compute/servers.rb +2 -2
  489. data/lib/fog/hp/models/storage/directories.rb +3 -3
  490. data/lib/fog/hp/models/storage/directory.rb +18 -18
  491. data/lib/fog/hp/models/storage/file.rb +4 -4
  492. data/lib/fog/hp/models/storage/files.rb +2 -2
  493. data/lib/fog/ibm/models/compute/address.rb +2 -2
  494. data/lib/fog/ibm/models/compute/addresses.rb +2 -2
  495. data/lib/fog/ibm/models/compute/image.rb +3 -3
  496. data/lib/fog/ibm/models/compute/images.rb +2 -2
  497. data/lib/fog/ibm/models/compute/key.rb +2 -2
  498. data/lib/fog/ibm/models/compute/keys.rb +3 -3
  499. data/lib/fog/ibm/models/compute/locations.rb +2 -2
  500. data/lib/fog/ibm/models/compute/server.rb +12 -12
  501. data/lib/fog/ibm/models/compute/servers.rb +2 -2
  502. data/lib/fog/ibm/models/compute/vlans.rb +2 -2
  503. data/lib/fog/ibm/models/storage/offerings.rb +1 -1
  504. data/lib/fog/ibm/models/storage/volume.rb +5 -5
  505. data/lib/fog/ibm/models/storage/volumes.rb +2 -2
  506. data/lib/fog/identity.rb +3 -0
  507. data/lib/fog/joyent/models/compute/flavors.rb +2 -2
  508. data/lib/fog/joyent/models/compute/images.rb +2 -2
  509. data/lib/fog/joyent/models/compute/key.rb +1 -1
  510. data/lib/fog/joyent/models/compute/keys.rb +3 -3
  511. data/lib/fog/joyent/models/compute/server.rb +13 -13
  512. data/lib/fog/joyent/models/compute/servers.rb +3 -3
  513. data/lib/fog/joyent/models/compute/snapshot.rb +4 -4
  514. data/lib/fog/joyent/models/compute/snapshots.rb +3 -3
  515. data/lib/fog/libvirt/compute.rb +6 -1
  516. data/lib/fog/libvirt/models/compute/interface.rb +1 -1
  517. data/lib/fog/libvirt/models/compute/interfaces.rb +1 -1
  518. data/lib/fog/libvirt/models/compute/network.rb +1 -1
  519. data/lib/fog/libvirt/models/compute/networks.rb +1 -1
  520. data/lib/fog/libvirt/models/compute/nic.rb +2 -2
  521. data/lib/fog/libvirt/models/compute/nodes.rb +1 -1
  522. data/lib/fog/libvirt/models/compute/pool.rb +7 -7
  523. data/lib/fog/libvirt/models/compute/pools.rb +1 -1
  524. data/lib/fog/libvirt/models/compute/server.rb +28 -28
  525. data/lib/fog/libvirt/models/compute/servers.rb +2 -2
  526. data/lib/fog/libvirt/models/compute/volume.rb +5 -5
  527. data/lib/fog/libvirt/models/compute/volumes.rb +1 -1
  528. data/lib/fog/linode/models/compute/data_centers.rb +2 -2
  529. data/lib/fog/linode/models/compute/disk.rb +7 -7
  530. data/lib/fog/linode/models/compute/disks.rb +2 -2
  531. data/lib/fog/linode/models/compute/flavors.rb +2 -2
  532. data/lib/fog/linode/models/compute/images.rb +2 -2
  533. data/lib/fog/linode/models/compute/ip.rb +3 -3
  534. data/lib/fog/linode/models/compute/ips.rb +2 -2
  535. data/lib/fog/linode/models/compute/kernels.rb +2 -2
  536. data/lib/fog/linode/models/compute/server.rb +13 -13
  537. data/lib/fog/linode/models/compute/servers.rb +2 -2
  538. data/lib/fog/linode/models/compute/stack_scripts.rb +3 -3
  539. data/lib/fog/linode/models/dns/record.rb +6 -6
  540. data/lib/fog/linode/models/dns/records.rb +2 -2
  541. data/lib/fog/linode/models/dns/zone.rb +6 -6
  542. data/lib/fog/linode/models/dns/zones.rb +2 -2
  543. data/lib/fog/local/models/storage/directories.rb +3 -3
  544. data/lib/fog/local/models/storage/directory.rb +2 -2
  545. data/lib/fog/local/models/storage/file.rb +6 -6
  546. data/lib/fog/local/models/storage/files.rb +2 -2
  547. data/lib/fog/ninefold/models/compute/address.rb +5 -5
  548. data/lib/fog/ninefold/models/compute/addresses.rb +2 -2
  549. data/lib/fog/ninefold/models/compute/flavors.rb +2 -2
  550. data/lib/fog/ninefold/models/compute/images.rb +2 -2
  551. data/lib/fog/ninefold/models/compute/ip_forwarding_rule.rb +3 -3
  552. data/lib/fog/ninefold/models/compute/ip_forwarding_rules.rb +2 -2
  553. data/lib/fog/ninefold/models/compute/server.rb +9 -9
  554. data/lib/fog/ninefold/models/compute/servers.rb +2 -2
  555. data/lib/fog/openstack.rb +40 -14
  556. data/lib/fog/openstack/README.identity.md +69 -0
  557. data/lib/fog/openstack/compute.rb +49 -18
  558. data/lib/fog/openstack/identity.rb +33 -20
  559. data/lib/fog/openstack/image.rb +10 -4
  560. data/lib/fog/openstack/models/compute/address.rb +8 -8
  561. data/lib/fog/openstack/models/compute/addresses.rb +3 -3
  562. data/lib/fog/openstack/models/compute/flavor.rb +4 -3
  563. data/lib/fog/openstack/models/compute/flavors.rb +2 -2
  564. data/lib/fog/openstack/models/compute/host.rb +3 -2
  565. data/lib/fog/openstack/models/compute/hosts.rb +2 -2
  566. data/lib/fog/openstack/models/compute/image.rb +4 -3
  567. data/lib/fog/openstack/models/compute/images.rb +2 -2
  568. data/lib/fog/openstack/models/compute/key_pair.rb +3 -3
  569. data/lib/fog/openstack/models/compute/key_pairs.rb +1 -1
  570. data/lib/fog/openstack/models/compute/metadata.rb +4 -4
  571. data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
  572. data/lib/fog/openstack/models/compute/security_group.rb +4 -4
  573. data/lib/fog/openstack/models/compute/security_groups.rb +2 -2
  574. data/lib/fog/openstack/models/compute/server.rb +33 -20
  575. data/lib/fog/openstack/models/compute/servers.rb +2 -2
  576. data/lib/fog/openstack/models/compute/snapshot.rb +4 -3
  577. data/lib/fog/openstack/models/compute/snapshots.rb +2 -2
  578. data/lib/fog/openstack/models/compute/tenant.rb +1 -1
  579. data/lib/fog/openstack/models/compute/tenants.rb +7 -3
  580. data/lib/fog/openstack/models/compute/volume.rb +6 -5
  581. data/lib/fog/openstack/models/compute/volumes.rb +2 -2
  582. data/lib/fog/openstack/models/identity/ec2_credential.rb +44 -0
  583. data/lib/fog/openstack/models/identity/ec2_credentials.rb +53 -0
  584. data/lib/fog/openstack/models/identity/role.rb +4 -4
  585. data/lib/fog/openstack/models/identity/roles.rb +2 -2
  586. data/lib/fog/openstack/models/identity/tenant.rb +7 -7
  587. data/lib/fog/openstack/models/identity/tenants.rb +3 -3
  588. data/lib/fog/openstack/models/identity/user.rb +12 -6
  589. data/lib/fog/openstack/models/identity/users.rb +3 -3
  590. data/lib/fog/openstack/models/image/image.rb +10 -9
  591. data/lib/fog/openstack/models/image/images.rb +6 -6
  592. data/lib/fog/openstack/models/network/floating_ip.rb +52 -0
  593. data/lib/fog/openstack/models/network/floating_ips.rb +34 -0
  594. data/lib/fog/openstack/models/network/network.rb +6 -5
  595. data/lib/fog/openstack/models/network/networks.rb +3 -3
  596. data/lib/fog/openstack/models/network/port.rb +6 -5
  597. data/lib/fog/openstack/models/network/ports.rb +3 -3
  598. data/lib/fog/openstack/models/network/subnet.rb +6 -5
  599. data/lib/fog/openstack/models/network/subnets.rb +3 -3
  600. data/lib/fog/openstack/models/volume/volume.rb +4 -3
  601. data/lib/fog/openstack/models/volume/volumes.rb +2 -2
  602. data/lib/fog/openstack/network.rb +16 -3
  603. data/lib/fog/openstack/requests/compute/create_security_group.rb +2 -1
  604. data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -0
  605. data/lib/fog/openstack/requests/compute/create_server.rb +54 -7
  606. data/lib/fog/openstack/requests/compute/delete_security_group.rb +2 -0
  607. data/lib/fog/openstack/requests/compute/list_security_groups.rb +17 -41
  608. data/lib/fog/openstack/requests/identity/add_user_to_tenant.rb +7 -2
  609. data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +58 -0
  610. data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
  611. data/lib/fog/openstack/requests/identity/create_tenant.rb +1 -3
  612. data/lib/fog/openstack/requests/identity/delete_ec2_credential.rb +44 -0
  613. data/lib/fog/openstack/requests/identity/get_ec2_credential.rb +49 -0
  614. data/lib/fog/openstack/requests/identity/get_user_by_name.rb +8 -0
  615. data/lib/fog/openstack/requests/identity/list_ec2_credentials.rb +44 -0
  616. data/lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb +7 -1
  617. data/lib/fog/openstack/requests/identity/list_users.rb +10 -1
  618. data/lib/fog/openstack/requests/identity/update_tenant.rb +1 -3
  619. data/lib/fog/openstack/requests/image/create_image.rb +3 -1
  620. data/lib/fog/openstack/requests/network/associate_floating_ip.rb +49 -0
  621. data/lib/fog/openstack/requests/network/create_floating_ip.rb +50 -0
  622. data/lib/fog/openstack/requests/network/delete_floating_ip.rb +30 -0
  623. data/lib/fog/openstack/requests/network/disassociate_floating_ip.rb +49 -0
  624. data/lib/fog/openstack/requests/network/get_floating_ip.rb +42 -0
  625. data/lib/fog/openstack/requests/network/list_floating_ips.rb +27 -0
  626. data/lib/fog/openstack/volume.rb +4 -2
  627. data/lib/fog/ovirt/models/compute/cluster.rb +1 -1
  628. data/lib/fog/ovirt/models/compute/clusters.rb +2 -2
  629. data/lib/fog/ovirt/models/compute/interfaces.rb +3 -3
  630. data/lib/fog/ovirt/models/compute/server.rb +15 -15
  631. data/lib/fog/ovirt/models/compute/servers.rb +2 -2
  632. data/lib/fog/ovirt/models/compute/template.rb +5 -5
  633. data/lib/fog/ovirt/models/compute/templates.rb +2 -2
  634. data/lib/fog/ovirt/models/compute/volumes.rb +3 -3
  635. data/lib/fog/rackspace.rb +22 -11
  636. data/lib/fog/rackspace/block_storage.rb +19 -0
  637. data/lib/fog/rackspace/compute_v2.rb +29 -0
  638. data/lib/fog/rackspace/docs/cloud_servers.md +65 -0
  639. data/lib/fog/rackspace/docs/getting_started.md +76 -0
  640. data/lib/fog/rackspace/load_balancers.rb +2 -0
  641. data/lib/fog/rackspace/mock_data.rb +144 -0
  642. data/lib/fog/rackspace/models/block_storage/snapshot.rb +3 -2
  643. data/lib/fog/rackspace/models/block_storage/snapshots.rb +2 -2
  644. data/lib/fog/rackspace/models/block_storage/volume.rb +9 -3
  645. data/lib/fog/rackspace/models/block_storage/volume_types.rb +3 -3
  646. data/lib/fog/rackspace/models/block_storage/volumes.rb +2 -2
  647. data/lib/fog/rackspace/models/compute/flavors.rb +2 -2
  648. data/lib/fog/rackspace/models/compute/image.rb +3 -3
  649. data/lib/fog/rackspace/models/compute/images.rb +2 -2
  650. data/lib/fog/rackspace/models/compute/server.rb +7 -7
  651. data/lib/fog/rackspace/models/compute/servers.rb +2 -2
  652. data/lib/fog/rackspace/models/compute_v2/attachment.rb +13 -9
  653. data/lib/fog/rackspace/models/compute_v2/attachments.rb +2 -2
  654. data/lib/fog/rackspace/models/compute_v2/flavors.rb +2 -2
  655. data/lib/fog/rackspace/models/compute_v2/image.rb +36 -1
  656. data/lib/fog/rackspace/models/compute_v2/images.rb +2 -2
  657. data/lib/fog/rackspace/models/compute_v2/meta_parent.rb +33 -0
  658. data/lib/fog/rackspace/models/compute_v2/metadata.rb +77 -0
  659. data/lib/fog/rackspace/models/compute_v2/metadatum.rb +29 -0
  660. data/lib/fog/rackspace/models/compute_v2/server.rb +75 -21
  661. data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -2
  662. data/lib/fog/rackspace/models/databases/database.rb +2 -2
  663. data/lib/fog/rackspace/models/databases/databases.rb +1 -1
  664. data/lib/fog/rackspace/models/databases/flavors.rb +2 -2
  665. data/lib/fog/rackspace/models/databases/instance.rb +10 -10
  666. data/lib/fog/rackspace/models/databases/instances.rb +2 -2
  667. data/lib/fog/rackspace/models/databases/user.rb +2 -2
  668. data/lib/fog/rackspace/models/databases/users.rb +1 -1
  669. data/lib/fog/rackspace/models/dns/callback.rb +1 -1
  670. data/lib/fog/rackspace/models/dns/record.rb +13 -8
  671. data/lib/fog/rackspace/models/dns/records.rb +2 -2
  672. data/lib/fog/rackspace/models/dns/zone.rb +5 -5
  673. data/lib/fog/rackspace/models/dns/zones.rb +2 -2
  674. data/lib/fog/rackspace/models/identity/credentials.rb +1 -1
  675. data/lib/fog/rackspace/models/identity/roles.rb +1 -1
  676. data/lib/fog/rackspace/models/identity/tenants.rb +1 -1
  677. data/lib/fog/rackspace/models/identity/user.rb +6 -6
  678. data/lib/fog/rackspace/models/identity/users.rb +3 -3
  679. data/lib/fog/rackspace/models/load_balancers/access_rule.rb +4 -4
  680. data/lib/fog/rackspace/models/load_balancers/access_rules.rb +1 -1
  681. data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +45 -27
  682. data/lib/fog/rackspace/models/load_balancers/load_balancers.rb +2 -2
  683. data/lib/fog/rackspace/models/load_balancers/node.rb +4 -4
  684. data/lib/fog/rackspace/models/load_balancers/nodes.rb +2 -2
  685. data/lib/fog/rackspace/models/load_balancers/virtual_ip.rb +3 -3
  686. data/lib/fog/rackspace/models/load_balancers/virtual_ips.rb +1 -1
  687. data/lib/fog/rackspace/models/storage/directories.rb +2 -2
  688. data/lib/fog/rackspace/models/storage/directory.rb +12 -12
  689. data/lib/fog/rackspace/models/storage/file.rb +6 -6
  690. data/lib/fog/rackspace/models/storage/files.rb +2 -2
  691. data/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +28 -0
  692. data/lib/fog/rackspace/requests/block_storage/create_volume.rb +37 -0
  693. data/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +7 -0
  694. data/lib/fog/rackspace/requests/block_storage/delete_volume.rb +17 -0
  695. data/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +11 -0
  696. data/lib/fog/rackspace/requests/block_storage/get_volume.rb +17 -0
  697. data/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +13 -0
  698. data/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +8 -0
  699. data/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +7 -0
  700. data/lib/fog/rackspace/requests/block_storage/list_volumes.rb +7 -0
  701. data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +41 -2
  702. data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +6 -0
  703. data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +8 -0
  704. data/lib/fog/rackspace/requests/compute_v2/create_image.rb +89 -0
  705. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +102 -0
  706. data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +15 -0
  707. data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +31 -0
  708. data/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +26 -0
  709. data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +12 -0
  710. data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +8 -0
  711. data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +11 -0
  712. data/lib/fog/rackspace/requests/compute_v2/get_image.rb +11 -0
  713. data/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +26 -0
  714. data/lib/fog/rackspace/requests/compute_v2/get_server.rb +13 -0
  715. data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +34 -0
  716. data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +36 -0
  717. data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +7 -0
  718. data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +7 -0
  719. data/lib/fog/rackspace/requests/compute_v2/list_images.rb +7 -0
  720. data/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +26 -0
  721. data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +7 -0
  722. data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +14 -0
  723. data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +13 -4
  724. data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +8 -0
  725. data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +8 -0
  726. data/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +28 -0
  727. data/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +27 -0
  728. data/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +27 -0
  729. data/lib/fog/rackspace/requests/compute_v2/update_server.rb +17 -7
  730. data/lib/fog/rackspace/requests/dns/add_records.rb +5 -1
  731. data/lib/fog/rackspace/requests/load_balancers/get_content_caching.rb +15 -0
  732. data/lib/fog/rackspace/requests/load_balancers/set_content_caching.rb +21 -0
  733. data/lib/fog/rackspace/requests/load_balancers/set_ssl_termination.rb +3 -3
  734. data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +1 -1
  735. data/lib/fog/serverlove/models/compute/image.rb +11 -11
  736. data/lib/fog/serverlove/models/compute/images.rb +2 -2
  737. data/lib/fog/serverlove/models/compute/server.rb +10 -10
  738. data/lib/fog/serverlove/models/compute/servers.rb +2 -2
  739. data/lib/fog/storm_on_demand/models/compute/balancer.rb +7 -7
  740. data/lib/fog/storm_on_demand/models/compute/balancers.rb +1 -1
  741. data/lib/fog/storm_on_demand/models/compute/configs.rb +1 -1
  742. data/lib/fog/storm_on_demand/models/compute/images.rb +1 -1
  743. data/lib/fog/storm_on_demand/models/compute/private_ips.rb +2 -2
  744. data/lib/fog/storm_on_demand/models/compute/server.rb +5 -5
  745. data/lib/fog/storm_on_demand/models/compute/servers.rb +2 -2
  746. data/lib/fog/storm_on_demand/models/compute/stats.rb +1 -1
  747. data/lib/fog/storm_on_demand/models/compute/templates.rb +1 -1
  748. data/lib/fog/terremark/models/shared/address.rb +1 -1
  749. data/lib/fog/terremark/models/shared/addresses.rb +5 -5
  750. data/lib/fog/terremark/models/shared/images.rb +5 -5
  751. data/lib/fog/terremark/models/shared/internetservice.rb +6 -6
  752. data/lib/fog/terremark/models/shared/internetservices.rb +5 -5
  753. data/lib/fog/terremark/models/shared/network.rb +1 -1
  754. data/lib/fog/terremark/models/shared/networks.rb +6 -6
  755. data/lib/fog/terremark/models/shared/nodeservice.rb +3 -3
  756. data/lib/fog/terremark/models/shared/nodeservices.rb +4 -4
  757. data/lib/fog/terremark/models/shared/server.rb +17 -17
  758. data/lib/fog/terremark/models/shared/servers.rb +6 -6
  759. data/lib/fog/terremark/models/shared/task.rb +4 -4
  760. data/lib/fog/terremark/models/shared/tasks.rb +5 -5
  761. data/lib/fog/terremark/models/shared/vdc.rb +4 -4
  762. data/lib/fog/terremark/models/shared/vdcs.rb +5 -5
  763. data/lib/fog/terremark/parser.rb +1 -1
  764. data/lib/fog/terremark/shared.rb +1 -1
  765. data/lib/fog/vcloud/compute.rb +4 -4
  766. data/lib/fog/vcloud/models/compute/catalog.rb +1 -1
  767. data/lib/fog/vcloud/models/compute/catalog_item.rb +1 -1
  768. data/lib/fog/vcloud/models/compute/catalog_items.rb +4 -4
  769. data/lib/fog/vcloud/models/compute/catalogs.rb +3 -3
  770. data/lib/fog/vcloud/models/compute/ip.rb +1 -1
  771. data/lib/fog/vcloud/models/compute/ips.rb +3 -3
  772. data/lib/fog/vcloud/models/compute/network.rb +1 -1
  773. data/lib/fog/vcloud/models/compute/networks.rb +6 -6
  774. data/lib/fog/vcloud/models/compute/organization.rb +4 -4
  775. data/lib/fog/vcloud/models/compute/organizations.rb +4 -4
  776. data/lib/fog/vcloud/models/compute/server.rb +13 -13
  777. data/lib/fog/vcloud/models/compute/servers.rb +4 -4
  778. data/lib/fog/vcloud/models/compute/tasks.rb +3 -3
  779. data/lib/fog/vcloud/models/compute/vapp.rb +2 -2
  780. data/lib/fog/vcloud/models/compute/vapps.rb +2 -2
  781. data/lib/fog/vcloud/models/compute/vdc.rb +2 -2
  782. data/lib/fog/vcloud/models/compute/vdcs.rb +3 -3
  783. data/lib/fog/version.rb +1 -3
  784. data/lib/fog/virtual_box/compute.rb +11 -5
  785. data/lib/fog/virtual_box/models/compute/medium.rb +2 -2
  786. data/lib/fog/virtual_box/models/compute/mediums.rb +4 -4
  787. data/lib/fog/virtual_box/models/compute/nat_engine.rb +2 -2
  788. data/lib/fog/virtual_box/models/compute/network_adapter.rb +1 -1
  789. data/lib/fog/virtual_box/models/compute/network_adapters.rb +1 -1
  790. data/lib/fog/virtual_box/models/compute/server.rb +5 -5
  791. data/lib/fog/virtual_box/models/compute/servers.rb +2 -2
  792. data/lib/fog/vmfusion/compute.rb +6 -1
  793. data/lib/fog/vmfusion/models/compute/server.rb +1 -1
  794. data/lib/fog/voxel/models/compute/images.rb +2 -2
  795. data/lib/fog/voxel/models/compute/server.rb +6 -6
  796. data/lib/fog/voxel/models/compute/servers.rb +2 -2
  797. data/lib/fog/vsphere/compute.rb +4 -1
  798. data/lib/fog/vsphere/models/compute/cluster.rb +2 -2
  799. data/lib/fog/vsphere/models/compute/clusters.rb +2 -2
  800. data/lib/fog/vsphere/models/compute/datacenter.rb +8 -4
  801. data/lib/fog/vsphere/models/compute/datacenters.rb +3 -3
  802. data/lib/fog/vsphere/models/compute/datastores.rb +2 -2
  803. data/lib/fog/vsphere/models/compute/folder.rb +1 -1
  804. data/lib/fog/vsphere/models/compute/folders.rb +2 -2
  805. data/lib/fog/vsphere/models/compute/interfaces.rb +3 -3
  806. data/lib/fog/vsphere/models/compute/networks.rb +2 -2
  807. data/lib/fog/vsphere/models/compute/resource_pools.rb +3 -3
  808. data/lib/fog/vsphere/models/compute/server.rb +37 -26
  809. data/lib/fog/vsphere/models/compute/servers.rb +2 -2
  810. data/lib/fog/vsphere/models/compute/templates.rb +2 -2
  811. data/lib/fog/vsphere/models/compute/volumes.rb +3 -3
  812. data/lib/fog/vsphere/requests/compute/create_folder.rb +22 -0
  813. data/lib/fog/vsphere/requests/compute/create_vm.rb +2 -2
  814. data/lib/fog/vsphere/requests/compute/get_folder.rb +1 -1
  815. data/lib/fog/vsphere/requests/compute/get_network.rb +6 -1
  816. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +1 -1
  817. data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +9 -3
  818. data/lib/fog/vsphere/requests/compute/vm_clone.rb +148 -64
  819. data/lib/fog/xenserver.rb +26 -2
  820. data/lib/fog/xenserver/CHANGELOG.md +71 -0
  821. data/lib/fog/xenserver/compute.rb +9 -0
  822. data/lib/fog/xenserver/examples/README.md +11 -0
  823. data/lib/fog/xenserver/examples/chage_default_storage_repository.md +99 -0
  824. data/lib/fog/xenserver/examples/creating_servers.md +168 -0
  825. data/lib/fog/xenserver/examples/getting_started.md +163 -0
  826. data/lib/fog/xenserver/examples/storage_repositories.md +94 -0
  827. data/lib/fog/xenserver/models/compute/host.rb +87 -7
  828. data/lib/fog/xenserver/models/compute/host_cpu.rb +37 -0
  829. data/lib/fog/xenserver/models/compute/host_metrics.rb +29 -0
  830. data/lib/fog/xenserver/models/compute/hosts.rb +8 -8
  831. data/lib/fog/xenserver/models/compute/network.rb +11 -11
  832. data/lib/fog/xenserver/models/compute/networks.rb +3 -3
  833. data/lib/fog/xenserver/models/compute/pbd.rb +11 -6
  834. data/lib/fog/xenserver/models/compute/pbds.rb +3 -3
  835. data/lib/fog/xenserver/models/compute/pif.rb +9 -9
  836. data/lib/fog/xenserver/models/compute/pifs.rb +3 -3
  837. data/lib/fog/xenserver/models/compute/pool.rb +30 -8
  838. data/lib/fog/xenserver/models/compute/pools.rb +3 -3
  839. data/lib/fog/xenserver/models/compute/server.rb +29 -29
  840. data/lib/fog/xenserver/models/compute/servers.rb +8 -8
  841. data/lib/fog/xenserver/models/compute/storage_repositories.rb +2 -2
  842. data/lib/fog/xenserver/models/compute/storage_repository.rb +52 -9
  843. data/lib/fog/xenserver/models/compute/vbd.rb +16 -16
  844. data/lib/fog/xenserver/models/compute/vbds.rb +3 -3
  845. data/lib/fog/xenserver/models/compute/vdi.rb +17 -17
  846. data/lib/fog/xenserver/models/compute/vdis.rb +3 -3
  847. data/lib/fog/xenserver/models/compute/vif.rb +10 -10
  848. data/lib/fog/xenserver/models/compute/vifs.rb +3 -3
  849. data/lib/fog/xenserver/requests/compute/create_sr.rb +72 -0
  850. data/lib/fog/xenserver/requests/compute/destroy_sr.rb +30 -0
  851. data/lib/fog/xenserver/requests/compute/disable_host.rb +29 -0
  852. data/lib/fog/xenserver/requests/compute/enable_host.rb +28 -0
  853. data/lib/fog/xenserver/requests/compute/reboot_host.rb +23 -0
  854. data/lib/fog/xenserver/requests/compute/shutdown_host.rb +23 -0
  855. data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +25 -0
  856. data/lib/fog/zerigo/models/dns/record.rb +4 -4
  857. data/lib/fog/zerigo/models/dns/records.rb +2 -2
  858. data/lib/fog/zerigo/models/dns/zone.rb +6 -6
  859. data/lib/fog/zerigo/models/dns/zones.rb +2 -2
  860. data/lib/tasks/changelog_task.rb +1 -0
  861. data/lib/tasks/test_task.rb +1 -1
  862. data/tests/aws/models/cloud_watch/metrics_tests.rb +16 -1
  863. data/tests/aws/requests/auto_scaling/model_tests.rb +1 -3
  864. data/tests/aws/requests/compute/snapshot_tests.rb +19 -0
  865. data/tests/aws/requests/compute/spot_instance_tests.rb +4 -2
  866. data/tests/aws/requests/elasticache/describe_reserved_cache_nodes.rb +17 -0
  867. data/tests/aws/requests/elasticache/helper.rb +17 -0
  868. data/tests/aws/requests/glacier/vault_tests.rb +1 -1
  869. data/tests/aws/requests/storage/bucket_tests.rb +37 -3
  870. data/tests/aws/requests/storage/cors_utils_tests.rb +108 -0
  871. data/tests/brightbox/models/compute/account_tests.rb +2 -0
  872. data/tests/brightbox/models/compute/server_tests.rb +21 -0
  873. data/tests/brightbox/requests/compute/firewall_policy_tests.rb +33 -0
  874. data/tests/brightbox/requests/compute/firewall_rule_tests.rb +43 -0
  875. data/tests/brightbox/requests/compute/helper.rb +33 -30
  876. data/tests/compute/helper.rb +28 -6
  877. data/tests/compute/models/flavors_tests.rb +4 -2
  878. data/tests/compute/models/server_tests.rb +5 -1
  879. data/tests/compute/models/servers_tests.rb +5 -2
  880. data/tests/core/parser_tests.rb +32 -6
  881. data/tests/core/wait_for_tests.rb +13 -0
  882. data/tests/ecloud/compute/models/admin_organization_tests.rb +16 -0
  883. data/tests/ecloud/compute/models/compute_pool_tests.rb +17 -0
  884. data/tests/ecloud/compute/models/detached_disk_tests.rb +26 -0
  885. data/tests/ecloud/compute/models/environment_tests.rb +23 -0
  886. data/tests/ecloud/compute/models/internet_service_tests.rb +28 -0
  887. data/tests/ecloud/compute/models/ip_address_tests.rb +19 -0
  888. data/tests/ecloud/compute/models/network_tests.rb +17 -0
  889. data/tests/ecloud/compute/models/operating_system_families_tests.rb +13 -0
  890. data/tests/ecloud/compute/models/operating_system_tests.rb +22 -0
  891. data/tests/ecloud/compute/models/organization_tests.rb +21 -0
  892. data/tests/ecloud/compute/models/public_ip_tests.rb +19 -0
  893. data/tests/ecloud/compute/models/server_tests.rb +151 -0
  894. data/tests/ecloud/compute/models/ssh_key_tests.rb +19 -0
  895. data/tests/ecloud/compute/models/template_tests.rb +20 -0
  896. data/tests/openstack/authenticate_tests.rb +142 -0
  897. data/tests/openstack/models/compute/server_tests.rb +45 -0
  898. data/tests/openstack/models/identity/ec2_credential_tests.rb +41 -0
  899. data/tests/openstack/models/identity/ec2_credentials_tests.rb +58 -0
  900. data/tests/openstack/models/identity/tenant_tests.rb +6 -0
  901. data/tests/openstack/models/network/floating_ip_tests.rb +30 -0
  902. data/tests/openstack/models/network/floating_ips_tests.rb +27 -0
  903. data/tests/openstack/requests/compute/address_tests.rb +1 -3
  904. data/tests/openstack/requests/compute/helper.rb +20 -0
  905. data/tests/openstack/requests/compute/quota_tests.rb +2 -0
  906. data/tests/openstack/requests/compute/security_group_tests.rb +10 -2
  907. data/tests/openstack/requests/compute/server_tests.rb +29 -14
  908. data/tests/openstack/requests/identity/ec2_credentials_tests.rb +41 -0
  909. data/tests/openstack/requests/identity/role_tests.rb +0 -1
  910. data/tests/openstack/requests/identity/user_tests.rb +8 -0
  911. data/tests/rackspace/helper.rb +17 -1
  912. data/tests/rackspace/models/block_storage/snapshot_tests.rb +18 -13
  913. data/tests/rackspace/models/block_storage/snapshots_tests.rb +1 -3
  914. data/tests/rackspace/models/block_storage/volume_tests.rb +14 -10
  915. data/tests/rackspace/models/block_storage/volume_types_tests.rb +1 -3
  916. data/tests/rackspace/models/block_storage/volumes_tests.rb +1 -3
  917. data/tests/rackspace/models/compute_v2/flavors_tests.rb +1 -4
  918. data/tests/rackspace/models/compute_v2/image_tests.rb +26 -0
  919. data/tests/rackspace/models/compute_v2/images_tests.rb +1 -3
  920. data/tests/rackspace/models/compute_v2/metadata_tests.rb +42 -0
  921. data/tests/rackspace/models/compute_v2/server_tests.rb +89 -15
  922. data/tests/rackspace/models/compute_v2/servers_tests.rb +12 -8
  923. data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +17 -0
  924. data/tests/rackspace/models/storage/file_tests.rb +6 -0
  925. data/tests/rackspace/requests/block_storage/snapshot_tests.rb +15 -15
  926. data/tests/rackspace/requests/block_storage/volume_tests.rb +9 -11
  927. data/tests/rackspace/requests/block_storage/volume_type_tests.rb +8 -11
  928. data/tests/rackspace/requests/compute/address_tests.rb +11 -9
  929. data/tests/rackspace/requests/compute/flavor_tests.rb +6 -5
  930. data/tests/rackspace/requests/compute/image_tests.rb +12 -10
  931. data/tests/rackspace/requests/compute/resize_tests.rb +8 -6
  932. data/tests/rackspace/requests/compute/server_tests.rb +19 -17
  933. data/tests/rackspace/requests/compute_v2/address_tests.rb +43 -0
  934. data/tests/rackspace/requests/compute_v2/attachment_tests.rb +17 -17
  935. data/tests/rackspace/requests/compute_v2/flavor_tests.rb +7 -9
  936. data/tests/rackspace/requests/compute_v2/image_tests.rb +42 -16
  937. data/tests/rackspace/requests/compute_v2/metadata_tests.rb +104 -0
  938. data/tests/rackspace/requests/compute_v2/server_tests.rb +44 -60
  939. data/tests/rackspace/requests/dns/records_tests.rb +2 -2
  940. data/tests/rackspace/requests/load_balancers/content_caching_tests.rb +25 -0
  941. data/tests/rackspace/requests/load_balancers/helper.rb +5 -1
  942. data/tests/vsphere/requests/compute/vm_clone_tests.rb +6 -4
  943. data/tests/xenserver/models/compute/host_cpu_tests.rb +58 -0
  944. data/tests/xenserver/models/compute/host_metrics_tests.rb +48 -0
  945. data/tests/xenserver/models/compute/host_tests.rb +33 -2
  946. data/tests/xenserver/models/compute/pbd_tests.rb +33 -1
  947. data/tests/xenserver/models/compute/pool_tests.rb +7 -1
  948. data/tests/xenserver/models/compute/storage_repository_tests.rb +52 -1
  949. data/tests/xenserver/requests/compute/create_sr_tests.rb +54 -0
  950. data/tests/xenserver/requests/compute/destroy_sr_tests.rb +46 -0
  951. data/tests/xenserver/requests/compute/disable_host_tests.rb +16 -0
  952. data/tests/xenserver/requests/compute/enable_host_tests.rb +16 -0
  953. data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +48 -0
  954. metadata +153 -42
  955. data/docs/_config.yml +0 -39
  956. data/docs/_layouts/default.html +0 -111
  957. data/docs/about/contributing.markdown +0 -229
  958. data/docs/about/getting_started.markdown +0 -108
  959. data/docs/about/press.markdown +0 -52
  960. data/docs/about/structure.markdown +0 -78
  961. data/docs/about/users.markdown +0 -34
  962. data/docs/cdn/index.markdown +0 -148
  963. data/docs/compute/index.markdown +0 -122
  964. data/docs/dns/index.markdown +0 -79
  965. data/docs/index.markdown +0 -93
  966. data/docs/public/crossdomain.xml +0 -25
  967. data/docs/public/css/fog.css +0 -142
  968. data/docs/public/css/handheld.css +0 -8
  969. data/docs/public/css/style.css +0 -129
  970. data/docs/public/images/.gitignore +0 -3
  971. data/docs/public/js/libs/dd_belatedpng.js +0 -289
  972. data/docs/public/js/libs/dd_belatedpng.min.js +0 -13
  973. data/docs/public/js/libs/jquery-1.4.2.js +0 -6240
  974. data/docs/public/js/libs/jquery-1.4.2.min.js +0 -154
  975. data/docs/public/js/libs/modernizr-1.6.js +0 -892
  976. data/docs/public/js/libs/modernizr-1.6.min.js +0 -30
  977. data/docs/public/js/mylibs/.gitignore +0 -3
  978. data/docs/public/js/plugins.js +0 -34
  979. data/docs/public/js/profiling/config.js +0 -59
  980. data/docs/public/js/profiling/yahoo-profiling.css +0 -7
  981. data/docs/public/js/profiling/yahoo-profiling.js +0 -1028
  982. data/docs/public/js/profiling/yahoo-profiling.min.js +0 -39
  983. data/docs/public/js/script.js +0 -26
  984. data/docs/public/robots.txt +0 -5
  985. data/docs/storage/index.markdown +0 -204
  986. data/lib/fog/ecloud/requests/compute/get_admin_organizations.rb +0 -11
  987. data/lib/fog/ecloud/requests/compute/get_ip_addresses.rb +0 -11
  988. data/lib/fog/ecloud/requests/compute/get_operating_system_family.rb +0 -11
  989. data/lib/fog/ecloud/requests/compute/virtual_machine_add_ip.rb +0 -40
  990. data/lib/tasks/documentation_task.rb +0 -155
@@ -11,7 +11,7 @@ module Fog
11
11
  unless object_name
12
12
  raise ArgumentError.new('object_name is required')
13
13
  end
14
- host, path = if bucket_name =~ /^(?:[a-z]|\d(?!\d{0,2}(?:\.\d{1,3}){3}$))(?:[a-z0-9]|\-(?![\.])){1,61}[a-z0-9]$/
14
+ host, path = if bucket_name =~ Fog::AWS::COMPLIANT_BUCKET_NAMES
15
15
  ["#{bucket_name}.#{@host}", object_name]
16
16
  else
17
17
  [@host, "#{bucket_name}/#{object_name}"]
@@ -32,17 +32,14 @@ module Fog
32
32
 
33
33
  # Get an expiring object url from S3
34
34
  #
35
- # ==== Parameters
36
- # * bucket_name<~String> - Name of bucket containing object
37
- # * object_name<~String> - Name of object to get expiring url for
38
- # * expires<~Time> - An expiry time for this url
35
+ # @param bucket_name [String] Name of bucket containing object
36
+ # @param object_name [String] Name of object to get expiring url for
37
+ # @param expires [Time] An expiry time for this url
39
38
  #
40
- # ==== Returns
41
- # * response<~Excon::Response>:
42
- # * body<~String> - url for object
39
+ # @return [Excon::Response] response:
40
+ # * body [String] - url for object
43
41
  #
44
- # ==== See Also
45
- # http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_QSAuth.html
42
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_QSAuth.html
46
43
 
47
44
  include GetObjectUrl
48
45
 
@@ -7,16 +7,13 @@ module Fog
7
7
 
8
8
  # Get configured payer for an S3 bucket
9
9
  #
10
- # ==== Parameters
11
- # * bucket_name<~String> - name of bucket to get payer for
10
+ # @param bucket_name [String] name of bucket to get payer for
12
11
  #
13
- # ==== Returns
14
- # * response<~Excon::Response>:
15
- # * body<~Hash>:
16
- # * 'Payer'<~String> - Specifies who pays for download and requests
12
+ # @return [Excon::Response] response:
13
+ # * body [Hash]:
14
+ # * Payer [String] - Specifies who pays for download and requests
17
15
  #
18
- # ==== See Also
19
- # http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentGET.html
16
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentGET.html
20
17
 
21
18
  def get_request_payment(bucket_name)
22
19
  request({
@@ -7,18 +7,16 @@ module Fog
7
7
 
8
8
  # List information about S3 buckets for authorized user
9
9
  #
10
- # ==== Returns
11
- # * response<~Excon::Response>:
12
- # * body<~Hash>:
13
- # * 'Buckets'<~Hash>:
14
- # * 'Name'<~String> - Name of bucket
15
- # * 'CreationTime'<~Time> - Timestamp of bucket creation
16
- # * 'Owner'<~Hash>:
17
- # * 'DisplayName'<~String> - Display name of bucket owner
18
- # * 'ID'<~String> - Id of bucket owner
10
+ # @return [Excon::Response] response:
11
+ # * body [Hash]:
12
+ # * Buckets [Hash]:
13
+ # * Name [String] - Name of bucket
14
+ # * CreationTime [Time] - Timestamp of bucket creation
15
+ # * Owner [Hash]:
16
+ # * DisplayName [String] - Display name of bucket owner
17
+ # * ID [String] - Id of bucket owner
19
18
  #
20
- # ==== See Also
21
- # http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTServiceGET.html
19
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTServiceGET.html
22
20
  #
23
21
  def get_service
24
22
  request({
@@ -5,29 +5,26 @@ module Fog
5
5
 
6
6
  # Get headers for an object from S3
7
7
  #
8
- # ==== Parameters
9
- # * bucket_name<~String> - Name of bucket to read from
10
- # * object_name<~String> - Name of object to read
11
- # * options<~Hash>:
12
- # * 'If-Match'<~String> - Returns object only if its etag matches this value, otherwise returns 412 (Precondition Failed).
13
- # * 'If-Modified-Since'<~Time> - Returns object only if it has been modified since this time, otherwise returns 304 (Not Modified).
14
- # * 'If-None-Match'<~String> - Returns object only if its etag differs from this value, otherwise returns 304 (Not Modified)
15
- # * 'If-Unmodified-Since'<~Time> - Returns object only if it has not been modified since this time, otherwise returns 412 (Precodition Failed).
16
- # * 'Range'<~String> - Range of object to download
17
- # * 'versionId'<~String> - specify a particular version to retrieve
8
+ # @param bucket_name [String] Name of bucket to read from
9
+ # @param object_name [String] Name of object to read
10
+ # @param options [Hash]:
11
+ # @option options [String] If-Match Returns object only if its etag matches this value, otherwise returns 412 (Precondition Failed).
12
+ # @option options [Time] If-Modified-Since Returns object only if it has been modified since this time, otherwise returns 304 (Not Modified).
13
+ # @option options [String] If-None-Match Returns object only if its etag differs from this value, otherwise returns 304 (Not Modified)
14
+ # @option options [Time] If-Unmodified-Since Returns object only if it has not been modified since this time, otherwise returns 412 (Precodition Failed).
15
+ # @option options [String] Range Range of object to download
16
+ # @option options [String] versionId specify a particular version to retrieve
17
+ #
18
+ # @return [Excon::Response] response:
19
+ # * body [String] Contents of object
20
+ # * headers [Hash]:
21
+ # * Content-Length [String] - Size of object contents
22
+ # * Content-Type [String] - MIME type of object
23
+ # * ETag [String] - Etag of object
24
+ # * Last-Modified - [String] Last modified timestamp for object
25
+ #
26
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html
18
27
  #
19
- # ==== Returns
20
- # * response<~Excon::Response>:
21
- # * body<~String> - Contents of object
22
- # * headers<~Hash>:
23
- # * 'Content-Length'<~String> - Size of object contents
24
- # * 'Content-Type'<~String> - MIME type of object
25
- # * 'ETag'<~String> - Etag of object
26
- # * 'Last-Modified'<~String> - Last modified timestamp for object
27
- #
28
- # ==== See Also
29
- # http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html
30
-
31
28
  def head_object(bucket_name, object_name, options={})
32
29
  unless bucket_name
33
30
  raise ArgumentError.new('bucket_name is required')
@@ -7,27 +7,24 @@ module Fog
7
7
 
8
8
  # Initiate a multipart upload to an S3 bucket
9
9
  #
10
- # ==== Parameters
11
- # * bucket_name<~String> - Name of bucket to create object in
12
- # * object_name<~String> - Name of object to create
13
- # * options<~Hash>:
14
- # * 'Cache-Control'<~String> - Caching behaviour
15
- # * 'Content-Disposition'<~String> - Presentational information for the object
16
- # * 'Content-Encoding'<~String> - Encoding of object data
17
- # * 'Content-MD5'<~String> - Base64 encoded 128-bit MD5 digest of message (defaults to Base64 encoded MD5 of object.read)
18
- # * 'Content-Type'<~String> - Standard MIME type describing contents (defaults to MIME::Types.of.first)
19
- # * 'x-amz-acl'<~String> - Permissions, must be in ['private', 'public-read', 'public-read-write', 'authenticated-read']
20
- # * "x-amz-meta-#{name}" - Headers to be returned with object, note total size of request without body must be less than 8 KB.
10
+ # @param bucket_name [String] Name of bucket to create object in
11
+ # @param object_name [String] Name of object to create
12
+ # @param options [Hash]:
13
+ # @option options [String] Cache-Control Caching behaviour
14
+ # @option options [String] Content-Disposition Presentational information for the object
15
+ # @option options [String] Content-Encoding Encoding of object data
16
+ # @option options [String] Content-MD5 Base64 encoded 128-bit MD5 digest of message (defaults to Base64 encoded MD5 of object.read)
17
+ # @option options [String] Content-Type Standard MIME type describing contents (defaults to MIME::Types.of.first)
18
+ # @option options [String] x-amz-acl Permissions, must be in ['private', 'public-read', 'public-read-write', 'authenticated-read']
19
+ # @option options [String] x-amz-meta-#{name} Headers to be returned with object, note total size of request without body must be less than 8 KB.
21
20
  #
22
- # ==== Returns
23
- # * response<~Excon::Response>:
24
- # * body<~Hash>:
25
- # * 'Bucket'<~String> - Bucket where upload was initiated
26
- # * 'Key'<~String> - Object key where the upload was initiated
27
- # * 'UploadId'<~String> - Id for initiated multipart upload
21
+ # @return [Excon::Response] response:
22
+ # * body [Hash]:
23
+ # * Bucket [String] - Bucket where upload was initiated
24
+ # * Key [String] - Object key where the upload was initiated
25
+ # * UploadId [String] - Id for initiated multipart upload
28
26
  #
29
- # ==== See Also
30
- # http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html
27
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html
31
28
  #
32
29
  def initiate_multipart_upload(bucket_name, object_name, options = {})
33
30
  request({
@@ -44,4 +41,4 @@ module Fog
44
41
  end # Real
45
42
  end # Storage
46
43
  end # AWS
47
- end # Fog
44
+ end # Fog
@@ -7,40 +7,35 @@ module Fog
7
7
 
8
8
  # List multipart uploads for a bucket
9
9
  #
10
- # ==== Parameters
11
- # * bucket_name<~String> - Name of bucket to list multipart uploads for
12
- # * upload_id<~String> - upload id to list objects for
13
- # * options<~Hash> - config arguments for list. Defaults to {}.
14
- # * 'key-marker'<~String> - limits parts to only those that appear
15
- # lexicographically after this key.
16
- # * 'max-uploads'<~Integer> - limits number of uploads returned
17
- # * 'upload-id-marker'<~String> - limits uploads to only those that appear
18
- # lexicographically after this upload id.
10
+ # @params bucket_name [String] Name of bucket to list multipart uploads for
11
+ # @params upload_id [String] upload id to list objects for
12
+ # @params options [Hash] config arguments for list. Defaults to {}.
13
+ # @option options key-marker[String] limits parts to only those that appear lexicographically after this key.
14
+ # @option options max-uploads [Integer] limits number of uploads returned
15
+ # @option options upload-id-marker [String] limits uploads to only those that appear lexicographically after this upload id.
19
16
  #
20
- # ==== Returns
21
- # * response<~Excon::Response>:
22
- # * body<~Hash>:
23
- # * 'Bucket'<~string> - Bucket where the multipart upload was initiated
24
- # * 'IsTruncated'<~Boolean> - Whether or not the listing is truncated
25
- # * 'KeyMarker'<~String> - first key in list, only upload ids after this lexographically will appear
26
- # * 'MaxUploads'<~Integer> - Maximum results to return
27
- # * 'NextKeyMarker'<~String> - last key in list, for further pagination
28
- # * 'NextUploadIdMarker'<~String> - last key in list, for further pagination
29
- # * 'Upload'<~Hash>:
30
- # * 'Initiated'<~Time> - Time when upload was initiated
31
- # * 'Initiator'<~Hash>:
32
- # * 'DisplayName'<~String> - Display name of upload initiator
33
- # * 'ID'<~String> - Id of upload initiator
34
- # * 'Key'<~String> - Key where multipart upload was initiated
35
- # * 'Owner'<~Hash>:
36
- # * 'DisplayName'<~String> - Display name of upload owner
37
- # * 'ID'<~String> - Id of upload owner
38
- # * 'StorageClass'<~String> - Storage class of object
39
- # * 'UploadId'<~String> - upload id of upload containing part
40
- # * 'UploadIdMarker'<String> - first key in list, only upload ids after this lexographically will appear
17
+ # @return [Excon::Response] response:
18
+ # * body [Hash]:
19
+ # * Bucket [string] Bucket where the multipart upload was initiated
20
+ # * IsTruncated [Boolean] Whether or not the listing is truncated
21
+ # * KeyMarker [String] first key in list, only upload ids after this lexographically will appear
22
+ # * MaxUploads [Integer] Maximum results to return
23
+ # * NextKeyMarker [String] last key in list, for further pagination
24
+ # * NextUploadIdMarker [String] last key in list, for further pagination
25
+ # * Upload [Hash]:
26
+ # * Initiated [Time] Time when upload was initiated
27
+ # * Initiator [Hash]:
28
+ # * DisplayName [String] Display name of upload initiator
29
+ # * ID [String] Id of upload initiator
30
+ # * Key [String] Key where multipart upload was initiated
31
+ # * Owner [Hash]:
32
+ # * DisplayName [String] Display name of upload owner
33
+ # * ID [String] Id of upload owner
34
+ # * StorageClass [String] Storage class of object
35
+ # * UploadId [String] upload id of upload containing part
36
+ # * UploadIdMarker [String] first key in list, only upload ids after this lexographically will appear
41
37
  #
42
- # ==== See Also
43
- # http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html
38
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html
44
39
  #
45
40
  def list_multipart_uploads(bucket_name, options = {})
46
41
  request({
@@ -7,37 +7,33 @@ module Fog
7
7
 
8
8
  # List parts for a multipart upload
9
9
  #
10
- # ==== Parameters
11
- # * bucket_name<~String> - Name of bucket to list parts for
12
- # * object_name<~String> - Name of object to list parts for
13
- # * upload_id<~String> - upload id to list objects for
14
- # * options<~Hash> - config arguments for list. Defaults to {}.
15
- # * 'max-parts'<~Integer> - limits number of parts returned
16
- # * 'part-number-marker'<~String> - limits parts to only those that appear
17
- # lexicographically after this part number.
10
+ # @param bucket_name [String] Name of bucket to list parts for
11
+ # @param object_name [String] Name of object to list parts for
12
+ # @param upload_id [String] upload id to list objects for
13
+ # @param options [Hash] config arguments for list. Defaults to {}.
14
+ # @option options max-parts [Integer] limits number of parts returned
15
+ # @option options part-number-marker [String] limits parts to only those that appear lexicographically after this part number.
18
16
  #
19
- # ==== Returns
20
- # * response<~Excon::Response>:
21
- # * body<~Hash>:
22
- # * 'Bucket'<~string> - Bucket where the multipart upload was initiated
23
- # * 'Initiator'<~Hash>:
24
- # * 'DisplayName'<~String> - Display name of upload initiator
25
- # * 'ID'<~String> - Id of upload initiator
26
- # * 'IsTruncated'<~Boolean> - Whether or not the listing is truncated
27
- # * 'Key'<~String> - Key where multipart upload was initiated
28
- # * 'MaxParts'<~String> - maximum number of replies alllowed in response
29
- # * 'NextPartNumberMarker'<~String> - last item in list, for further pagination
30
- # * 'Part'<~Array>:
31
- # * 'ETag'<~String> - ETag of part
32
- # * 'LastModified'<~Timestamp> - Last modified for part
33
- # * 'PartNumber'<~String> - Part number for part
34
- # * 'Size'<~Integer> - Size of part
35
- # * 'PartNumberMarker'<~String> - Part number after which listing begins
36
- # * 'StorageClass'<~String> - Storage class of object
37
- # * 'UploadId'<~String> - upload id of upload containing part
17
+ # @return [Excon::Response] response:
18
+ # * body [Hash]:
19
+ # * Bucket [string] Bucket where the multipart upload was initiated
20
+ # * Initiator [Hash]:
21
+ # * DisplayName [String] Display name of upload initiator
22
+ # * ID [String] Id of upload initiator
23
+ # * IsTruncated [Boolean] Whether or not the listing is truncated
24
+ # * Key [String] Key where multipart upload was initiated
25
+ # * MaxParts [String] maximum number of replies alllowed in response
26
+ # * NextPartNumberMarker [String] last item in list, for further pagination
27
+ # * Part [Array]:
28
+ # * ETag [String] ETag of part
29
+ # * LastModified [Timestamp] Last modified for part
30
+ # * PartNumber [String] Part number for part
31
+ # * Size [Integer] Size of part
32
+ # * PartNumberMarker [String] Part number after which listing begins
33
+ # * StorageClass [String] Storage class of object
34
+ # * UploadId [String] upload id of upload containing part
38
35
  #
39
- # ==== See Also
40
- # http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListParts.html
36
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListParts.html
41
37
  #
42
38
  def list_parts(bucket_name, object_name, upload_id, options = {})
43
39
  options['uploadId'] = upload_id
@@ -7,24 +7,22 @@ module Fog
7
7
  # Form should look like: <form action="http://#{bucket_name}.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
8
8
  # These hidden fields should then appear, followed by a field named 'file' which is either a textarea or file input.
9
9
  #
10
- # ==== Parameters
11
- # * options<~Hash>:
12
- # * acl<~String> - access control list, in ['private', 'public-read', 'public-read-write', 'authenticated-read', 'bucket-owner-read', 'bucket-owner-full-control']
13
- # * Cache-Control - same as REST header
14
- # * Content-Type - same as REST header
15
- # * Content-Disposition - same as REST header
16
- # * Content-Encoding - same as REST header
17
- # * Expires - same as REST header
18
- # * key - key for object, set to '${filename}' to use filename provided by user
19
- # * policy - security policy for upload
20
- # * success_action_redirect - url to redirct to upon success
21
- # * success_action_status - status code to return on success, in [200, 201, 204]
22
- # * x-amz-security-token - devpay security token
23
- # * x-amz-meta-... - meta data tags
10
+ # @param options Hash:
11
+ # @option options acl [String] access control list, in ['private', 'public-read', 'public-read-write', 'authenticated-read', 'bucket-owner-read', 'bucket-owner-full-control']
12
+ # @option options Cache-Control [String] same as REST header
13
+ # @option options Content-Type [String] same as REST header
14
+ # @option options Content-Disposition [String] same as REST header
15
+ # @option options Content-Encoding [String] same as REST header
16
+ # @option options Expires same as REST header
17
+ # @option options key key for object, set to '${filename}' to use filename provided by user
18
+ # @option options policy security policy for upload
19
+ # @option options success_action_redirect url to redirct to upon success
20
+ # @option options success_action_status status code to return on success, in [200, 201, 204]
21
+ # @option options x-amz-security token devpay security token
22
+ # @option options x-amz-meta... meta data tags
24
23
  #
25
- # ==== See Also
26
- # http://docs.amazonwebservices.com/AmazonS3/latest/dev/HTTPPOSTForms.html
27
-
24
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/dev/HTTPPOSTForms.html
25
+ #
28
26
  def post_object_hidden_fields(options = {})
29
27
  if options['policy']
30
28
  options['policy'] = Base64.encode64(Fog::JSON.encode(options['policy'])).gsub("\n", "")
@@ -5,19 +5,16 @@ module Fog
5
5
 
6
6
  # Create an S3 bucket
7
7
  #
8
- # ==== Parameters
9
- # * bucket_name<~String> - name of bucket to create
10
- # * options<~Hash> - config arguments for bucket. Defaults to {}.
11
- # * 'LocationConstraint'<~Symbol> - sets the location for the bucket
12
- # * 'x-amz-acl'<~String> - Permissions, must be in ['private', 'public-read', 'public-read-write', 'authenticated-read']
8
+ # @param bucket_name [String] name of bucket to create
9
+ # @option options [Hash] config arguments for bucket. Defaults to {}.
10
+ # @option options LocationConstraint [Symbol] sets the location for the bucket
11
+ # @option options x-amz-acl [String] Permissions, must be in ['private', 'public-read', 'public-read-write', 'authenticated-read']
13
12
  #
14
- # ==== Returns
15
- # * response<~Excon::Response>:
16
- # * status<~Integer> - 200
13
+ # @return [Excon::Response] response:
14
+ # * status [Integer] 200
17
15
  #
18
- # ==== See Also
19
- # http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html
20
-
16
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html
17
+ #
21
18
  def put_bucket(bucket_name, options = {})
22
19
  if location_constraint = options.delete('LocationConstraint')
23
20
  data =
@@ -6,26 +6,24 @@ module Fog
6
6
  require 'fog/aws/requests/storage/acl_utils'
7
7
 
8
8
  # Change access control list for an S3 bucket
9
- #
10
- # ==== Parameters
11
- # * bucket_name<~String> - name of bucket to modify
12
- # * acl<~Hash>:
13
- # * Owner<~Hash>:
14
- # * ID<~String>: id of owner
15
- # * DisplayName<~String>: display name of owner
16
- # * AccessControlList<~Array>:
17
- # * Grantee<~Hash>:
18
- # * 'DisplayName'<~String> - Display name of grantee
19
- # * 'ID'<~String> - Id of grantee
9
+ #
10
+ # @param bucket_name [String] name of bucket to modify
11
+ # @param acl [Hash]
12
+ # * Owner [Hash]:
13
+ # * ID [String]: id of owner
14
+ # * DisplayName [String]: display name of owner
15
+ # * AccessControlList [Array]:
16
+ # * Grantee [Hash]:
17
+ # * DisplayName [String] Display name of grantee
18
+ # * ID [String] Id of grantee
20
19
  # or
21
- # * 'EmailAddress'<~String> - Email address of grantee
20
+ # * EmailAddress [String] Email address of grantee
22
21
  # or
23
- # * 'URI'<~String> - URI of group to grant access for
24
- # * Permission<~String> - Permission, in [FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP]
25
- # * acl<~String> - Permissions, must be in ['private', 'public-read', 'public-read-write', 'authenticated-read']
22
+ # * URI [String] URI of group to grant access for
23
+ # * Permission [String] Permission, in [FULL_CONTROL, WRITE, WRITE_ACP, READ, READ_ACP]
24
+ # * acl [String] Permissions, must be in ['private', 'public-read', 'public-read-write', 'authenticated-read']
26
25
  #
27
- # ==== See Also
28
- # http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html
26
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html
29
27
 
30
28
  def put_bucket_acl(bucket_name, acl)
31
29
  data = ""
@@ -0,0 +1,49 @@
1
+ module Fog
2
+ module Storage
3
+ class AWS
4
+ class Real
5
+
6
+ require 'fog/aws/requests/storage/cors_utils'
7
+
8
+ # Sets the cors configuration for your bucket. If the configuration exists, Amazon S3 replaces it.
9
+ #
10
+ # @param bucket_name [String] name of bucket to modify
11
+ # @param cors [Hash]
12
+ # * CORSConfiguration [Array]:
13
+ # * ID [String]: A unique identifier for the rule.
14
+ # * AllowedMethod [String]: An HTTP method that you want to allow the origin to execute.
15
+ # * AllowedOrigin [String]: An origin that you want to allow cross-domain requests from.
16
+ # * AllowedHeader [String]: Specifies which headers are allowed in a pre-flight OPTIONS request via the Access-Control-Request-Headers header.
17
+ # * MaxAgeSeconds [String]: The time in seconds that your browser is to cache the preflight response for the specified resource.
18
+ # * ExposeHeader [String]: One or more headers in the response that you want customers to be able to access from their applications.
19
+ #
20
+ # @see http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTcors.html
21
+
22
+ def put_bucket_cors(bucket_name, cors)
23
+ data = Fog::Storage::AWS.hash_to_cors(cors)
24
+
25
+ headers = {}
26
+ headers['Content-MD5'] = Base64.encode64(Digest::MD5.digest(data)).strip
27
+ headers['Content-Type'] = 'application/json'
28
+ headers['Date'] = Fog::Time.now.to_date_header
29
+
30
+ request({
31
+ :body => data,
32
+ :expects => 200,
33
+ :headers => headers,
34
+ :host => "#{bucket_name}.#{@host}",
35
+ :method => 'PUT',
36
+ :query => {'cors' => nil}
37
+ })
38
+ end
39
+ end
40
+
41
+ class Mock
42
+ def put_bucket_cors(bucket_name, cors)
43
+ self.data[:cors][:bucket][bucket_name] = Fog::Storage::AWS.hash_to_cors(cors)
44
+ end
45
+ end
46
+
47
+ end
48
+ end
49
+ end