aws-sdk 1.8.5 → 1.9.0

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 (386) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +1 -0
  3. data/README.rdoc +8 -0
  4. data/lib/aws-sdk.rb +39 -35
  5. data/lib/aws/api_config/CloudFront-2012-07-01.yml +2398 -0
  6. data/lib/aws/api_config/DirectConnect-2012-10-25.yml +475 -0
  7. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +8 -0
  8. data/lib/aws/api_config/DynamoDB-2012-08-10.yml +1516 -0
  9. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +2 -2
  10. data/lib/aws/auto_scaling.rb +44 -44
  11. data/lib/aws/auto_scaling/activity.rb +1 -1
  12. data/lib/aws/auto_scaling/activity_collection.rb +14 -15
  13. data/lib/aws/auto_scaling/client.rb +277 -277
  14. data/lib/aws/auto_scaling/config.rb +1 -1
  15. data/lib/aws/auto_scaling/group.rb +35 -36
  16. data/lib/aws/auto_scaling/group_collection.rb +10 -10
  17. data/lib/aws/auto_scaling/group_options.rb +19 -19
  18. data/lib/aws/auto_scaling/instance.rb +27 -27
  19. data/lib/aws/auto_scaling/instance_collection.rb +10 -10
  20. data/lib/aws/auto_scaling/launch_configuration.rb +3 -3
  21. data/lib/aws/auto_scaling/launch_configuration_collection.rb +1 -1
  22. data/lib/aws/auto_scaling/notification_configuration.rb +2 -2
  23. data/lib/aws/auto_scaling/notification_configuration_collection.rb +37 -38
  24. data/lib/aws/auto_scaling/scaling_policy.rb +3 -3
  25. data/lib/aws/auto_scaling/scaling_policy_collection.rb +6 -6
  26. data/lib/aws/auto_scaling/scaling_policy_options.rb +8 -7
  27. data/lib/aws/auto_scaling/scheduled_action.rb +3 -3
  28. data/lib/aws/auto_scaling/scheduled_action_collection.rb +28 -28
  29. data/lib/aws/auto_scaling/tag_collection.rb +30 -28
  30. data/lib/aws/cloud_formation.rb +95 -94
  31. data/lib/aws/cloud_formation/client.rb +136 -133
  32. data/lib/aws/cloud_formation/config.rb +1 -1
  33. data/lib/aws/cloud_formation/stack.rb +37 -37
  34. data/lib/aws/cloud_formation/stack_collection.rb +28 -27
  35. data/lib/aws/cloud_formation/stack_event.rb +9 -11
  36. data/lib/aws/cloud_formation/stack_output.rb +1 -1
  37. data/lib/aws/cloud_formation/stack_resource.rb +6 -6
  38. data/lib/aws/cloud_formation/stack_resource_collection.rb +11 -12
  39. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +11 -11
  40. data/lib/aws/cloud_formation/stack_summary_collection.rb +39 -39
  41. data/lib/aws/cloud_front.rb +21 -21
  42. data/lib/aws/cloud_front/client.rb +853 -652
  43. data/lib/aws/cloud_front/request.rb +3 -0
  44. data/lib/aws/cloud_search.rb +22 -22
  45. data/lib/aws/cloud_search/client.rb +322 -315
  46. data/lib/aws/cloud_search/config.rb +1 -1
  47. data/lib/aws/cloud_watch.rb +39 -39
  48. data/lib/aws/cloud_watch/alarm.rb +55 -37
  49. data/lib/aws/cloud_watch/alarm_collection.rb +18 -18
  50. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +2 -2
  51. data/lib/aws/cloud_watch/client.rb +360 -146
  52. data/lib/aws/cloud_watch/config.rb +1 -1
  53. data/lib/aws/cloud_watch/metric.rb +15 -15
  54. data/lib/aws/cloud_watch/metric_alarm_collection.rb +17 -17
  55. data/lib/aws/cloud_watch/metric_collection.rb +16 -16
  56. data/lib/aws/cloud_watch/metric_statistics.rb +11 -11
  57. data/lib/aws/core.rb +243 -225
  58. data/lib/aws/core/async_handle.rb +13 -13
  59. data/lib/aws/core/cacheable.rb +14 -15
  60. data/lib/aws/core/client.rb +40 -15
  61. data/lib/aws/core/collection.rb +42 -46
  62. data/lib/aws/core/collection/with_limit_and_next_token.rb +1 -1
  63. data/lib/aws/core/collection/with_next_token.rb +1 -1
  64. data/lib/aws/core/configuration.rb +97 -133
  65. data/lib/aws/core/credential_providers.rb +16 -16
  66. data/lib/aws/core/data.rb +23 -23
  67. data/lib/aws/core/http/connection_pool.rb +348 -0
  68. data/lib/aws/core/http/net_http_handler.rb +17 -26
  69. data/lib/aws/core/http/patch.rb +102 -0
  70. data/lib/aws/core/http/request.rb +13 -19
  71. data/lib/aws/core/http/response.rb +2 -2
  72. data/lib/aws/core/lazy_error_classes.rb +17 -17
  73. data/lib/aws/core/log_formatter.rb +70 -104
  74. data/lib/aws/core/options/json_serializer.rb +1 -1
  75. data/lib/aws/core/options/validator.rb +4 -4
  76. data/lib/aws/core/page_result.rb +8 -8
  77. data/lib/aws/core/policy.rb +49 -49
  78. data/lib/aws/core/region.rb +72 -0
  79. data/lib/aws/core/region_collection.rb +106 -0
  80. data/lib/aws/core/resource.rb +5 -5
  81. data/lib/aws/core/response.rb +20 -17
  82. data/lib/aws/core/rest_request_builder.rb +4 -4
  83. data/lib/aws/core/service_interface.rb +24 -2
  84. data/lib/aws/core/signature/version_3.rb +2 -2
  85. data/lib/aws/core/uri_escape.rb +1 -1
  86. data/lib/aws/core/xml/frame_stack.rb +1 -1
  87. data/lib/aws/core/xml/grammar.rb +3 -4
  88. data/lib/aws/core/xml/sax_handlers/libxml.rb +2 -2
  89. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +3 -3
  90. data/lib/aws/core/xml/sax_handlers/rexml.rb +5 -5
  91. data/lib/aws/core/xml/stub.rb +9 -9
  92. data/lib/aws/data_pipeline.rb +21 -21
  93. data/lib/aws/data_pipeline/client.rb +189 -133
  94. data/lib/aws/data_pipeline/config.rb +1 -1
  95. data/lib/aws/direct_connect.rb +74 -0
  96. data/lib/aws/direct_connect/client.rb +253 -0
  97. data/lib/aws/direct_connect/config.rb +18 -0
  98. data/lib/aws/direct_connect/errors.rb +22 -0
  99. data/lib/aws/direct_connect/request.rb +27 -0
  100. data/lib/aws/dynamo_db.rb +71 -69
  101. data/lib/aws/dynamo_db/attribute_collection.rb +53 -58
  102. data/lib/aws/dynamo_db/batch_get.rb +23 -23
  103. data/lib/aws/dynamo_db/batch_write.rb +43 -43
  104. data/lib/aws/dynamo_db/binary.rb +9 -9
  105. data/lib/aws/dynamo_db/client.rb +494 -509
  106. data/lib/aws/dynamo_db/client_base.rb +91 -0
  107. data/lib/aws/dynamo_db/client_v2.rb +825 -0
  108. data/lib/aws/dynamo_db/config.rb +1 -1
  109. data/lib/aws/dynamo_db/item.rb +10 -10
  110. data/lib/aws/dynamo_db/item_collection.rb +75 -75
  111. data/lib/aws/dynamo_db/table.rb +85 -85
  112. data/lib/aws/dynamo_db/table_collection.rb +13 -13
  113. data/lib/aws/ec2.rb +132 -142
  114. data/lib/aws/ec2/attachment.rb +31 -36
  115. data/lib/aws/ec2/attachment_collection.rb +1 -1
  116. data/lib/aws/ec2/availability_zone.rb +4 -4
  117. data/lib/aws/ec2/client.rb +2272 -2125
  118. data/lib/aws/ec2/config.rb +1 -1
  119. data/lib/aws/ec2/customer_gateway.rb +6 -6
  120. data/lib/aws/ec2/customer_gateway_collection.rb +6 -6
  121. data/lib/aws/ec2/dhcp_options.rb +3 -3
  122. data/lib/aws/ec2/dhcp_options_collection.rb +10 -10
  123. data/lib/aws/ec2/elastic_ip.rb +15 -15
  124. data/lib/aws/ec2/elastic_ip_collection.rb +11 -15
  125. data/lib/aws/ec2/export_task.rb +4 -4
  126. data/lib/aws/ec2/export_task_collection.rb +11 -11
  127. data/lib/aws/ec2/filtered_collection.rb +6 -8
  128. data/lib/aws/ec2/image.rb +46 -40
  129. data/lib/aws/ec2/image_collection.rb +44 -52
  130. data/lib/aws/ec2/instance.rb +64 -62
  131. data/lib/aws/ec2/instance_collection.rb +47 -50
  132. data/lib/aws/ec2/internet_gateway.rb +6 -6
  133. data/lib/aws/ec2/internet_gateway/attachment.rb +13 -13
  134. data/lib/aws/ec2/internet_gateway_collection.rb +3 -3
  135. data/lib/aws/ec2/key_pair.rb +3 -3
  136. data/lib/aws/ec2/key_pair_collection.rb +12 -12
  137. data/lib/aws/ec2/network_acl.rb +39 -39
  138. data/lib/aws/ec2/network_acl/association.rb +2 -2
  139. data/lib/aws/ec2/network_acl/entry.rb +22 -22
  140. data/lib/aws/ec2/network_acl_collection.rb +2 -2
  141. data/lib/aws/ec2/network_interface.rb +13 -4
  142. data/lib/aws/ec2/network_interface/attachment.rb +3 -3
  143. data/lib/aws/ec2/network_interface_collection.rb +5 -5
  144. data/lib/aws/ec2/permission_collection.rb +1 -1
  145. data/lib/aws/ec2/region.rb +6 -6
  146. data/lib/aws/ec2/region_collection.rb +1 -1
  147. data/lib/aws/ec2/reserved_instances_collection.rb +2 -2
  148. data/lib/aws/ec2/reserved_instances_offering_collection.rb +2 -2
  149. data/lib/aws/ec2/resource_tag_collection.rb +5 -5
  150. data/lib/aws/ec2/route_table.rb +14 -14
  151. data/lib/aws/ec2/route_table/association.rb +22 -22
  152. data/lib/aws/ec2/route_table/route.rb +8 -8
  153. data/lib/aws/ec2/route_table_collection.rb +3 -3
  154. data/lib/aws/ec2/security_group.rb +39 -41
  155. data/lib/aws/ec2/security_group_collection.rb +19 -21
  156. data/lib/aws/ec2/snapshot.rb +3 -3
  157. data/lib/aws/ec2/snapshot_collection.rb +11 -12
  158. data/lib/aws/ec2/subnet.rb +2 -2
  159. data/lib/aws/ec2/subnet_collection.rb +17 -17
  160. data/lib/aws/ec2/tag_collection.rb +1 -1
  161. data/lib/aws/ec2/tagged_collection.rb +7 -7
  162. data/lib/aws/ec2/tagged_item.rb +10 -10
  163. data/lib/aws/ec2/volume.rb +16 -16
  164. data/lib/aws/ec2/volume_collection.rb +9 -12
  165. data/lib/aws/ec2/vpc.rb +6 -6
  166. data/lib/aws/ec2/vpc_collection.rb +10 -10
  167. data/lib/aws/ec2/vpn_connection.rb +4 -4
  168. data/lib/aws/ec2/vpn_connection/telemetry.rb +1 -1
  169. data/lib/aws/ec2/vpn_connection_collection.rb +6 -6
  170. data/lib/aws/ec2/vpn_gateway.rb +2 -2
  171. data/lib/aws/ec2/vpn_gateway_collection.rb +5 -5
  172. data/lib/aws/elastic_beanstalk.rb +12 -12
  173. data/lib/aws/elastic_beanstalk/client.rb +376 -368
  174. data/lib/aws/elastic_beanstalk/config.rb +1 -1
  175. data/lib/aws/elastic_transcoder.rb +5 -5
  176. data/lib/aws/elastic_transcoder/client.rb +283 -283
  177. data/lib/aws/elastic_transcoder/config.rb +1 -1
  178. data/lib/aws/elasticache.rb +12 -12
  179. data/lib/aws/elasticache/client.rb +484 -479
  180. data/lib/aws/elasticache/config.rb +1 -1
  181. data/lib/aws/elb.rb +23 -23
  182. data/lib/aws/elb/availability_zone_collection.rb +34 -34
  183. data/lib/aws/elb/backend_server_policy_collection.rb +24 -24
  184. data/lib/aws/elb/client.rb +153 -153
  185. data/lib/aws/elb/config.rb +1 -1
  186. data/lib/aws/elb/errors.rb +1 -1
  187. data/lib/aws/elb/instance_collection.rb +20 -25
  188. data/lib/aws/elb/listener.rb +3 -3
  189. data/lib/aws/elb/listener_collection.rb +8 -8
  190. data/lib/aws/elb/load_balancer.rb +15 -16
  191. data/lib/aws/elb/load_balancer_collection.rb +36 -24
  192. data/lib/aws/elb/load_balancer_policy.rb +1 -1
  193. data/lib/aws/elb/load_balancer_policy_collection.rb +5 -5
  194. data/lib/aws/emr.rb +28 -26
  195. data/lib/aws/emr/client.rb +165 -149
  196. data/lib/aws/emr/config.rb +1 -1
  197. data/lib/aws/emr/instance_group.rb +1 -1
  198. data/lib/aws/emr/instance_group_collection.rb +1 -1
  199. data/lib/aws/emr/job_flow.rb +27 -26
  200. data/lib/aws/emr/job_flow_collection.rb +34 -34
  201. data/lib/aws/errors.rb +7 -7
  202. data/lib/aws/glacier.rb +21 -21
  203. data/lib/aws/glacier/archive_collection.rb +2 -2
  204. data/lib/aws/glacier/client.rb +139 -140
  205. data/lib/aws/glacier/config.rb +1 -1
  206. data/lib/aws/glacier/vault.rb +2 -2
  207. data/lib/aws/glacier/vault_collection.rb +1 -1
  208. data/lib/aws/iam.rb +133 -144
  209. data/lib/aws/iam/access_key.rb +17 -17
  210. data/lib/aws/iam/access_key_collection.rb +22 -22
  211. data/lib/aws/iam/account_alias_collection.rb +2 -2
  212. data/lib/aws/iam/client.rb +429 -420
  213. data/lib/aws/iam/collection.rb +1 -1
  214. data/lib/aws/iam/config.rb +2 -2
  215. data/lib/aws/iam/group.rb +8 -8
  216. data/lib/aws/iam/group_collection.rb +16 -16
  217. data/lib/aws/iam/group_policy_collection.rb +6 -6
  218. data/lib/aws/iam/group_user_collection.rb +3 -3
  219. data/lib/aws/iam/mfa_device.rb +1 -1
  220. data/lib/aws/iam/mfa_device_collection.rb +9 -9
  221. data/lib/aws/iam/policy_collection.rb +4 -4
  222. data/lib/aws/iam/resource.rb +2 -2
  223. data/lib/aws/iam/server_certificate.rb +1 -1
  224. data/lib/aws/iam/server_certificate_collection.rb +15 -15
  225. data/lib/aws/iam/signing_certificate.rb +29 -29
  226. data/lib/aws/iam/signing_certificate_collection.rb +23 -23
  227. data/lib/aws/iam/user.rb +33 -38
  228. data/lib/aws/iam/user_collection.rb +27 -27
  229. data/lib/aws/iam/user_group_collection.rb +3 -3
  230. data/lib/aws/iam/user_policy_collection.rb +6 -6
  231. data/lib/aws/iam/virtual_mfa_device.rb +12 -12
  232. data/lib/aws/iam/virtual_mfa_device_collection.rb +4 -4
  233. data/lib/aws/import_export.rb +22 -21
  234. data/lib/aws/import_export/client.rb +47 -43
  235. data/lib/aws/ops_works.rb +5 -5
  236. data/lib/aws/ops_works/client.rb +484 -438
  237. data/lib/aws/ops_works/config.rb +1 -1
  238. data/lib/aws/rails.rb +34 -34
  239. data/lib/aws/rds.rb +18 -18
  240. data/lib/aws/rds/client.rb +1286 -1277
  241. data/lib/aws/rds/config.rb +1 -1
  242. data/lib/aws/rds/db_instance.rb +15 -4
  243. data/lib/aws/rds/db_snapshot.rb +1 -1
  244. data/lib/aws/record.rb +50 -24
  245. data/lib/aws/record/abstract_base.rb +52 -60
  246. data/lib/aws/record/attributes.rb +79 -79
  247. data/lib/aws/record/conversion.rb +1 -1
  248. data/lib/aws/record/dirty_tracking.rb +69 -67
  249. data/lib/aws/record/errors.rb +21 -21
  250. data/lib/aws/record/exceptions.rb +2 -2
  251. data/lib/aws/record/hash_model.rb +20 -21
  252. data/lib/aws/record/hash_model/attributes.rb +13 -15
  253. data/lib/aws/record/hash_model/finder_methods.rb +46 -46
  254. data/lib/aws/record/hash_model/scope.rb +31 -31
  255. data/lib/aws/record/model.rb +136 -136
  256. data/lib/aws/record/model/attributes.rb +57 -59
  257. data/lib/aws/record/model/finder_methods.rb +67 -67
  258. data/lib/aws/record/model/scope.rb +48 -49
  259. data/lib/aws/record/naming.rb +1 -1
  260. data/lib/aws/record/scope.rb +23 -19
  261. data/lib/aws/record/validations.rb +253 -271
  262. data/lib/aws/record/validator.rb +3 -3
  263. data/lib/aws/record/validators/acceptance.rb +1 -3
  264. data/lib/aws/record/validators/block.rb +1 -3
  265. data/lib/aws/record/validators/confirmation.rb +1 -3
  266. data/lib/aws/record/validators/count.rb +2 -4
  267. data/lib/aws/record/validators/exclusion.rb +2 -4
  268. data/lib/aws/record/validators/format.rb +2 -4
  269. data/lib/aws/record/validators/inclusion.rb +1 -3
  270. data/lib/aws/record/validators/length.rb +5 -7
  271. data/lib/aws/record/validators/method.rb +1 -3
  272. data/lib/aws/record/validators/numericality.rb +6 -8
  273. data/lib/aws/record/validators/presence.rb +1 -3
  274. data/lib/aws/redshift.rb +14 -14
  275. data/lib/aws/redshift/client.rb +596 -592
  276. data/lib/aws/redshift/config.rb +1 -1
  277. data/lib/aws/route_53.rb +30 -30
  278. data/lib/aws/route_53/change_batch.rb +7 -7
  279. data/lib/aws/route_53/client.rb +188 -152
  280. data/lib/aws/route_53/hosted_zone.rb +4 -4
  281. data/lib/aws/route_53/hosted_zone_collection.rb +7 -7
  282. data/lib/aws/route_53/resource_record_set.rb +10 -10
  283. data/lib/aws/route_53/resource_record_set_collection.rb +6 -6
  284. data/lib/aws/s3.rb +79 -79
  285. data/lib/aws/s3/access_control_list.rb +44 -36
  286. data/lib/aws/s3/acl_options.rb +51 -51
  287. data/lib/aws/s3/bucket.rb +146 -146
  288. data/lib/aws/s3/bucket_collection.rb +21 -21
  289. data/lib/aws/s3/bucket_lifecycle_configuration.rb +81 -82
  290. data/lib/aws/s3/bucket_tag_collection.rb +4 -2
  291. data/lib/aws/s3/cipher_io.rb +5 -4
  292. data/lib/aws/s3/client.rb +89 -84
  293. data/lib/aws/s3/client/xml.rb +1 -1
  294. data/lib/aws/s3/config.rb +7 -1
  295. data/lib/aws/s3/cors_rule.rb +2 -0
  296. data/lib/aws/s3/cors_rule_collection.rb +42 -40
  297. data/lib/aws/s3/data_options.rb +16 -11
  298. data/lib/aws/s3/encryption_utils.rb +2 -2
  299. data/lib/aws/s3/errors.rb +7 -7
  300. data/lib/aws/s3/multipart_upload.rb +30 -33
  301. data/lib/aws/s3/multipart_upload_collection.rb +8 -6
  302. data/lib/aws/s3/object_collection.rb +35 -35
  303. data/lib/aws/s3/object_metadata.rb +6 -6
  304. data/lib/aws/s3/object_version.rb +4 -4
  305. data/lib/aws/s3/object_version_collection.rb +15 -15
  306. data/lib/aws/s3/policy.rb +2 -2
  307. data/lib/aws/s3/prefixed_collection.rb +9 -5
  308. data/lib/aws/s3/presigned_post.rb +39 -37
  309. data/lib/aws/s3/request.rb +11 -11
  310. data/lib/aws/s3/s3_object.rb +210 -200
  311. data/lib/aws/s3/tree.rb +25 -27
  312. data/lib/aws/s3/tree/child_collection.rb +3 -3
  313. data/lib/aws/s3/tree/leaf_node.rb +2 -2
  314. data/lib/aws/s3/tree/parent.rb +1 -1
  315. data/lib/aws/s3/website_configuration.rb +13 -13
  316. data/lib/aws/simple_db.rb +83 -83
  317. data/lib/aws/simple_db/attribute.rb +9 -7
  318. data/lib/aws/simple_db/attribute_collection.rb +22 -13
  319. data/lib/aws/simple_db/client.rb +107 -107
  320. data/lib/aws/simple_db/config.rb +7 -1
  321. data/lib/aws/simple_db/consistent_read_option.rb +5 -5
  322. data/lib/aws/simple_db/domain.rb +4 -2
  323. data/lib/aws/simple_db/domain_collection.rb +4 -4
  324. data/lib/aws/simple_db/domain_metadata.rb +5 -5
  325. data/lib/aws/simple_db/errors.rb +9 -9
  326. data/lib/aws/simple_db/item.rb +5 -5
  327. data/lib/aws/simple_db/item_collection.rb +83 -81
  328. data/lib/aws/simple_db/item_data.rb +4 -4
  329. data/lib/aws/simple_db/put_attributes.rb +3 -3
  330. data/lib/aws/simple_email_service.rb +140 -140
  331. data/lib/aws/simple_email_service/client.rb +82 -76
  332. data/lib/aws/simple_email_service/config.rb +1 -2
  333. data/lib/aws/simple_email_service/email_address_collection.rb +3 -3
  334. data/lib/aws/simple_email_service/identity.rb +8 -8
  335. data/lib/aws/simple_email_service/quotas.rb +8 -6
  336. data/lib/aws/simple_workflow.rb +106 -106
  337. data/lib/aws/simple_workflow/activity_task.rb +15 -22
  338. data/lib/aws/simple_workflow/activity_task_collection.rb +15 -15
  339. data/lib/aws/simple_workflow/activity_type.rb +23 -23
  340. data/lib/aws/simple_workflow/activity_type_collection.rb +23 -23
  341. data/lib/aws/simple_workflow/client.rb +1004 -956
  342. data/lib/aws/simple_workflow/config.rb +1 -1
  343. data/lib/aws/simple_workflow/count.rb +5 -5
  344. data/lib/aws/simple_workflow/decision_task.rb +129 -129
  345. data/lib/aws/simple_workflow/decision_task_collection.rb +59 -59
  346. data/lib/aws/simple_workflow/domain.rb +11 -11
  347. data/lib/aws/simple_workflow/domain_collection.rb +26 -26
  348. data/lib/aws/simple_workflow/history_event.rb +32 -32
  349. data/lib/aws/simple_workflow/history_event_collection.rb +3 -3
  350. data/lib/aws/simple_workflow/option_formatters.rb +5 -5
  351. data/lib/aws/simple_workflow/request.rb +1 -1
  352. data/lib/aws/simple_workflow/resource.rb +1 -1
  353. data/lib/aws/simple_workflow/type.rb +8 -8
  354. data/lib/aws/simple_workflow/type_collection.rb +15 -15
  355. data/lib/aws/simple_workflow/workflow_execution.rb +70 -72
  356. data/lib/aws/simple_workflow/workflow_execution_collection.rb +130 -130
  357. data/lib/aws/simple_workflow/workflow_type.rb +27 -25
  358. data/lib/aws/simple_workflow/workflow_type_collection.rb +20 -20
  359. data/lib/aws/sns.rb +25 -25
  360. data/lib/aws/sns/client.rb +55 -55
  361. data/lib/aws/sns/config.rb +1 -1
  362. data/lib/aws/sns/policy.rb +1 -1
  363. data/lib/aws/sns/subscription.rb +7 -7
  364. data/lib/aws/sns/subscription_collection.rb +5 -5
  365. data/lib/aws/sns/topic.rb +49 -49
  366. data/lib/aws/sns/topic_collection.rb +2 -2
  367. data/lib/aws/sns/topic_subscription_collection.rb +5 -5
  368. data/lib/aws/sqs.rb +20 -20
  369. data/lib/aws/sqs/client.rb +78 -78
  370. data/lib/aws/sqs/config.rb +1 -1
  371. data/lib/aws/sqs/errors.rb +12 -12
  372. data/lib/aws/sqs/queue.rb +66 -67
  373. data/lib/aws/sqs/queue_collection.rb +16 -8
  374. data/lib/aws/sqs/received_message.rb +7 -6
  375. data/lib/aws/storage_gateway.rb +21 -21
  376. data/lib/aws/storage_gateway/client.rb +269 -202
  377. data/lib/aws/storage_gateway/config.rb +1 -1
  378. data/lib/aws/sts.rb +10 -8
  379. data/lib/aws/sts/client.rb +35 -35
  380. data/lib/aws/sts/session.rb +3 -3
  381. data/lib/aws/version.rb +1 -2
  382. metadata +23 -21
  383. data/lib/aws/core/autoloader.rb +0 -64
  384. data/lib/net/http/connection_pool.rb +0 -226
  385. data/lib/net/http/connection_pool/connection.rb +0 -189
  386. data/lib/net/http/connection_pool/session.rb +0 -126
@@ -20,12 +20,12 @@ module AWS
20
20
  # list of items whose titles are palindromes using only a single
21
21
  # request to SimpleDB (not counting pagination):
22
22
  #
23
- # items.enum_for(:select).
24
- # select { |data| data.title == data.title.to_s.reverse }.
25
- # map { |data| data.item }
23
+ # items.enum_for(:select).
24
+ # select { |data| data.title == data.title.to_s.reverse }.
25
+ # map { |data| data.item }
26
26
  #
27
27
  # The {ItemCollection#select} call yields instances of ItemData,
28
- # and the +map+ call in the example above gets the list of
28
+ # and the `map` call in the example above gets the list of
29
29
  # corresponding {Item} instances.
30
30
  class ItemData
31
31
 
@@ -27,9 +27,9 @@ module AWS
27
27
  attribute_hashes = []
28
28
  attributes.each_pair do |attribute_name,values|
29
29
  [values].flatten.each do |value|
30
- attribute_hashes << {
31
- :name => attribute_name.to_s,
32
- :value => value.to_s,
30
+ attribute_hashes << {
31
+ :name => attribute_name.to_s,
32
+ :value => value.to_s,
33
33
  :replace => replace,
34
34
  } unless [:if, :unless].include?(attribute_name)
35
35
  end
@@ -15,34 +15,34 @@ require 'aws/core'
15
15
  require 'aws/simple_email_service/config'
16
16
 
17
17
  module AWS
18
-
19
- # This class is the starting point for working with Amazon
18
+
19
+ # This class is the starting point for working with Amazon
20
20
  # SimpleEmailService (SES).
21
21
  #
22
- # To use Amazon SimpleEmailService you must first
23
- # {sign up here}[http://aws.amazon.com/ses/]
22
+ # To use Amazon SimpleEmailService you must first
23
+ # [sign up here](http://aws.amazon.com/ses/)
24
24
  #
25
25
  # For more information about Amazon SimpleEmailService:
26
26
  #
27
- # * {Amazon SimpleEmailService}[http://aws.amazon.com/ses/]
28
- # * {Amazon SimpleEmailService Documentation}[http://aws.amazon.com/documentation/ses/]
27
+ # * [Amazon SimpleEmailService](http://aws.amazon.com/ses/)
28
+ # * [Amazon SimpleEmailService Documentation](http://aws.amazon.com/documentation/ses/)
29
29
  #
30
- # = Credentials
30
+ # # Credentials
31
31
  #
32
- # You can setup default credentials for all AWS services via
32
+ # You can setup default credentials for all AWS services via
33
33
  # AWS.config:
34
34
  #
35
- # AWS.config(
36
- # :access_key_id => 'YOUR_ACCESS_KEY_ID',
37
- # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
38
- #
35
+ # AWS.config(
36
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
37
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
38
+ #
39
39
  # Or you can set them directly on the SimpleEmailService interface:
40
40
  #
41
- # ses = AWS::SimpleEmailService.new(
42
- # :access_key_id => 'YOUR_ACCESS_KEY_ID',
43
- # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
41
+ # ses = AWS::SimpleEmailService.new(
42
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
43
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
44
44
  #
45
- # = Rails
45
+ # # Rails
46
46
  #
47
47
  # If you want to use Amazon SimpleEmailService to send email from your
48
48
  # Rails application you just need to do 2 things:
@@ -50,140 +50,140 @@ module AWS
50
50
  # 1. Configure your AWS credentials with {AWS.config}
51
51
  # 2. Set SES as the delivery method:
52
52
  #
53
- # config.action_mailer.delivery_method = :amazon_ses
53
+ # config.action_mailer.delivery_method = :amazon_ses
54
54
  #
55
55
  # This has only been tested with Rails 2.3 and Rails 3.0.
56
56
  #
57
57
  #
58
- # = Identities
58
+ # # Identities
59
59
  #
60
60
  # Before you can send emails, you need to verify one or more identities.
61
61
  # Identities are email addresses or domain names that you have control over.
62
- # Until you have {requested production access}[http://docs.amazonwebservices.com/ses/latest/DeveloperGuide/InitialSetup.Customer.html]
63
- # you will only be able to send emails to and from verified email addresses
62
+ # Until you have [requested production access](http://docs.amazonwebservices.com/ses/latest/DeveloperGuide/InitialSetup.Customer.html)
63
+ # you will only be able to send emails to and from verified email addresses
64
64
  # and domains.
65
65
  #
66
- # == Verifying Email Addresses
66
+ # ## Verifying Email Addresses
67
67
  #
68
68
  # You can verify an email address for sending/receiving emails using
69
69
  # the identities collection.
70
70
  #
71
- # identity = ses.identities.verify('email@yourdomain.com')
72
- # identity.verified? #=> false
71
+ # identity = ses.identities.verify('email@yourdomain.com')
72
+ # identity.verified? #=> false
73
73
  #
74
74
  # You will be sent an email address with a link. Follow the link to
75
75
  # verify the email address.
76
76
  #
77
- # == Verifying Domains
77
+ # ## Verifying Domains
78
78
  #
79
79
  # You can also verify an entire domain for sending and receiving emails.
80
- #
81
- # identity = ses.identities.verify('yourdomain.com')
82
- # identity.verification_token
83
- # #=> "216D+lZbhUL0zOoAkC83/0TAl5lJSzLmzsOjtXM7AeM="
80
+ #
81
+ # identity = ses.identities.verify('yourdomain.com')
82
+ # identity.verification_token
83
+ # #=> "216D+lZbhUL0zOoAkC83/0TAl5lJSzLmzsOjtXM7AeM="
84
84
  #
85
85
  # You will be expected to update the DNS records for your domain with
86
86
  # the given verification token. See the service documentation for
87
87
  # more details.
88
88
  #
89
- # == Listing Identities
90
- #
89
+ # ## Listing Identities
90
+ #
91
91
  # You can enumerate all identities:
92
92
  #
93
- # ses.identities.map(&:identity)
94
- # #=> ['email@foo.com', 'somedomain.com']
93
+ # ses.identities.map(&:identity)
94
+ # #=> ['email@foo.com', 'somedomain.com']
95
95
  #
96
96
  # You can filter the types of identities enumerated:
97
97
  #
98
- # domains = ses.identities.domains.map(&:identity)
99
- # email_addresses = ses.identities.email_addresses.map(&:identity)
98
+ # domains = ses.identities.domains.map(&:identity)
99
+ # email_addresses = ses.identities.email_addresses.map(&:identity)
100
100
  #
101
101
  # You can get the verification status and token from identities as well.
102
102
  #
103
- # # for an email address
104
- # identity = ses.identities['youremail@yourdomain.com']
105
- # identity.verified? #=> true/false
103
+ # # for an email address
104
+ # identity = ses.identities['youremail@yourdomain.com']
105
+ # identity.verified? #=> true/false
106
106
  #
107
- # # for a domain
108
- # identity = ses.identities['yourdomain.com']
109
- # identity.verified? #=> true/false
110
- # identity.verification_token #=> '...'
107
+ # # for a domain
108
+ # identity = ses.identities['yourdomain.com']
109
+ # identity.verified? #=> true/false
110
+ # identity.verification_token #=> '...'
111
111
  #
112
- # = Sending Email
112
+ # # Sending Email
113
113
  #
114
114
  # To send a basic email you can use {#send_email}.
115
115
  #
116
- # ses.send_email(
117
- # :subject => 'A Sample Email',
118
- # :from => 'sender@domain.com',
119
- # :to => 'receipient@domain.com',
120
- # :body_text => 'Sample email text.',
121
- # :body_html => '<h1>Sample Email</h1>')
116
+ # ses.send_email(
117
+ # :subject => 'A Sample Email',
118
+ # :from => 'sender@domain.com',
119
+ # :to => 'receipient@domain.com',
120
+ # :body_text => 'Sample email text.',
121
+ # :body_html => '<h1>Sample Email</h1>')
122
122
  #
123
123
  # If you need to send email with attachments or have other special needs
124
124
  # that send_email does not support you can use {#send_raw_email}.
125
125
  #
126
- # ses.send_raw_email(<<EMAIL)
127
- # Subject: A Sample Email
128
- # From: sender@domain.com
129
- # To: receipient@domain.com
126
+ # ses.send_raw_email(<<EMAIL)
127
+ # Subject: A Sample Email
128
+ # From: sender@domain.com
129
+ # To: receipient@domain.com
130
130
  #
131
- # Sample email text.
132
- # EMAIL
131
+ # Sample email text.
132
+ # EMAIL
133
133
  #
134
134
  # If you prefer, you can also set the sender and recipient in ruby
135
135
  # when sending raw emails:
136
136
  #
137
- # ses.send_raw_email(<<EMAIL, :to => 'to@foo.com', :from => 'from@foo.com')
138
- # Subject: A Sample Email
137
+ # ses.send_raw_email(<<EMAIL, :to => 'to@foo.com', :from => 'from@foo.com')
138
+ # Subject: A Sample Email
139
139
  #
140
- # Sample email text.
141
- # EMAIL
140
+ # Sample email text.
141
+ # EMAIL
142
142
  #
143
- # = Quotas
143
+ # # Quotas
144
144
  #
145
145
  # Based on several factors, Amazon SES determines how much email you can
146
146
  # send and how quickly you can send it. These sending limits are defined
147
147
  # as follows:
148
148
  #
149
- # * +:max_send_rate+ - Maximum number of emails you can send per second.
150
- # * +:max_24_hour_send+ - Maximum number of emails you can send in a
149
+ # * `:max_send_rate` - Maximum number of emails you can send per second.
150
+ # * `:max_24_hour_send` - Maximum number of emails you can send in a
151
151
  # 24-hour period.
152
152
  #
153
153
  # To get your current quotas (and how many emails you have sent in the last
154
154
  # 24 hours):
155
155
  #
156
- # ses.quotas
157
- # # => {:max_24_hour_send=>200, :max_send_rate=>1.0, :sent_last_24_hours=>22}
156
+ # ses.quotas
157
+ # # => {:max_24_hour_send=>200, :max_send_rate=>1.0, :sent_last_24_hours=>22}
158
158
  #
159
- # = Statistics
159
+ # # Statistics
160
160
  #
161
161
  # You can get statistics about individual emails:
162
162
  #
163
- # ses.statistics.each do |stats|
164
- # puts "Sent: #{stats[:sent]}"
165
- # puts "Delivery Attempts: #{stats[:delivery_attempts]}"
166
- # puts "Rejects: #{stats[:rejects]}"
167
- # puts "Bounces: #{stats[:bounces]}"
168
- # puts "Complaints: #{stats[:complaints]}"
169
- # end
163
+ # ses.statistics.each do |stats|
164
+ # puts "Sent: #{stats[:sent]}"
165
+ # puts "Delivery Attempts: #{stats[:delivery_attempts]}"
166
+ # puts "Rejects: #{stats[:rejects]}"
167
+ # puts "Bounces: #{stats[:bounces]}"
168
+ # puts "Complaints: #{stats[:complaints]}"
169
+ # end
170
170
  #
171
171
  # @!attribute [r] client
172
172
  # @return [Client] the low-level SimpleEmailService client object
173
173
  class SimpleEmailService
174
174
 
175
- AWS.register_autoloads(self, 'aws/simple_email_service') do
176
- autoload :Client, 'client'
177
- autoload :Errors, 'errors'
178
- autoload :EmailAddressCollection, 'email_address_collection'
179
- autoload :Identity, 'identity'
180
- autoload :IdentityCollection, 'identity_collection'
181
- autoload :Quotas, 'quotas'
182
- autoload :Request, 'request'
183
- end
175
+ autoload :Client, 'aws/simple_email_service/client'
176
+ autoload :Errors, 'aws/simple_email_service/errors'
177
+ autoload :EmailAddressCollection, 'aws/simple_email_service/email_address_collection'
178
+ autoload :Identity, 'aws/simple_email_service/identity'
179
+ autoload :IdentityCollection, 'aws/simple_email_service/identity_collection'
180
+ autoload :Quotas, 'aws/simple_email_service/quotas'
181
+ autoload :Request, 'aws/simple_email_service/request'
184
182
 
185
183
  include Core::ServiceInterface
186
184
 
185
+ endpoint_prefix 'email'
186
+
187
187
  # @note This method is deprecated. Use {#identities} instead.
188
188
  # @return [EmailAddressCollection] Returns a collection that represents
189
189
  # all of the verified email addresses for your account.
@@ -196,24 +196,24 @@ module AWS
196
196
  IdentityCollection.new(:config => config)
197
197
  end
198
198
 
199
- # Sends an email.
199
+ # Sends an email.
200
200
  #
201
- # ses.send_email(
202
- # :subject => 'A Sample Email',
203
- # :to => 'john@doe.com',
204
- # :from => 'no@reply.com',
205
- # :body_text => 'sample text ...',
206
- # :body_html => '<p>sample text ...</p>')
201
+ # ses.send_email(
202
+ # :subject => 'A Sample Email',
203
+ # :to => 'john@doe.com',
204
+ # :from => 'no@reply.com',
205
+ # :body_text => 'sample text ...',
206
+ # :body_html => '<p>sample text ...</p>')
207
207
  #
208
- # You can also pass multiple email addresses for the +:to+, +:cc+,
209
- # +:bcc+ and +:reply_to+ options. Email addresses can also be
208
+ # You can also pass multiple email addresses for the `:to`, `:cc`,
209
+ # `:bcc` and `:reply_to` options. Email addresses can also be
210
210
  # formatted with names.
211
211
  #
212
- # ses.send_email(
213
- # :subject => 'A Sample Email',
214
- # :to => ['"John Doe" <john@doe.com>', '"Jane Doe" <jane@doe.com>'],
215
- # :from => 'no@reply.com',
216
- # :body_text => 'sample text ...')
212
+ # ses.send_email(
213
+ # :subject => 'A Sample Email',
214
+ # :to => ['"John Doe" <john@doe.com>', '"Jane Doe" <jane@doe.com>'],
215
+ # :from => 'no@reply.com',
216
+ # :body_text => 'sample text ...')
217
217
  #
218
218
  # @param [Hash] options
219
219
  # @option options [required,String] :subject The subject of the message.
@@ -226,28 +226,28 @@ module AWS
226
226
  # @option options [String,Array] :bcc The address(es) to bcc (blind
227
227
  # carbon copy) the email to.
228
228
  # @option options [String,Array] :reply_to The reply-to email address(es)
229
- # for the message. If the recipient replies to the message, each
229
+ # for the message. If the recipient replies to the message, each
230
230
  # reply-to address will receive the reply.
231
- # @option options [String] :return_path The email address to which
231
+ # @option options [String] :return_path The email address to which
232
232
  # bounce notifications are to be forwarded. If the message cannot be
233
233
  # delivered to the recipient, then an error message will be returned
234
234
  # from the recipient's ISP; this message will then be forwarded to
235
- # the email address specified by the +:return_path+ option.
235
+ # the email address specified by the `:return_path` option.
236
236
  # @option options [String] :body_text The email text contents.
237
- # You must provide +:body_text+, +:body_html+ or both.
237
+ # You must provide `:body_text`, `:body_html` or both.
238
238
  # @option options [String] :body_html The email html contents.
239
- # You must provide +:body_text+, +:body_html+ or both.
240
- # @option options [String] :subject_charset The character set of the
241
- # +:subject+ string. If the text must contain any other characters,
242
- # then you must also specify the character set. Examples include
239
+ # You must provide `:body_text`, `:body_html` or both.
240
+ # @option options [String] :subject_charset The character set of the
241
+ # `:subject` string. If the text must contain any other characters,
242
+ # then you must also specify the character set. Examples include
243
243
  # UTF-8, ISO-8859-1, and Shift_JIS. Defaults to 7-bit ASCII.
244
244
  # @option options [String] :body_text_charset The character set of the
245
- # +:body_text+ string. If the text must contain any other characters,
246
- # then you must also specify the character set. Examples include
245
+ # `:body_text` string. If the text must contain any other characters,
246
+ # then you must also specify the character set. Examples include
247
247
  # UTF-8, ISO-8859-1, and Shift_JIS. Defaults to 7-bit ASCII.
248
248
  # @option options [String] :body_html_charset The character set of the
249
- # +:body_html+ string. If the text must contain any other characters,
250
- # then you must also specify the character set. Examples include
249
+ # `:body_html` string. If the text must contain any other characters,
250
+ # then you must also specify the character set. Examples include
251
251
  # UTF-8, ISO-8859-1, and Shift_JIS. Defaults to 7-bit ASCII.
252
252
  # @option options [String] :body_html
253
253
  # @return [nil]
@@ -285,50 +285,50 @@ module AWS
285
285
 
286
286
  end
287
287
 
288
- # Sends a raw email (email message, with header and content specified).
288
+ # Sends a raw email (email message, with header and content specified).
289
289
  # Useful for sending multipart MIME emails. The raw text of the message
290
- # must comply with Internet email standards; otherwise, the message
290
+ # must comply with Internet email standards; otherwise, the message
291
291
  # cannot be sent.
292
292
  #
293
- # raw = <<-EMAIL
294
- # Date: Wed, 1 Jun 2011 09:13:07 -0700
295
- # Subject: A Sample Email
296
- # From: "John Doe" <johndoe@domain.com>
297
- # To: "Jane Doe" <janedoe@domain.com>
298
- # Accept-Language: en-US
299
- # Content-Language: en-US
300
- # Content-Type: text/plain; charset="utf-8"
301
- # Content-Transfer-Encoding: base64
302
- # MIME-Version: 1.0
293
+ # raw = <<-EMAIL
294
+ # Date: Wed, 1 Jun 2011 09:13:07 -0700
295
+ # Subject: A Sample Email
296
+ # From: "John Doe" <johndoe@domain.com>
297
+ # To: "Jane Doe" <janedoe@domain.com>
298
+ # Accept-Language: en-US
299
+ # Content-Language: en-US
300
+ # Content-Type: text/plain; charset="utf-8"
301
+ # Content-Transfer-Encoding: base64
302
+ # MIME-Version: 1.0
303
303
  #
304
- # c2FtcGxlIHRleHQNCg==
305
- # EMAIL
304
+ # c2FtcGxlIHRleHQNCg==
305
+ # EMAIL
306
306
  #
307
- # ses.send_raw_email(raw)
307
+ # ses.send_raw_email(raw)
308
308
  #
309
- # Amazon SES has a limit on the total number of recipients per
310
- # message: The combined number of To:, CC: and BCC: email addresses
311
- # cannot exceed 50. If you need to send an email message to a larger
312
- # audience, you can divide your recipient list into groups of 50 or
313
- # fewer, and then call Amazon SES repeatedly to send the message to
309
+ # Amazon SES has a limit on the total number of recipients per
310
+ # message: The combined number of To:, CC: and BCC: email addresses
311
+ # cannot exceed 50. If you need to send an email message to a larger
312
+ # audience, you can divide your recipient list into groups of 50 or
313
+ # fewer, and then call Amazon SES repeatedly to send the message to
314
314
  # each group.
315
315
  #
316
- # @param [required, String] raw_message The raw text of the message.
316
+ # @param [required, String] raw_message The raw text of the message.
317
317
  # You can pass in any object whos #to_s returns a valid formatted
318
318
  # email (e.g. ruby Mail gem). The raw message should:
319
319
  # * Contain a header and a body, separated by a blank line
320
320
  # * Contain all required internet email headers
321
321
  # * Each part of a multipart MIME message must be formatted properly
322
- # * MIME content types must be among those supported by Amazon SES.
322
+ # * MIME content types must be among those supported by Amazon SES.
323
323
  # Refer to the Amazon SES Developer Guide for more details.
324
324
  # * Use content that is base64-encoded, if MIME requires it
325
325
  # @option options [String,Array] :to One or more email addresses to
326
326
  # send the email to.
327
- # @option options [String] :from The sender's email address.
328
- # If you specify the :from option, then bounce notifications and
329
- # complaints will be sent to this email address. This takes
330
- # precedence over any Return-Path header that you might include in
331
- # the +raw_message+.
327
+ # @option options [String] :from The sender's email address.
328
+ # If you specify the :from option, then bounce notifications and
329
+ # complaints will be sent to this email address. This takes
330
+ # precedence over any Return-Path header that you might include in
331
+ # the `raw_message`.
332
332
  # @return [nil]
333
333
  def send_raw_email raw_message, options = {}
334
334
 
@@ -361,14 +361,14 @@ module AWS
361
361
  Quotas.new(:config => config).to_h
362
362
  end
363
363
 
364
- # Returns an array of email statistics. Each object in this array is a
364
+ # Returns an array of email statistics. Each object in this array is a
365
365
  # hash with the following keys:
366
366
  #
367
- # * +:delivery_attempts+
368
- # * +:rejects+
369
- # * +:bounces+
370
- # * +:complaints+
371
- # * +:timestamp+
367
+ # * `:delivery_attempts`
368
+ # * `:rejects`
369
+ # * `:bounces`
370
+ # * `:complaints`
371
+ # * `:timestamp`
372
372
  #
373
373
  # @return [Array of Hashes] An array of email statistic hashes.
374
374
  def statistics
@@ -389,7 +389,7 @@ module AWS
389
389
  def require_one_of options, *keys
390
390
  unless keys.any?{|key| options[key] }
391
391
  parts = keys.collect{|key| ":#{key}" }.join(', ')
392
- raise ArgumentError, "you must provide at least one of #{parts}"
392
+ raise ArgumentError, "you must provide at least one of #{parts}"
393
393
  end
394
394
  end
395
395