fog 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. data/Gemfile.lock +3 -11
  2. data/README.rdoc +21 -34
  3. data/bin/fog +1 -1
  4. data/examples/dns_tests.rb +2 -0
  5. data/examples/storage_tests.rb +2 -0
  6. data/fog.gemspec +3 -3
  7. data/lib/fog.rb +1 -1
  8. data/lib/fog/aws/requests/elb/create_load_balancer.rb +0 -9
  9. data/lib/fog/aws/requests/elb/delete_load_balancer.rb +0 -9
  10. data/lib/fog/aws/requests/elb/describe_instance_health.rb +0 -9
  11. data/lib/fog/aws/requests/elb/describe_load_balancers.rb +0 -8
  12. data/lib/fog/aws/requests/iam/add_user_to_group.rb +0 -8
  13. data/lib/fog/aws/requests/iam/create_access_key.rb +0 -8
  14. data/lib/fog/aws/requests/iam/create_group.rb +0 -8
  15. data/lib/fog/aws/requests/iam/create_user.rb +0 -8
  16. data/lib/fog/aws/requests/iam/delete_access_key.rb +0 -8
  17. data/lib/fog/aws/requests/iam/delete_group.rb +0 -8
  18. data/lib/fog/aws/requests/iam/delete_group_policy.rb +0 -8
  19. data/lib/fog/aws/requests/iam/delete_signing_certificate.rb +0 -8
  20. data/lib/fog/aws/requests/iam/delete_user.rb +0 -8
  21. data/lib/fog/aws/requests/iam/delete_user_policy.rb +0 -8
  22. data/lib/fog/aws/requests/iam/get_user.rb +0 -8
  23. data/lib/fog/aws/requests/iam/list_access_keys.rb +0 -8
  24. data/lib/fog/aws/requests/iam/list_group_policies.rb +0 -8
  25. data/lib/fog/aws/requests/iam/list_groups.rb +0 -8
  26. data/lib/fog/aws/requests/iam/list_groups_for_user.rb +0 -8
  27. data/lib/fog/aws/requests/iam/list_signing_certificates.rb +0 -8
  28. data/lib/fog/aws/requests/iam/list_user_policies.rb +0 -8
  29. data/lib/fog/aws/requests/iam/list_users.rb +0 -8
  30. data/lib/fog/aws/requests/iam/put_group_policy.rb +0 -8
  31. data/lib/fog/aws/requests/iam/put_user_policy.rb +0 -8
  32. data/lib/fog/aws/requests/iam/remove_user_from_group.rb +0 -8
  33. data/lib/fog/aws/requests/iam/update_access_key.rb +0 -8
  34. data/lib/fog/aws/requests/iam/upload_signing_certificate.rb +0 -8
  35. data/lib/fog/aws/requests/ses/delete_verified_email_address.rb +0 -9
  36. data/lib/fog/aws/requests/ses/get_send_quota.rb +0 -9
  37. data/lib/fog/aws/requests/ses/get_send_statistics.rb +0 -9
  38. data/lib/fog/aws/requests/ses/list_verified_email_addresses.rb +0 -9
  39. data/lib/fog/aws/requests/ses/send_email.rb +0 -9
  40. data/lib/fog/aws/requests/ses/send_raw_email.rb +0 -9
  41. data/lib/fog/aws/requests/ses/verify_email_address.rb +0 -9
  42. data/lib/fog/aws/requests/simpledb/select.rb +0 -8
  43. data/lib/fog/bin.rb +1 -15
  44. data/lib/fog/bin/aws.rb +4 -4
  45. data/lib/fog/bin/bluebox.rb +1 -1
  46. data/lib/fog/bin/brightbox.rb +5 -5
  47. data/lib/fog/bin/go_grid.rb +2 -2
  48. data/lib/fog/bin/google.rb +2 -2
  49. data/lib/fog/bin/linode.rb +2 -2
  50. data/lib/fog/bin/local.rb +2 -2
  51. data/lib/fog/bin/new_servers.rb +2 -2
  52. data/lib/fog/bin/rackspace.rb +2 -2
  53. data/lib/fog/bin/slicehost.rb +2 -2
  54. data/lib/fog/bin/terremark_ecloud.rb +1 -1
  55. data/lib/fog/bin/vcloud.rb +1 -1
  56. data/lib/fog/bin/zerigo.rb +2 -2
  57. data/lib/fog/cdn/requests/aws/delete_distribution.rb +0 -8
  58. data/lib/fog/cdn/requests/aws/get_distribution.rb +0 -8
  59. data/lib/fog/cdn/requests/aws/get_distribution_list.rb +0 -8
  60. data/lib/fog/cdn/requests/aws/post_distribution.rb +0 -8
  61. data/lib/fog/cdn/requests/aws/post_invalidation.rb +0 -8
  62. data/lib/fog/cdn/requests/aws/put_distribution_config.rb +0 -8
  63. data/lib/fog/cdn/requests/rackspace/get_containers.rb +0 -8
  64. data/lib/fog/cdn/requests/rackspace/head_container.rb +0 -8
  65. data/lib/fog/cdn/requests/rackspace/put_container.rb +0 -8
  66. data/lib/fog/compute/models/aws/server.rb +1 -1
  67. data/lib/fog/compute/models/bluebox/server.rb +1 -1
  68. data/lib/fog/compute/models/rackspace/server.rb +1 -1
  69. data/lib/fog/compute/models/slicehost/server.rb +1 -1
  70. data/lib/fog/compute/requests/aws/delete_tags.rb +1 -9
  71. data/lib/fog/compute/requests/aws/describe_reserved_instances.rb +0 -8
  72. data/lib/fog/compute/requests/aws/describe_reserved_instances_offerings.rb +0 -8
  73. data/lib/fog/compute/requests/aws/describe_tags.rb +0 -8
  74. data/lib/fog/compute/requests/aws/modify_image_attributes.rb +0 -8
  75. data/lib/fog/compute/requests/aws/modify_snapshot_attribute.rb +0 -8
  76. data/lib/fog/compute/requests/aws/start_instances.rb +0 -8
  77. data/lib/fog/compute/requests/aws/stop_instances.rb +0 -8
  78. data/lib/fog/compute/requests/bluebox/create_block.rb +0 -8
  79. data/lib/fog/compute/requests/bluebox/destroy_block.rb +0 -8
  80. data/lib/fog/compute/requests/bluebox/get_block.rb +0 -8
  81. data/lib/fog/compute/requests/bluebox/get_blocks.rb +0 -8
  82. data/lib/fog/compute/requests/bluebox/get_product.rb +0 -8
  83. data/lib/fog/compute/requests/bluebox/get_products.rb +0 -8
  84. data/lib/fog/compute/requests/bluebox/get_template.rb +0 -8
  85. data/lib/fog/compute/requests/bluebox/get_templates.rb +0 -8
  86. data/lib/fog/compute/requests/bluebox/reboot_block.rb +0 -8
  87. data/lib/fog/compute/requests/brightbox/add_nodes_load_balancer.rb +0 -8
  88. data/lib/fog/compute/requests/brightbox/create_api_client.rb +0 -8
  89. data/lib/fog/compute/requests/brightbox/create_cloud_ip.rb +0 -8
  90. data/lib/fog/compute/requests/brightbox/create_image.rb +0 -8
  91. data/lib/fog/compute/requests/brightbox/create_load_balancer.rb +0 -8
  92. data/lib/fog/compute/requests/brightbox/create_server.rb +0 -8
  93. data/lib/fog/compute/requests/brightbox/destroy_api_client.rb +0 -8
  94. data/lib/fog/compute/requests/brightbox/destroy_cloud_ip.rb +0 -8
  95. data/lib/fog/compute/requests/brightbox/destroy_image.rb +0 -8
  96. data/lib/fog/compute/requests/brightbox/destroy_load_balancer.rb +0 -8
  97. data/lib/fog/compute/requests/brightbox/destroy_server.rb +0 -8
  98. data/lib/fog/compute/requests/brightbox/get_account.rb +0 -8
  99. data/lib/fog/compute/requests/brightbox/get_api_client.rb +0 -8
  100. data/lib/fog/compute/requests/brightbox/get_cloud_ip.rb +0 -8
  101. data/lib/fog/compute/requests/brightbox/get_image.rb +0 -8
  102. data/lib/fog/compute/requests/brightbox/get_interface.rb +0 -8
  103. data/lib/fog/compute/requests/brightbox/get_load_balancer.rb +0 -8
  104. data/lib/fog/compute/requests/brightbox/get_server.rb +0 -8
  105. data/lib/fog/compute/requests/brightbox/get_server_type.rb +0 -8
  106. data/lib/fog/compute/requests/brightbox/get_user.rb +0 -8
  107. data/lib/fog/compute/requests/brightbox/get_zone.rb +0 -8
  108. data/lib/fog/compute/requests/brightbox/list_api_clients.rb +0 -8
  109. data/lib/fog/compute/requests/brightbox/list_cloud_ips.rb +0 -8
  110. data/lib/fog/compute/requests/brightbox/list_images.rb +0 -8
  111. data/lib/fog/compute/requests/brightbox/list_load_balancers.rb +0 -8
  112. data/lib/fog/compute/requests/brightbox/list_server_types.rb +0 -8
  113. data/lib/fog/compute/requests/brightbox/list_servers.rb +0 -8
  114. data/lib/fog/compute/requests/brightbox/list_users.rb +0 -8
  115. data/lib/fog/compute/requests/brightbox/list_zones.rb +0 -8
  116. data/lib/fog/compute/requests/brightbox/map_cloud_ip.rb +0 -8
  117. data/lib/fog/compute/requests/brightbox/remove_nodes_load_balancer.rb +0 -8
  118. data/lib/fog/compute/requests/brightbox/reset_ftp_password_account.rb +0 -8
  119. data/lib/fog/compute/requests/brightbox/resize_server.rb +0 -8
  120. data/lib/fog/compute/requests/brightbox/shutdown_server.rb +0 -8
  121. data/lib/fog/compute/requests/brightbox/snapshot_server.rb +0 -8
  122. data/lib/fog/compute/requests/brightbox/start_server.rb +0 -8
  123. data/lib/fog/compute/requests/brightbox/stop_server.rb +0 -8
  124. data/lib/fog/compute/requests/brightbox/unmap_cloud_ip.rb +0 -8
  125. data/lib/fog/compute/requests/brightbox/update_account.rb +0 -8
  126. data/lib/fog/compute/requests/brightbox/update_api_client.rb +0 -8
  127. data/lib/fog/compute/requests/brightbox/update_image.rb +0 -8
  128. data/lib/fog/compute/requests/brightbox/update_load_balancer.rb +0 -8
  129. data/lib/fog/compute/requests/brightbox/update_server.rb +0 -8
  130. data/lib/fog/compute/requests/brightbox/update_user.rb +0 -8
  131. data/lib/fog/compute/requests/go_grid/common_lookup_list.rb +0 -8
  132. data/lib/fog/compute/requests/go_grid/grid_ip_list.rb +0 -8
  133. data/lib/fog/compute/requests/go_grid/grid_loadbalancer_list.rb +0 -8
  134. data/lib/fog/compute/requests/go_grid/grid_server_add.rb +0 -8
  135. data/lib/fog/compute/requests/go_grid/grid_server_delete.rb +0 -8
  136. data/lib/fog/compute/requests/go_grid/grid_server_get.rb +0 -8
  137. data/lib/fog/compute/requests/go_grid/grid_server_list.rb +0 -8
  138. data/lib/fog/compute/requests/go_grid/grid_server_power.rb +0 -8
  139. data/lib/fog/compute/requests/go_grid/support_password_get.rb +2 -10
  140. data/lib/fog/compute/requests/go_grid/support_password_list.rb +0 -8
  141. data/lib/fog/compute/requests/linode/avail_datacenters.rb +0 -8
  142. data/lib/fog/compute/requests/linode/avail_distributions.rb +0 -8
  143. data/lib/fog/compute/requests/linode/avail_kernels.rb +0 -8
  144. data/lib/fog/compute/requests/linode/avail_linodeplans.rb +0 -8
  145. data/lib/fog/compute/requests/linode/avail_stackscripts.rb +0 -8
  146. data/lib/fog/compute/requests/linode/linode_create.rb +0 -8
  147. data/lib/fog/compute/requests/linode/linode_delete.rb +0 -8
  148. data/lib/fog/compute/requests/linode/linode_list.rb +0 -8
  149. data/lib/fog/compute/requests/linode/linode_reboot.rb +0 -8
  150. data/lib/fog/compute/requests/new_servers/add_server.rb +0 -8
  151. data/lib/fog/compute/requests/new_servers/cancel_server.rb +0 -8
  152. data/lib/fog/compute/requests/new_servers/get_server.rb +0 -8
  153. data/lib/fog/compute/requests/new_servers/list_images.rb +0 -8
  154. data/lib/fog/compute/requests/new_servers/list_plans.rb +0 -8
  155. data/lib/fog/compute/requests/new_servers/list_servers.rb +0 -8
  156. data/lib/fog/compute/requests/new_servers/reboot_server.rb +0 -8
  157. data/lib/fog/compute/requests/rackspace/get_image_details.rb +0 -8
  158. data/lib/fog/compute/requests/rackspace/server_action.rb +0 -8
  159. data/lib/fog/compute/requests/slicehost/create_slice.rb +0 -8
  160. data/lib/fog/compute/requests/slicehost/delete_slice.rb +0 -8
  161. data/lib/fog/compute/requests/slicehost/get_backups.rb +0 -8
  162. data/lib/fog/compute/requests/slicehost/get_flavor.rb +0 -8
  163. data/lib/fog/compute/requests/slicehost/get_flavors.rb +0 -8
  164. data/lib/fog/compute/requests/slicehost/get_image.rb +0 -8
  165. data/lib/fog/compute/requests/slicehost/get_images.rb +0 -8
  166. data/lib/fog/compute/requests/slicehost/get_slice.rb +0 -8
  167. data/lib/fog/compute/requests/slicehost/get_slices.rb +0 -8
  168. data/lib/fog/compute/requests/slicehost/reboot_slice.rb +0 -8
  169. data/lib/fog/compute/requests/terremark_ecloud/get_catalog.rb +0 -8
  170. data/lib/fog/compute/requests/terremark_ecloud/get_catalog_item.rb +0 -8
  171. data/lib/fog/compute/requests/terremark_ecloud/get_ip_addresses.rb +0 -8
  172. data/lib/fog/compute/requests/terremark_ecloud/get_network.rb +0 -8
  173. data/lib/fog/compute/requests/terremark_ecloud/get_organization.rb +0 -8
  174. data/lib/fog/compute/requests/terremark_ecloud/get_vdc.rb +0 -8
  175. data/lib/fog/compute/requests/terremark_ecloud/get_versions.rb +0 -8
  176. data/lib/fog/core/provider.rb +4 -0
  177. data/lib/fog/core/service.rb +17 -0
  178. data/lib/fog/dns/requests/aws/change_resource_record_sets.rb +0 -8
  179. data/lib/fog/dns/requests/aws/create_hosted_zone.rb +0 -9
  180. data/lib/fog/dns/requests/aws/delete_hosted_zone.rb +0 -9
  181. data/lib/fog/dns/requests/aws/get_change.rb +0 -9
  182. data/lib/fog/dns/requests/aws/get_hosted_zone.rb +0 -9
  183. data/lib/fog/dns/requests/aws/list_hosted_zones.rb +0 -9
  184. data/lib/fog/dns/requests/aws/list_resource_record_sets.rb +0 -8
  185. data/lib/fog/dns/requests/linode/domain_create.rb +0 -8
  186. data/lib/fog/dns/requests/linode/domain_delete.rb +0 -8
  187. data/lib/fog/dns/requests/linode/domain_list.rb +0 -8
  188. data/lib/fog/dns/requests/linode/domain_resource_create.rb +0 -8
  189. data/lib/fog/dns/requests/linode/domain_resource_delete.rb +0 -8
  190. data/lib/fog/dns/requests/linode/domain_resource_list.rb +0 -8
  191. data/lib/fog/dns/requests/linode/domain_resource_update.rb +0 -8
  192. data/lib/fog/dns/requests/linode/domain_update.rb +0 -8
  193. data/lib/fog/dns/requests/slicehost/create_record.rb +0 -8
  194. data/lib/fog/dns/requests/slicehost/create_zone.rb +0 -8
  195. data/lib/fog/dns/requests/slicehost/delete_record.rb +0 -8
  196. data/lib/fog/dns/requests/slicehost/delete_zone.rb +0 -8
  197. data/lib/fog/dns/requests/slicehost/get_record.rb +0 -8
  198. data/lib/fog/dns/requests/slicehost/get_records.rb +0 -8
  199. data/lib/fog/dns/requests/slicehost/get_zone.rb +0 -8
  200. data/lib/fog/dns/requests/slicehost/get_zones.rb +0 -8
  201. data/lib/fog/dns/requests/zerigo/count_hosts.rb +0 -8
  202. data/lib/fog/dns/requests/zerigo/count_zones.rb +0 -8
  203. data/lib/fog/dns/requests/zerigo/create_host.rb +0 -8
  204. data/lib/fog/dns/requests/zerigo/create_zone.rb +0 -8
  205. data/lib/fog/dns/requests/zerigo/delete_host.rb +0 -8
  206. data/lib/fog/dns/requests/zerigo/delete_zone.rb +0 -8
  207. data/lib/fog/dns/requests/zerigo/find_hosts.rb +0 -8
  208. data/lib/fog/dns/requests/zerigo/get_host.rb +0 -8
  209. data/lib/fog/dns/requests/zerigo/get_zone.rb +0 -8
  210. data/lib/fog/dns/requests/zerigo/get_zone_stats.rb +0 -8
  211. data/lib/fog/dns/requests/zerigo/list_hosts.rb +0 -8
  212. data/lib/fog/dns/requests/zerigo/list_zones.rb +0 -8
  213. data/lib/fog/dns/requests/zerigo/update_host.rb +0 -8
  214. data/lib/fog/dns/requests/zerigo/update_zone.rb +0 -8
  215. data/lib/fog/providers.rb +8 -0
  216. data/lib/fog/storage/aws.rb +21 -21
  217. data/lib/fog/storage/google.rb +12 -11
  218. data/lib/fog/storage/requests/aws/abort_multipart_upload.rb +0 -8
  219. data/lib/fog/storage/requests/aws/complete_multipart_upload.rb +0 -8
  220. data/lib/fog/storage/requests/aws/copy_object.rb +2 -1
  221. data/lib/fog/storage/requests/aws/get_bucket.rb +3 -3
  222. data/lib/fog/storage/requests/aws/get_bucket_logging.rb +0 -8
  223. data/lib/fog/storage/requests/aws/get_bucket_object_versions.rb +0 -8
  224. data/lib/fog/storage/requests/aws/get_bucket_versioning.rb +0 -8
  225. data/lib/fog/storage/requests/aws/get_object.rb +8 -8
  226. data/lib/fog/storage/requests/aws/get_object_torrent.rb +0 -8
  227. data/lib/fog/storage/requests/aws/initiate_multipart_upload.rb +0 -8
  228. data/lib/fog/storage/requests/aws/list_multipart_uploads.rb +0 -8
  229. data/lib/fog/storage/requests/aws/list_parts.rb +0 -8
  230. data/lib/fog/storage/requests/aws/post_object_hidden_fields.rb +0 -8
  231. data/lib/fog/storage/requests/aws/put_bucket_acl.rb +0 -8
  232. data/lib/fog/storage/requests/aws/put_bucket_logging.rb +0 -8
  233. data/lib/fog/storage/requests/aws/put_bucket_versioning.rb +0 -8
  234. data/lib/fog/storage/requests/aws/put_object.rb +18 -9
  235. data/lib/fog/storage/requests/aws/put_object_acl.rb +0 -8
  236. data/lib/fog/storage/requests/aws/upload_part.rb +0 -8
  237. data/lib/fog/storage/requests/google/copy_object.rb +1 -1
  238. data/lib/fog/storage/requests/google/get_bucket.rb +3 -3
  239. data/lib/fog/storage/requests/google/get_object.rb +8 -8
  240. data/lib/fog/storage/requests/google/get_object_torrent.rb +0 -8
  241. data/lib/fog/storage/requests/google/put_bucket_acl.rb +0 -8
  242. data/lib/fog/storage/requests/google/put_object.rb +17 -9
  243. data/lib/fog/storage/requests/rackspace/delete_container.rb +0 -8
  244. data/lib/fog/storage/requests/rackspace/delete_object.rb +0 -8
  245. data/lib/fog/storage/requests/rackspace/get_container.rb +0 -8
  246. data/lib/fog/storage/requests/rackspace/get_containers.rb +0 -8
  247. data/lib/fog/storage/requests/rackspace/get_object.rb +0 -8
  248. data/lib/fog/storage/requests/rackspace/head_container.rb +0 -8
  249. data/lib/fog/storage/requests/rackspace/head_containers.rb +0 -8
  250. data/lib/fog/storage/requests/rackspace/head_object.rb +0 -8
  251. data/lib/fog/storage/requests/rackspace/put_container.rb +0 -8
  252. data/lib/fog/storage/requests/rackspace/put_object.rb +0 -8
  253. data/lib/fog/terremark/requests/shared/add_internet_service.rb +0 -8
  254. data/lib/fog/terremark/requests/shared/add_node_service.rb +0 -8
  255. data/lib/fog/terremark/requests/shared/create_internet_service.rb +0 -8
  256. data/lib/fog/terremark/requests/shared/delete_internet_service.rb +0 -8
  257. data/lib/fog/terremark/requests/shared/delete_node_service.rb +0 -8
  258. data/lib/fog/terremark/requests/shared/delete_public_ip.rb +0 -8
  259. data/lib/fog/terremark/requests/shared/delete_vapp.rb +0 -8
  260. data/lib/fog/terremark/requests/shared/deploy_vapp.rb +0 -8
  261. data/lib/fog/terremark/requests/shared/get_catalog.rb +0 -8
  262. data/lib/fog/terremark/requests/shared/get_catalog_item.rb +0 -8
  263. data/lib/fog/terremark/requests/shared/get_internet_services.rb +0 -8
  264. data/lib/fog/terremark/requests/shared/get_network_ips.rb +0 -8
  265. data/lib/fog/terremark/requests/shared/get_node_services.rb +0 -8
  266. data/lib/fog/terremark/requests/shared/get_public_ip.rb +0 -8
  267. data/lib/fog/terremark/requests/shared/get_task.rb +0 -8
  268. data/lib/fog/terremark/requests/shared/get_tasks_list.rb +0 -7
  269. data/lib/fog/terremark/requests/shared/get_vapp.rb +0 -8
  270. data/lib/fog/terremark/requests/shared/get_vapp_template.rb +0 -8
  271. data/lib/fog/terremark/requests/shared/instantiate_vapp_template.rb +0 -8
  272. data/lib/fog/terremark/requests/shared/power_off.rb +0 -8
  273. data/lib/fog/terremark/requests/shared/power_on.rb +0 -8
  274. data/lib/fog/terremark/requests/shared/power_reset.rb +0 -8
  275. data/lib/fog/terremark/requests/shared/power_shutdown.rb +0 -8
  276. data/lib/fog/vcloud/terremark/ecloud/requests/clone_vapp.rb +0 -8
  277. data/lib/fog/vcloud/terremark/ecloud/requests/configure_network.rb +0 -7
  278. data/lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acl.rb +0 -5
  279. data/lib/fog/vcloud/terremark/ecloud/requests/get_firewall_acls.rb +0 -5
  280. data/lib/fog/vcloud/terremark/ecloud/requests/get_task.rb +0 -5
  281. data/lib/fog/vcloud/terremark/ecloud/requests/get_task_list.rb +0 -5
  282. data/lib/fog/vcloud/terremark/ecloud/requests/get_vapp_template.rb +0 -5
  283. data/lib/fog/vcloud/terremark/ecloud/requests/power_reset.rb +0 -5
  284. data/lib/fog/vcloud/terremark/ecloud/requests/power_shutdown.rb +0 -5
  285. data/tests/helper.rb +2 -2
  286. data/tests/helpers/mock_helper.rb +1 -0
  287. metadata +42 -42
@@ -209,17 +209,6 @@ module Fog
209
209
  @connection.reset
210
210
  end
211
211
 
212
- private
213
-
214
- def request(params, &block)
215
- params[:headers]['Date'] = Fog::Time.now.to_date_header
216
- params[:headers]['Authorization'] = "GOOG1 #{@google_storage_access_key_id}:#{signature(params)}"
217
-
218
- response = @connection.request(params, &block)
219
-
220
- response
221
- end
222
-
223
212
  def signature(params)
224
213
  string_to_sign =
225
214
  <<-DATA
@@ -271,6 +260,18 @@ DATA
271
260
  signed_string = @hmac.sign(string_to_sign)
272
261
  signature = Base64.encode64(signed_string).chomp!
273
262
  end
263
+
264
+
265
+ private
266
+
267
+ def request(params, &block)
268
+ params[:headers]['Date'] = Fog::Time.now.to_date_header
269
+ params[:headers]['Authorization'] = "GOOG1 #{@google_storage_access_key_id}:#{signature(params)}"
270
+
271
+ response = @connection.request(params, &block)
272
+
273
+ response
274
+ end
274
275
  end
275
276
  end
276
277
  end
@@ -25,14 +25,6 @@ module Fog
25
25
  end
26
26
 
27
27
  end # Real
28
-
29
- class Mock # :nodoc:all
30
-
31
- def abort_multipart_upload(bucket_name, object_name, upload_id)
32
- Fog::Mock.not_implemented
33
- end
34
-
35
- end # Mock
36
28
  end # Storage
37
29
  end # AWS
38
30
  end # Fog
@@ -47,14 +47,6 @@ module Fog
47
47
  end
48
48
 
49
49
  end # Real
50
-
51
- class Mock # :nodoc:all
52
-
53
- def complete_multipart_upload(bucket_name, object_name, upload_id, parts)
54
- Fog::Mock.not_implemented
55
- end
56
-
57
- end # Mock
58
50
  end # Storage
59
51
  end # AWS
60
52
  end # Fog
@@ -18,6 +18,7 @@ module Fog
18
18
  # * 'x-amz-copy_source-if-modified_since'<~Time> - Copies object it it has been modified since this time
19
19
  # * 'x-amz-copy_source-if-none-match'<~String> - Copies object if its etag does not match this value
20
20
  # * 'x-amz-copy_source-if-unmodified-since'<~Time> - Copies object it it has not been modified since this time
21
+ # * 'x-amz-storage-class'<~String> - Default is 'STANDARD', set to 'REDUCED_REDUNDANCY' for non-critical, reproducable data
21
22
  #
22
23
  # ==== Returns
23
24
  # * response<~Excon::Response>:
@@ -59,7 +60,7 @@ module Fog
59
60
  target_bucket[:objects][target_object_name] = target_object
60
61
  response.body = {
61
62
  'ETag' => target_object['ETag'],
62
- 'LastModified' => Time.parse(target_object['LastModified'])
63
+ 'LastModified' => Time.parse(target_object['Last-Modified'])
63
64
  }
64
65
  else
65
66
  response.status = 404
@@ -72,11 +72,11 @@ module Fog
72
72
  (options['prefix'] && object['Key'][0...options['prefix'].length] != options['prefix']) ||
73
73
  (options['marker'] && object['Key'] <= options['marker'])
74
74
  end.map do |object|
75
- data = object.reject {|key, value| !['ETag', 'Key', 'LastModified', 'Size', 'StorageClass'].include?(key)}
75
+ data = object.reject {|key, value| !['ETag', 'Key', 'StorageClass'].include?(key)}
76
76
  data.merge!({
77
- 'LastModified' => Time.parse(data['LastModified']),
77
+ 'LastModified' => Time.parse(object['Last-Modified']),
78
78
  'Owner' => bucket['Owner'],
79
- 'Size' => data['Size'].to_i
79
+ 'Size' => object['Content-Length'].to_i
80
80
  })
81
81
  data
82
82
  end
@@ -45,14 +45,6 @@ module Fog
45
45
  end
46
46
 
47
47
  end
48
-
49
- class Mock # :nodoc:all
50
-
51
- def get_bucket_logging(bucket_name)
52
- Fog::Mock.not_implemented
53
- end
54
-
55
- end
56
48
  end
57
49
  end
58
50
  end
@@ -70,14 +70,6 @@ module Fog
70
70
  end
71
71
 
72
72
  end
73
-
74
- class Mock # :nodoc:all
75
-
76
- def get_bucket_object_versions(bucket_name, options = {})
77
- Fog::Mock.not_implemented
78
- end
79
-
80
- end
81
73
  end
82
74
  end
83
75
  end
@@ -35,14 +35,6 @@ module Fog
35
35
  end
36
36
 
37
37
  end
38
-
39
- class Mock # :nodoc:all
40
-
41
- def get_bucket_versioning(bucket_name)
42
- Fog::Mock.not_implemented
43
- end
44
-
45
- end
46
38
  end
47
39
  end
48
40
  end
@@ -68,20 +68,20 @@ module Fog
68
68
  if (bucket = @data[:buckets][bucket_name]) && (object = bucket[:objects][object_name])
69
69
  if options['If-Match'] && options['If-Match'] != object['ETag']
70
70
  response.status = 412
71
- elsif options['If-Modified-Since'] && options['If-Modified-Since'] > Time.parse(object['LastModified'])
71
+ elsif options['If-Modified-Since'] && options['If-Modified-Since'] > Time.parse(object['Last-Modified'])
72
72
  response.status = 304
73
73
  elsif options['If-None-Match'] && options['If-None-Match'] == object['ETag']
74
74
  response.status = 304
75
- elsif options['If-Unmodified-Since'] && options['If-Unmodified-Since'] < Time.parse(object['LastModified'])
75
+ elsif options['If-Unmodified-Since'] && options['If-Unmodified-Since'] < Time.parse(object['Last-Modified'])
76
76
  response.status = 412
77
77
  else
78
78
  response.status = 200
79
- response.headers = {
80
- 'Content-Length' => object['Size'],
81
- 'Content-Type' => object['Content-Type'],
82
- 'ETag' => object['ETag'],
83
- 'Last-Modified' => object['LastModified']
84
- }
79
+ for key, value in object
80
+ case key
81
+ when 'Cache-Control', 'Content-Disposition', 'Content-Encoding', 'Content-Length', 'Content-MD5', 'Content-Type', 'ETag', 'Expires', 'Last-Modified', /^x-amz-meta-/
82
+ response.headers[key] = value
83
+ end
84
+ end
85
85
  unless block_given?
86
86
  response.body = object[:body]
87
87
  else
@@ -45,14 +45,6 @@ module Fog
45
45
  end
46
46
 
47
47
  end
48
-
49
- class Mock # :nodoc:all
50
-
51
- def get_object_object(bucket_name, object_name)
52
- Fog::Mock.not_implemented
53
- end
54
-
55
- end
56
48
  end
57
49
  end
58
50
  end
@@ -42,14 +42,6 @@ module Fog
42
42
  end
43
43
 
44
44
  end # Real
45
-
46
- class Mock # :nodoc:all
47
-
48
- def initiate_multipart_upload(bucket_name, object_name, options = {})
49
- Fog::Mock.not_implemented
50
- end
51
-
52
- end # Mock
53
45
  end # Storage
54
46
  end # AWS
55
47
  end # Fog
@@ -55,14 +55,6 @@ module Fog
55
55
  end
56
56
 
57
57
  end
58
-
59
- class Mock # :nodoc:all
60
-
61
- def list_multipart_uploads(bucket_name, options = {})
62
- Fog::Mock.not_implemented
63
- end
64
-
65
- end
66
58
  end
67
59
  end
68
60
  end
@@ -54,14 +54,6 @@ module Fog
54
54
  end
55
55
 
56
56
  end
57
-
58
- class Mock # :nodoc:all
59
-
60
- def list_parts(bucket_name, object_name, upload_id, options = {})
61
- Fog::Mock.not_implemented
62
- end
63
-
64
- end
65
57
  end
66
58
  end
67
59
  end
@@ -37,14 +37,6 @@ module Fog
37
37
  end
38
38
 
39
39
  end
40
-
41
- class Mock # :nodoc:all
42
-
43
- def post_object_hidden_fields(options = {})
44
- Fog::Mock.not_implemented
45
- end
46
-
47
- end
48
40
  end
49
41
  end
50
42
  end
@@ -71,14 +71,6 @@ DATA
71
71
  end
72
72
 
73
73
  end
74
-
75
- class Mock # :nodoc:all
76
-
77
- def put_bucket_acl(bucket_name, acl)
78
- Fog::Mock.not_implemented
79
- end
80
-
81
- end
82
74
  end
83
75
  end
84
76
  end
@@ -78,14 +78,6 @@ DATA
78
78
  end
79
79
 
80
80
  end
81
-
82
- class Mock # :nodoc:all
83
-
84
- def put_bucket_logging(bucket_name, logging_status)
85
- Fog::Mock.not_implemented
86
- end
87
-
88
- end
89
81
  end
90
82
  end
91
83
  end
@@ -31,14 +31,6 @@ DATA
31
31
  end
32
32
 
33
33
  end
34
-
35
- class Mock # :nodoc:all
36
-
37
- def put_bucket_versioning(bucket_name, status)
38
- Fog::Mock.not_implemented
39
- end
40
-
41
- end
42
34
  end
43
35
  end
44
36
  end
@@ -18,6 +18,7 @@ module Fog
18
18
  # * 'Content-Type'<~String> - Standard MIME type describing contents (defaults to MIME::Types.of.first)
19
19
  # * 'Expires'<~String> - Cache expiry
20
20
  # * 'x-amz-acl'<~String> - Permissions, must be in ['private', 'public-read', 'public-read-write', 'authenticated-read']
21
+ # * 'x-amz-storage-class'<~String> - Default is 'STANDARD', set to 'REDUCED_REDUNDANCY' for non-critical, reproducable data
21
22
  # * "x-amz-meta-#{name}" - Headers to be returned with object, note total size of request without body must be less than 8 KB.
22
23
  #
23
24
  # ==== Returns
@@ -63,20 +64,28 @@ module Fog
63
64
  if (bucket = @data[:buckets][bucket_name])
64
65
  response.status = 200
65
66
  object = {
66
- :body => data[:body],
67
- 'Content-Type' => data[:headers]['Content-Type'],
68
- 'ETag' => Fog::AWS::Mock.etag,
69
- 'Key' => object_name,
70
- 'LastModified' => Fog::Time.now.to_date_header,
71
- 'Size' => data[:headers]['Content-Length'],
72
- 'StorageClass' => 'STANDARD'
67
+ :body => data[:body],
68
+ 'Content-Type' => options['Content-Type'] || data[:headers]['Content-Type'],
69
+ 'ETag' => Fog::AWS::Mock.etag,
70
+ 'Key' => object_name,
71
+ 'Last-Modified' => Fog::Time.now.to_date_header,
72
+ 'Content-Length' => options['Content-Length'] || data[:headers]['Content-Length'],
73
+ 'StorageClass' => options['x-amz-storage-class'] || 'STANDARD'
73
74
  }
75
+
76
+ for key, value in options
77
+ case key
78
+ when 'Cache-Control', 'Content-Disposition', 'Content-Encoding', 'Content-MD5', 'Expires', /^x-amz-meta-/
79
+ object[key] = value
80
+ end
81
+ end
82
+
74
83
  bucket[:objects][object_name] = object
75
84
  response.headers = {
76
- 'Content-Length' => object['Size'],
85
+ 'Content-Length' => object['Content-Length'],
77
86
  'Content-Type' => object['Content-Type'],
78
87
  'ETag' => object['ETag'],
79
- 'Last-Modified' => object['LastModified']
88
+ 'Last-Modified' => object['Last-Modified']
80
89
  }
81
90
  else
82
91
  response.status = 404
@@ -80,14 +80,6 @@ DATA
80
80
  end
81
81
 
82
82
  end
83
-
84
- class Mock # :nodoc:all
85
-
86
- def put_object_acl(bucket_name, object_name, options, acl)
87
- Fog::Mock.not_implemented
88
- end
89
-
90
- end
91
83
  end
92
84
  end
93
85
  end
@@ -38,14 +38,6 @@ module Fog
38
38
  end
39
39
 
40
40
  end # Real
41
-
42
- class Mock # :nodoc:all
43
-
44
- def upload_part(bucket_name, object_name, upload_id, part_number, data, options = {})
45
- Fog::Mock.not_implemented
46
- end
47
-
48
- end # Mock
49
41
  end # Storage
50
42
  end # AWS
51
43
  end # Fog
@@ -56,7 +56,7 @@ module Fog
56
56
  target_bucket[:objects][target_object_name] = target_object
57
57
  response.body = {
58
58
  'ETag' => target_object['ETag'],
59
- 'LastModified' => Time.parse(target_object['LastModified'])
59
+ 'LastModified' => Time.parse(target_object['Last-Modified'])
60
60
  }
61
61
  else
62
62
  response.status = 404
@@ -69,11 +69,11 @@ module Fog
69
69
  (options['prefix'] && object['Key'][0...options['prefix'].length] != options['prefix']) ||
70
70
  (options['marker'] && object['Key'] <= options['marker'])
71
71
  end.map do |object|
72
- data = object.reject {|key, value| !['ETag', 'Key', 'LastModified', 'Size', 'StorageClass'].include?(key)}
72
+ data = object.reject {|key, value| !['ETag', 'Key', 'StorageClass'].include?(key)}
73
73
  data.merge!({
74
- 'LastModified' => Time.parse(data['LastModified']),
74
+ 'LastModified' => Time.parse(object['Last-Modified']),
75
75
  'Owner' => bucket['Owner'],
76
- 'Size' => data['Size'].to_i
76
+ 'Size' => object['Content-Length'].to_i
77
77
  })
78
78
  data
79
79
  end
@@ -65,20 +65,20 @@ module Fog
65
65
  if (bucket = @data[:buckets][bucket_name]) && (object = bucket[:objects][object_name])
66
66
  if options['If-Match'] && options['If-Match'] != object['ETag']
67
67
  response.status = 412
68
- elsif options['If-Modified-Since'] && options['If-Modified-Since'] > Time.parse(object['LastModified'])
68
+ elsif options['If-Modified-Since'] && options['If-Modified-Since'] > Time.parse(object['Last-Modified'])
69
69
  response.status = 304
70
70
  elsif options['If-None-Match'] && options['If-None-Match'] == object['ETag']
71
71
  response.status = 304
72
- elsif options['If-Unmodified-Since'] && options['If-Unmodified-Since'] < Time.parse(object['LastModified'])
72
+ elsif options['If-Unmodified-Since'] && options['If-Unmodified-Since'] < Time.parse(object['Last-Modified'])
73
73
  response.status = 412
74
74
  else
75
75
  response.status = 200
76
- response.headers = {
77
- 'Content-Length' => object['Size'],
78
- 'Content-Type' => object['Content-Type'],
79
- 'ETag' => object['ETag'],
80
- 'Last-Modified' => object['LastModified']
81
- }
76
+ for key, value in object
77
+ case key
78
+ when 'Cache-Control', 'Content-Disposition', 'Content-Encoding', 'Content-Length', 'Content-MD5', 'Content-Type', 'ETag', 'Expires', 'Last-Modified', /^x-goog-meta-/
79
+ response.headers[key] = value
80
+ end
81
+ end
82
82
  unless block_given?
83
83
  response.body = object[:body]
84
84
  else
@@ -42,14 +42,6 @@ module Fog
42
42
  end
43
43
 
44
44
  end
45
-
46
- class Mock
47
-
48
- def get_object_object(bucket_name, object_name)
49
- Fog::Mock.not_implemented
50
- end
51
-
52
- end
53
45
  end
54
46
  end
55
47
  end