aws-sdk 1.8.5 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,102 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ require 'net/http'
15
+ require 'net/https'
16
+ require 'thread'
17
+ require 'logger'
18
+
19
+ module AWS
20
+ module Core
21
+ module Http
22
+
23
+ def self.patch_net_http_100_continue!
24
+ if RUBY_VERSION >= '2.0'
25
+ Net::HTTP.send(:include, Expect100Continue20)
26
+ elsif RUBY_VERSION >= '1.9.3'
27
+ Net::HTTP.send(:include, Expect100Continue19)
28
+ else
29
+ msg = "Expect 100-continue not supported in Ruby < 1.9.3"
30
+ raise NotImplementedError, msg
31
+ end
32
+ Net::HTTP.send(:alias_method, :old_transport_request, :transport_request)
33
+ Net::HTTP.send(:alias_method, :transport_request, :new_transport_request)
34
+ end
35
+
36
+ # @private
37
+ module Expect100Continue19
38
+ def new_transport_request(req)
39
+ begin_transport req
40
+ res = catch(:response) {
41
+ req.exec @socket, @curr_http_version, edit_path(req.path)
42
+ begin
43
+ res = Net::HTTPResponse.read_new(@socket)
44
+ end while res.kind_of?(Net::HTTPContinue)
45
+ res
46
+ }
47
+ res.reading_body(@socket, req.response_body_permitted?) {
48
+ yield res if block_given?
49
+ }
50
+ end_transport req, res
51
+ res
52
+ rescue => exception
53
+ D "Conn close because of error #{exception}"
54
+ @socket.close if @socket and not @socket.closed?
55
+ raise exception
56
+ end
57
+ end
58
+
59
+ # @private
60
+ module Expect100Continue20
61
+ def new_transport_request(req)
62
+ count = 0
63
+ begin
64
+ begin_transport req
65
+ res = catch(:response) {
66
+ req.exec @socket, @curr_http_version, edit_path(req.path)
67
+ begin
68
+ res = Net::HTTPResponse.read_new(@socket)
69
+ res.decode_content = req.decode_content
70
+ end while res.kind_of?(Net::HTTPContinue)
71
+
72
+ res.uri = req.uri
73
+
74
+ res
75
+ }
76
+ res.reading_body(@socket, req.response_body_permitted?) {
77
+ yield res if block_given?
78
+ }
79
+ rescue Net::OpenTimeout
80
+ raise
81
+ rescue Net::ReadTimeout, IOError, EOFError,
82
+ Errno::ECONNRESET, Errno::ECONNABORTED, Errno::EPIPE,
83
+ # avoid a dependency on OpenSSL
84
+ defined?(OpenSSL::SSL) ? OpenSSL::SSL::SSLError : IOError,
85
+ Timeout::Error => exception
86
+ if count == 0 && IDEMPOTENT_METHODS_.include?(req.method)
87
+ count += 1
88
+ @socket.close if @socket and not @socket.closed?
89
+ D "Conn close because of error #{exception}, and retry"
90
+ retry
91
+ end
92
+ D "Conn close because of error #{exception}"
93
+ @socket.close if @socket and not @socket.closed?
94
+ raise
95
+ end
96
+
97
+ end
98
+ end
99
+
100
+ end
101
+ end
102
+ end
@@ -74,36 +74,30 @@ module AWS
74
74
  # simple_email_service and ses do not match).
75
75
  attr_accessor :service_ruby_name
76
76
 
77
- # @return [nil, URI] The URI to the proxy server requests are
78
- # sent through if configured. Returns nil if there is no proxy.
79
- attr_accessor :proxy_uri
80
-
81
77
  # @return [Integer] The number of seconds the service has to respond
82
78
  # before a timeout error is raised on the request. Defaults to
83
79
  # 60 seconds.
84
80
  attr_accessor :read_timeout
85
81
 
86
- # @return [Boolean] Returns +true+ if this request should be made
82
+ # @return [Boolean] Returns `true` if this request should be made
87
83
  # with SSL enabled.
88
84
  attr_accessor :use_ssl
89
85
 
90
86
  alias_method :use_ssl?, :use_ssl
91
87
 
92
- # @return [Boolean] Returns +true+ if the client should verify
93
- # the peer certificate.
94
- attr_accessor :ssl_verify_peer
95
-
96
- alias_method :ssl_verify_peer?, :ssl_verify_peer
97
-
98
- # @return [String] Returns the path to a bundle of CA certs in PEM
99
- # format; the HTTP handler should use this to verify all HTTPS
100
- # requests if {#ssl_verify_peer?} is true.
101
- attr_accessor :ssl_ca_file
88
+ # @return [Float] timeout The number of seconds to wait for a
89
+ # 100-continue response before sending the HTTP request body.
90
+ # @private
91
+ attr_accessor :continue_timeout
102
92
 
103
- # @return [String] Returns the path to a directory of CA certs.
104
- # The HTTP handler should use these to verify all HTTPS
105
- # requests if {#ssl_verify_peer?} is true.
106
- attr_accessor :ssl_ca_path
93
+ def endpoint
94
+ scheme = use_ssl ? 'https' : 'http'
95
+ port = case scheme
96
+ when 'https' then self.port == 443 ? '' : ":#{self.port}"
97
+ when 'http' then self.port == 80 ? '' : ":#{self.port}"
98
+ end
99
+ "#{scheme}://#{host}#{port}"
100
+ end
107
101
 
108
102
  # @return [Integer] Returns the port the request will be made over.
109
103
  # Defaults to 443 for SSL requests and 80 for non-SSL requests.
@@ -36,13 +36,13 @@ module AWS
36
36
  # @return [Exception,nil]
37
37
  attr_accessor :network_error
38
38
 
39
- # @return [Boolean] Returns +true+ if the request could not be made
39
+ # @return [Boolean] Returns `true` if the request could not be made
40
40
  # because of a networking issue (including timeouts).
41
41
  def network_error?
42
42
  @network_error ? true : false
43
43
  end
44
44
 
45
- # The #network_error attribute was previously #timeout, aliasing
45
+ # The #network_error attribute was previously #timeout, aliasing
46
46
  # for backwards compatability
47
47
  alias_method :timeout=, :network_error=
48
48
 
@@ -16,7 +16,7 @@ require 'thread'
16
16
  module AWS
17
17
  module Core
18
18
 
19
- # Provides lazy creation of error classes via {#const_missing}.
19
+ # Provides lazy creation of error classes via {#const_missing}.
20
20
  #
21
21
  # Extend this module provides 3 benefits to another module:
22
22
  #
@@ -26,24 +26,24 @@ module AWS
26
26
  #
27
27
  # Here is an example of how it works:
28
28
  #
29
- # Class Foo
30
- # module Errors
31
- # extend AWS::Core::LazyErrorClasses
32
- # end
33
- # end
29
+ # Class Foo
30
+ # module Errors
31
+ # extend AWS::Core::LazyErrorClasses
32
+ # end
33
+ # end
34
34
  #
35
- # Foo::Errors.error_class('NoSuchKey')
36
- # #=> Foo::Errors::NoSuckKey
35
+ # Foo::Errors.error_class('NoSuchKey')
36
+ # #=> Foo::Errors::NoSuckKey
37
37
  #
38
- # Foo::Errors.error_class('Nested.Error.Klasses')
39
- # #=> Foo::Errors::Nested::Error::Klasses
38
+ # Foo::Errors.error_class('Nested.Error.Klasses')
39
+ # #=> Foo::Errors::Nested::Error::Klasses
40
40
  #
41
41
  # The errors returned from {#error_class} are subclasses
42
42
  # of {AWS::Errors::Base}.
43
43
  #
44
44
  module LazyErrorClasses
45
45
 
46
- # This grammar parses the defualt AWS XML error format
46
+ # This grammar parses the defualt AWS XML error format
47
47
  BASE_ERROR_GRAMMAR = XML::Grammar.customize do
48
48
  element("Error") do
49
49
  ignore
@@ -56,12 +56,12 @@ module AWS
56
56
  unless base.const_defined?(:GRAMMAR)
57
57
  base.const_set(:GRAMMAR, BASE_ERROR_GRAMMAR)
58
58
  end
59
-
59
+
60
60
  mutex = Mutex.new
61
61
  MetaUtils.extend_method(base, :const_missing_mutex) { mutex }
62
62
 
63
63
  end
64
-
64
+
65
65
  # Defines a new error class.
66
66
  # @param [String,Symbol] constant
67
67
  # @return [nil]
@@ -73,9 +73,9 @@ module AWS
73
73
 
74
74
  # Converts the error code into an error class constant.
75
75
  #
76
- # AWS::EC2::Errors.error_class('Non.Existent.Error')
77
- # #=> AWS::EC2::Errors::Non::Existent::Error
78
- #
76
+ # AWS::EC2::Errors.error_class('Non.Existent.Error')
77
+ # #=> AWS::EC2::Errors::Non::Existent::Error
78
+ #
79
79
  # @param [String] code An AWS error code.
80
80
  #
81
81
  # @return [Class] Returns the error class defiend by the error code.
@@ -83,7 +83,7 @@ module AWS
83
83
  def error_class code
84
84
  module_eval("#{self}::#{code.gsub('.Range','Range').gsub(".","::")}")
85
85
  end
86
-
86
+
87
87
  end
88
88
 
89
89
  end
@@ -16,32 +16,32 @@ require 'pathname'
16
16
  module AWS
17
17
  module Core
18
18
 
19
- # = Log Formatters
19
+ # # Log Formatters
20
20
  #
21
21
  # Log formatters receive a {AWS::Core::Response} object and return
22
22
  # a log message. When you construct a {LogFormatter}, you provide
23
23
  # a pattern string with substitutions.
24
24
  #
25
- # pattern = '[REQUEST :http_status_code] :service :operation :duration'
26
- # formatter = AWS::Core::LogFormatter.new(pattern)
27
- # formatter.format(response)
28
- # #=> '[AWS 200] EC2 get_bucket 0.0352'
25
+ # pattern = '[REQUEST :http_status_code] :service :operation :duration'
26
+ # formatter = AWS::Core::LogFormatter.new(pattern)
27
+ # formatter.format(response)
28
+ # #=> '[AWS 200] EC2 get_bucket 0.0352'
29
29
  #
30
- # = AWS Configuration
30
+ # # AWS Configuration
31
31
  #
32
32
  # AWS.config provides a {LogFormatter.default} log formatter. You can
33
33
  # repace this formatter by building your own and then passing it
34
34
  # to {AWS.config}.
35
35
  #
36
- # pattern = '[REQUEST :http_status_code] :service :operation :duration'
37
- # AWS.config(:log_formatter => AWS::Core::LogFormatter.new(pattern)
36
+ # pattern = '[REQUEST :http_status_code] :service :operation :duration'
37
+ # AWS.config(:log_formatter => AWS::Core::LogFormatter.new(pattern)
38
38
  #
39
- # == Canned Formatters
39
+ # ## Canned Formatters
40
40
  #
41
41
  # Instead of providing your own pattern, you can choose a canned log
42
42
  # formatter.
43
43
  #
44
- # AWS.config(:log_formatter => AWS::Core::LogFormatter.colored)
44
+ # AWS.config(:log_formatter => AWS::Core::LogFormatter.colored)
45
45
  #
46
46
  # Here is the list of canned formatters.
47
47
  #
@@ -50,105 +50,71 @@ module AWS
50
50
  # * {LogFormatter.debug}
51
51
  # * {LogFormatter.colored}
52
52
  #
53
- # = Pattern Substitutions
53
+ # # Pattern Substitutions
54
54
  #
55
55
  # You can put any of these placeholders into you pattern.
56
56
  #
57
- # [+:service+]
58
- # The AWS service name (e.g. 'S3', 'EC2', 'SimpleDB', etc)
59
- #
60
- # [+:region+]
61
- # The AWS region name (e.g. 'us-east-1', 'us-west-1', etc)
62
- #
63
- # [+:operation+]
64
- # The name of the client request method. This maps to the name of
65
- # the serivce API operation (e.g. :describe_instances).
66
- #
67
- # [+:options+]
68
- # The hash of options passed to the client request method.
69
- # Long strings are truncated/summarized if they excede the log
70
- # formatters {#max_string_size}. Other objects are inspected.
71
- #
72
- # [+:retry_count+]
73
- # The number of times a client request was retried.
74
- # Throttlings and service errors trigger the automatic retry logic.
75
- # This value indicates how many extra attempts were made before
76
- # getting a successful response or giving up.
77
- #
78
- # [+:duration+]
79
- # The time it took to generate a response, expressed
80
- # in decimal seconds. This time includes everything from
81
- # calling the client request method, until that method returns
82
- # a value (event retries and retry delays).
83
- #
84
- # [+:error_class+]
85
- # The class name of the error returned by the
86
- # service. If no error was returned, this will be replcaed by
87
- # an empty string.
88
- #
89
- # [+:error_message+]
90
- # The message of the error returned. If
91
- # no error was returned by the service, this will be an empty
92
- # string.
93
- #
94
- # [+:http_request_method+]
95
- # The HTTP request verb (e.g. 'POST', 'PUT', 'GET', etc).
96
- #
97
- # [+:http_request_protocol+]
98
- # This is replaced by 'http' or 'https'.
99
- #
100
- # [+:http_request_host+]
101
- # The host name of the http request endpoint (e.g. 's3.amazon.com').
102
- #
103
- # [+:http_request_port+]
104
- # The port number (e.g. '443' or '80').
105
- #
106
- # [+:http_request_uri+]
107
- # The http request uri folling the host (e.g.
108
- # '/bucket_name/objects/key?versions').
109
- #
110
- # [+:http_request_body+]
111
- # The http request payload.
112
- #
113
- # [+:http_request_headers+]
114
- # The http request headers, inspected.
115
- #
116
- # [+:http_request_proxy_uri+]
117
- # The proxy uri used, or an empty string.
118
- #
119
- # [+:http_response_status+]
120
- # The http response status code (e.g. '200', '404', '500', etc).
121
- #
122
- # [+:http_response_headers+]
123
- # The http response headers, inspected.
124
- #
125
- # [+:http_response_body+]
126
- # The http response body contents.
57
+ # * `:service` - The AWS service name (e.g. 'S3', 'EC2', 'SimpleDB', etc)
58
+ # * `:region` - The AWS region name (e.g. 'us-west-1', 'us-west-2', etc)
59
+ # * `:operation` - The name of the client request method. This maps to
60
+ # the name of the serivce API operation (e.g. :describe_instances).
61
+ # * `:options` - The hash of options passed to the client request method.
62
+ # Long strings are truncated/summarized if they excede the log
63
+ # formatters {#max_string_size}. Other objects are inspected.
64
+ # * `:retry_count` - The number of times a client request was retried.
65
+ # Throttlings and service errors trigger the automatic retry logic.
66
+ # This value indicates how many extra attempts were made before
67
+ # getting a successful response or giving up.
68
+ # * `:duration` - The time it took to generate a response, expressed
69
+ # in decimal seconds. This time includes everything from
70
+ # calling the client request method, until that method returns
71
+ # a value (event retries and retry delays).
72
+ # * `:error_class` - The class name of the error returned by the
73
+ # service. If no error was returned, this will be replcaed by
74
+ # an empty string.
75
+ # * `:error_message` - The message of the error returned. If
76
+ # no error was returned by the service, this will be an empty
77
+ # string.
78
+ # * `:http_request_method` - The HTTP request verb (e.g. 'POST',
79
+ # 'PUT', 'GET', etc).
80
+ # * `:http_request_protocol` - This is replaced by 'http' or 'https'.
81
+ # * `:http_request_host` - The host name of the http request
82
+ # endpoint (e.g. 's3.amazon.com').
83
+ # * `:http_request_port` - The port number (e.g. '443' or '80').
84
+ # * `:http_request_uri` - The http request uri folling the host (e.g.
85
+ # '/bucket_name/objects/key?versions').
86
+ # * `:http_request_body` - The http request payload.
87
+ # * `:http_request_headers` - The http request headers, inspected.
88
+ # * `:http_request_proxy_uri` - The proxy uri used, or an empty string.
89
+ # * `:http_response_status` - The http response status
90
+ # code (e.g. '200', '404', '500', etc).
91
+ # * `:http_response_headers` - The http response headers, inspected.
92
+ # * `:http_response_body` - The http response body contents.
127
93
  #
128
94
  class LogFormatter
129
95
 
130
96
  # @param [String] pattern The log format pattern should be a string
131
97
  # and may contain any of the following placeholders:
132
98
  #
133
- # * +:service+
134
- # * +:region+
135
- # * +:operation+
136
- # * +:options+
137
- # * +:retry_count
138
- # * +:duration+
139
- # * +:error_class+
140
- # * +:error_message+
141
- # * +:http_request_method+
142
- # * +:http_request_protocol+
143
- # * +:http_request_host+
144
- # * +:http_request_port+
145
- # * +:http_request_uri+
146
- # * +:http_request_body+
147
- # * +:http_request_headers+
148
- # * +:http_request_proxy_uri+
149
- # * +:http_response_status+
150
- # * +:http_response_headers+
151
- # * +:http_response_body+
99
+ # * `:service`
100
+ # * `:region`
101
+ # * `:operation`
102
+ # * `:options`
103
+ # * `:retry_count`
104
+ # * `:duration`
105
+ # * `:error_class`
106
+ # * `:error_message`
107
+ # * `:http_request_method`
108
+ # * `:http_request_protocol`
109
+ # * `:http_request_host`
110
+ # * `:http_request_port`
111
+ # * `:http_request_uri`
112
+ # * `:http_request_body`
113
+ # * `:http_request_headers`
114
+ # * `:http_request_proxy_uri`
115
+ # * `:http_response_status`
116
+ # * `:http_response_headers`
117
+ # * `:http_response_body`
152
118
  #
153
119
  # @param [Hash] options
154
120
  #
@@ -248,7 +214,7 @@ module AWS
248
214
  end
249
215
 
250
216
  def _http_request_proxy_uri response
251
- response.http_request.proxy_uri
217
+ response.config.proxy_uri
252
218
  end
253
219
 
254
220
  def _http_response_status response
@@ -320,7 +286,7 @@ module AWS
320
286
  #
321
287
  # @example A sample of the default format.
322
288
  #
323
- # [AWS SimpleEmailService 200 0.580066 0 retries] list_verified_email_addresses()
289
+ # [AWS SimpleEmailService 200 0.580066 0 retries] list_verified_email_addresses()
324
290
  #
325
291
  # @return [LogFormatter]
326
292
  #
@@ -345,7 +311,7 @@ module AWS
345
311
  #
346
312
  # @example A sample of the short format
347
313
  #
348
- # [AWS SimpleEmailService 200 0.494532] list_verified_email_addresses
314
+ # [AWS SimpleEmailService 200 0.494532] list_verified_email_addresses
349
315
  #
350
316
  # @return [LogFormatter]
351
317
  #
@@ -431,7 +397,7 @@ module AWS
431
397
  #
432
398
  # @example A sample of the colored format (sans the ansi colors).
433
399
  #
434
- # [AWS SimpleEmailService 200 0.580066 0 retries] list_verified_email_addresses()
400
+ # [AWS SimpleEmailService 200 0.580066 0 retries] list_verified_email_addresses()
435
401
  #
436
402
  # @return [LogFormatter]
437
403
  #