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
@@ -24,7 +24,7 @@ module AWS
24
24
  # @param [Hash] options
25
25
  #
26
26
  # @option options [VPC,String] :vpc The vpc or vpc id of where you want
27
- # to create the route table.
27
+ # to create the route table.
28
28
  #
29
29
  # @return [RouteTable]
30
30
  #
@@ -32,7 +32,7 @@ module AWS
32
32
 
33
33
  client_opts = {}
34
34
  client_opts[:vpc_id] = vpc_id_option(options)
35
-
35
+
36
36
  resp = client.create_route_table(client_opts)
37
37
 
38
38
  RouteTable.new_from(:create_route_table, resp.route_table,
@@ -59,7 +59,7 @@ module AWS
59
59
  response = filtered_request(:describe_route_tables, options, &block)
60
60
  response.route_table_set.each do |t|
61
61
 
62
- route_table = RouteTable.new_from(:describe_route_tables, t,
62
+ route_table = RouteTable.new_from(:describe_route_tables, t,
63
63
  t.route_table_id, :config => config)
64
64
 
65
65
  yield(route_table)
@@ -29,12 +29,10 @@ module AWS
29
29
  #
30
30
  class SecurityGroup < Resource
31
31
 
32
- AWS.register_autoloads(self, 'aws/ec2/security_group') do
33
- autoload :IpPermission, 'ip_permission'
34
- autoload :IpPermissionCollection, 'ip_permission_collection'
35
- autoload :IngressIpPermissionCollection, 'ip_permission_collection'
36
- autoload :EgressIpPermissionCollection, 'ip_permission_collection'
37
- end
32
+ autoload :IpPermission, 'aws/ec2/security_group/ip_permission'
33
+ autoload :IpPermissionCollection, 'aws/ec2/security_group/ip_permission_collection'
34
+ autoload :IngressIpPermissionCollection, 'aws/ec2/security_group/ip_permission_collection'
35
+ autoload :EgressIpPermissionCollection, 'aws/ec2/security_group/ip_permission_collection'
38
36
 
39
37
  include TaggedItem
40
38
 
@@ -155,14 +153,14 @@ module AWS
155
153
  # This example grants the whole internet (0.0.0.0/0) access to port 80
156
154
  # over TCP (HTTP web traffic).
157
155
  #
158
- # security_group.authorize_ingress(:tcp, 80)
156
+ # security_group.authorize_ingress(:tcp, 80)
159
157
  #
160
158
  # You can specify port ranges as well:
161
159
  #
162
- # # ftp
163
- # security_group.authorize_ingress(:tcp, 20..21)
160
+ # # ftp
161
+ # security_group.authorize_ingress(:tcp, 20..21)
164
162
  #
165
- # == Sources
163
+ # ## Sources
166
164
  #
167
165
  # Security groups accept ingress trafic from:
168
166
  #
@@ -170,60 +168,60 @@ module AWS
170
168
  # * security groups
171
169
  # * load balancers
172
170
  #
173
- # === Ip Addresses
171
+ # ### Ip Addresses
174
172
  #
175
173
  # In the following example allow incoming SSH from a list of
176
174
  # IP address ranges.
177
175
  #
178
- # security_group.authorize_ingress(:tcp, 22,
179
- # '111.111.111.111/0', '222.222.222.222/0')
176
+ # security_group.authorize_ingress(:tcp, 22,
177
+ # '111.111.111.111/0', '222.222.222.222/0')
180
178
  #
181
- # === Security Groups
179
+ # ### Security Groups
182
180
  #
183
181
  # To autohrize ingress traffic from all EC2 instance in another
184
182
  # security group, just pass the security group:
185
183
  #
186
- # web = security_groups.create('webservers')
187
- # db = security_groups.create('database')
188
- # db.authorize_ingress(:tcp, 3306, web)
184
+ # web = security_groups.create('webservers')
185
+ # db = security_groups.create('database')
186
+ # db.authorize_ingress(:tcp, 3306, web)
189
187
  #
190
188
  # You can also pass a hash of security group details instead of
191
189
  # a {SecurityGroup} object.
192
190
  #
193
- # # by security group name
194
- # sg.authorize_ingress(:tcp, 80, { :group_name => 'other-group' })
191
+ # # by security group name
192
+ # sg.authorize_ingress(:tcp, 80, { :group_name => 'other-group' })
195
193
  #
196
- # # by security group id
197
- # sg.authorize_ingress(:tcp, 80, { :group_id => 'sg-1234567' })
194
+ # # by security group id
195
+ # sg.authorize_ingress(:tcp, 80, { :group_id => 'sg-1234567' })
198
196
  #
199
197
  # If the security group belongs to a different account, just make
200
198
  # sure it has the correct owner ID populated:
201
199
  #
202
- # not_my_sg = SecurityGroup.new('sg-1234567', :owner_id => 'abcxyz123')
203
- # my_sg.authorize_ingress(:tcp, 80, not_my_sg)
200
+ # not_my_sg = SecurityGroup.new('sg-1234567', :owner_id => 'abcxyz123')
201
+ # my_sg.authorize_ingress(:tcp, 80, not_my_sg)
204
202
  #
205
- # You can do the same with a hash as well (with either +:group_id+
206
- # or +:group_name+):
203
+ # You can do the same with a hash as well (with either `:group_id`
204
+ # or `:group_name`):
207
205
  #
208
- # sg.authorize_ingress(:tcp, 21..22, { :group_id => 'sg-id', :user_id => 'abcxyz123' })
206
+ # sg.authorize_ingress(:tcp, 21..22, { :group_id => 'sg-id', :user_id => 'abcxyz123' })
209
207
  #
210
- # === Load Balancers
208
+ # ### Load Balancers
211
209
  #
212
210
  # If you use ELB to manage load balancers, then you need to add
213
211
  # ingress permissions to the security groups they route traffic into.
214
212
  # You can do this by passing the {ELB::LoadBalancer} into
215
213
  # authorize_ingress:
216
214
  #
217
- # load_balancer = AWS::ELB.new.load_balancers['web-load-balancer']
215
+ # load_balancer = AWS::ELB.new.load_balancers['web-load-balancer']
218
216
  #
219
- # sg.authorize_ingress(:tcp, 80, load_balancer)
217
+ # sg.authorize_ingress(:tcp, 80, load_balancer)
220
218
  #
221
- # === Multiple Sources
219
+ # ### Multiple Sources
222
220
  #
223
221
  # You can provide multiple sources each time you call authorize
224
222
  # ingress, and you can mix and match the source types:
225
223
  #
226
- # sg.authorize_ingress(:tcp, 80, other_sg, '1.2.3.4/0', load_balancer)
224
+ # sg.authorize_ingress(:tcp, 80, other_sg, '1.2.3.4/0', load_balancer)
227
225
  #
228
226
  # @param [String, Symbol] protocol Should be :tcp, :udp or :icmp
229
227
  # or the string equivalent.
@@ -236,10 +234,10 @@ module AWS
236
234
  # security groups, or load balancers. Security groups
237
235
  # can be specified as hashes.
238
236
  #
239
- # A security group hash must provide either +:group_id+ or
240
- # +:group_name+ for the security group. If the security group
237
+ # A security group hash must provide either `:group_id` or
238
+ # `:group_name` for the security group. If the security group
241
239
  # does not belong to you aws account then you must also
242
- # provide +:user_id+ (which can be an AWS account ID or alias).
240
+ # provide `:user_id` (which can be an AWS account ID or alias).
243
241
  #
244
242
  # @return [nil]
245
243
  #
@@ -269,12 +267,12 @@ module AWS
269
267
 
270
268
  # Authorize egress (outbound) traffic for a VPC security group.
271
269
  #
272
- # # allow traffic for all protocols/ports from the given sources
273
- # security_group.authorize_egress('10.0.0.0/16', '10.0.0.1/16')
270
+ # # allow traffic for all protocols/ports from the given sources
271
+ # security_group.authorize_egress('10.0.0.0/16', '10.0.0.1/16')
274
272
  #
275
- # # allow tcp traffic outband via port 80
276
- # security_group.authorize_egress('10.0.0.0/16',
277
- # :protocol => :tcp, :ports => 80..80)
273
+ # # allow tcp traffic outband via port 80
274
+ # security_group.authorize_egress('10.0.0.0/16',
275
+ # :protocol => :tcp, :ports => 80..80)
278
276
  #
279
277
  # @note Calling this method on a non-VPC security group raises an error.
280
278
  #
@@ -288,7 +286,7 @@ module AWS
288
286
  #
289
287
  # @option options [Symbol] :protocol (:any) The protocol name or number
290
288
  # to authorize egress traffic for. For a complete list of protocols
291
- # see: {http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml}
289
+ # see: [protocol-numbers.xml](http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml)
292
290
  #
293
291
  # @option options [Range<Integer>,Integer] :ports (nil) An optional
294
292
  # port or range of ports. This option is required depending on
@@ -386,7 +384,7 @@ module AWS
386
384
  # hashes at the end of egress methods could be a hash intedned
387
385
  # to be a source, like:
388
386
  #
389
- # { :group_id => ..., :user_id => ... }
387
+ # { :group_id => ..., :user_id => ... }
390
388
  #
391
389
  options = args.pop
392
390
  else
@@ -19,15 +19,15 @@ module AWS
19
19
 
20
20
  include TaggedCollection
21
21
 
22
- # Creates a new
22
+ # Creates a new
23
23
  # @param [String] name The name of the security group to create.
24
24
  # @param [Hash] options
25
- # @option options [String] :description An informal description
25
+ # @option options [String] :description An informal description
26
26
  # of this security group. Accepts alphanumeric characters, spaces,
27
27
  # dashes, and underscores. If left blank the description will be set
28
28
  # to the name.
29
29
  #
30
- # @option options [VPC,String] :vpc (nil) A VPC or VPC id string to
30
+ # @option options [VPC,String] :vpc (nil) A VPC or VPC id string to
31
31
  # create the security group in. When specified a VPC security
32
32
  # group is created.
33
33
  #
@@ -68,41 +68,41 @@ module AWS
68
68
  # A subsequent call to #each will limit the security groups returned
69
69
  # by the set of filters.
70
70
  #
71
- # If you supply multiple values to #filter then these values are
71
+ # If you supply multiple values to #filter then these values are
72
72
  # treated as an OR condition. To return security groups named
73
73
  # 'test' or 'fake':
74
74
  #
75
- # security_groups.filter('group-name', 'test', 'fake')
75
+ # security_groups.filter('group-name', 'test', 'fake')
76
76
  #
77
77
  # If you want to and conditions together you need to chain calls to
78
78
  # filter. To limit security groups to those with a name like
79
79
  # 'test' and like 'ruby':
80
80
  #
81
- # security_groups.
82
- # filter('group-name', '*test*').
83
- # filter('group-name', '*ruby*').each do |group|
84
- # #...
85
- # end
86
- #
81
+ # security_groups.
82
+ # filter('group-name', '*test*').
83
+ # filter('group-name', '*ruby*').each do |group|
84
+ # #...
85
+ # end
86
+ #
87
87
  # Note that * matches one or more characters and ? matches any one
88
88
  # character.
89
89
  #
90
- # === Valid Filters
90
+ # ### Valid Filters
91
91
  #
92
92
  # * description - Description of the security group.
93
93
  # * group-id - ID of the security group.
94
94
  # * group-name - Name of the security group.
95
- # * ip-permission.cidr - CIDR range that has been granted the
95
+ # * ip-permission.cidr - CIDR range that has been granted the
96
96
  # permission.
97
- # * ip-permission.from-port - Start of port range for the TCP and UDP
97
+ # * ip-permission.from-port - Start of port range for the TCP and UDP
98
98
  # protocols, or an ICMP type number.
99
- # * ip-permission.group-name - Name of security group that has been
99
+ # * ip-permission.group-name - Name of security group that has been
100
100
  # granted the permission.
101
- # * ip-permission.protocol - IP protocol for the permission. Valid
101
+ # * ip-permission.protocol - IP protocol for the permission. Valid
102
102
  # values include 'tcp', 'udp', 'icmp' or a protocol number.
103
- # * ip-permission.to-port - End of port range for the TCP and UDP
103
+ # * ip-permission.to-port - End of port range for the TCP and UDP
104
104
  # protocols, or an ICMP code.
105
- # * ip-permission.user-id - ID of AWS account that has been granted
105
+ # * ip-permission.user-id - ID of AWS account that has been granted
106
106
  # the permission.
107
107
  # * owner-id - AWS account ID of the owner of the security group.
108
108
  # * tag-key - Key of a tag assigned to the security group.
@@ -110,8 +110,6 @@ module AWS
110
110
  #
111
111
  # @return [SecurityGroupCollection] A new collection that represents
112
112
  # a subset of the security groups associated with this account.
113
-
114
- # Yields once for each security group in this account.
115
113
  #
116
114
  # @yield [group]
117
115
  # @yieldparam [SecurityGroup] group
@@ -121,7 +119,7 @@ module AWS
121
119
  response = filtered_request(:describe_security_groups)
122
120
  response.security_group_info.each do |info|
123
121
 
124
- group = SecurityGroup.new_from(:describe_security_groups, info,
122
+ group = SecurityGroup.new_from(:describe_security_groups, info,
125
123
  info.group_id, :config => config)
126
124
 
127
125
  yield(group)
@@ -31,9 +31,9 @@ module AWS
31
31
  # @attr_reader [Symbol] status The status of the snapshot.
32
32
  # Possible values:
33
33
  #
34
- # * +:pending+
35
- # * +:completed+
36
- # * +:error+
34
+ # * `:pending`
35
+ # * `:completed`
36
+ # * `:error`
37
37
  #
38
38
  # @attr_reader [Time] start_time The time at which the snapshot
39
39
  # was initiated.
@@ -19,14 +19,14 @@ module AWS
19
19
  # {EC2#snapshots}.
20
20
  #
21
21
  # @example Create a snapshot from a volume
22
- # ec2.snapshots.create(:volume => ec2.volumes["vol-123"],
23
- # :description => "my snapshot")
24
- # # or:
25
- # ec2.volumes["vol-123"].create_snapshot("my snapshot")
22
+ # ec2.snapshots.create(:volume => ec2.volumes["vol-123"],
23
+ # :description => "my snapshot")
24
+ # # or:
25
+ # ec2.volumes["vol-123"].create_snapshot("my snapshot")
26
26
  #
27
27
  # @example Get a snapshot by ID
28
- # snapshot = ec2.snapshots["vol-123"]
29
- # snapshot.exists?
28
+ # snapshot = ec2.snapshots["vol-123"]
29
+ # snapshot.exists?
30
30
  #
31
31
  # @example Get a map of snapshot IDs to snapshot status
32
32
  # ec2.snapshots.inject({}) { |m, s| m[i.id] = s.status; m }
@@ -60,7 +60,7 @@ module AWS
60
60
 
61
61
  # @return [SnapshotCollection] A new collection that only
62
62
  # includes snapshots owned by one or more of the specified AWS
63
- # accounts. The IDs +:amazon+ and +:self+ can be used to
63
+ # accounts. The IDs `:amazon` and `:self` can be used to
64
64
  # include snapshots owned by Amazon or AMIs owned by you,
65
65
  # respectively.
66
66
  #
@@ -72,9 +72,9 @@ module AWS
72
72
 
73
73
  # @return [ImageCollection] A new collection that only includes
74
74
  # images for which the specified user ID has explicit launch
75
- # permissions. The user ID can be an AWS account ID, +:self+
75
+ # permissions. The user ID can be an AWS account ID, `:self`
76
76
  # to return AMIs for which the sender of the request has
77
- # explicit launch permissions, or +:all+ to return AMIs with
77
+ # explicit launch permissions, or `:all` to return AMIs with
78
78
  # public launch permissions.
79
79
  #
80
80
  # @param [Array of Strings] users The AWS account IDs by which
@@ -87,13 +87,12 @@ module AWS
87
87
  # Amazon S3. You can use snapshots for backups, to make
88
88
  # identical copies of instance devices, and to save data
89
89
  # before shutting down an instance. For more information about
90
- # Amazon EBS, go to the {Amazon Elastic Compute Cloud User
91
- # Guide}[http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?using-ebs.html].
90
+ # Amazon EBS, go to the [Amazon Elastic Compute Cloud User Guide](http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?using-ebs.html).
92
91
  #
93
92
  # @return [Snapshot] An object representing the new snapshot.
94
93
  #
95
94
  # @param [Hash] opts Options for creating the snapshot.
96
- # Either +:volume+ or +:volume_id+ is required.
95
+ # Either `:volume` or `:volume_id` is required.
97
96
  #
98
97
  # @option opts [Volume] :volume The Amazon EBS volume of which
99
98
  # to take a snapshot.
@@ -82,7 +82,7 @@ module AWS
82
82
  associations.first{|a| a.subnet == self }
83
83
  end
84
84
 
85
- # @return [RouteTable] Returns the route table currently associated
85
+ # @return [RouteTable] Returns the route table currently associated
86
86
  # with this subnet.
87
87
  def route_table
88
88
  route_table_association.route_table
@@ -111,7 +111,7 @@ module AWS
111
111
  if assoc.main?
112
112
  client_opts[:subnet_id] = subnet_id
113
113
  response = client.associate_route_table(client_opts)
114
- association_id = response.association_id
114
+ association_id = response.association_id
115
115
  else
116
116
  client_opts[:association_id] = assoc.association_id
117
117
  resp = client.replace_route_table_association(client_opts)
@@ -19,32 +19,32 @@ module AWS
19
19
  # all your VPCs). You can also get a subnet collection that represents
20
20
  # subnets within a single vpc.
21
21
  #
22
- # # represents all subnets
23
- # subnets = ec2.subnets
22
+ # # represents all subnets
23
+ # subnets = ec2.subnets
24
24
  #
25
- # # represents subnets within the named vpc
26
- # subnets = ec2.vpcs['vpc-12345'].subnets
25
+ # # represents subnets within the named vpc
26
+ # subnets = ec2.vpcs['vpc-12345'].subnets
27
27
  #
28
- # == Creating a Subnet
28
+ # ## Creating a Subnet
29
29
  #
30
30
  # To create a subnet, call {#create} on a subnet collection, passing in
31
31
  # a suitable CIDR block.
32
32
  #
33
- # subnet = subnets.create('10.0.0.0/20')
33
+ # subnet = subnets.create('10.0.0.0/20')
34
34
  #
35
35
  # You can optionally pass the availability zone you want the subnet
36
36
  # created in.
37
37
  #
38
- # == Getting a Subnet
38
+ # ## Getting a Subnet
39
39
  #
40
40
  # If you know the subnet id, you can get a subnet using {#[]}.
41
41
  #
42
- # subnet = subnets['subnet-id-here']
42
+ # subnet = subnets['subnet-id-here']
43
43
  #
44
- # You can filter subnets as well. See the EC2 API documentation
44
+ # You can filter subnets as well. See the EC2 API documentation
45
45
  # (http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSubnets.html) for a complete list of accepted filters.
46
46
  #
47
- # subnet = subnets.filter('state', 'available').first
47
+ # subnet = subnets.filter('state', 'available').first
48
48
  #
49
49
  class SubnetCollection < Collection
50
50
 
@@ -53,7 +53,7 @@ module AWS
53
53
 
54
54
  # Creates a Subnet. Subnets require a valid CIDR block and
55
55
  # are created inside a VPC. If this collection does not
56
- # have a
56
+ # have a
57
57
  #
58
58
  # @param [String] cidr_block The CIDR block you want the subnet to
59
59
  # cover (e.g., 10.0.0.0/24).
@@ -63,8 +63,8 @@ module AWS
63
63
  # @option options [VPC,String] :vpc The VPC (or VPC id string) to
64
64
  # create the subnet in.
65
65
  #
66
- # @option options [String,AvailabilityZone] :availability_zone
67
- # The Availability Zone you want the subnet in.
66
+ # @option options [String,AvailabilityZone] :availability_zone
67
+ # The Availability Zone you want the subnet in.
68
68
  # AWS selects a default zone for you (recommended).
69
69
  #
70
70
  # @return [Subnet]
@@ -74,12 +74,12 @@ module AWS
74
74
  client_opts = {}
75
75
  client_opts[:vpc_id] = vpc_id_option(options)
76
76
  client_opts[:cidr_block] = cidr_block
77
- client_opts[:availability_zone] = az_option(options) if
77
+ client_opts[:availability_zone] = az_option(options) if
78
78
  options[:availability_zone]
79
79
 
80
80
  resp = client.create_subnet(client_opts)
81
81
 
82
- Subnet.new_from(:create_subnet, resp.subnet,
82
+ Subnet.new_from(:create_subnet, resp.subnet,
83
83
  resp.subnet.subnet_id, :config => config)
84
84
 
85
85
  end
@@ -93,7 +93,7 @@ module AWS
93
93
  protected
94
94
  def az_option options
95
95
  options[:availability_zone].is_a?(AvailabilityZone) ?
96
- options[:availability_zone].name :
96
+ options[:availability_zone].name :
97
97
  options[:availability_zone]
98
98
  end
99
99
 
@@ -102,7 +102,7 @@ module AWS
102
102
  response = filtered_request(:describe_subnets, options, &block)
103
103
  response.subnet_set.each do |s|
104
104
 
105
- subnet = Subnet.new_from(:describe_subnets,
105
+ subnet = Subnet.new_from(:describe_subnets,
106
106
  s, s.subnet_id, :config => config)
107
107
 
108
108
  yield(subnet)