aws-sdk 1.8.0 → 1.8.1

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 (521) hide show
  1. data/LICENSE.txt +1 -1
  2. data/lib/aws-sdk.rb +3 -1
  3. data/lib/aws.rb +1 -1
  4. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +31 -2
  5. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +16 -8
  6. data/lib/aws/api_config/CloudFront-2012-05-05.yml +1 -1
  7. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +1 -1
  8. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +1 -1
  9. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +1 -1
  10. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +1 -1
  11. data/lib/aws/api_config/{EC2-2012-07-20.yml → EC2-2012-12-01.yml} +26 -2
  12. data/lib/aws/api_config/ELB-2012-06-01.yml +1 -1
  13. data/lib/aws/api_config/EMR-2009-03-31.yml +1 -1
  14. data/lib/aws/api_config/ElastiCache-2012-03-09.yml +1 -1
  15. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +1 -1
  16. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +1036 -0
  17. data/lib/aws/api_config/Glacier-2012-06-01.yml +7 -11
  18. data/lib/aws/api_config/IAM-2010-05-08.yml +1 -1
  19. data/lib/aws/api_config/ImportExport-2010-06-01.yml +1 -1
  20. data/lib/aws/api_config/{RDS-2012-07-31.yml → RDS-2012-09-17.yml} +247 -7
  21. data/lib/aws/api_config/Route53-2012-02-29.yml +1 -1
  22. data/lib/aws/api_config/SNS-2010-03-31.yml +1 -1
  23. data/lib/aws/api_config/SQS-2012-11-05.yml +1 -1
  24. data/lib/aws/api_config/STS-2011-06-15.yml +1 -1
  25. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +1 -1
  26. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +1 -1
  27. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +1 -1
  28. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +1 -1
  29. data/lib/aws/auto_scaling.rb +1 -1
  30. data/lib/aws/auto_scaling/activity.rb +1 -1
  31. data/lib/aws/auto_scaling/activity_collection.rb +1 -1
  32. data/lib/aws/auto_scaling/client.rb +19 -6
  33. data/lib/aws/auto_scaling/config.rb +1 -1
  34. data/lib/aws/auto_scaling/errors.rb +1 -1
  35. data/lib/aws/auto_scaling/group.rb +2 -2
  36. data/lib/aws/auto_scaling/group_collection.rb +1 -1
  37. data/lib/aws/auto_scaling/group_options.rb +1 -1
  38. data/lib/aws/auto_scaling/instance.rb +1 -1
  39. data/lib/aws/auto_scaling/instance_collection.rb +1 -1
  40. data/lib/aws/auto_scaling/launch_configuration.rb +1 -1
  41. data/lib/aws/auto_scaling/launch_configuration_collection.rb +2 -2
  42. data/lib/aws/auto_scaling/notification_configuration.rb +1 -1
  43. data/lib/aws/auto_scaling/notification_configuration_collection.rb +1 -1
  44. data/lib/aws/auto_scaling/request.rb +1 -1
  45. data/lib/aws/auto_scaling/scaling_policy.rb +1 -1
  46. data/lib/aws/auto_scaling/scaling_policy_collection.rb +1 -1
  47. data/lib/aws/auto_scaling/scaling_policy_options.rb +1 -1
  48. data/lib/aws/auto_scaling/scheduled_action.rb +1 -1
  49. data/lib/aws/auto_scaling/scheduled_action_collection.rb +1 -1
  50. data/lib/aws/auto_scaling/tag.rb +1 -1
  51. data/lib/aws/auto_scaling/tag_collection.rb +1 -1
  52. data/lib/aws/cloud_formation.rb +1 -1
  53. data/lib/aws/cloud_formation/client.rb +154 -52
  54. data/lib/aws/cloud_formation/config.rb +1 -1
  55. data/lib/aws/cloud_formation/errors.rb +1 -1
  56. data/lib/aws/cloud_formation/request.rb +1 -1
  57. data/lib/aws/cloud_formation/stack.rb +1 -2
  58. data/lib/aws/cloud_formation/stack_collection.rb +7 -4
  59. data/lib/aws/cloud_formation/stack_event.rb +1 -1
  60. data/lib/aws/cloud_formation/stack_event_collection.rb +1 -1
  61. data/lib/aws/cloud_formation/stack_options.rb +1 -1
  62. data/lib/aws/cloud_formation/stack_output.rb +1 -1
  63. data/lib/aws/cloud_formation/stack_resource.rb +1 -1
  64. data/lib/aws/cloud_formation/stack_resource_collection.rb +1 -1
  65. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +1 -1
  66. data/lib/aws/cloud_formation/stack_summary_collection.rb +1 -1
  67. data/lib/aws/cloud_front.rb +2 -2
  68. data/lib/aws/cloud_front/client.rb +5 -5
  69. data/lib/aws/cloud_front/config.rb +1 -1
  70. data/lib/aws/cloud_front/errors.rb +1 -1
  71. data/lib/aws/cloud_front/request.rb +1 -1
  72. data/lib/aws/cloud_search.rb +42 -1
  73. data/lib/aws/cloud_search/client.rb +5 -5
  74. data/lib/aws/cloud_search/config.rb +1 -1
  75. data/lib/aws/cloud_search/errors.rb +1 -1
  76. data/lib/aws/cloud_search/request.rb +1 -1
  77. data/lib/aws/cloud_watch.rb +43 -1
  78. data/lib/aws/cloud_watch/alarm.rb +1 -1
  79. data/lib/aws/cloud_watch/alarm_collection.rb +1 -1
  80. data/lib/aws/cloud_watch/alarm_history_item.rb +1 -1
  81. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +1 -1
  82. data/lib/aws/cloud_watch/client.rb +5 -5
  83. data/lib/aws/cloud_watch/config.rb +1 -1
  84. data/lib/aws/cloud_watch/errors.rb +1 -1
  85. data/lib/aws/cloud_watch/metric.rb +1 -1
  86. data/lib/aws/cloud_watch/metric_alarm_collection.rb +1 -1
  87. data/lib/aws/cloud_watch/metric_collection.rb +1 -1
  88. data/lib/aws/cloud_watch/metric_statistics.rb +1 -1
  89. data/lib/aws/cloud_watch/request.rb +1 -1
  90. data/lib/aws/core.rb +6 -10
  91. data/lib/aws/core/async_handle.rb +1 -1
  92. data/lib/aws/core/autoloader.rb +1 -1
  93. data/lib/aws/core/cacheable.rb +1 -1
  94. data/lib/aws/core/client.rb +2 -2
  95. data/lib/aws/core/collection.rb +1 -1
  96. data/lib/aws/core/collection/simple.rb +1 -1
  97. data/lib/aws/core/collection/with_limit_and_next_token.rb +1 -1
  98. data/lib/aws/core/collection/with_next_token.rb +1 -1
  99. data/lib/aws/core/configuration.rb +5 -2
  100. data/lib/aws/core/credential_providers.rb +23 -4
  101. data/lib/aws/core/data.rb +1 -1
  102. data/lib/aws/core/http/curb_handler.rb +1 -1
  103. data/lib/aws/core/http/handler.rb +1 -1
  104. data/lib/aws/core/http/net_http_handler.rb +19 -14
  105. data/lib/aws/core/http/request.rb +1 -1
  106. data/lib/aws/core/http/response.rb +7 -4
  107. data/lib/aws/core/indifferent_hash.rb +1 -1
  108. data/lib/aws/core/inflection.rb +1 -1
  109. data/lib/aws/core/json_client.rb +1 -1
  110. data/lib/aws/core/json_parser.rb +1 -1
  111. data/lib/aws/core/json_request_builder.rb +1 -1
  112. data/lib/aws/core/json_response_parser.rb +1 -1
  113. data/lib/aws/core/lazy_error_classes.rb +1 -1
  114. data/lib/aws/core/log_formatter.rb +1 -1
  115. data/lib/aws/core/managed_file.rb +1 -1
  116. data/lib/aws/core/meta_utils.rb +1 -1
  117. data/lib/aws/core/model.rb +1 -1
  118. data/lib/aws/core/naming.rb +1 -1
  119. data/lib/aws/core/option_grammar.rb +1 -1
  120. data/lib/aws/core/options/json_serializer.rb +1 -1
  121. data/lib/aws/core/options/validator.rb +1 -1
  122. data/lib/aws/core/options/xml_serializer.rb +2 -2
  123. data/lib/aws/core/page_result.rb +1 -1
  124. data/lib/aws/core/policy.rb +1 -1
  125. data/lib/aws/core/query_client.rb +1 -1
  126. data/lib/aws/core/query_error_parser.rb +1 -1
  127. data/lib/aws/core/query_request_builder.rb +1 -1
  128. data/lib/aws/core/query_response_parser.rb +1 -1
  129. data/lib/aws/core/resource.rb +1 -1
  130. data/lib/aws/core/resource_cache.rb +1 -1
  131. data/lib/aws/core/response.rb +1 -1
  132. data/lib/aws/core/response_cache.rb +1 -1
  133. data/lib/aws/core/rest_error_parser.rb +1 -1
  134. data/lib/aws/core/rest_json_client.rb +1 -1
  135. data/lib/aws/core/rest_request_builder.rb +4 -4
  136. data/lib/aws/core/rest_response_parser.rb +13 -4
  137. data/lib/aws/core/rest_xml_client.rb +1 -1
  138. data/lib/aws/core/service_interface.rb +1 -1
  139. data/lib/aws/core/signature/version_2.rb +1 -1
  140. data/lib/aws/core/signature/version_3.rb +1 -1
  141. data/lib/aws/core/signature/version_3_https.rb +1 -1
  142. data/lib/aws/core/signature/version_4.rb +1 -1
  143. data/lib/aws/core/signer.rb +1 -1
  144. data/lib/aws/core/uri_escape.rb +1 -1
  145. data/lib/aws/core/xml/frame.rb +1 -1
  146. data/lib/aws/core/xml/frame_stack.rb +1 -1
  147. data/lib/aws/core/xml/grammar.rb +1 -1
  148. data/lib/aws/core/xml/parser.rb +1 -1
  149. data/lib/aws/core/xml/root_frame.rb +1 -1
  150. data/lib/aws/core/xml/sax_handlers/libxml.rb +1 -1
  151. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +1 -1
  152. data/lib/aws/core/xml/sax_handlers/ox.rb +1 -1
  153. data/lib/aws/core/xml/sax_handlers/rexml.rb +1 -1
  154. data/lib/aws/core/xml/stub.rb +1 -1
  155. data/lib/aws/data_pipeline.rb +42 -1
  156. data/lib/aws/data_pipeline/client.rb +91 -144
  157. data/lib/aws/data_pipeline/config.rb +1 -1
  158. data/lib/aws/data_pipeline/errors.rb +1 -1
  159. data/lib/aws/data_pipeline/request.rb +1 -1
  160. data/lib/aws/dynamo_db.rb +1 -1
  161. data/lib/aws/dynamo_db/attribute_collection.rb +1 -1
  162. data/lib/aws/dynamo_db/batch_get.rb +1 -1
  163. data/lib/aws/dynamo_db/batch_write.rb +1 -1
  164. data/lib/aws/dynamo_db/binary.rb +1 -1
  165. data/lib/aws/dynamo_db/client.rb +5 -5
  166. data/lib/aws/dynamo_db/config.rb +1 -1
  167. data/lib/aws/dynamo_db/errors.rb +1 -1
  168. data/lib/aws/dynamo_db/expectations.rb +1 -1
  169. data/lib/aws/dynamo_db/item.rb +1 -1
  170. data/lib/aws/dynamo_db/item_collection.rb +11 -11
  171. data/lib/aws/dynamo_db/item_data.rb +1 -1
  172. data/lib/aws/dynamo_db/keys.rb +1 -1
  173. data/lib/aws/dynamo_db/primary_key_element.rb +1 -1
  174. data/lib/aws/dynamo_db/request.rb +1 -1
  175. data/lib/aws/dynamo_db/resource.rb +1 -1
  176. data/lib/aws/dynamo_db/table.rb +1 -1
  177. data/lib/aws/dynamo_db/table_collection.rb +1 -1
  178. data/lib/aws/dynamo_db/types.rb +1 -1
  179. data/lib/aws/ec2.rb +1 -1
  180. data/lib/aws/ec2/attachment.rb +1 -1
  181. data/lib/aws/ec2/attachment_collection.rb +1 -1
  182. data/lib/aws/ec2/availability_zone.rb +1 -1
  183. data/lib/aws/ec2/availability_zone_collection.rb +1 -1
  184. data/lib/aws/ec2/block_device_mappings.rb +1 -1
  185. data/lib/aws/ec2/client.rb +26 -5
  186. data/lib/aws/ec2/collection.rb +1 -1
  187. data/lib/aws/ec2/config.rb +1 -1
  188. data/lib/aws/ec2/config_transform.rb +1 -1
  189. data/lib/aws/ec2/customer_gateway.rb +1 -1
  190. data/lib/aws/ec2/customer_gateway_collection.rb +1 -1
  191. data/lib/aws/ec2/dhcp_options.rb +1 -1
  192. data/lib/aws/ec2/dhcp_options_collection.rb +1 -1
  193. data/lib/aws/ec2/elastic_ip.rb +1 -1
  194. data/lib/aws/ec2/elastic_ip_collection.rb +1 -1
  195. data/lib/aws/ec2/errors.rb +1 -1
  196. data/lib/aws/ec2/export_task.rb +1 -1
  197. data/lib/aws/ec2/export_task_collection.rb +1 -1
  198. data/lib/aws/ec2/filtered_collection.rb +1 -1
  199. data/lib/aws/ec2/has_permissions.rb +1 -1
  200. data/lib/aws/ec2/image.rb +1 -1
  201. data/lib/aws/ec2/image_collection.rb +1 -1
  202. data/lib/aws/ec2/instance.rb +1 -1
  203. data/lib/aws/ec2/instance_collection.rb +2 -2
  204. data/lib/aws/ec2/internet_gateway.rb +1 -1
  205. data/lib/aws/ec2/internet_gateway/attachment.rb +1 -1
  206. data/lib/aws/ec2/internet_gateway_collection.rb +1 -1
  207. data/lib/aws/ec2/key_pair.rb +1 -1
  208. data/lib/aws/ec2/key_pair_collection.rb +1 -1
  209. data/lib/aws/ec2/network_acl.rb +1 -1
  210. data/lib/aws/ec2/network_acl/association.rb +1 -1
  211. data/lib/aws/ec2/network_acl/entry.rb +1 -1
  212. data/lib/aws/ec2/network_acl_collection.rb +1 -1
  213. data/lib/aws/ec2/network_interface.rb +1 -1
  214. data/lib/aws/ec2/network_interface/attachment.rb +1 -1
  215. data/lib/aws/ec2/network_interface_collection.rb +1 -1
  216. data/lib/aws/ec2/permission_collection.rb +1 -1
  217. data/lib/aws/ec2/region.rb +27 -19
  218. data/lib/aws/ec2/region_collection.rb +1 -1
  219. data/lib/aws/ec2/request.rb +1 -1
  220. data/lib/aws/ec2/reserved_instances.rb +1 -1
  221. data/lib/aws/ec2/reserved_instances_collection.rb +1 -1
  222. data/lib/aws/ec2/reserved_instances_offering.rb +1 -1
  223. data/lib/aws/ec2/reserved_instances_offering_collection.rb +1 -1
  224. data/lib/aws/ec2/resource.rb +1 -1
  225. data/lib/aws/ec2/resource_tag_collection.rb +1 -1
  226. data/lib/aws/ec2/route_table.rb +1 -1
  227. data/lib/aws/ec2/route_table/association.rb +1 -1
  228. data/lib/aws/ec2/route_table/route.rb +7 -1
  229. data/lib/aws/ec2/route_table_collection.rb +1 -1
  230. data/lib/aws/ec2/security_group.rb +15 -5
  231. data/lib/aws/ec2/security_group/ip_permission.rb +6 -2
  232. data/lib/aws/ec2/security_group/ip_permission_collection.rb +1 -1
  233. data/lib/aws/ec2/security_group_collection.rb +1 -1
  234. data/lib/aws/ec2/snapshot.rb +1 -1
  235. data/lib/aws/ec2/snapshot_collection.rb +1 -1
  236. data/lib/aws/ec2/subnet.rb +1 -1
  237. data/lib/aws/ec2/subnet_collection.rb +1 -1
  238. data/lib/aws/ec2/tag.rb +1 -1
  239. data/lib/aws/ec2/tag_collection.rb +1 -1
  240. data/lib/aws/ec2/tagged_collection.rb +1 -1
  241. data/lib/aws/ec2/tagged_item.rb +1 -1
  242. data/lib/aws/ec2/volume.rb +1 -1
  243. data/lib/aws/ec2/volume_collection.rb +1 -1
  244. data/lib/aws/ec2/vpc.rb +1 -1
  245. data/lib/aws/ec2/vpc_collection.rb +1 -1
  246. data/lib/aws/ec2/vpn_connection.rb +1 -1
  247. data/lib/aws/ec2/vpn_connection/telemetry.rb +1 -1
  248. data/lib/aws/ec2/vpn_connection_collection.rb +1 -1
  249. data/lib/aws/ec2/vpn_gateway.rb +1 -1
  250. data/lib/aws/ec2/vpn_gateway/attachment.rb +1 -1
  251. data/lib/aws/ec2/vpn_gateway_collection.rb +1 -1
  252. data/lib/aws/elastic_beanstalk.rb +1 -1
  253. data/lib/aws/elastic_beanstalk/client.rb +5 -5
  254. data/lib/aws/elastic_beanstalk/config.rb +1 -1
  255. data/lib/aws/elastic_beanstalk/errors.rb +1 -1
  256. data/lib/aws/elastic_beanstalk/request.rb +1 -1
  257. data/lib/aws/elastic_transcoder.rb +30 -0
  258. data/lib/aws/elastic_transcoder/client.rb +672 -0
  259. data/lib/aws/elastic_transcoder/config.rb +18 -0
  260. data/lib/aws/elastic_transcoder/errors.rb +23 -0
  261. data/lib/aws/elastic_transcoder/request.rb +30 -0
  262. data/lib/aws/elasticache.rb +1 -1
  263. data/lib/aws/elasticache/client.rb +5 -6
  264. data/lib/aws/elasticache/config.rb +1 -1
  265. data/lib/aws/elasticache/errors.rb +1 -1
  266. data/lib/aws/elasticache/request.rb +1 -1
  267. data/lib/aws/elb.rb +1 -1
  268. data/lib/aws/elb/availability_zone_collection.rb +1 -1
  269. data/lib/aws/elb/backend_server_policy_collection.rb +1 -1
  270. data/lib/aws/elb/client.rb +5 -5
  271. data/lib/aws/elb/config.rb +1 -1
  272. data/lib/aws/elb/errors.rb +1 -1
  273. data/lib/aws/elb/instance_collection.rb +1 -1
  274. data/lib/aws/elb/listener.rb +1 -1
  275. data/lib/aws/elb/listener_collection.rb +1 -1
  276. data/lib/aws/elb/listener_opts.rb +1 -1
  277. data/lib/aws/elb/load_balancer.rb +1 -1
  278. data/lib/aws/elb/load_balancer_collection.rb +1 -1
  279. data/lib/aws/elb/load_balancer_policy.rb +1 -1
  280. data/lib/aws/elb/load_balancer_policy_collection.rb +1 -1
  281. data/lib/aws/elb/request.rb +8 -2
  282. data/lib/aws/emr.rb +1 -1
  283. data/lib/aws/emr/client.rb +5 -5
  284. data/lib/aws/emr/config.rb +1 -1
  285. data/lib/aws/emr/errors.rb +1 -1
  286. data/lib/aws/emr/instance_group.rb +1 -1
  287. data/lib/aws/emr/instance_group_collection.rb +1 -1
  288. data/lib/aws/emr/job_flow.rb +1 -1
  289. data/lib/aws/emr/job_flow_collection.rb +1 -1
  290. data/lib/aws/emr/request.rb +1 -1
  291. data/lib/aws/errors.rb +1 -1
  292. data/lib/aws/glacier.rb +29 -1
  293. data/lib/aws/glacier/archive.rb +3 -1
  294. data/lib/aws/glacier/archive_collection.rb +19 -14
  295. data/lib/aws/glacier/client.rb +5 -5
  296. data/lib/aws/glacier/config.rb +1 -1
  297. data/lib/aws/glacier/errors.rb +1 -1
  298. data/lib/aws/glacier/request.rb +1 -1
  299. data/lib/aws/glacier/resource.rb +1 -1
  300. data/lib/aws/glacier/vault.rb +10 -2
  301. data/lib/aws/glacier/vault_collection.rb +1 -1
  302. data/lib/aws/glacier/vault_notification_configuration.rb +3 -1
  303. data/lib/aws/iam.rb +1 -1
  304. data/lib/aws/iam/access_key.rb +1 -1
  305. data/lib/aws/iam/access_key_collection.rb +1 -1
  306. data/lib/aws/iam/account_alias_collection.rb +1 -1
  307. data/lib/aws/iam/client.rb +5 -5
  308. data/lib/aws/iam/collection.rb +1 -1
  309. data/lib/aws/iam/config.rb +1 -1
  310. data/lib/aws/iam/errors.rb +1 -1
  311. data/lib/aws/iam/group.rb +1 -1
  312. data/lib/aws/iam/group_collection.rb +1 -1
  313. data/lib/aws/iam/group_policy_collection.rb +1 -1
  314. data/lib/aws/iam/group_user_collection.rb +1 -1
  315. data/lib/aws/iam/login_profile.rb +1 -1
  316. data/lib/aws/iam/mfa_device.rb +1 -1
  317. data/lib/aws/iam/mfa_device_collection.rb +1 -1
  318. data/lib/aws/iam/policy.rb +1 -1
  319. data/lib/aws/iam/policy_collection.rb +1 -1
  320. data/lib/aws/iam/request.rb +1 -1
  321. data/lib/aws/iam/resource.rb +5 -14
  322. data/lib/aws/iam/server_certificate.rb +1 -1
  323. data/lib/aws/iam/server_certificate_collection.rb +1 -1
  324. data/lib/aws/iam/signing_certificate.rb +1 -1
  325. data/lib/aws/iam/signing_certificate_collection.rb +1 -1
  326. data/lib/aws/iam/user.rb +1 -1
  327. data/lib/aws/iam/user_collection.rb +1 -1
  328. data/lib/aws/iam/user_group_collection.rb +1 -1
  329. data/lib/aws/iam/user_policy.rb +1 -1
  330. data/lib/aws/iam/user_policy_collection.rb +1 -1
  331. data/lib/aws/iam/virtual_mfa_device.rb +1 -1
  332. data/lib/aws/iam/virtual_mfa_device_collection.rb +1 -1
  333. data/lib/aws/import_export.rb +1 -1
  334. data/lib/aws/import_export/client.rb +5 -5
  335. data/lib/aws/import_export/config.rb +1 -1
  336. data/lib/aws/import_export/errors.rb +1 -1
  337. data/lib/aws/import_export/request.rb +1 -1
  338. data/lib/aws/rails.rb +1 -1
  339. data/lib/aws/rds.rb +1 -1
  340. data/lib/aws/rds/client.rb +193 -7
  341. data/lib/aws/rds/config.rb +1 -1
  342. data/lib/aws/rds/db_instance.rb +5 -1
  343. data/lib/aws/rds/db_instance_collection.rb +1 -1
  344. data/lib/aws/rds/db_snapshot.rb +1 -1
  345. data/lib/aws/rds/db_snapshot_collection.rb +1 -1
  346. data/lib/aws/rds/errors.rb +1 -1
  347. data/lib/aws/rds/request.rb +1 -1
  348. data/lib/aws/record.rb +1 -1
  349. data/lib/aws/record/abstract_base.rb +119 -63
  350. data/lib/aws/record/attributes.rb +1 -1
  351. data/lib/aws/record/conversion.rb +1 -1
  352. data/lib/aws/record/dirty_tracking.rb +1 -1
  353. data/lib/aws/record/errors.rb +1 -1
  354. data/lib/aws/record/exceptions.rb +2 -2
  355. data/lib/aws/record/hash_model.rb +1 -1
  356. data/lib/aws/record/hash_model/attributes.rb +1 -1
  357. data/lib/aws/record/hash_model/finder_methods.rb +1 -1
  358. data/lib/aws/record/hash_model/scope.rb +1 -1
  359. data/lib/aws/record/model.rb +1 -1
  360. data/lib/aws/record/model/attributes.rb +1 -1
  361. data/lib/aws/record/model/finder_methods.rb +1 -1
  362. data/lib/aws/record/model/scope.rb +1 -1
  363. data/lib/aws/record/naming.rb +1 -1
  364. data/lib/aws/record/scope.rb +2 -2
  365. data/lib/aws/record/validations.rb +21 -3
  366. data/lib/aws/record/validator.rb +11 -2
  367. data/lib/aws/record/validators/acceptance.rb +2 -2
  368. data/lib/aws/record/validators/block.rb +2 -2
  369. data/lib/aws/record/validators/confirmation.rb +1 -1
  370. data/lib/aws/record/validators/count.rb +1 -1
  371. data/lib/aws/record/validators/exclusion.rb +2 -2
  372. data/lib/aws/record/validators/format.rb +2 -2
  373. data/lib/aws/record/validators/inclusion.rb +2 -2
  374. data/lib/aws/record/validators/length.rb +2 -2
  375. data/lib/aws/record/validators/method.rb +1 -1
  376. data/lib/aws/record/validators/numericality.rb +2 -2
  377. data/lib/aws/record/validators/presence.rb +2 -2
  378. data/lib/aws/route_53.rb +17 -3
  379. data/lib/aws/route_53/change_batch.rb +159 -0
  380. data/lib/aws/route_53/change_info.rb +72 -0
  381. data/lib/aws/route_53/client.rb +5 -5
  382. data/lib/aws/route_53/config.rb +1 -1
  383. data/lib/aws/route_53/errors.rb +1 -1
  384. data/lib/aws/route_53/hosted_zone.rb +111 -0
  385. data/lib/aws/route_53/hosted_zone_collection.rb +100 -0
  386. data/lib/aws/route_53/request.rb +1 -1
  387. data/lib/aws/route_53/resource_record_set.rb +212 -0
  388. data/lib/aws/route_53/resource_record_set_collection.rb +110 -0
  389. data/lib/aws/s3.rb +3 -2
  390. data/lib/aws/s3/access_control_list.rb +1 -1
  391. data/lib/aws/s3/acl_object.rb +1 -1
  392. data/lib/aws/s3/acl_options.rb +1 -1
  393. data/lib/aws/s3/bucket.rb +114 -1
  394. data/lib/aws/s3/bucket_collection.rb +1 -1
  395. data/lib/aws/s3/bucket_lifecycle_configuration.rb +1 -1
  396. data/lib/aws/s3/bucket_tag_collection.rb +1 -1
  397. data/lib/aws/s3/bucket_version_collection.rb +1 -1
  398. data/lib/aws/s3/cipher_io.rb +1 -1
  399. data/lib/aws/s3/client.rb +148 -98
  400. data/lib/aws/s3/client/xml.rb +10 -1
  401. data/lib/aws/s3/config.rb +1 -1
  402. data/lib/aws/s3/cors_rule.rb +1 -1
  403. data/lib/aws/s3/cors_rule_collection.rb +1 -1
  404. data/lib/aws/s3/data_options.rb +1 -1
  405. data/lib/aws/s3/encryption_utils.rb +1 -1
  406. data/lib/aws/s3/errors.rb +1 -1
  407. data/lib/aws/s3/multipart_upload.rb +1 -1
  408. data/lib/aws/s3/multipart_upload_collection.rb +1 -1
  409. data/lib/aws/s3/object_collection.rb +1 -1
  410. data/lib/aws/s3/object_metadata.rb +1 -1
  411. data/lib/aws/s3/object_upload_collection.rb +1 -1
  412. data/lib/aws/s3/object_version.rb +1 -1
  413. data/lib/aws/s3/object_version_collection.rb +1 -1
  414. data/lib/aws/s3/paginated_collection.rb +1 -1
  415. data/lib/aws/s3/policy.rb +1 -1
  416. data/lib/aws/s3/prefix_and_delimiter_collection.rb +1 -1
  417. data/lib/aws/s3/prefixed_collection.rb +1 -1
  418. data/lib/aws/s3/presigned_post.rb +1 -1
  419. data/lib/aws/s3/request.rb +4 -2
  420. data/lib/aws/s3/s3_object.rb +77 -83
  421. data/lib/aws/s3/tree.rb +1 -1
  422. data/lib/aws/s3/tree/branch_node.rb +1 -1
  423. data/lib/aws/s3/tree/child_collection.rb +1 -1
  424. data/lib/aws/s3/tree/leaf_node.rb +1 -1
  425. data/lib/aws/s3/tree/node.rb +1 -1
  426. data/lib/aws/s3/tree/parent.rb +1 -1
  427. data/lib/aws/s3/uploaded_part.rb +1 -1
  428. data/lib/aws/s3/uploaded_part_collection.rb +1 -1
  429. data/lib/aws/s3/website_configuration.rb +60 -0
  430. data/lib/aws/simple_db.rb +1 -1
  431. data/lib/aws/simple_db/attribute.rb +1 -1
  432. data/lib/aws/simple_db/attribute_collection.rb +1 -1
  433. data/lib/aws/simple_db/client.rb +5 -5
  434. data/lib/aws/simple_db/config.rb +1 -1
  435. data/lib/aws/simple_db/consistent_read_option.rb +1 -1
  436. data/lib/aws/simple_db/delete_attributes.rb +1 -1
  437. data/lib/aws/simple_db/domain.rb +1 -1
  438. data/lib/aws/simple_db/domain_collection.rb +1 -1
  439. data/lib/aws/simple_db/domain_metadata.rb +1 -1
  440. data/lib/aws/simple_db/errors.rb +1 -1
  441. data/lib/aws/simple_db/expect_condition_option.rb +1 -1
  442. data/lib/aws/simple_db/item.rb +1 -1
  443. data/lib/aws/simple_db/item_collection.rb +1 -1
  444. data/lib/aws/simple_db/item_data.rb +1 -1
  445. data/lib/aws/simple_db/put_attributes.rb +1 -1
  446. data/lib/aws/simple_db/request.rb +1 -1
  447. data/lib/aws/simple_email_service.rb +1 -1
  448. data/lib/aws/simple_email_service/client.rb +5 -5
  449. data/lib/aws/simple_email_service/config.rb +1 -1
  450. data/lib/aws/simple_email_service/email_address_collection.rb +1 -1
  451. data/lib/aws/simple_email_service/errors.rb +1 -1
  452. data/lib/aws/simple_email_service/identity.rb +1 -1
  453. data/lib/aws/simple_email_service/identity_collection.rb +1 -1
  454. data/lib/aws/simple_email_service/quotas.rb +1 -1
  455. data/lib/aws/simple_email_service/request.rb +1 -1
  456. data/lib/aws/simple_workflow.rb +1 -1
  457. data/lib/aws/simple_workflow/activity_task.rb +1 -1
  458. data/lib/aws/simple_workflow/activity_task_collection.rb +1 -1
  459. data/lib/aws/simple_workflow/activity_type.rb +1 -1
  460. data/lib/aws/simple_workflow/activity_type_collection.rb +1 -1
  461. data/lib/aws/simple_workflow/client.rb +5 -5
  462. data/lib/aws/simple_workflow/config.rb +1 -1
  463. data/lib/aws/simple_workflow/count.rb +1 -1
  464. data/lib/aws/simple_workflow/decision_task.rb +4 -2
  465. data/lib/aws/simple_workflow/decision_task_collection.rb +1 -1
  466. data/lib/aws/simple_workflow/domain.rb +1 -1
  467. data/lib/aws/simple_workflow/domain_collection.rb +1 -1
  468. data/lib/aws/simple_workflow/errors.rb +1 -1
  469. data/lib/aws/simple_workflow/history_event.rb +1 -1
  470. data/lib/aws/simple_workflow/history_event_collection.rb +1 -1
  471. data/lib/aws/simple_workflow/option_formatters.rb +1 -1
  472. data/lib/aws/simple_workflow/request.rb +1 -1
  473. data/lib/aws/simple_workflow/resource.rb +1 -1
  474. data/lib/aws/simple_workflow/type.rb +1 -1
  475. data/lib/aws/simple_workflow/type_collection.rb +1 -1
  476. data/lib/aws/simple_workflow/workflow_execution.rb +1 -1
  477. data/lib/aws/simple_workflow/workflow_execution_collection.rb +1 -1
  478. data/lib/aws/simple_workflow/workflow_type.rb +1 -1
  479. data/lib/aws/simple_workflow/workflow_type_collection.rb +1 -1
  480. data/lib/aws/sns.rb +1 -1
  481. data/lib/aws/sns/client.rb +5 -5
  482. data/lib/aws/sns/config.rb +1 -1
  483. data/lib/aws/sns/errors.rb +1 -1
  484. data/lib/aws/sns/has_delivery_policy.rb +1 -1
  485. data/lib/aws/sns/policy.rb +1 -1
  486. data/lib/aws/sns/request.rb +1 -1
  487. data/lib/aws/sns/subscription.rb +1 -1
  488. data/lib/aws/sns/subscription_collection.rb +1 -1
  489. data/lib/aws/sns/topic.rb +1 -1
  490. data/lib/aws/sns/topic_collection.rb +1 -1
  491. data/lib/aws/sns/topic_subscription_collection.rb +1 -1
  492. data/lib/aws/sqs.rb +1 -1
  493. data/lib/aws/sqs/client.rb +5 -5
  494. data/lib/aws/sqs/config.rb +1 -1
  495. data/lib/aws/sqs/errors.rb +1 -1
  496. data/lib/aws/sqs/policy.rb +1 -1
  497. data/lib/aws/sqs/queue.rb +2 -2
  498. data/lib/aws/sqs/queue_collection.rb +1 -1
  499. data/lib/aws/sqs/received_message.rb +1 -1
  500. data/lib/aws/sqs/received_sns_message.rb +6 -2
  501. data/lib/aws/sqs/request.rb +1 -1
  502. data/lib/aws/storage_gateway.rb +1 -1
  503. data/lib/aws/storage_gateway/client.rb +5 -5
  504. data/lib/aws/storage_gateway/config.rb +1 -1
  505. data/lib/aws/storage_gateway/errors.rb +1 -1
  506. data/lib/aws/storage_gateway/request.rb +1 -1
  507. data/lib/aws/sts.rb +1 -1
  508. data/lib/aws/sts/client.rb +5 -5
  509. data/lib/aws/sts/config.rb +1 -1
  510. data/lib/aws/sts/errors.rb +1 -1
  511. data/lib/aws/sts/federated_session.rb +1 -1
  512. data/lib/aws/sts/policy.rb +1 -1
  513. data/lib/aws/sts/request.rb +1 -1
  514. data/lib/aws/sts/session.rb +1 -1
  515. data/lib/aws/version.rb +2 -2
  516. data/lib/net/http/connection_pool.rb +1 -1
  517. data/lib/net/http/connection_pool/connection.rb +1 -1
  518. data/lib/net/http/connection_pool/session.rb +1 -1
  519. data/rails/init.rb +1 -1
  520. metadata +18 -6
  521. data/lib/aws/core/http/httparty_handler.rb +0 -115
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -213,6 +213,15 @@ module AWS
213
213
  end
214
214
  end
215
215
 
216
+ GetBucketWebsite = BaseGrammar.customize do
217
+ element "IndexDocument" do
218
+ element "Suffix"
219
+ end
220
+ element "ErrorDocument" do
221
+ element "Key"
222
+ end
223
+ end
224
+
216
225
  end
217
226
  end
218
227
  end
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -180,7 +180,9 @@ module AWS
180
180
  def sub_resources
181
181
  %w(acl location logging notification partNumber policy
182
182
  requestPayment torrent uploadId uploads versionId
183
- versioning versions restore delete lifecycle tagging cors)
183
+ versioning versions restore delete lifecycle tagging cors
184
+ website
185
+ )
184
186
  end
185
187
 
186
188
  def query_parameters
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -303,19 +303,19 @@ module AWS
303
303
  #
304
304
  # @return [String] Returns the object's ETag
305
305
  def etag
306
- head.etag
306
+ head[:etag]
307
307
  end
308
308
 
309
309
  # Returns the object's last modified time.
310
310
  #
311
311
  # @return [Time] Returns the object's last modified time.
312
312
  def last_modified
313
- head.last_modified
313
+ head[:last_modified]
314
314
  end
315
315
 
316
316
  # @return [Integer] Size of the object in bytes.
317
317
  def content_length
318
- head.content_length
318
+ head[:content_length]
319
319
  end
320
320
 
321
321
  # @note S3 does not compute content-type. It reports the content-type
@@ -323,24 +323,24 @@ module AWS
323
323
  # @return [String] Returns the content type as reported by S3,
324
324
  # defaults to an empty string when not provided during upload.
325
325
  def content_type
326
- head.content_type
326
+ head[:content_type]
327
327
  end
328
328
 
329
329
  # @return [DateTime,nil]
330
330
  def expiration_date
331
- head.expiration_date
331
+ head[:expiration_date]
332
332
  end
333
333
 
334
334
  # @return [String,nil]
335
335
  def expiration_rule_id
336
- head.expiration_rule_id
336
+ head[:expiration_rule_id]
337
337
  end
338
338
 
339
339
  # @return [Symbol, nil] Returns the algorithm used to encrypt
340
340
  # the object on the server side, or +nil+ if SSE was not used
341
341
  # when storing the object.
342
342
  def server_side_encryption
343
- head.server_side_encryption
343
+ head[:server_side_encryption]
344
344
  end
345
345
 
346
346
  # @return [true, false] Returns true if the object was stored
@@ -354,7 +354,7 @@ module AWS
354
354
  # @see #restore_expiration_date
355
355
  # @since 1.7.2
356
356
  def restore_in_progress?
357
- head.restore_in_progress
357
+ head[:restore_in_progress]
358
358
  end
359
359
 
360
360
  # @return [DateTime] the time when the temporarily restored object
@@ -364,14 +364,14 @@ module AWS
364
364
  # copy
365
365
  # @since 1.7.2
366
366
  def restore_expiration_date
367
- head.restore_expiration_date
367
+ head[:restore_expiration_date]
368
368
  end
369
369
 
370
370
  # @return [Boolean] whether the object is a temporary copy of an
371
371
  # archived object in the Glacier storage class.
372
372
  # @since 1.7.2
373
373
  def restored_object?
374
- !!head.restore_expiration_date
374
+ !!head[:restore_expiration_date]
375
375
  end
376
376
 
377
377
  # Deletes the object from its S3 bucket.
@@ -830,64 +830,54 @@ module AWS
830
830
  # caching behavior. See
831
831
  # http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9
832
832
  #
833
+ # @option options [String] :expires The date and time at which the
834
+ # object is no longer cacheable.
835
+ #
833
836
  # @return [nil]
834
837
  def copy_from source, options = {}
835
838
 
836
- copy_opts = { :bucket_name => bucket.name, :key => key }
837
-
838
- copy_opts[:copy_source] = case source
839
- when S3Object
840
- "#{source.bucket.name}/#{source.key}"
841
- when ObjectVersion
842
- copy_opts[:version_id] = source.version_id
843
- "#{source.object.bucket.name}/#{source.object.key}"
844
- else
845
- case
846
- when options[:bucket] then "#{options[:bucket].name}/#{source}"
847
- when options[:bucket_name] then "#{options[:bucket_name]}/#{source}"
848
- else "#{self.bucket.name}/#{source}"
849
- end
850
- end
851
-
852
- copy_opts[:metadata_directive] = 'COPY'
839
+ options = options.dup
853
840
 
854
- # Saves client-side encryption headers and copies the instruction file
855
- copy_cse_materials(source, options) do |cse_materials|
856
- if options[:metadata]
857
- copy_opts[:metadata] = options[:metadata].merge(cse_materials)
858
- copy_opts[:metadata_directive] = 'REPLACE'
841
+ options[:copy_source] =
842
+ case source
843
+ when S3Object
844
+ "#{source.bucket.name}/#{source.key}"
845
+ when ObjectVersion
846
+ options[:version_id] = source.version_id
847
+ "#{source.object.bucket.name}/#{source.object.key}"
848
+ else
849
+ if options[:bucket]
850
+ "#{options.delete(:bucket).name}/#{source}"
851
+ elsif options[:bucket_name]
852
+ "#{options.delete(:bucket_name)}/#{source}"
853
+ else
854
+ "#{self.bucket.name}/#{source}"
855
+ end
859
856
  end
860
- end
861
857
 
862
- if options[:content_disposition]
863
- copy_opts[:content_disposition] = options[:content_disposition]
864
- copy_opts[:metadata_directive] = "REPLACE"
858
+ if [:metadata, :content_disposition, :content_type, :cache_control,
859
+ ].any? {|opt| options.key?(opt) }
860
+ then
861
+ options[:metadata_directive] = 'REPLACE'
862
+ else
863
+ options[:metadata_directive] ||= 'COPY'
865
864
  end
866
865
 
867
- if options[:content_type]
868
- copy_opts[:content_type] = options[:content_type]
869
- copy_opts[:metadata_directive] = "REPLACE"
866
+ # copies client-side encryption materials (from the metadata or
867
+ # instruction file)
868
+ if options.delete(:client_side_encrypted)
869
+ copy_cse_materials(source, options)
870
870
  end
871
871
 
872
- if options[:cache_control]
873
- copy_opts[:cache_control] = options[:cache_control]
874
- copy_opts[:metadata_directive] = "REPLACE"
875
- end
872
+ add_sse_options(options)
876
873
 
877
- copy_opts[:acl] = options[:acl] if options[:acl]
878
- copy_opts[:version_id] = options[:version_id] if options[:version_id]
879
- copy_opts[:server_side_encryption] =
880
- options[:server_side_encryption] if
881
- options.key?(:server_side_encryption)
882
- add_sse_options(copy_opts)
874
+ options[:storage_class] = options.delete(:reduced_redundancy) ?
875
+ 'REDUCED_REDUNDANCY' : 'STANDARD'
883
876
 
884
- if options[:reduced_redundancy]
885
- copy_opts[:storage_class] = 'REDUCED_REDUNDANCY'
886
- else
887
- copy_opts[:storage_class] = 'STANDARD'
888
- end
877
+ options[:bucket_name] = bucket.name
878
+ options[:key] = key
889
879
 
890
- client.copy_object(copy_opts)
880
+ client.copy_object(options)
891
881
 
892
882
  nil
893
883
 
@@ -949,6 +939,9 @@ module AWS
949
939
  # option, the key and iv are not guaranteed to be transferred to
950
940
  # the new object.
951
941
  #
942
+ # @option options [String] :expires The date and time at which the
943
+ # object is no longer cacheable.
944
+ #
952
945
  # @return [S3Object] Returns the copy (target) object.
953
946
  #
954
947
  def copy_to target, options = {}
@@ -1260,7 +1253,7 @@ module AWS
1260
1253
  value
1261
1254
  end
1262
1255
 
1263
- protected
1256
+ private
1264
1257
 
1265
1258
  # @return [Boolean]
1266
1259
  def should_decrypt? options
@@ -1399,11 +1392,11 @@ module AWS
1399
1392
  end
1400
1393
 
1401
1394
  def add_sse_options(options)
1402
- options[:server_side_encryption] =
1403
- config.s3_server_side_encryption unless
1404
- options.key?(:server_side_encryption)
1395
+ unless options.key?(:server_side_encryption)
1396
+ options[:server_side_encryption] = config.s3_server_side_encryption
1397
+ end
1405
1398
  options.delete(:server_side_encryption) if
1406
- options[:server_side_encryption] == nil
1399
+ options[:server_side_encryption].nil?
1407
1400
  end
1408
1401
 
1409
1402
  # Adds client-side encryption metadata headers and encrypts key
@@ -1583,30 +1576,31 @@ module AWS
1583
1576
  # @yield [Hash] Yields the metadata to be saved for client-side encryption
1584
1577
  def copy_cse_materials source, options
1585
1578
  cse_materials = {}
1586
- if options[:client_side_encrypted]
1587
- meta = source.metadata.to_h
1588
- cse_materials['x-amz-key'] = meta['x-amz-key'] if meta['x-amz-key']
1589
- cse_materials['x-amz-iv'] = meta['x-amz-iv'] if meta['x-amz-iv']
1590
- cse_materials['x-amz-matdesc'] = meta['x-amz-matdesc'] if
1591
- meta['x-amz-matdesc']
1592
- cse_materials['x-amz-unencrypted-content-length'] =
1593
- meta['x-amz-unencrypted-content-length'] if
1594
- meta['x-amz-unencrypted-content-length']
1595
- cse_materials['x-amz-unencrypted-content-md5'] =
1596
- meta['x-amz-unencrypted-content-md5'] if
1597
- meta['x-amz-unencrypted-content-md5']
1598
-
1579
+ meta = source.metadata.to_h
1580
+ cse_materials['x-amz-key'] = meta['x-amz-key'] if meta['x-amz-key']
1581
+ cse_materials['x-amz-iv'] = meta['x-amz-iv'] if meta['x-amz-iv']
1582
+ cse_materials['x-amz-matdesc'] = meta['x-amz-matdesc'] if
1583
+ meta['x-amz-matdesc']
1584
+ cse_materials['x-amz-unencrypted-content-length'] =
1585
+ meta['x-amz-unencrypted-content-length'] if
1586
+ meta['x-amz-unencrypted-content-length']
1587
+ cse_materials['x-amz-unencrypted-content-md5'] =
1588
+ meta['x-amz-unencrypted-content-md5'] if
1589
+ meta['x-amz-unencrypted-content-md5']
1590
+
1591
+ if
1592
+ cse_materials['x-amz-key'] and
1593
+ cse_materials['x-amz-iv'] and
1594
+ cse_materials['x-amz-matdesc']
1595
+ then
1596
+ options[:metadata] = (options[:metadata] || {}).merge(cse_materials)
1597
+ else
1599
1598
  # Handling instruction file
1600
- unless cse_materials['x-amz-key'] and
1601
- cse_materials['x-amz-iv'] and
1602
- cse_materials['x-amz-matdesc']
1603
- source_inst = "#{source.key}.instruction"
1604
- dest_inst = "#{key}.instruction"
1605
- self.bucket.objects[dest_inst].copy_from(
1606
- source.bucket.objects[source_inst])
1607
- end
1599
+ source_inst = "#{source.key}.instruction"
1600
+ dest_inst = "#{key}.instruction"
1601
+ self.bucket.objects[dest_inst].copy_from(
1602
+ source.bucket.objects[source_inst])
1608
1603
  end
1609
- yield(cse_materials)
1610
1604
  end
1611
1605
 
1612
1606
  # Removes unwanted options that should not be passed to the client.
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of
@@ -1,4 +1,4 @@
1
- # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License"). You
4
4
  # may not use this file except in compliance with the License. A copy of