fog-maestrodev 1.7.0.20121114190951 → 1.8.0.20130109172219

Sign up to get free protection for your applications and to get access to all the features.
Files changed (964) hide show
  1. data/.gitignore +2 -2
  2. data/README.md +48 -37
  3. data/RELEASE.md +39 -0
  4. data/Rakefile +48 -312
  5. data/bin/fog +4 -0
  6. data/changelog.txt +153 -0
  7. data/docs/storage/aws.markdown +21 -0
  8. data/fog.gemspec +3 -3
  9. data/lib/fog.rb +0 -5
  10. data/lib/fog/atmos/models/storage/directories.rb +2 -2
  11. data/lib/fog/atmos/models/storage/directory.rb +11 -11
  12. data/lib/fog/atmos/models/storage/file.rb +8 -8
  13. data/lib/fog/atmos/models/storage/files.rb +3 -3
  14. data/lib/fog/aws.rb +1 -0
  15. data/lib/fog/aws/auto_scaling.rb +1 -1
  16. data/lib/fog/aws/cloud_watch.rb +1 -1
  17. data/lib/fog/aws/compute.rb +4 -2
  18. data/lib/fog/aws/dynamodb.rb +30 -64
  19. data/lib/fog/aws/elb.rb +1 -1
  20. data/lib/fog/aws/glacier.rb +1 -1
  21. data/lib/fog/aws/iam.rb +1 -0
  22. data/lib/fog/aws/models/auto_scaling/activities.rb +2 -2
  23. data/lib/fog/aws/models/auto_scaling/activity.rb +1 -1
  24. data/lib/fog/aws/models/auto_scaling/configuration.rb +2 -2
  25. data/lib/fog/aws/models/auto_scaling/configurations.rb +2 -2
  26. data/lib/fog/aws/models/auto_scaling/group.rb +13 -13
  27. data/lib/fog/aws/models/auto_scaling/groups.rb +2 -2
  28. data/lib/fog/aws/models/auto_scaling/instance.rb +5 -5
  29. data/lib/fog/aws/models/auto_scaling/instances.rb +2 -2
  30. data/lib/fog/aws/models/auto_scaling/policies.rb +2 -2
  31. data/lib/fog/aws/models/auto_scaling/policy.rb +2 -2
  32. data/lib/fog/aws/models/beanstalk/application.rb +7 -7
  33. data/lib/fog/aws/models/beanstalk/applications.rb +2 -2
  34. data/lib/fog/aws/models/beanstalk/environment.rb +10 -10
  35. data/lib/fog/aws/models/beanstalk/environments.rb +2 -2
  36. data/lib/fog/aws/models/beanstalk/events.rb +1 -1
  37. data/lib/fog/aws/models/beanstalk/template.rb +5 -5
  38. data/lib/fog/aws/models/beanstalk/templates.rb +3 -3
  39. data/lib/fog/aws/models/beanstalk/version.rb +6 -6
  40. data/lib/fog/aws/models/beanstalk/versions.rb +2 -2
  41. data/lib/fog/aws/models/cdn/distribution.rb +4 -4
  42. data/lib/fog/aws/models/cdn/distributions.rb +2 -2
  43. data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
  44. data/lib/fog/aws/models/cdn/invalidations.rb +2 -2
  45. data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
  46. data/lib/fog/aws/models/cdn/streaming_distributions.rb +2 -2
  47. data/lib/fog/aws/models/cloud_watch/alarm.rb +2 -2
  48. data/lib/fog/aws/models/cloud_watch/alarm_data.rb +9 -9
  49. data/lib/fog/aws/models/cloud_watch/alarm_datum.rb +3 -3
  50. data/lib/fog/aws/models/cloud_watch/alarm_histories.rb +1 -1
  51. data/lib/fog/aws/models/cloud_watch/alarms.rb +7 -7
  52. data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +2 -2
  53. data/lib/fog/aws/models/cloud_watch/metric_statistics.rb +3 -3
  54. data/lib/fog/aws/models/cloud_watch/metrics.rb +27 -7
  55. data/lib/fog/aws/models/compute/address.rb +9 -9
  56. data/lib/fog/aws/models/compute/addresses.rb +2 -2
  57. data/lib/fog/aws/models/compute/dhcp_option.rb +3 -3
  58. data/lib/fog/aws/models/compute/dhcp_options.rb +2 -2
  59. data/lib/fog/aws/models/compute/flavors.rb +1 -1
  60. data/lib/fog/aws/models/compute/image.rb +2 -2
  61. data/lib/fog/aws/models/compute/images.rb +5 -5
  62. data/lib/fog/aws/models/compute/internet_gateway.rb +4 -4
  63. data/lib/fog/aws/models/compute/internet_gateways.rb +2 -2
  64. data/lib/fog/aws/models/compute/key_pair.rb +4 -4
  65. data/lib/fog/aws/models/compute/key_pairs.rb +2 -2
  66. data/lib/fog/aws/models/compute/network_interface.rb +3 -3
  67. data/lib/fog/aws/models/compute/network_interfaces.rb +2 -2
  68. data/lib/fog/aws/models/compute/security_group.rb +7 -7
  69. data/lib/fog/aws/models/compute/security_groups.rb +3 -3
  70. data/lib/fog/aws/models/compute/server.rb +22 -16
  71. data/lib/fog/aws/models/compute/servers.rb +6 -6
  72. data/lib/fog/aws/models/compute/snapshot.rb +4 -4
  73. data/lib/fog/aws/models/compute/snapshots.rb +3 -3
  74. data/lib/fog/aws/models/compute/spot_request.rb +18 -8
  75. data/lib/fog/aws/models/compute/spot_requests.rb +11 -11
  76. data/lib/fog/aws/models/compute/subnet.rb +3 -3
  77. data/lib/fog/aws/models/compute/subnets.rb +2 -2
  78. data/lib/fog/aws/models/compute/tag.rb +2 -2
  79. data/lib/fog/aws/models/compute/tags.rb +3 -3
  80. data/lib/fog/aws/models/compute/volume.rb +12 -13
  81. data/lib/fog/aws/models/compute/volumes.rb +2 -2
  82. data/lib/fog/aws/models/compute/vpc.rb +2 -2
  83. data/lib/fog/aws/models/compute/vpcs.rb +2 -2
  84. data/lib/fog/aws/models/dns/record.rb +4 -4
  85. data/lib/fog/aws/models/dns/records.rb +3 -3
  86. data/lib/fog/aws/models/dns/zone.rb +3 -3
  87. data/lib/fog/aws/models/dns/zones.rb +2 -2
  88. data/lib/fog/aws/models/elasticache/cluster.rb +2 -2
  89. data/lib/fog/aws/models/elasticache/clusters.rb +2 -2
  90. data/lib/fog/aws/models/elasticache/parameter_group.rb +2 -2
  91. data/lib/fog/aws/models/elasticache/parameter_groups.rb +2 -2
  92. data/lib/fog/aws/models/elasticache/security_group.rb +4 -4
  93. data/lib/fog/aws/models/elasticache/security_groups.rb +2 -2
  94. data/lib/fog/aws/models/elb/listener.rb +2 -2
  95. data/lib/fog/aws/models/elb/load_balancer.rb +19 -19
  96. data/lib/fog/aws/models/elb/load_balancers.rb +2 -2
  97. data/lib/fog/aws/models/elb/policy.rb +3 -3
  98. data/lib/fog/aws/models/glacier/archive.rb +7 -7
  99. data/lib/fog/aws/models/glacier/job.rb +2 -2
  100. data/lib/fog/aws/models/glacier/jobs.rb +3 -3
  101. data/lib/fog/aws/models/glacier/vault.rb +7 -7
  102. data/lib/fog/aws/models/glacier/vaults.rb +2 -2
  103. data/lib/fog/aws/models/iam/access_key.rb +8 -8
  104. data/lib/fog/aws/models/iam/access_keys.rb +7 -7
  105. data/lib/fog/aws/models/iam/policies.rb +10 -10
  106. data/lib/fog/aws/models/iam/policy.rb +8 -8
  107. data/lib/fog/aws/models/iam/user.rb +10 -10
  108. data/lib/fog/aws/models/iam/users.rb +2 -2
  109. data/lib/fog/aws/models/rds/parameter.rb +2 -2
  110. data/lib/fog/aws/models/rds/parameter_group.rb +10 -10
  111. data/lib/fog/aws/models/rds/parameter_groups.rb +3 -3
  112. data/lib/fog/aws/models/rds/parameters.rb +2 -2
  113. data/lib/fog/aws/models/rds/security_group.rb +4 -4
  114. data/lib/fog/aws/models/rds/security_groups.rb +2 -2
  115. data/lib/fog/aws/models/rds/server.rb +10 -10
  116. data/lib/fog/aws/models/rds/servers.rb +3 -3
  117. data/lib/fog/aws/models/rds/snapshot.rb +3 -3
  118. data/lib/fog/aws/models/rds/snapshots.rb +3 -3
  119. data/lib/fog/aws/models/rds/subnet_groups.rb +2 -2
  120. data/lib/fog/aws/models/storage/directories.rb +2 -2
  121. data/lib/fog/aws/models/storage/directory.rb +13 -13
  122. data/lib/fog/aws/models/storage/file.rb +106 -14
  123. data/lib/fog/aws/models/storage/files.rb +5 -5
  124. data/lib/fog/aws/models/storage/version.rb +2 -2
  125. data/lib/fog/aws/models/storage/versions.rb +3 -3
  126. data/lib/fog/aws/parsers/compute/copy_snapshot.rb +22 -0
  127. data/lib/fog/aws/parsers/compute/describe_instances.rb +3 -1
  128. data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +1 -1
  129. data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +5 -3
  130. data/lib/fog/aws/parsers/storage/cors_configuration.rb +41 -0
  131. data/lib/fog/aws/parsers/storage/delete_multiple_objects.rb +50 -0
  132. data/lib/fog/aws/rds.rb +2 -2
  133. data/lib/fog/aws/requests/auto_scaling/resume_processes.rb +10 -1
  134. data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +7 -2
  135. data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +27 -0
  136. data/lib/fog/aws/requests/compute/copy_snapshot.rb +58 -0
  137. data/lib/fog/aws/requests/compute/describe_availability_zones.rb +3 -0
  138. data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +11 -8
  139. data/lib/fog/aws/requests/compute/modify_volume_attribute.rb +51 -0
  140. data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +1 -0
  141. data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +5 -7
  142. data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +12 -16
  143. data/lib/fog/aws/requests/storage/copy_object.rb +19 -20
  144. data/lib/fog/aws/requests/storage/cors_utils.rb +41 -0
  145. data/lib/fog/aws/requests/storage/delete_bucket.rb +4 -7
  146. data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +29 -0
  147. data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +4 -7
  148. data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +5 -8
  149. data/lib/fog/aws/requests/storage/delete_bucket_website.rb +4 -7
  150. data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +167 -0
  151. data/lib/fog/aws/requests/storage/delete_object.rb +5 -8
  152. data/lib/fog/aws/requests/storage/get_bucket.rb +25 -28
  153. data/lib/fog/aws/requests/storage/get_bucket_acl.rb +15 -18
  154. data/lib/fog/aws/requests/storage/get_bucket_cors.rb +65 -0
  155. data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +9 -12
  156. data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -8
  157. data/lib/fog/aws/requests/storage/get_bucket_logging.rb +15 -18
  158. data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +37 -43
  159. data/lib/fog/aws/requests/storage/get_bucket_policy.rb +4 -7
  160. data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +6 -9
  161. data/lib/fog/aws/requests/storage/get_bucket_website.rb +9 -11
  162. data/lib/fog/aws/requests/storage/get_object.rb +17 -20
  163. data/lib/fog/aws/requests/storage/get_object_acl.rb +18 -21
  164. data/lib/fog/aws/requests/storage/get_object_http_url.rb +6 -9
  165. data/lib/fog/aws/requests/storage/get_object_https_url.rb +6 -9
  166. data/lib/fog/aws/requests/storage/get_object_torrent.rb +15 -18
  167. data/lib/fog/aws/requests/storage/get_object_url.rb +7 -10
  168. data/lib/fog/aws/requests/storage/get_request_payment.rb +5 -8
  169. data/lib/fog/aws/requests/storage/get_service.rb +9 -11
  170. data/lib/fog/aws/requests/storage/head_object.rb +21 -21
  171. data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +18 -19
  172. data/lib/fog/aws/requests/storage/put_bucket_cors.rb +51 -0
  173. data/lib/fog/aws/signaturev4.rb +1 -1
  174. data/lib/fog/aws/sqs.rb +1 -1
  175. data/lib/fog/aws/storage.rb +10 -1
  176. data/lib/fog/bluebox/models/compute/flavors.rb +2 -2
  177. data/lib/fog/bluebox/models/compute/image.rb +8 -8
  178. data/lib/fog/bluebox/models/compute/images.rb +2 -2
  179. data/lib/fog/bluebox/models/compute/locations.rb +2 -2
  180. data/lib/fog/bluebox/models/compute/server.rb +10 -10
  181. data/lib/fog/bluebox/models/compute/servers.rb +2 -2
  182. data/lib/fog/bluebox/models/dns/record.rb +3 -3
  183. data/lib/fog/bluebox/models/dns/records.rb +2 -2
  184. data/lib/fog/bluebox/models/dns/zone.rb +3 -3
  185. data/lib/fog/bluebox/models/dns/zones.rb +2 -2
  186. data/lib/fog/bluebox/requests/compute/create_block.rb +3 -5
  187. data/lib/fog/brightbox/compute.rb +284 -82
  188. data/lib/fog/brightbox/models/compute/account.rb +9 -3
  189. data/lib/fog/brightbox/models/compute/accounts.rb +3 -3
  190. data/lib/fog/brightbox/models/compute/api_client.rb +4 -4
  191. data/lib/fog/brightbox/models/compute/api_clients.rb +2 -2
  192. data/lib/fog/brightbox/models/compute/application.rb +2 -2
  193. data/lib/fog/brightbox/models/compute/applications.rb +3 -3
  194. data/lib/fog/brightbox/models/compute/cloud_ip.rb +4 -3
  195. data/lib/fog/brightbox/models/compute/cloud_ips.rb +4 -4
  196. data/lib/fog/brightbox/models/compute/firewall_policies.rb +3 -3
  197. data/lib/fog/brightbox/models/compute/firewall_policy.rb +5 -5
  198. data/lib/fog/brightbox/models/compute/firewall_rule.rb +3 -3
  199. data/lib/fog/brightbox/models/compute/firewall_rules.rb +2 -2
  200. data/lib/fog/brightbox/models/compute/flavors.rb +3 -3
  201. data/lib/fog/brightbox/models/compute/image.rb +3 -3
  202. data/lib/fog/brightbox/models/compute/images.rb +2 -2
  203. data/lib/fog/brightbox/models/compute/load_balancer.rb +3 -3
  204. data/lib/fog/brightbox/models/compute/load_balancers.rb +2 -2
  205. data/lib/fog/brightbox/models/compute/server.rb +25 -18
  206. data/lib/fog/brightbox/models/compute/server_group.rb +6 -6
  207. data/lib/fog/brightbox/models/compute/server_groups.rb +3 -3
  208. data/lib/fog/brightbox/models/compute/servers.rb +35 -3
  209. data/lib/fog/brightbox/models/compute/user.rb +1 -1
  210. data/lib/fog/brightbox/models/compute/users.rb +3 -3
  211. data/lib/fog/brightbox/models/compute/zones.rb +3 -3
  212. data/lib/fog/brightbox/oauth2.rb +164 -0
  213. data/lib/fog/brightbox/requests/compute/activate_console_server.rb +10 -3
  214. data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +12 -3
  215. data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +12 -3
  216. data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +10 -12
  217. data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +12 -3
  218. data/lib/fog/brightbox/requests/compute/create_api_client.rb +12 -3
  219. data/lib/fog/brightbox/requests/compute/create_application.rb +12 -3
  220. data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +12 -2
  221. data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +14 -3
  222. data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +18 -3
  223. data/lib/fog/brightbox/requests/compute/create_image.rb +19 -3
  224. data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +15 -3
  225. data/lib/fog/brightbox/requests/compute/create_server.rb +18 -3
  226. data/lib/fog/brightbox/requests/compute/create_server_group.rb +12 -3
  227. data/lib/fog/brightbox/requests/compute/destroy_api_client.rb +10 -3
  228. data/lib/fog/brightbox/requests/compute/destroy_application.rb +10 -3
  229. data/lib/fog/brightbox/requests/compute/destroy_cloud_ip.rb +10 -3
  230. data/lib/fog/brightbox/requests/compute/destroy_firewall_policy.rb +10 -3
  231. data/lib/fog/brightbox/requests/compute/destroy_firewall_rule.rb +10 -3
  232. data/lib/fog/brightbox/requests/compute/destroy_image.rb +10 -3
  233. data/lib/fog/brightbox/requests/compute/destroy_load_balancer.rb +10 -3
  234. data/lib/fog/brightbox/requests/compute/destroy_server.rb +10 -3
  235. data/lib/fog/brightbox/requests/compute/destroy_server_group.rb +10 -3
  236. data/lib/fog/brightbox/requests/compute/get_account.rb +8 -16
  237. data/lib/fog/brightbox/requests/compute/get_api_client.rb +10 -3
  238. data/lib/fog/brightbox/requests/compute/get_application.rb +10 -3
  239. data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +2 -4
  240. data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +10 -3
  241. data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +10 -3
  242. data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +10 -3
  243. data/lib/fog/brightbox/requests/compute/get_image.rb +10 -3
  244. data/lib/fog/brightbox/requests/compute/get_interface.rb +10 -3
  245. data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +10 -3
  246. data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +2 -6
  247. data/lib/fog/brightbox/requests/compute/get_server.rb +10 -3
  248. data/lib/fog/brightbox/requests/compute/get_server_group.rb +10 -3
  249. data/lib/fog/brightbox/requests/compute/get_server_type.rb +10 -3
  250. data/lib/fog/brightbox/requests/compute/get_user.rb +8 -16
  251. data/lib/fog/brightbox/requests/compute/get_zone.rb +10 -3
  252. data/lib/fog/brightbox/requests/compute/list_accounts.rb +7 -3
  253. data/lib/fog/brightbox/requests/compute/list_api_clients.rb +9 -3
  254. data/lib/fog/brightbox/requests/compute/list_applications.rb +9 -3
  255. data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +9 -3
  256. data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +9 -3
  257. data/lib/fog/brightbox/requests/compute/list_images.rb +9 -3
  258. data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +9 -3
  259. data/lib/fog/brightbox/requests/compute/list_server_groups.rb +9 -3
  260. data/lib/fog/brightbox/requests/compute/list_server_types.rb +9 -3
  261. data/lib/fog/brightbox/requests/compute/list_servers.rb +9 -3
  262. data/lib/fog/brightbox/requests/compute/list_users.rb +9 -3
  263. data/lib/fog/brightbox/requests/compute/list_zones.rb +9 -3
  264. data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +12 -3
  265. data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +11 -13
  266. data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +12 -3
  267. data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +12 -3
  268. data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +12 -3
  269. data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +10 -11
  270. data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +22 -3
  271. data/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +18 -0
  272. data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +14 -2
  273. data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +10 -3
  274. data/lib/fog/brightbox/requests/compute/shutdown_server.rb +10 -3
  275. data/lib/fog/brightbox/requests/compute/snapshot_server.rb +10 -3
  276. data/lib/fog/brightbox/requests/compute/start_server.rb +10 -3
  277. data/lib/fog/brightbox/requests/compute/stop_server.rb +10 -3
  278. data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +10 -3
  279. data/lib/fog/brightbox/requests/compute/update_account.rb +33 -35
  280. data/lib/fog/brightbox/requests/compute/update_api_client.rb +13 -3
  281. data/lib/fog/brightbox/requests/compute/update_application.rb +13 -3
  282. data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +14 -3
  283. data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +17 -2
  284. data/lib/fog/brightbox/requests/compute/update_image.rb +18 -3
  285. data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +16 -3
  286. data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +13 -20
  287. data/lib/fog/brightbox/requests/compute/update_server.rb +13 -3
  288. data/lib/fog/brightbox/requests/compute/update_server_group.rb +13 -3
  289. data/lib/fog/brightbox/requests/compute/update_user.rb +16 -3
  290. data/lib/fog/clodo/models/compute/images.rb +2 -2
  291. data/lib/fog/clodo/models/compute/server.rb +7 -7
  292. data/lib/fog/clodo/models/compute/servers.rb +2 -2
  293. data/lib/fog/cloudstack/models/compute/flavors.rb +2 -2
  294. data/lib/fog/cloudstack/models/compute/image.rb +2 -2
  295. data/lib/fog/cloudstack/models/compute/images.rb +2 -2
  296. data/lib/fog/cloudstack/models/compute/job.rb +2 -2
  297. data/lib/fog/cloudstack/models/compute/jobs.rb +2 -2
  298. data/lib/fog/cloudstack/models/compute/security_group.rb +3 -3
  299. data/lib/fog/cloudstack/models/compute/security_group_rule.rb +5 -5
  300. data/lib/fog/cloudstack/models/compute/security_group_rules.rb +1 -1
  301. data/lib/fog/cloudstack/models/compute/security_groups.rb +2 -2
  302. data/lib/fog/cloudstack/models/compute/server.rb +14 -12
  303. data/lib/fog/cloudstack/models/compute/servers.rb +2 -2
  304. data/lib/fog/cloudstack/models/compute/volume.rb +8 -8
  305. data/lib/fog/cloudstack/models/compute/volumes.rb +2 -2
  306. data/lib/fog/cloudstack/models/compute/zone.rb +1 -1
  307. data/lib/fog/cloudstack/models/compute/zones.rb +2 -2
  308. data/lib/fog/compute.rb +2 -1
  309. data/lib/fog/core.rb +1 -0
  310. data/lib/fog/core/attributes.rb +19 -2
  311. data/lib/fog/core/collection.rb +17 -6
  312. data/lib/fog/core/connection.rb +1 -0
  313. data/lib/fog/core/deprecated_connection_accessors.rb +41 -0
  314. data/lib/fog/core/errors.rb +2 -0
  315. data/lib/fog/core/json.rb +4 -16
  316. data/lib/fog/core/model.rb +11 -1
  317. data/lib/fog/core/service.rb +1 -1
  318. data/lib/fog/core/wait_for.rb +1 -1
  319. data/lib/fog/dnsimple/models/dns/record.rb +4 -4
  320. data/lib/fog/dnsimple/models/dns/records.rb +2 -2
  321. data/lib/fog/dnsimple/models/dns/zone.rb +3 -3
  322. data/lib/fog/dnsimple/models/dns/zones.rb +2 -2
  323. data/lib/fog/dnsmadeeasy/models/dns/record.rb +5 -5
  324. data/lib/fog/dnsmadeeasy/models/dns/records.rb +2 -2
  325. data/lib/fog/dnsmadeeasy/models/dns/zone.rb +3 -3
  326. data/lib/fog/dnsmadeeasy/models/dns/zones.rb +2 -2
  327. data/lib/fog/dynect/models/dns/record.rb +3 -3
  328. data/lib/fog/dynect/models/dns/records.rb +2 -2
  329. data/lib/fog/dynect/models/dns/zone.rb +4 -4
  330. data/lib/fog/dynect/models/dns/zones.rb +2 -2
  331. data/lib/fog/ecloud.rb +19 -5
  332. data/lib/fog/ecloud/compute.rb +663 -351
  333. data/lib/fog/ecloud/generate_collection.rb +3 -3
  334. data/lib/fog/ecloud/models/compute/admin_organization.rb +14 -10
  335. data/lib/fog/ecloud/models/compute/admin_organizations.rb +1 -6
  336. data/lib/fog/ecloud/models/compute/api_keys.rb +2 -2
  337. data/lib/fog/ecloud/models/compute/association.rb +3 -3
  338. data/lib/fog/ecloud/models/compute/associations.rb +2 -2
  339. data/lib/fog/ecloud/models/compute/authentication_levels.rb +2 -2
  340. data/lib/fog/ecloud/models/compute/backup_internet_service.rb +7 -7
  341. data/lib/fog/ecloud/models/compute/backup_internet_services.rb +3 -3
  342. data/lib/fog/ecloud/models/compute/catalog.rb +2 -2
  343. data/lib/fog/ecloud/models/compute/catalog_configurations.rb +2 -2
  344. data/lib/fog/ecloud/models/compute/catalog_item.rb +1 -1
  345. data/lib/fog/ecloud/models/compute/compute_pool.rb +27 -15
  346. data/lib/fog/ecloud/models/compute/compute_pools.rb +2 -2
  347. data/lib/fog/ecloud/models/compute/cpu_usage_detail_summary.rb +2 -2
  348. data/lib/fog/ecloud/models/compute/detached_disk.rb +27 -0
  349. data/lib/fog/ecloud/models/compute/detached_disks.rb +31 -0
  350. data/lib/fog/ecloud/models/compute/environment.rb +27 -20
  351. data/lib/fog/ecloud/models/compute/environments.rb +2 -2
  352. data/lib/fog/ecloud/models/compute/firewall_acl.rb +1 -1
  353. data/lib/fog/ecloud/models/compute/firewall_acls.rb +2 -2
  354. data/lib/fog/ecloud/models/compute/group.rb +8 -6
  355. data/lib/fog/ecloud/models/compute/groups.rb +17 -6
  356. data/lib/fog/ecloud/models/compute/guest_processes.rb +2 -2
  357. data/lib/fog/ecloud/models/compute/hardware_configuration.rb +4 -4
  358. data/lib/fog/ecloud/models/compute/hardware_configurations.rb +2 -2
  359. data/lib/fog/ecloud/models/compute/internet_service.rb +35 -29
  360. data/lib/fog/ecloud/models/compute/internet_services.rb +11 -8
  361. data/lib/fog/ecloud/models/compute/ip_address.rb +17 -3
  362. data/lib/fog/ecloud/models/compute/ip_addresses.rb +7 -2
  363. data/lib/fog/ecloud/models/compute/layout.rb +1 -1
  364. data/lib/fog/ecloud/models/compute/layouts.rb +2 -2
  365. data/lib/fog/ecloud/models/compute/location.rb +1 -1
  366. data/lib/fog/ecloud/models/compute/locations.rb +2 -2
  367. data/lib/fog/ecloud/models/compute/login_banners.rb +2 -2
  368. data/lib/fog/ecloud/models/compute/memory_usage_detail_summary.rb +2 -2
  369. data/lib/fog/ecloud/models/compute/monitor.rb +4 -4
  370. data/lib/fog/ecloud/models/compute/monitors.rb +2 -2
  371. data/lib/fog/ecloud/models/compute/network.rb +22 -12
  372. data/lib/fog/ecloud/models/compute/networks.rb +9 -5
  373. data/lib/fog/ecloud/models/compute/node.rb +12 -6
  374. data/lib/fog/ecloud/models/compute/nodes.rb +7 -4
  375. data/lib/fog/ecloud/models/compute/operating_system_families.rb +2 -2
  376. data/lib/fog/ecloud/models/compute/operating_system_family.rb +1 -1
  377. data/lib/fog/ecloud/models/compute/operating_systems.rb +1 -1
  378. data/lib/fog/ecloud/models/compute/organization.rb +17 -17
  379. data/lib/fog/ecloud/models/compute/organizations.rb +3 -3
  380. data/lib/fog/ecloud/models/compute/password_complexity_rules.rb +2 -2
  381. data/lib/fog/ecloud/models/compute/physical_devices.rb +2 -2
  382. data/lib/fog/ecloud/models/compute/public_ip.rb +2 -2
  383. data/lib/fog/ecloud/models/compute/public_ips.rb +8 -5
  384. data/lib/fog/ecloud/models/compute/rnat.rb +2 -2
  385. data/lib/fog/ecloud/models/compute/rnats.rb +2 -2
  386. data/lib/fog/ecloud/models/compute/roles.rb +2 -2
  387. data/lib/fog/ecloud/models/compute/row.rb +10 -7
  388. data/lib/fog/ecloud/models/compute/rows.rb +9 -6
  389. data/lib/fog/ecloud/models/compute/server.rb +139 -93
  390. data/lib/fog/ecloud/models/compute/server_configuration_options.rb +2 -2
  391. data/lib/fog/ecloud/models/compute/servers.rb +18 -15
  392. data/lib/fog/ecloud/models/compute/ssh_key.rb +1 -1
  393. data/lib/fog/ecloud/models/compute/ssh_keys.rb +2 -2
  394. data/lib/fog/ecloud/models/compute/storage_usage_detail_summary.rb +2 -2
  395. data/lib/fog/ecloud/models/compute/support_tickets.rb +2 -2
  396. data/lib/fog/ecloud/models/compute/tags.rb +2 -2
  397. data/lib/fog/ecloud/models/compute/task.rb +3 -0
  398. data/lib/fog/ecloud/models/compute/tasks.rb +3 -3
  399. data/lib/fog/ecloud/models/compute/template.rb +8 -9
  400. data/lib/fog/ecloud/models/compute/templates.rb +2 -2
  401. data/lib/fog/ecloud/models/compute/trusted_network_group.rb +5 -5
  402. data/lib/fog/ecloud/models/compute/trusted_network_groups.rb +2 -2
  403. data/lib/fog/ecloud/models/compute/user.rb +2 -2
  404. data/lib/fog/ecloud/models/compute/users.rb +2 -2
  405. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ip.rb +32 -0
  406. data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ips.rb +27 -0
  407. data/lib/fog/ecloud/requests/compute/admin_edit_authentication_levels.rb +1 -2
  408. data/lib/fog/ecloud/requests/compute/get_admin_organization.rb +14 -0
  409. data/lib/fog/ecloud/requests/compute/get_compute_pool.rb +11 -0
  410. data/lib/fog/ecloud/requests/compute/get_compute_pools.rb +21 -0
  411. data/lib/fog/ecloud/requests/compute/get_detached_disk.rb +21 -0
  412. data/lib/fog/ecloud/requests/compute/get_detached_disks.rb +33 -0
  413. data/lib/fog/ecloud/requests/compute/get_environment.rb +21 -0
  414. data/lib/fog/ecloud/requests/compute/get_group.rb +8 -1
  415. data/lib/fog/ecloud/requests/compute/get_groups.rb +8 -1
  416. data/lib/fog/ecloud/requests/compute/get_hardware_configuration.rb +19 -0
  417. data/lib/fog/ecloud/requests/compute/get_hardware_configurations.rb +4 -0
  418. data/lib/fog/ecloud/requests/compute/get_internet_service.rb +12 -0
  419. data/lib/fog/ecloud/requests/compute/get_internet_services.rb +8 -0
  420. data/lib/fog/ecloud/requests/compute/get_ip_address.rb +11 -0
  421. data/lib/fog/ecloud/requests/compute/get_layout.rb +8 -1
  422. data/lib/fog/ecloud/requests/compute/get_layouts.rb +8 -1
  423. data/lib/fog/ecloud/requests/compute/get_network.rb +11 -0
  424. data/lib/fog/ecloud/requests/compute/get_networks.rb +20 -0
  425. data/lib/fog/ecloud/requests/compute/get_node.rb +11 -0
  426. data/lib/fog/ecloud/requests/compute/get_nodes.rb +9 -0
  427. data/lib/fog/ecloud/requests/compute/get_operating_system.rb +14 -0
  428. data/lib/fog/ecloud/requests/compute/get_operating_system_families.rb +20 -0
  429. data/lib/fog/ecloud/requests/compute/get_organization.rb +14 -0
  430. data/lib/fog/ecloud/requests/compute/get_organizations.rb +14 -2
  431. data/lib/fog/ecloud/requests/compute/get_public_ip.rb +11 -1
  432. data/lib/fog/ecloud/requests/compute/get_public_ips.rb +22 -0
  433. data/lib/fog/ecloud/requests/compute/get_row.rb +8 -1
  434. data/lib/fog/ecloud/requests/compute/get_rows.rb +2 -1
  435. data/lib/fog/ecloud/requests/compute/get_server.rb +11 -0
  436. data/lib/fog/ecloud/requests/compute/get_servers.rb +32 -1
  437. data/lib/fog/ecloud/requests/compute/get_ssh_key.rb +11 -0
  438. data/lib/fog/ecloud/requests/compute/get_ssh_keys.rb +20 -0
  439. data/lib/fog/ecloud/requests/compute/get_task.rb +4 -2
  440. data/lib/fog/ecloud/requests/compute/get_template.rb +11 -0
  441. data/lib/fog/ecloud/requests/compute/get_templates.rb +38 -0
  442. data/lib/fog/ecloud/requests/compute/get_virtual_machine_assigned_ips.rb +44 -0
  443. data/lib/fog/ecloud/requests/compute/groups_delete.rb +16 -1
  444. data/lib/fog/ecloud/requests/compute/internet_service_create.rb +36 -1
  445. data/lib/fog/ecloud/requests/compute/internet_service_delete.rb +23 -0
  446. data/lib/fog/ecloud/requests/compute/node_service_create.rb +49 -1
  447. data/lib/fog/ecloud/requests/compute/node_service_delete.rb +24 -0
  448. data/lib/fog/ecloud/requests/compute/rows_delete.rb +11 -1
  449. data/lib/fog/ecloud/requests/compute/virtual_machine_attach_disk.rb +62 -0
  450. data/lib/fog/ecloud/requests/compute/virtual_machine_create_from_template.rb +136 -16
  451. data/lib/fog/ecloud/requests/compute/virtual_machine_delete.rb +36 -1
  452. data/lib/fog/ecloud/requests/compute/virtual_machine_detach_disk.rb +71 -0
  453. data/lib/fog/ecloud/requests/compute/virtual_machine_edit_assigned_ips.rb +82 -0
  454. data/lib/fog/ecloud/requests/compute/virtual_machine_edit_hardware_configuration.rb +27 -3
  455. data/lib/fog/ecloud/requests/compute/virtual_machine_import.rb +120 -6
  456. data/lib/fog/glesys/models/compute/ip.rb +7 -7
  457. data/lib/fog/glesys/models/compute/ips.rb +7 -7
  458. data/lib/fog/glesys/models/compute/server.rb +6 -6
  459. data/lib/fog/glesys/models/compute/servers.rb +4 -4
  460. data/lib/fog/glesys/models/compute/template.rb +1 -1
  461. data/lib/fog/glesys/models/compute/templates.rb +2 -2
  462. data/lib/fog/go_grid/models/compute/image.rb +3 -3
  463. data/lib/fog/go_grid/models/compute/images.rb +2 -2
  464. data/lib/fog/go_grid/models/compute/password.rb +5 -5
  465. data/lib/fog/go_grid/models/compute/passwords.rb +3 -3
  466. data/lib/fog/go_grid/models/compute/server.rb +4 -4
  467. data/lib/fog/go_grid/models/compute/servers.rb +2 -2
  468. data/lib/fog/google/models/storage/directories.rb +2 -2
  469. data/lib/fog/google/models/storage/directory.rb +4 -4
  470. data/lib/fog/google/models/storage/file.rb +5 -5
  471. data/lib/fog/google/models/storage/files.rb +4 -4
  472. data/lib/fog/google/storage.rb +13 -2
  473. data/lib/fog/hp.rb +6 -3
  474. data/lib/fog/hp/models/compute/address.rb +8 -8
  475. data/lib/fog/hp/models/compute/addresses.rb +2 -2
  476. data/lib/fog/hp/models/compute/flavors.rb +2 -2
  477. data/lib/fog/hp/models/compute/image.rb +2 -2
  478. data/lib/fog/hp/models/compute/images.rb +2 -2
  479. data/lib/fog/hp/models/compute/key_pair.rb +3 -3
  480. data/lib/fog/hp/models/compute/key_pairs.rb +2 -2
  481. data/lib/fog/hp/models/compute/security_group.rb +4 -4
  482. data/lib/fog/hp/models/compute/security_groups.rb +3 -3
  483. data/lib/fog/hp/models/compute/server.rb +15 -15
  484. data/lib/fog/hp/models/compute/servers.rb +2 -2
  485. data/lib/fog/hp/models/storage/directories.rb +3 -3
  486. data/lib/fog/hp/models/storage/directory.rb +18 -18
  487. data/lib/fog/hp/models/storage/file.rb +4 -4
  488. data/lib/fog/hp/models/storage/files.rb +2 -2
  489. data/lib/fog/ibm/models/compute/address.rb +2 -2
  490. data/lib/fog/ibm/models/compute/addresses.rb +2 -2
  491. data/lib/fog/ibm/models/compute/image.rb +3 -3
  492. data/lib/fog/ibm/models/compute/images.rb +2 -2
  493. data/lib/fog/ibm/models/compute/key.rb +2 -2
  494. data/lib/fog/ibm/models/compute/keys.rb +3 -3
  495. data/lib/fog/ibm/models/compute/locations.rb +2 -2
  496. data/lib/fog/ibm/models/compute/server.rb +12 -12
  497. data/lib/fog/ibm/models/compute/servers.rb +2 -2
  498. data/lib/fog/ibm/models/compute/vlans.rb +2 -2
  499. data/lib/fog/ibm/models/storage/offerings.rb +1 -1
  500. data/lib/fog/ibm/models/storage/volume.rb +5 -5
  501. data/lib/fog/ibm/models/storage/volumes.rb +2 -2
  502. data/lib/fog/joyent/models/compute/flavors.rb +2 -2
  503. data/lib/fog/joyent/models/compute/images.rb +2 -2
  504. data/lib/fog/joyent/models/compute/key.rb +1 -1
  505. data/lib/fog/joyent/models/compute/keys.rb +3 -3
  506. data/lib/fog/joyent/models/compute/server.rb +13 -13
  507. data/lib/fog/joyent/models/compute/servers.rb +3 -3
  508. data/lib/fog/joyent/models/compute/snapshot.rb +4 -4
  509. data/lib/fog/joyent/models/compute/snapshots.rb +3 -3
  510. data/lib/fog/libvirt/compute.rb +6 -1
  511. data/lib/fog/libvirt/models/compute/interface.rb +1 -1
  512. data/lib/fog/libvirt/models/compute/interfaces.rb +1 -1
  513. data/lib/fog/libvirt/models/compute/network.rb +1 -1
  514. data/lib/fog/libvirt/models/compute/networks.rb +1 -1
  515. data/lib/fog/libvirt/models/compute/nic.rb +2 -2
  516. data/lib/fog/libvirt/models/compute/nodes.rb +1 -1
  517. data/lib/fog/libvirt/models/compute/pool.rb +7 -7
  518. data/lib/fog/libvirt/models/compute/pools.rb +1 -1
  519. data/lib/fog/libvirt/models/compute/server.rb +29 -28
  520. data/lib/fog/libvirt/models/compute/servers.rb +2 -2
  521. data/lib/fog/libvirt/models/compute/volume.rb +5 -5
  522. data/lib/fog/libvirt/models/compute/volumes.rb +1 -1
  523. data/lib/fog/libvirt/requests/compute/list_domains.rb +2 -2
  524. data/lib/fog/linode/models/compute/data_centers.rb +2 -2
  525. data/lib/fog/linode/models/compute/disk.rb +7 -7
  526. data/lib/fog/linode/models/compute/disks.rb +2 -2
  527. data/lib/fog/linode/models/compute/flavors.rb +2 -2
  528. data/lib/fog/linode/models/compute/images.rb +2 -2
  529. data/lib/fog/linode/models/compute/ip.rb +3 -3
  530. data/lib/fog/linode/models/compute/ips.rb +2 -2
  531. data/lib/fog/linode/models/compute/kernels.rb +2 -2
  532. data/lib/fog/linode/models/compute/server.rb +13 -13
  533. data/lib/fog/linode/models/compute/servers.rb +2 -2
  534. data/lib/fog/linode/models/compute/stack_scripts.rb +3 -3
  535. data/lib/fog/linode/models/dns/record.rb +6 -6
  536. data/lib/fog/linode/models/dns/records.rb +2 -2
  537. data/lib/fog/linode/models/dns/zone.rb +6 -6
  538. data/lib/fog/linode/models/dns/zones.rb +2 -2
  539. data/lib/fog/local/models/storage/directories.rb +3 -3
  540. data/lib/fog/local/models/storage/directory.rb +2 -2
  541. data/lib/fog/local/models/storage/file.rb +6 -6
  542. data/lib/fog/local/models/storage/files.rb +2 -2
  543. data/lib/fog/ninefold/models/compute/address.rb +5 -5
  544. data/lib/fog/ninefold/models/compute/addresses.rb +2 -2
  545. data/lib/fog/ninefold/models/compute/flavors.rb +2 -2
  546. data/lib/fog/ninefold/models/compute/images.rb +2 -2
  547. data/lib/fog/ninefold/models/compute/ip_forwarding_rule.rb +3 -3
  548. data/lib/fog/ninefold/models/compute/ip_forwarding_rules.rb +2 -2
  549. data/lib/fog/ninefold/models/compute/server.rb +9 -9
  550. data/lib/fog/ninefold/models/compute/servers.rb +2 -2
  551. data/lib/fog/openstack.rb +89 -65
  552. data/lib/fog/openstack/README.identity.md +69 -0
  553. data/lib/fog/openstack/compute.rb +71 -41
  554. data/lib/fog/openstack/identity.rb +43 -22
  555. data/lib/fog/openstack/image.rb +11 -5
  556. data/lib/fog/openstack/models/compute/address.rb +8 -8
  557. data/lib/fog/openstack/models/compute/addresses.rb +3 -3
  558. data/lib/fog/openstack/models/compute/flavor.rb +9 -4
  559. data/lib/fog/openstack/models/compute/flavors.rb +2 -2
  560. data/lib/fog/openstack/models/compute/host.rb +3 -2
  561. data/lib/fog/openstack/models/compute/hosts.rb +2 -2
  562. data/lib/fog/openstack/models/compute/image.rb +4 -3
  563. data/lib/fog/openstack/models/compute/images.rb +2 -2
  564. data/lib/fog/openstack/models/compute/key_pair.rb +3 -3
  565. data/lib/fog/openstack/models/compute/key_pairs.rb +1 -1
  566. data/lib/fog/openstack/models/compute/metadata.rb +4 -4
  567. data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
  568. data/lib/fog/openstack/models/compute/security_group.rb +5 -5
  569. data/lib/fog/openstack/models/compute/security_groups.rb +2 -2
  570. data/lib/fog/openstack/models/compute/server.rb +41 -27
  571. data/lib/fog/openstack/models/compute/servers.rb +2 -2
  572. data/lib/fog/openstack/models/compute/snapshot.rb +4 -3
  573. data/lib/fog/openstack/models/compute/snapshots.rb +2 -2
  574. data/lib/fog/openstack/models/compute/tenant.rb +1 -1
  575. data/lib/fog/openstack/models/compute/tenants.rb +7 -3
  576. data/lib/fog/openstack/models/compute/volume.rb +6 -5
  577. data/lib/fog/openstack/models/compute/volumes.rb +2 -2
  578. data/lib/fog/openstack/models/identity/ec2_credential.rb +44 -0
  579. data/lib/fog/openstack/models/identity/ec2_credentials.rb +53 -0
  580. data/lib/fog/openstack/models/identity/role.rb +4 -4
  581. data/lib/fog/openstack/models/identity/roles.rb +2 -2
  582. data/lib/fog/openstack/models/identity/tenant.rb +7 -7
  583. data/lib/fog/openstack/models/identity/tenants.rb +3 -3
  584. data/lib/fog/openstack/models/identity/user.rb +12 -6
  585. data/lib/fog/openstack/models/identity/users.rb +4 -5
  586. data/lib/fog/openstack/models/image/image.rb +10 -9
  587. data/lib/fog/openstack/models/image/images.rb +6 -6
  588. data/lib/fog/openstack/models/network/network.rb +6 -5
  589. data/lib/fog/openstack/models/network/networks.rb +3 -3
  590. data/lib/fog/openstack/models/network/port.rb +6 -5
  591. data/lib/fog/openstack/models/network/ports.rb +3 -3
  592. data/lib/fog/openstack/models/network/subnet.rb +6 -5
  593. data/lib/fog/openstack/models/network/subnets.rb +3 -3
  594. data/lib/fog/openstack/models/volume/volume.rb +4 -3
  595. data/lib/fog/openstack/models/volume/volumes.rb +2 -2
  596. data/lib/fog/openstack/network.rb +5 -3
  597. data/lib/fog/openstack/requests/compute/create_flavor.rb +4 -1
  598. data/lib/fog/openstack/requests/compute/create_security_group.rb +3 -2
  599. data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -0
  600. data/lib/fog/openstack/requests/compute/create_server.rb +54 -7
  601. data/lib/fog/openstack/requests/compute/delete_security_group.rb +2 -0
  602. data/lib/fog/openstack/requests/compute/get_limits.rb +93 -0
  603. data/lib/fog/openstack/requests/compute/list_security_groups.rb +17 -41
  604. data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -0
  605. data/lib/fog/openstack/requests/compute/release_address.rb +13 -1
  606. data/lib/fog/openstack/requests/compute/reset_server_state.rb +24 -0
  607. data/lib/fog/openstack/requests/identity/add_user_to_tenant.rb +7 -2
  608. data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +58 -0
  609. data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
  610. data/lib/fog/openstack/requests/identity/create_tenant.rb +1 -3
  611. data/lib/fog/openstack/requests/identity/delete_ec2_credential.rb +44 -0
  612. data/lib/fog/openstack/requests/identity/get_ec2_credential.rb +49 -0
  613. data/lib/fog/openstack/requests/identity/get_user_by_name.rb +8 -0
  614. data/lib/fog/openstack/requests/identity/list_ec2_credentials.rb +44 -0
  615. data/lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb +7 -1
  616. data/lib/fog/openstack/requests/identity/list_users.rb +10 -1
  617. data/lib/fog/openstack/requests/identity/set_tenant.rb +21 -0
  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/volume.rb +6 -3
  621. data/lib/fog/ovirt/models/compute/cluster.rb +1 -1
  622. data/lib/fog/ovirt/models/compute/clusters.rb +2 -2
  623. data/lib/fog/ovirt/models/compute/interfaces.rb +3 -3
  624. data/lib/fog/ovirt/models/compute/server.rb +15 -15
  625. data/lib/fog/ovirt/models/compute/servers.rb +2 -2
  626. data/lib/fog/ovirt/models/compute/template.rb +5 -5
  627. data/lib/fog/ovirt/models/compute/templates.rb +2 -2
  628. data/lib/fog/ovirt/models/compute/volumes.rb +3 -3
  629. data/lib/fog/rackspace.rb +20 -11
  630. data/lib/fog/rackspace/block_storage.rb +1 -0
  631. data/lib/fog/rackspace/compute_v2.rb +10 -0
  632. data/lib/fog/rackspace/load_balancers.rb +2 -0
  633. data/lib/fog/rackspace/models/block_storage/snapshot.rb +3 -2
  634. data/lib/fog/rackspace/models/block_storage/snapshots.rb +2 -2
  635. data/lib/fog/rackspace/models/block_storage/volume.rb +9 -3
  636. data/lib/fog/rackspace/models/block_storage/volume_types.rb +3 -3
  637. data/lib/fog/rackspace/models/block_storage/volumes.rb +2 -2
  638. data/lib/fog/rackspace/models/compute/flavors.rb +2 -2
  639. data/lib/fog/rackspace/models/compute/image.rb +3 -3
  640. data/lib/fog/rackspace/models/compute/images.rb +2 -2
  641. data/lib/fog/rackspace/models/compute/server.rb +7 -7
  642. data/lib/fog/rackspace/models/compute/servers.rb +2 -2
  643. data/lib/fog/rackspace/models/compute_v2/attachment.rb +2 -2
  644. data/lib/fog/rackspace/models/compute_v2/attachments.rb +2 -2
  645. data/lib/fog/rackspace/models/compute_v2/flavors.rb +2 -2
  646. data/lib/fog/rackspace/models/compute_v2/image.rb +9 -0
  647. data/lib/fog/rackspace/models/compute_v2/images.rb +2 -2
  648. data/lib/fog/rackspace/models/compute_v2/server.rb +47 -14
  649. data/lib/fog/rackspace/models/compute_v2/servers.rb +10 -2
  650. data/lib/fog/rackspace/models/databases/database.rb +2 -2
  651. data/lib/fog/rackspace/models/databases/databases.rb +1 -1
  652. data/lib/fog/rackspace/models/databases/flavors.rb +2 -2
  653. data/lib/fog/rackspace/models/databases/instance.rb +10 -10
  654. data/lib/fog/rackspace/models/databases/instances.rb +2 -2
  655. data/lib/fog/rackspace/models/databases/user.rb +2 -2
  656. data/lib/fog/rackspace/models/databases/users.rb +1 -1
  657. data/lib/fog/rackspace/models/dns/callback.rb +1 -1
  658. data/lib/fog/rackspace/models/dns/record.rb +23 -5
  659. data/lib/fog/rackspace/models/dns/records.rb +2 -2
  660. data/lib/fog/rackspace/models/dns/zone.rb +5 -5
  661. data/lib/fog/rackspace/models/dns/zones.rb +2 -2
  662. data/lib/fog/rackspace/models/identity/credentials.rb +1 -1
  663. data/lib/fog/rackspace/models/identity/roles.rb +1 -1
  664. data/lib/fog/rackspace/models/identity/tenants.rb +1 -1
  665. data/lib/fog/rackspace/models/identity/user.rb +6 -6
  666. data/lib/fog/rackspace/models/identity/users.rb +3 -3
  667. data/lib/fog/rackspace/models/load_balancers/access_rule.rb +4 -4
  668. data/lib/fog/rackspace/models/load_balancers/access_rules.rb +1 -1
  669. data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +45 -27
  670. data/lib/fog/rackspace/models/load_balancers/load_balancers.rb +2 -2
  671. data/lib/fog/rackspace/models/load_balancers/node.rb +4 -4
  672. data/lib/fog/rackspace/models/load_balancers/nodes.rb +2 -2
  673. data/lib/fog/rackspace/models/load_balancers/virtual_ip.rb +3 -3
  674. data/lib/fog/rackspace/models/load_balancers/virtual_ips.rb +1 -1
  675. data/lib/fog/rackspace/models/storage/directories.rb +2 -2
  676. data/lib/fog/rackspace/models/storage/directory.rb +12 -12
  677. data/lib/fog/rackspace/models/storage/file.rb +71 -5
  678. data/lib/fog/rackspace/models/storage/files.rb +2 -2
  679. data/lib/fog/rackspace/requests/compute_v2/create_image.rb +41 -0
  680. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +3 -0
  681. data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +31 -0
  682. data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +34 -0
  683. data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +36 -0
  684. data/lib/fog/rackspace/requests/dns/add_records.rb +5 -1
  685. data/lib/fog/rackspace/requests/load_balancers/get_content_caching.rb +15 -0
  686. data/lib/fog/rackspace/requests/load_balancers/set_content_caching.rb +21 -0
  687. data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +1 -1
  688. data/lib/fog/serverlove/models/compute/image.rb +11 -11
  689. data/lib/fog/serverlove/models/compute/images.rb +2 -2
  690. data/lib/fog/serverlove/models/compute/server.rb +10 -10
  691. data/lib/fog/serverlove/models/compute/servers.rb +2 -2
  692. data/lib/fog/storm_on_demand/models/compute/balancer.rb +7 -7
  693. data/lib/fog/storm_on_demand/models/compute/balancers.rb +1 -1
  694. data/lib/fog/storm_on_demand/models/compute/configs.rb +1 -1
  695. data/lib/fog/storm_on_demand/models/compute/images.rb +1 -1
  696. data/lib/fog/storm_on_demand/models/compute/private_ips.rb +2 -2
  697. data/lib/fog/storm_on_demand/models/compute/server.rb +5 -5
  698. data/lib/fog/storm_on_demand/models/compute/servers.rb +2 -2
  699. data/lib/fog/storm_on_demand/models/compute/stats.rb +1 -1
  700. data/lib/fog/storm_on_demand/models/compute/templates.rb +1 -1
  701. data/lib/fog/terremark/models/shared/address.rb +1 -1
  702. data/lib/fog/terremark/models/shared/addresses.rb +5 -5
  703. data/lib/fog/terremark/models/shared/images.rb +5 -5
  704. data/lib/fog/terremark/models/shared/internetservice.rb +6 -6
  705. data/lib/fog/terremark/models/shared/internetservices.rb +5 -5
  706. data/lib/fog/terremark/models/shared/network.rb +1 -1
  707. data/lib/fog/terremark/models/shared/networks.rb +6 -6
  708. data/lib/fog/terremark/models/shared/nodeservice.rb +3 -3
  709. data/lib/fog/terremark/models/shared/nodeservices.rb +4 -4
  710. data/lib/fog/terremark/models/shared/server.rb +17 -17
  711. data/lib/fog/terremark/models/shared/servers.rb +6 -6
  712. data/lib/fog/terremark/models/shared/task.rb +4 -4
  713. data/lib/fog/terremark/models/shared/tasks.rb +5 -5
  714. data/lib/fog/terremark/models/shared/vdc.rb +4 -4
  715. data/lib/fog/terremark/models/shared/vdcs.rb +5 -5
  716. data/lib/fog/terremark/parser.rb +1 -1
  717. data/lib/fog/terremark/shared.rb +1 -1
  718. data/lib/fog/vcloud/compute.rb +4 -4
  719. data/lib/fog/vcloud/models/compute/catalog.rb +1 -1
  720. data/lib/fog/vcloud/models/compute/catalog_item.rb +1 -1
  721. data/lib/fog/vcloud/models/compute/catalog_items.rb +4 -4
  722. data/lib/fog/vcloud/models/compute/catalogs.rb +3 -3
  723. data/lib/fog/vcloud/models/compute/ip.rb +1 -1
  724. data/lib/fog/vcloud/models/compute/ips.rb +3 -3
  725. data/lib/fog/vcloud/models/compute/network.rb +1 -1
  726. data/lib/fog/vcloud/models/compute/networks.rb +6 -6
  727. data/lib/fog/vcloud/models/compute/organization.rb +4 -4
  728. data/lib/fog/vcloud/models/compute/organizations.rb +4 -4
  729. data/lib/fog/vcloud/models/compute/server.rb +13 -13
  730. data/lib/fog/vcloud/models/compute/servers.rb +4 -4
  731. data/lib/fog/vcloud/models/compute/tasks.rb +3 -3
  732. data/lib/fog/vcloud/models/compute/vapp.rb +2 -2
  733. data/lib/fog/vcloud/models/compute/vapps.rb +2 -2
  734. data/lib/fog/vcloud/models/compute/vdc.rb +2 -2
  735. data/lib/fog/vcloud/models/compute/vdcs.rb +3 -3
  736. data/lib/fog/version.rb +3 -0
  737. data/lib/fog/virtual_box/compute.rb +11 -5
  738. data/lib/fog/virtual_box/models/compute/medium.rb +2 -2
  739. data/lib/fog/virtual_box/models/compute/mediums.rb +4 -4
  740. data/lib/fog/virtual_box/models/compute/nat_engine.rb +2 -2
  741. data/lib/fog/virtual_box/models/compute/network_adapter.rb +1 -1
  742. data/lib/fog/virtual_box/models/compute/network_adapters.rb +1 -1
  743. data/lib/fog/virtual_box/models/compute/server.rb +5 -5
  744. data/lib/fog/virtual_box/models/compute/servers.rb +2 -2
  745. data/lib/fog/vmfusion/compute.rb +6 -1
  746. data/lib/fog/vmfusion/models/compute/server.rb +1 -1
  747. data/lib/fog/voxel/models/compute/images.rb +2 -2
  748. data/lib/fog/voxel/models/compute/server.rb +6 -6
  749. data/lib/fog/voxel/models/compute/servers.rb +2 -2
  750. data/lib/fog/vsphere/compute.rb +78 -9
  751. data/lib/fog/vsphere/models/compute/cluster.rb +31 -0
  752. data/lib/fog/vsphere/models/compute/clusters.rb +26 -0
  753. data/lib/fog/vsphere/models/compute/datacenter.rb +39 -0
  754. data/lib/fog/vsphere/models/compute/datacenters.rb +23 -0
  755. data/lib/fog/vsphere/models/compute/datastore.rb +24 -0
  756. data/lib/fog/vsphere/models/compute/datastores.rb +25 -0
  757. data/lib/fog/vsphere/models/compute/folder.rb +28 -0
  758. data/lib/fog/vsphere/models/compute/folders.rb +27 -0
  759. data/lib/fog/vsphere/models/compute/interface.rb +39 -0
  760. data/lib/fog/vsphere/models/compute/interfaces.rb +33 -0
  761. data/lib/fog/vsphere/models/compute/network.rb +21 -0
  762. data/lib/fog/vsphere/models/compute/networks.rb +25 -0
  763. data/lib/fog/vsphere/models/compute/resource_pool.rb +23 -0
  764. data/lib/fog/vsphere/models/compute/resource_pools.rb +26 -0
  765. data/lib/fog/vsphere/models/compute/server.rb +106 -29
  766. data/lib/fog/vsphere/models/compute/servers.rb +16 -20
  767. data/lib/fog/vsphere/models/compute/template.rb +13 -0
  768. data/lib/fog/vsphere/models/compute/templates.rb +23 -0
  769. data/lib/fog/vsphere/models/compute/volume.rb +45 -0
  770. data/lib/fog/vsphere/models/compute/volumes.rb +33 -0
  771. data/lib/fog/vsphere/requests/compute/create_folder.rb +22 -0
  772. data/lib/fog/vsphere/requests/compute/create_vm.rb +114 -0
  773. data/lib/fog/vsphere/requests/compute/get_cluster.rb +25 -0
  774. data/lib/fog/vsphere/requests/compute/get_datacenter.rb +29 -0
  775. data/lib/fog/vsphere/requests/compute/get_datastore.rb +25 -0
  776. data/lib/fog/vsphere/requests/compute/get_folder.rb +73 -0
  777. data/lib/fog/vsphere/requests/compute/get_network.rb +25 -0
  778. data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +26 -0
  779. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +62 -0
  780. data/lib/fog/vsphere/requests/compute/list_clusters.rb +37 -0
  781. data/lib/fog/vsphere/requests/compute/list_datacenters.rb +34 -0
  782. data/lib/fog/vsphere/requests/compute/list_datastores.rb +40 -0
  783. data/lib/fog/vsphere/requests/compute/list_folders.rb +45 -0
  784. data/lib/fog/vsphere/requests/compute/list_networks.rb +38 -0
  785. data/lib/fog/vsphere/requests/compute/list_resource_pools.rb +39 -0
  786. data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +132 -166
  787. data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +52 -0
  788. data/lib/fog/vsphere/requests/compute/list_vm_volumes.rb +51 -0
  789. data/lib/fog/vsphere/requests/compute/vm_clone.rb +134 -67
  790. data/lib/fog/vsphere/requests/compute/vm_destroy.rb +1 -8
  791. data/lib/fog/vsphere/requests/compute/vm_reconfig_hardware.rb +1 -2
  792. data/lib/fog/xenserver.rb +26 -2
  793. data/lib/fog/xenserver/compute.rb +8 -0
  794. data/lib/fog/xenserver/examples/README.md +11 -0
  795. data/lib/fog/xenserver/examples/chage_default_storage_repository.md +99 -0
  796. data/lib/fog/xenserver/examples/creating_servers.md +168 -0
  797. data/lib/fog/xenserver/examples/getting_started.md +163 -0
  798. data/lib/fog/xenserver/examples/storage_repositories.md +94 -0
  799. data/lib/fog/xenserver/models/compute/host.rb +75 -8
  800. data/lib/fog/xenserver/models/compute/host_metrics.rb +29 -0
  801. data/lib/fog/xenserver/models/compute/hosts.rb +8 -8
  802. data/lib/fog/xenserver/models/compute/network.rb +11 -11
  803. data/lib/fog/xenserver/models/compute/networks.rb +3 -3
  804. data/lib/fog/xenserver/models/compute/pbd.rb +11 -6
  805. data/lib/fog/xenserver/models/compute/pbds.rb +3 -3
  806. data/lib/fog/xenserver/models/compute/pif.rb +9 -9
  807. data/lib/fog/xenserver/models/compute/pifs.rb +3 -3
  808. data/lib/fog/xenserver/models/compute/pool.rb +30 -8
  809. data/lib/fog/xenserver/models/compute/pools.rb +3 -3
  810. data/lib/fog/xenserver/models/compute/server.rb +29 -29
  811. data/lib/fog/xenserver/models/compute/servers.rb +8 -8
  812. data/lib/fog/xenserver/models/compute/storage_repositories.rb +2 -2
  813. data/lib/fog/xenserver/models/compute/storage_repository.rb +52 -9
  814. data/lib/fog/xenserver/models/compute/vbd.rb +16 -16
  815. data/lib/fog/xenserver/models/compute/vbds.rb +3 -3
  816. data/lib/fog/xenserver/models/compute/vdi.rb +17 -17
  817. data/lib/fog/xenserver/models/compute/vdis.rb +3 -3
  818. data/lib/fog/xenserver/models/compute/vif.rb +10 -10
  819. data/lib/fog/xenserver/models/compute/vifs.rb +3 -3
  820. data/lib/fog/xenserver/requests/compute/create_sr.rb +72 -0
  821. data/lib/fog/xenserver/requests/compute/destroy_sr.rb +30 -0
  822. data/lib/fog/xenserver/requests/compute/disable_host.rb +29 -0
  823. data/lib/fog/xenserver/requests/compute/enable_host.rb +28 -0
  824. data/lib/fog/xenserver/requests/compute/reboot_host.rb +23 -0
  825. data/lib/fog/xenserver/requests/compute/shutdown_host.rb +23 -0
  826. data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +25 -0
  827. data/lib/fog/zerigo/models/dns/record.rb +4 -4
  828. data/lib/fog/zerigo/models/dns/records.rb +2 -2
  829. data/lib/fog/zerigo/models/dns/zone.rb +6 -6
  830. data/lib/fog/zerigo/models/dns/zones.rb +2 -2
  831. data/lib/tasks/changelog_task.rb +98 -0
  832. data/lib/tasks/test_task.rb +46 -0
  833. data/tests/aws/models/cloud_watch/metrics_tests.rb +16 -1
  834. data/tests/aws/models/iam/users_tests.rb +16 -2
  835. data/tests/aws/requests/auto_scaling/model_tests.rb +1 -3
  836. data/tests/aws/requests/auto_scaling/notification_configuration_tests.rb +1 -0
  837. data/tests/aws/requests/auto_scaling/tag_tests.rb +1 -0
  838. data/tests/aws/requests/compute/instance_tests.rb +2 -0
  839. data/tests/aws/requests/compute/snapshot_tests.rb +19 -0
  840. data/tests/aws/requests/compute/spot_instance_tests.rb +4 -2
  841. data/tests/aws/requests/compute/volume_tests.rb +8 -0
  842. data/tests/aws/requests/storage/bucket_tests.rb +14 -0
  843. data/tests/aws/requests/storage/cors_utils_tests.rb +108 -0
  844. data/tests/aws/requests/storage/object_tests.rb +18 -1
  845. data/tests/aws/requests/storage/versioning_tests.rb +70 -0
  846. data/tests/brightbox/compute_tests.rb +96 -4
  847. data/tests/brightbox/models/compute/account_tests.rb +17 -0
  848. data/tests/brightbox/models/compute/server_tests.rb +21 -0
  849. data/tests/brightbox/oauth2_tests.rb +103 -0
  850. data/tests/brightbox/requests/compute/account_tests.rb +9 -2
  851. data/tests/brightbox/requests/compute/firewall_policy_tests.rb +33 -0
  852. data/tests/brightbox/requests/compute/firewall_rule_tests.rb +43 -0
  853. data/tests/brightbox/requests/compute/helper.rb +33 -30
  854. data/tests/brightbox/requests/compute/interface_tests.rb +18 -4
  855. data/tests/compute/helper.rb +28 -6
  856. data/tests/compute/models/flavors_tests.rb +4 -2
  857. data/tests/compute/models/server_tests.rb +5 -1
  858. data/tests/compute/models/servers_tests.rb +5 -2
  859. data/tests/core/wait_for_tests.rb +13 -0
  860. data/tests/dns/models/record_tests.rb +17 -3
  861. data/tests/ecloud/compute/models/admin_organization_tests.rb +16 -0
  862. data/tests/ecloud/compute/models/compute_pool_tests.rb +17 -0
  863. data/tests/ecloud/compute/models/detached_disk_tests.rb +26 -0
  864. data/tests/ecloud/compute/models/environment_tests.rb +23 -0
  865. data/tests/ecloud/compute/models/internet_service_tests.rb +28 -0
  866. data/tests/ecloud/compute/models/ip_address_tests.rb +19 -0
  867. data/tests/ecloud/compute/models/network_tests.rb +17 -0
  868. data/tests/ecloud/compute/models/operating_system_families_tests.rb +13 -0
  869. data/tests/ecloud/compute/models/operating_system_tests.rb +22 -0
  870. data/tests/ecloud/compute/models/organization_tests.rb +21 -0
  871. data/tests/ecloud/compute/models/public_ip_tests.rb +19 -0
  872. data/tests/ecloud/compute/models/server_tests.rb +143 -0
  873. data/tests/ecloud/compute/models/ssh_key_tests.rb +19 -0
  874. data/tests/ecloud/compute/models/template_tests.rb +20 -0
  875. data/tests/openstack/authenticate_tests.rb +142 -0
  876. data/tests/openstack/models/compute/server_tests.rb +45 -0
  877. data/tests/openstack/models/identity/ec2_credential_tests.rb +41 -0
  878. data/tests/openstack/models/identity/ec2_credentials_tests.rb +58 -0
  879. data/tests/openstack/models/identity/tenant_tests.rb +6 -0
  880. data/tests/openstack/requests/compute/address_tests.rb +20 -19
  881. data/tests/openstack/requests/compute/flavor_tests.rb +4 -2
  882. data/tests/openstack/requests/compute/helper.rb +20 -0
  883. data/tests/openstack/requests/compute/limit_tests.rb +60 -0
  884. data/tests/openstack/requests/compute/quota_tests.rb +18 -3
  885. data/tests/openstack/requests/compute/security_group_tests.rb +11 -3
  886. data/tests/openstack/requests/compute/server_tests.rb +29 -14
  887. data/tests/openstack/requests/identity/ec2_credentials_tests.rb +41 -0
  888. data/tests/openstack/requests/identity/role_tests.rb +0 -1
  889. data/tests/openstack/requests/identity/user_tests.rb +8 -0
  890. data/tests/rackspace/models/block_storage/snapshot_tests.rb +18 -11
  891. data/tests/rackspace/models/block_storage/volume_tests.rb +13 -7
  892. data/tests/rackspace/models/compute_v2/image_tests.rb +28 -0
  893. data/tests/rackspace/models/compute_v2/server_tests.rb +15 -0
  894. data/tests/rackspace/models/compute_v2/servers_tests.rb +6 -0
  895. data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +17 -0
  896. data/tests/rackspace/models/storage/file_tests.rb +178 -0
  897. data/tests/rackspace/requests/compute/address_tests.rb +11 -9
  898. data/tests/rackspace/requests/compute/flavor_tests.rb +6 -5
  899. data/tests/rackspace/requests/compute/image_tests.rb +12 -10
  900. data/tests/rackspace/requests/compute/resize_tests.rb +8 -6
  901. data/tests/rackspace/requests/compute/server_tests.rb +19 -17
  902. data/tests/rackspace/requests/compute_v2/address_tests.rb +43 -0
  903. data/tests/rackspace/requests/compute_v2/image_tests.rb +38 -10
  904. data/tests/rackspace/requests/dns/helper.rb +12 -26
  905. data/tests/rackspace/requests/dns/records_tests.rb +2 -2
  906. data/tests/rackspace/requests/load_balancers/content_caching_tests.rb +25 -0
  907. data/tests/rackspace/requests/load_balancers/helper.rb +5 -1
  908. data/tests/vsphere/compute_tests.rb +3 -3
  909. data/tests/vsphere/models/compute/server_tests.rb +1 -2
  910. data/tests/vsphere/requests/compute/list_virtual_machines_tests.rb +5 -13
  911. data/tests/vsphere/requests/compute/vm_clone_tests.rb +6 -4
  912. data/tests/xenserver/models/compute/host_metrics_tests.rb +48 -0
  913. data/tests/xenserver/models/compute/host_tests.rb +20 -1
  914. data/tests/xenserver/models/compute/pbd_tests.rb +33 -1
  915. data/tests/xenserver/models/compute/pool_tests.rb +7 -1
  916. data/tests/xenserver/models/compute/storage_repository_tests.rb +52 -1
  917. data/tests/xenserver/requests/compute/create_sr_tests.rb +54 -0
  918. data/tests/xenserver/requests/compute/destroy_sr_tests.rb +46 -0
  919. data/tests/xenserver/requests/compute/disable_host_tests.rb +16 -0
  920. data/tests/xenserver/requests/compute/enable_host_tests.rb +16 -0
  921. data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +48 -0
  922. metadata +312 -89
  923. data/docs/_config.yml +0 -39
  924. data/docs/_layouts/default.html +0 -111
  925. data/docs/about/contributing.markdown +0 -228
  926. data/docs/about/getting_started.markdown +0 -108
  927. data/docs/about/press.markdown +0 -52
  928. data/docs/about/structure.markdown +0 -78
  929. data/docs/about/users.markdown +0 -34
  930. data/docs/cdn/index.markdown +0 -148
  931. data/docs/compute/index.markdown +0 -122
  932. data/docs/dns/index.markdown +0 -79
  933. data/docs/index.markdown +0 -88
  934. data/docs/public/crossdomain.xml +0 -25
  935. data/docs/public/css/fog.css +0 -142
  936. data/docs/public/css/handheld.css +0 -8
  937. data/docs/public/css/style.css +0 -129
  938. data/docs/public/images/.gitignore +0 -3
  939. data/docs/public/images/engineyard.png +0 -0
  940. data/docs/public/images/fog.png +0 -0
  941. data/docs/public/js/libs/dd_belatedpng.js +0 -289
  942. data/docs/public/js/libs/dd_belatedpng.min.js +0 -13
  943. data/docs/public/js/libs/jquery-1.4.2.js +0 -6240
  944. data/docs/public/js/libs/jquery-1.4.2.min.js +0 -154
  945. data/docs/public/js/libs/modernizr-1.6.js +0 -892
  946. data/docs/public/js/libs/modernizr-1.6.min.js +0 -30
  947. data/docs/public/js/mylibs/.gitignore +0 -3
  948. data/docs/public/js/plugins.js +0 -34
  949. data/docs/public/js/profiling/config.js +0 -59
  950. data/docs/public/js/profiling/yahoo-profiling.css +0 -7
  951. data/docs/public/js/profiling/yahoo-profiling.js +0 -1028
  952. data/docs/public/js/profiling/yahoo-profiling.min.js +0 -39
  953. data/docs/public/js/script.js +0 -26
  954. data/docs/public/robots.txt +0 -5
  955. data/docs/storage/index.markdown +0 -204
  956. data/lib/fog/ecloud/requests/compute/get_admin_organizations.rb +0 -11
  957. data/lib/fog/ecloud/requests/compute/get_ip_addresses.rb +0 -11
  958. data/lib/fog/ecloud/requests/compute/get_operating_system_family.rb +0 -11
  959. data/lib/fog/ecloud/requests/compute/virtual_machine_add_ip.rb +0 -40
  960. data/lib/fog/vsphere/requests/compute/datacenters.rb +0 -34
  961. data/lib/fog/vsphere/requests/compute/find_vm_by_ref.rb +0 -41
  962. data/lib/fog/vsphere/requests/compute/vm_create.rb +0 -97
  963. data/tests/vsphere/requests/compute/find_vm_by_ref_tests.rb +0 -26
  964. data/tests/vsphere/requests/compute/vm_create_tests.rb +0 -20
@@ -24,7 +24,7 @@ module Fog
24
24
  marker = nil
25
25
  finished = false
26
26
  while !finished
27
- data = connection.describe_db_parameters(group.id, filters.merge(:marker => marker)).body
27
+ data = service.describe_db_parameters(group.id, filters.merge(:marker => marker)).body
28
28
  result.concat(data['DescribeDBParametersResult']['Parameters'])
29
29
  marker = data['DescribeDBParametersResult']['Marker']
30
30
  finished = marker.nil?
@@ -34,4 +34,4 @@ module Fog
34
34
  end
35
35
  end
36
36
  end
37
- end
37
+ end
@@ -19,7 +19,7 @@ module Fog
19
19
 
20
20
  def destroy
21
21
  requires :id
22
- connection.delete_db_security_group(id)
22
+ service.delete_db_security_group(id)
23
23
  true
24
24
  end
25
25
 
@@ -27,7 +27,7 @@ module Fog
27
27
  requires :id
28
28
  requires :description
29
29
 
30
- data = connection.create_db_security_group(id, description).body['CreateDBSecurityGroupResult']['DBSecurityGroup']
30
+ data = service.create_db_security_group(id, description).body['CreateDBSecurityGroupResult']['DBSecurityGroup']
31
31
  merge_attributes(data)
32
32
  true
33
33
  end
@@ -55,7 +55,7 @@ module Fog
55
55
  end
56
56
 
57
57
  def authorize_ingress(opts)
58
- data = connection.authorize_db_security_group_ingress(id, opts).body['AuthorizeDBSecurityGroupIngressResult']['DBSecurityGroup']
58
+ data = service.authorize_db_security_group_ingress(id, opts).body['AuthorizeDBSecurityGroupIngressResult']['DBSecurityGroup']
59
59
  merge_attributes(data)
60
60
  end
61
61
 
@@ -72,7 +72,7 @@ module Fog
72
72
  end
73
73
 
74
74
  def revoke_ingress(opts)
75
- data = connection.revoke_db_security_group_ingress(id, opts).body['RevokeDBSecurityGroupIngressResult']['DBSecurityGroup']
75
+ data = service.revoke_db_security_group_ingress(id, opts).body['RevokeDBSecurityGroupIngressResult']['DBSecurityGroup']
76
76
  merge_attributes(data)
77
77
  end
78
78
 
@@ -20,14 +20,14 @@ module Fog
20
20
 
21
21
  def all(filters = filters)
22
22
  self.filters = filters
23
- data = connection.describe_db_security_groups(filters).body['DescribeDBSecurityGroupsResult']['DBSecurityGroups']
23
+ data = service.describe_db_security_groups(filters).body['DescribeDBSecurityGroupsResult']['DBSecurityGroups']
24
24
  load(data) # data is an array of attribute hashes
25
25
  end
26
26
 
27
27
  # Example:
28
28
  # get('my_db_security_group') # => model for my_db_security_group
29
29
  def get(identity)
30
- data = connection.describe_db_security_groups(identity).body['DescribeDBSecurityGroupsResult']['DBSecurityGroups'].first
30
+ data = service.describe_db_security_groups(identity).body['DescribeDBSecurityGroupsResult']['DBSecurityGroups'].first
31
31
  new(data) # data is an attribute hash
32
32
  rescue Fog::AWS::RDS::NotFound
33
33
  nil
@@ -36,8 +36,8 @@ module Fog
36
36
  def create_read_replica(replica_id, options={})
37
37
  options[:security_group_names] ||= options['DBSecurityGroups']
38
38
  params = self.class.new(options).attributes_to_params
39
- connection.create_db_instance_read_replica(replica_id, id, params)
40
- connection.servers.get(replica_id)
39
+ service.create_db_instance_read_replica(replica_id, id, params)
40
+ service.servers.get(replica_id)
41
41
  end
42
42
 
43
43
  def ready?
@@ -46,42 +46,42 @@ module Fog
46
46
 
47
47
  def destroy(snapshot_identifier=nil)
48
48
  requires :id
49
- connection.delete_db_instance(id, snapshot_identifier, snapshot_identifier.nil?)
49
+ service.delete_db_instance(id, snapshot_identifier, snapshot_identifier.nil?)
50
50
  true
51
51
  end
52
52
 
53
53
  def reboot
54
- connection.reboot_db_instance(id)
54
+ service.reboot_db_instance(id)
55
55
  true
56
56
  end
57
57
 
58
58
  def snapshots
59
59
  requires :id
60
- connection.snapshots(:server => self)
60
+ service.snapshots(:server => self)
61
61
  end
62
62
 
63
63
  def tags
64
64
  requires :id
65
- connection.list_tags_for_resource(id).
65
+ service.list_tags_for_resource(id).
66
66
  body['ListTagsForResourceResult']['TagList']
67
67
  end
68
68
 
69
69
  def add_tags(new_tags)
70
70
  requires :id
71
- connection.add_tags_to_resource(id, new_tags)
71
+ service.add_tags_to_resource(id, new_tags)
72
72
  tags
73
73
  end
74
74
 
75
75
  def remove_tags(tag_keys)
76
76
  requires :id
77
- connection.remove_tags_from_resource(id, tag_keys)
77
+ service.remove_tags_from_resource(id, tag_keys)
78
78
  tags
79
79
  end
80
80
 
81
81
  def modify(immediately, options)
82
82
  options[:security_group_names] ||= options['DBSecurityGroups']
83
83
  params = self.class.new(options).attributes_to_params
84
- data = connection.modify_db_instance(id, immediately, params)
84
+ data = service.modify_db_instance(id, immediately, params)
85
85
  merge_attributes(data.body['ModifyDBInstanceResult']['DBInstance'])
86
86
  true
87
87
  end
@@ -94,7 +94,7 @@ module Fog
94
94
 
95
95
  self.flavor_id ||= 'db.m1.small'
96
96
 
97
- data = connection.create_db_instance(id, attributes_to_params)
97
+ data = service.create_db_instance(id, attributes_to_params)
98
98
  merge_attributes(data.body['CreateDBInstanceResult']['DBInstance'])
99
99
  true
100
100
  end
@@ -10,12 +10,12 @@ module Fog
10
10
  model Fog::AWS::RDS::Server
11
11
 
12
12
  def all
13
- data = connection.describe_db_instances.body['DescribeDBInstancesResult']['DBInstances']
13
+ data = service.describe_db_instances.body['DescribeDBInstancesResult']['DBInstances']
14
14
  load(data) # data is an array of attribute hashes
15
15
  end
16
16
 
17
17
  def get(identity)
18
- data = connection.describe_db_instances(identity).body['DescribeDBInstancesResult']['DBInstances'].first
18
+ data = service.describe_db_instances(identity).body['DescribeDBInstancesResult']['DBInstances'].first
19
19
  new(data) # data is an attribute hash
20
20
  rescue Fog::AWS::RDS::NotFound
21
21
  nil
@@ -24,4 +24,4 @@ module Fog
24
24
  end
25
25
  end
26
26
  end
27
- end
27
+ end
@@ -26,7 +26,7 @@ module Fog
26
26
  def destroy
27
27
  requires :id
28
28
 
29
- connection.delete_db_snapshot(id)
29
+ service.delete_db_snapshot(id)
30
30
  true
31
31
  end
32
32
 
@@ -34,14 +34,14 @@ module Fog
34
34
  requires :instance_id
35
35
  requires :id
36
36
 
37
- data = connection.create_db_snapshot(instance_id, id).body['CreateDBSnapshotResult']['DBSnapshot']
37
+ data = service.create_db_snapshot(instance_id, id).body['CreateDBSnapshotResult']['DBSnapshot']
38
38
  merge_attributes(data)
39
39
  true
40
40
  end
41
41
 
42
42
  def server
43
43
  requires :instance_id
44
- connection.servers.get(instance_id)
44
+ service.servers.get(instance_id)
45
45
  end
46
46
 
47
47
  end
@@ -23,12 +23,12 @@ module Fog
23
23
 
24
24
  def all(filters = filters)
25
25
  self.filters = filters
26
- data = connection.describe_db_snapshots(filters).body['DescribeDBSnapshotsResult']['DBSnapshots']
26
+ data = service.describe_db_snapshots(filters).body['DescribeDBSnapshotsResult']['DBSnapshots']
27
27
  load(data) # data is an array of attribute hashes
28
28
  end
29
29
 
30
30
  def get(identity)
31
- data = connection.describe_db_snapshots(:snapshot_id => identity).body['DescribeDBSnapshotsResult']['DBSnapshots'].first
31
+ data = service.describe_db_snapshots(:snapshot_id => identity).body['DescribeDBSnapshotsResult']['DBSnapshots'].first
32
32
  new(data) # data is an attribute hash
33
33
  rescue Fog::AWS::RDS::NotFound
34
34
  nil
@@ -45,4 +45,4 @@ module Fog
45
45
  end
46
46
  end
47
47
  end
48
- end
48
+ end
@@ -10,12 +10,12 @@ module Fog
10
10
  model Fog::AWS::RDS::SubnetGroup
11
11
 
12
12
  def all
13
- data = connection.describe_db_subnet_groups.body['DescribeDBSubnetGroupsResult']['DBSubnetGroups']
13
+ data = service.describe_db_subnet_groups.body['DescribeDBSubnetGroupsResult']['DBSubnetGroups']
14
14
  load(data) # data is an array of attribute hashes
15
15
  end
16
16
 
17
17
  def get(identity)
18
- data = connection.describe_db_subnet_groups(identity).body['DescribeDBSubnetGroupsResult']['DBSubnetGroups'].first
18
+ data = service.describe_db_subnet_groups(identity).body['DescribeDBSubnetGroupsResult']['DBSubnetGroups'].first
19
19
  new(data) # data is an attribute hash
20
20
  rescue Fog::AWS::RDS::NotFound
21
21
  nil
@@ -10,7 +10,7 @@ module Fog
10
10
  model Fog::Storage::AWS::Directory
11
11
 
12
12
  def all
13
- data = connection.get_service.body['Buckets']
13
+ data = service.get_service.body['Buckets']
14
14
  load(data)
15
15
  end
16
16
 
@@ -21,7 +21,7 @@ module Fog
21
21
  :max_keys => 'max-keys',
22
22
  :prefix => 'prefix'
23
23
  })
24
- data = connection.get_bucket(key, options).body
24
+ data = service.get_bucket(key, options).body
25
25
  directory = new(:key => data['Name'])
26
26
  options = {}
27
27
  for k, v in data
@@ -28,7 +28,7 @@ module Fog
28
28
 
29
29
  def destroy
30
30
  requires :key
31
- connection.delete_bucket(key)
31
+ service.delete_bucket(key)
32
32
  true
33
33
  rescue Excon::Errors::NotFound
34
34
  false
@@ -36,7 +36,7 @@ module Fog
36
36
 
37
37
  def location
38
38
  requires :key
39
- attributes[:location] || bucket_location || self.connection.region
39
+ attributes[:location] || bucket_location || self.service.region
40
40
  end
41
41
 
42
42
  def location=(new_location)
@@ -48,34 +48,34 @@ module Fog
48
48
  end
49
49
 
50
50
  def files
51
- @files ||= Fog::Storage::AWS::Files.new(:directory => self, :connection => connection)
51
+ @files ||= Fog::Storage::AWS::Files.new(:directory => self, :service => service)
52
52
  end
53
53
 
54
54
  def payer
55
55
  requires :key
56
- data = connection.get_request_payment(key)
56
+ data = service.get_request_payment(key)
57
57
  data.body['Payer']
58
58
  end
59
59
 
60
60
  def payer=(new_payer)
61
61
  requires :key
62
- connection.put_request_payment(key, new_payer)
62
+ service.put_request_payment(key, new_payer)
63
63
  @payer = new_payer
64
64
  end
65
65
 
66
66
  def versioning?
67
67
  requires :key
68
- data = connection.get_bucket_versioning(key)
68
+ data = service.get_bucket_versioning(key)
69
69
  data.body['VersioningConfiguration']['Status'] == 'Enabled'
70
70
  end
71
71
 
72
72
  def versioning=(new_versioning)
73
73
  requires :key
74
- connection.put_bucket_versioning(key, new_versioning ? 'Enabled' : 'Suspended')
74
+ service.put_bucket_versioning(key, new_versioning ? 'Enabled' : 'Suspended')
75
75
  end
76
76
 
77
77
  def versions
78
- @versions ||= Fog::Storage::AWS::Versions.new(:directory => self, :connection => connection)
78
+ @versions ||= Fog::Storage::AWS::Versions.new(:directory => self, :service => service)
79
79
  end
80
80
 
81
81
  def public=(new_public)
@@ -85,8 +85,8 @@ module Fog
85
85
 
86
86
  def public_url
87
87
  requires :key
88
- if connection.get_bucket_acl(key).body['AccessControlList'].detect {|grant| grant['Grantee']['URI'] == 'http://acs.amazonaws.com/groups/global/AllUsers' && grant['Permission'] == 'READ'}
89
- if key.to_s =~ /^(?:[a-z]|\d(?!\d{0,2}(?:\.\d{1,3}){3}$))(?:[a-z0-9]|\-(?![\.])){1,61}[a-z0-9]$/
88
+ if service.get_bucket_acl(key).body['AccessControlList'].detect {|grant| grant['Grantee']['URI'] == 'http://acs.amazonaws.com/groups/global/AllUsers' && grant['Permission'] == 'READ'}
89
+ if key.to_s =~ Fog::AWS::COMPLIANT_BUCKET_NAMES
90
90
  "https://#{key}.s3.amazonaws.com"
91
91
  else
92
92
  "https://s3.amazonaws.com/#{key}"
@@ -103,11 +103,11 @@ module Fog
103
103
 
104
104
  options['x-amz-acl'] = acl if acl
105
105
 
106
- if location = attributes[:location] || (self.connection.region != 'us-east-1' && self.connection.region)
106
+ if location = attributes[:location] || (self.service.region != 'us-east-1' && self.service.region)
107
107
  options['LocationConstraint'] = location
108
108
  end
109
109
 
110
- connection.put_bucket(key, options)
110
+ service.put_bucket(key, options)
111
111
 
112
112
  true
113
113
  end
@@ -115,7 +115,7 @@ module Fog
115
115
  private
116
116
 
117
117
  def bucket_location
118
- data = connection.get_bucket_location(key)
118
+ data = service.get_bucket_location(key)
119
119
  data.body['LocationConstraint']
120
120
  end
121
121
 
@@ -6,6 +6,7 @@ module Fog
6
6
  class AWS
7
7
 
8
8
  class File < Fog::Model
9
+ # @see AWS Object docs http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectOps.html
9
10
 
10
11
  identity :key, :aliases => 'Key'
11
12
 
@@ -25,11 +26,18 @@ module Fog
25
26
  attribute :encryption, :aliases => 'x-amz-server-side-encryption'
26
27
  attribute :version, :aliases => 'x-amz-version-id'
27
28
 
28
- # Chunk size to use for multipart uploads
29
- # Use small chunk sizes to minimize memory
30
- # E.g. 5242880 = 5mb
29
+ # @note Chunk size to use for multipart uploads.
30
+ # Use small chunk sizes to minimize memory. E.g. 5242880 = 5mb
31
31
  attr_accessor :multipart_chunk_size
32
32
 
33
+
34
+ # Set file's access control list (ACL).
35
+ #
36
+ # valid acls: private, public-read, public-read-write, authenticated-read
37
+ #
38
+ # @param [String] new_acl one of valid options
39
+ # @return [String] @acl
40
+ #
33
41
  def acl=(new_acl)
34
42
  valid_acls = ['private', 'public-read', 'public-read-write', 'authenticated-read']
35
43
  unless valid_acls.include?(new_acl)
@@ -38,6 +46,11 @@ module Fog
38
46
  @acl = new_acl
39
47
  end
40
48
 
49
+
50
+ # Get file's body if exists, else ' '.
51
+ #
52
+ # @return [File]
53
+ #
41
54
  def body
42
55
  attributes[:body] ||= if last_modified && (file = collection.get(identity))
43
56
  file.body
@@ -46,38 +59,71 @@ module Fog
46
59
  end
47
60
  end
48
61
 
62
+
63
+ # Set body attribute.
64
+ #
65
+ # @param [File] new_body
66
+ # @return [File] attributes[:body]
67
+ #
49
68
  def body=(new_body)
50
69
  attributes[:body] = new_body
51
70
  end
52
71
 
72
+
73
+ # Get the file instance's directory.
74
+ #
75
+ # @return [Fog::AWS::Storage::Directory]
76
+ #
53
77
  def directory
54
78
  @directory
55
79
  end
56
80
 
81
+
82
+ # Copy object from one bucket to other bucket.
83
+ #
84
+ # required attributes: directory, key
85
+ #
86
+ # @param target_directory_key [String]
87
+ # @param target_file_key [String]
88
+ # @param options [Hash] options for copy_object method
89
+ # @return [String] Fog::AWS::Files#head status of directory contents
90
+ #
57
91
  def copy(target_directory_key, target_file_key, options = {})
58
92
  requires :directory, :key
59
- connection.copy_object(directory.key, key, target_directory_key, target_file_key, options)
60
- target_directory = connection.directories.new(:key => target_directory_key)
93
+ service.copy_object(directory.key, key, target_directory_key, target_file_key, options)
94
+ target_directory = service.directories.new(:key => target_directory_key)
61
95
  target_directory.files.head(target_file_key)
62
96
  end
63
97
 
98
+
99
+ # Destroy file via http DELETE.
100
+ #
101
+ # required attributes: directory, key
102
+ #
103
+ # @param options [Hash]
104
+ # @option options versionId []
105
+ # @return [Boolean] true if successful
106
+ #
64
107
  def destroy(options = {})
65
108
  requires :directory, :key
66
109
  attributes[:body] = nil if options['versionId'] == version
67
- connection.delete_object(directory.key, key, options)
110
+ service.delete_object(directory.key, key, options)
68
111
  true
69
112
  end
70
113
 
114
+
71
115
  remove_method :metadata
72
116
  def metadata
73
117
  attributes.reject {|key, value| !(key.to_s =~ /^x-amz-/)}
74
118
  end
75
119
 
120
+
76
121
  remove_method :metadata=
77
122
  def metadata=(new_metadata)
78
123
  merge_attributes(new_metadata)
79
124
  end
80
125
 
126
+
81
127
  remove_method :owner=
82
128
  def owner=(new_owner)
83
129
  if new_owner
@@ -88,6 +134,14 @@ module Fog
88
134
  end
89
135
  end
90
136
 
137
+
138
+ # Set Access-Control-List permissions.
139
+ #
140
+ # valid new_publics: public_read, private
141
+ #
142
+ # @param [String] new_public
143
+ # @return [String] new_puplic
144
+ #
91
145
  def public=(new_public)
92
146
  if new_public
93
147
  @acl = 'public-read'
@@ -97,10 +151,19 @@ module Fog
97
151
  new_public
98
152
  end
99
153
 
154
+
155
+ # Get pubically acessible url via http GET.
156
+ # Checks persmissions before creating.
157
+ # Defaults to s3 subdomain or compliant bucket name
158
+ #
159
+ # required attributes: directory, key
160
+ #
161
+ # @return [String] public url
162
+ #
100
163
  def public_url
101
164
  requires :directory, :key
102
- if connection.get_object_acl(directory.key, key).body['AccessControlList'].detect {|grant| grant['Grantee']['URI'] == 'http://acs.amazonaws.com/groups/global/AllUsers' && grant['Permission'] == 'READ'}
103
- if directory.key.to_s =~ /^(?:[a-z]|\d(?!\d{0,2}(?:\.\d{1,3}){3}$))(?:[a-z0-9]|\-(?![\.])){1,61}[a-z0-9]$/
165
+ if service.get_object_acl(directory.key, key).body['AccessControlList'].detect {|grant| grant['Grantee']['URI'] == 'http://acs.amazonaws.com/groups/global/AllUsers' && grant['Permission'] == 'READ'}
166
+ if directory.key.to_s =~ Fog::AWS::COMPLIANT_BUCKET_NAMES
104
167
  "https://#{directory.key}.s3.amazonaws.com/#{Fog::AWS.escape(key)}".gsub('%2F','/')
105
168
  else
106
169
  "https://s3.amazonaws.com/#{directory.key}/#{Fog::AWS.escape(key)}".gsub('%2F','/')
@@ -110,6 +173,22 @@ module Fog
110
173
  end
111
174
  end
112
175
 
176
+ # Save file with body as contents to directory.key with name key via http PUT
177
+ #
178
+ # required attributes: body, directory, key
179
+ #
180
+ # @param [Hash] options
181
+ # @option options [String] acl sets x-amz-acl HTTP header. Valid values include, private | public-read | public-read-write | authenticated-read | bucket-owner-read | bucket-owner-full-control
182
+ # @option options [String] cache_controle sets Cache-Control header. For example, 'No-cache'
183
+ # @option options [String] content_disposition sets Content-Disposition HTTP header. For exampple, 'attachment; filename=testing.txt'
184
+ # @option options [String] content_encoding sets Content-Encoding HTTP header. For example, 'x-gzip'
185
+ # @option options [String] content_md5 sets Content-MD5. For example, '79054025255fb1a26e4bc422aef54eb4'
186
+ # @option options [String] content_type Content-Type. For example, 'text/plain'
187
+ # @option options [String] expires sets number of seconds before AWS Object expires.
188
+ # @option options [String] storage_class sets x-amz-storage-class HTTP header. Defaults to 'STANDARD'. Or, 'REDUCED_REDUNDANCY'
189
+ # @option options [String] encryption sets HTTP encryption header. Set to 'AES256' to encrypt files at rest on S3
190
+ # @return [Boolean] true if no errors
191
+ #
113
192
  def save(options = {})
114
193
  requires :body, :directory, :key
115
194
  if options != {}
@@ -130,7 +209,7 @@ module Fog
130
209
  data = multipart_save(options)
131
210
  merge_attributes(data.body)
132
211
  else
133
- data = connection.put_object(directory.key, key, body, options)
212
+ data = service.put_object(directory.key, key, body, options)
134
213
  merge_attributes(data.headers.reject {|key, value| ['Content-Length', 'Content-Type'].include?(key)})
135
214
  end
136
215
  self.etag.gsub!('"','')
@@ -139,16 +218,29 @@ module Fog
139
218
  true
140
219
  end
141
220
 
221
+
222
+ # Get a url for file.
223
+ #
224
+ # required attributes: key
225
+ #
226
+ # @param expires [String] number of seconds before url expires
227
+ # @param options [Hash]
228
+ # @return [String] url
229
+ #
142
230
  def url(expires, options = {})
143
231
  requires :key
144
232
  collection.get_url(key, expires, options)
145
233
  end
146
234
 
235
+
236
+ # File version if exists or creates new version.
237
+ # @return [Fog::Storage::AWS::Version]
238
+ #
147
239
  def versions
148
240
  @versions ||= begin
149
241
  Fog::Storage::AWS::Versions.new(
150
242
  :file => self,
151
- :connection => connection
243
+ :service => service
152
244
  )
153
245
  end
154
246
  end
@@ -161,7 +253,7 @@ module Fog
161
253
 
162
254
  def multipart_save(options)
163
255
  # Initiate the upload
164
- res = connection.initiate_multipart_upload(directory.key, key, options)
256
+ res = service.initiate_multipart_upload(directory.key, key, options)
165
257
  upload_id = res.body["UploadId"]
166
258
 
167
259
  # Store ETags of upload parts
@@ -174,17 +266,17 @@ module Fog
174
266
  body.rewind if body.respond_to?(:rewind)
175
267
  while (chunk = body.read(multipart_chunk_size)) do
176
268
  md5 = Base64.encode64(Digest::MD5.digest(chunk)).strip
177
- part_upload = connection.upload_part(directory.key, key, upload_id, part_tags.size + 1, chunk, 'Content-MD5' => md5 )
269
+ part_upload = service.upload_part(directory.key, key, upload_id, part_tags.size + 1, chunk, 'Content-MD5' => md5 )
178
270
  part_tags << part_upload.headers["ETag"]
179
271
  end
180
272
 
181
273
  rescue
182
274
  # Abort the upload & reraise
183
- connection.abort_multipart_upload(directory.key, key, upload_id) if upload_id
275
+ service.abort_multipart_upload(directory.key, key, upload_id) if upload_id
184
276
  raise
185
277
  else
186
278
  # Complete the upload
187
- connection.complete_multipart_upload(directory.key, key, upload_id, part_tags)
279
+ service.complete_multipart_upload(directory.key, key, upload_id, part_tags)
188
280
  end
189
281
 
190
282
  end