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
@@ -37,7 +37,7 @@ module AWS
37
37
  # @attr_reader [String,nil] user_data
38
38
  #
39
39
  # @attr_reader [Array<Hash>] block_device_mappings
40
- #
40
+ #
41
41
  # @attr_reader [String] iam_instance_profile
42
42
  #
43
43
  # @attr_reader [String] spot_price
@@ -88,8 +88,8 @@ module AWS
88
88
  translates_output{|mappings| mappings.map(&:to_hash) }
89
89
  end
90
90
 
91
- attribute :security_group_details,
92
- :from => :security_groups,
91
+ attribute :security_group_details,
92
+ :from => :security_groups,
93
93
  :static => true
94
94
 
95
95
  protected :security_group_details
@@ -21,7 +21,7 @@ module AWS
21
21
 
22
22
  # Creates an Auto Scaling launch configuration.
23
23
  #
24
- # auto_scaling.launch_configurations.create('name', 'ami-12345', 'm1.small')
24
+ # auto_scaling.launch_configurations.create('name', 'ami-12345', 'm1.small')
25
25
  #
26
26
  # @param [String] name The name of the launch configuration to create.
27
27
  #
@@ -40,8 +40,8 @@ module AWS
40
40
 
41
41
  # Updates the notification configuration with a new list of types:
42
42
  #
43
- # config = auto_scaling_group.notification_configurations.first
44
- # config.notification_types = %w(autoscaling:EC2_INSTANCE_LAUNCH)
43
+ # config = auto_scaling_group.notification_configurations.first
44
+ # config.notification_types = %w(autoscaling:EC2_INSTANCE_LAUNCH)
45
45
  #
46
46
  # @return [nil]
47
47
  #
@@ -16,39 +16,38 @@ module AWS
16
16
 
17
17
  # Allows you to enumerate and create notification configurations.#
18
18
  #
19
- # == Enumerating Notification Configurations
19
+ # ## Enumerating Notification Configurations
20
20
  #
21
21
  # You can enumerated *ALL* configurations from the AWS::AutoScaling class.
22
22
  #
23
- # auto_scaling = AWS::AutoScaling.new
24
- # auto_scaling.notification_configurations.each do |config|
25
- # # ...
26
- # end
23
+ # auto_scaling = AWS::AutoScaling.new
24
+ # auto_scaling.notification_configurations.each do |config|
25
+ # # ...
26
+ # end
27
27
  #
28
28
  # You can also limit them to a single Auto Scaling group:
29
29
  #
30
- # group = auto_scaling.groups['group-name']
31
- # group.notification_configurations.each do |config|
32
- # # ...
33
- # end
34
- #
35
- # == Creating Notification Configurations
30
+ # group = auto_scaling.groups['group-name']
31
+ # group.notification_configurations.each do |config|
32
+ # # ...
33
+ # end
34
+ #
35
+ # ## Creating Notification Configurations
36
36
  #
37
37
  # You can create a notification configuration like so:
38
38
  #
39
- # auto_scaling.notification_configurations.create(
40
- # :group => 'auto-scaling-group-name',
41
- # :topic => 'sns-topic-arn')
39
+ # auto_scaling.notification_configurations.create(
40
+ # :group => 'auto-scaling-group-name',
41
+ # :topic => 'sns-topic-arn')
42
42
  #
43
43
  # Just like with enumeration, you can create them from the Auto
44
44
  # Scaling group:
45
45
  #
46
- # group.notification_configurations.create(:topic => 'sns-topic-arn')
47
- #
46
+ # group.notification_configurations.create(:topic => 'sns-topic-arn')
48
47
  class NotificationConfigurationCollection
49
48
 
50
49
  include Core::Collection::WithLimitAndNextToken
51
-
50
+
52
51
  # @private
53
52
  def initialize options = {}
54
53
  @group = options[:group]
@@ -68,32 +67,32 @@ module AWS
68
67
  # Creates a new notification configuration. To create a notification
69
68
  # configuration you need an {SNS::Topic} and an Auto Scaling {Group}.
70
69
  #
71
- # auto_scaling.notification_configurations.create(
72
- # :group => 'auto-scaling-group-name',
73
- # :topic => 'sns-topic-arn')
70
+ # auto_scaling.notification_configurations.create(
71
+ # :group => 'auto-scaling-group-name',
72
+ # :topic => 'sns-topic-arn')
74
73
  #
75
74
  # You can also create notification configurations from an Auto Scaling
76
- # group and omit the +:group+ option.
75
+ # group and omit the `:group` option.
77
76
  #
78
- # auto_scaling_group.notification_configurations.create(
79
- # :topic => 'sns-topic-arn')
77
+ # auto_scaling_group.notification_configurations.create(
78
+ # :topic => 'sns-topic-arn')
80
79
  #
81
- # You may also pass a list of notification types to publish to the
80
+ # You may also pass a list of notification types to publish to the
82
81
  # topic. If you omit this option, then all notification types
83
82
  # will be configured.
84
83
  #
85
- # # publish only these two specific notification types
86
- # auto_scaling_group.notification_configurations.create(
87
- # :topic => 'sns-topic-arn',
88
- # :types => [
89
- # 'autoscaling:EC2_INSTANCE_LAUNCH',
90
- # 'autoscaling:EC2_INSTANCE_TERMINATE',
91
- # ]
92
- # )
84
+ # # publish only these two specific notification types
85
+ # auto_scaling_group.notification_configurations.create(
86
+ # :topic => 'sns-topic-arn',
87
+ # :types => [
88
+ # 'autoscaling:EC2_INSTANCE_LAUNCH',
89
+ # 'autoscaling:EC2_INSTANCE_TERMINATE',
90
+ # ]
91
+ # )
93
92
  #
94
93
  # @param [Hash] options
95
94
  #
96
- # @option options [required,SNS::Topic,String] :topic An {SNS::Topic}
95
+ # @option options [required,SNS::Topic,String] :topic An {SNS::Topic}
97
96
  # object or a topic arn string. Notifications will be published
98
97
  # to this topic.
99
98
  #
@@ -107,8 +106,8 @@ module AWS
107
106
  # @return [NotificationConfiguration]
108
107
  #
109
108
  def create options = {}
110
-
111
- topic_arn = options[:topic].is_a?(SNS::Topic) ?
109
+
110
+ topic_arn = options[:topic].is_a?(SNS::Topic) ?
112
111
  options[:topic].arn : options[:topic]
113
112
 
114
113
  unless group = @group
@@ -130,7 +129,7 @@ module AWS
130
129
  end
131
130
  alias_method :put, :create
132
131
 
133
- # @yield [notification_config]
132
+ # @yield [notification_config]
134
133
  # @yieldparam [NotificationConfiguration] notification_config
135
134
  def each &block
136
135
 
@@ -143,7 +142,7 @@ module AWS
143
142
  # rest in the next page.
144
143
  #
145
144
  # So instead we will request and group them all before yielding.
146
- #
145
+ #
147
146
 
148
147
  next_token = nil
149
148
 
@@ -169,7 +168,7 @@ module AWS
169
168
 
170
169
  groups.each_pair do |group_name, topics|
171
170
  topics.each_pair do |topic_arn, types|
172
-
171
+
173
172
  notification_config = NotificationConfiguration.new(
174
173
  Group.new(group_name, :config => config), topic_arn, types)
175
174
 
@@ -14,7 +14,7 @@
14
14
  module AWS
15
15
  class AutoScaling
16
16
 
17
- #
17
+ #
18
18
  # @attr_reader [String] arn
19
19
  #
20
20
  # @attr_reader [String] adjustment_type
@@ -66,7 +66,7 @@ module AWS
66
66
  attribute :min_adjustment_step
67
67
 
68
68
  populates_from(:describe_policies) do |resp|
69
- resp.scaling_policies.find do |p|
69
+ resp.scaling_policies.find do |p|
70
70
  p.policy_name == name and
71
71
  p.auto_scaling_group_name == group.name
72
72
  end
@@ -89,7 +89,7 @@ module AWS
89
89
  # @param [Hash] options
90
90
  #
91
91
  # @option options [Boolean] :honor_cooldown (false) Set to true if you
92
- # want Auto Scaling to reject this request when the Auto Scaling
92
+ # want Auto Scaling to reject this request when the Auto Scaling
93
93
  # group is in cooldown.
94
94
  #
95
95
  # @raise [Errors::ScalingActivityInProgress]
@@ -17,7 +17,7 @@ module AWS
17
17
 
18
18
  include Core::Collection::WithLimitAndNextToken
19
19
  include ScalingPolicyOptions
20
-
20
+
21
21
  def initialize auto_scaling_group, options = {}
22
22
  @group = auto_scaling_group
23
23
  super
@@ -28,7 +28,7 @@ module AWS
28
28
 
29
29
  alias_method :auto_scaling_group, :group
30
30
 
31
-
31
+
32
32
  # @param [String] name The name of the policy you want to create or update.
33
33
  # @param (see ScalingPolicyOptions#scaling_policy_options)
34
34
  # @option (see ScalingPolicyOptions#scaling_policy_options)
@@ -45,7 +45,7 @@ module AWS
45
45
  def [] policy_name
46
46
  ScalingPolicy.new(group, policy_name)
47
47
  end
48
-
48
+
49
49
  protected
50
50
 
51
51
  def _each_item next_token, limit, options = {}, &block
@@ -56,13 +56,13 @@ module AWS
56
56
 
57
57
  resp = client.describe_policies(options)
58
58
  resp.scaling_policies.each do |details|
59
-
59
+
60
60
  scaling_policy = ScalingPolicy.new_from(
61
- :describe_policies, details,
61
+ :describe_policies, details,
62
62
  group, details.policy_name)
63
63
 
64
64
  yield(scaling_policy)
65
-
65
+
66
66
  end
67
67
  resp.data[:next_token]
68
68
  end
@@ -25,19 +25,20 @@ module AWS
25
25
  # @option options [required,String] :adjustment_type Specifies whether
26
26
  # the adjustment is an absolute number or a percentage of the current
27
27
  # capacity. Valid values are:
28
- # * 'ChangeInCapacity'
29
- # * 'ExactCapacity'
30
- # * 'PercentChangeInCapacity'
28
+ #
29
+ # * 'ChangeInCapacity'
30
+ # * 'ExactCapacity'
31
+ # * 'PercentChangeInCapacity'
31
32
  #
32
33
  # @option options [required,Integer] :scaling_adjustment The number of
33
- # instances by which to scale. +:adjustment_type+ determines the
34
+ # instances by which to scale. `:adjustment_type` determines the
34
35
  # interpretation of this umber (e.g., as an absolute number or as a
35
- # percentage of the existing Auto Scaling group size). A positive
36
- # increment adds to the current capacity and a negative value
36
+ # percentage of the existing Auto Scaling group size). A positive
37
+ # increment adds to the current capacity and a negative value
37
38
  # removes from the current capacity.
38
39
  #
39
40
  # @option options [Integer] :cooldown The amount of time, in seconds,
40
- # after a scaling activity completes before any further
41
+ # after a scaling activity completes before any further
41
42
  # trigger-related scaling activities can start.
42
43
  #
43
44
  # @option options [Integer] :min_adjustment_step
@@ -71,7 +71,7 @@ module AWS
71
71
  end
72
72
 
73
73
  # Updates the scheduled action. If you omit an option,
74
- # the corresponding value remains unchanged in the Auto
74
+ # the corresponding value remains unchanged in the Auto
75
75
  # Scaling group.
76
76
  #
77
77
  # @param [Hash] options
@@ -96,7 +96,7 @@ module AWS
96
96
  client_opts[:scheduled_action_name] = name
97
97
  client_opts[:auto_scaling_group_name] = auto_scaling_group_name
98
98
 
99
- # convert these options to timestamps
99
+ # convert these options to timestamps
100
100
  [:start_time, :end_time].each do |opt|
101
101
  if client_opts[opt].is_a?(Time)
102
102
  client_opts[opt] = client_opts[opt].iso8601
@@ -112,7 +112,7 @@ module AWS
112
112
 
113
113
  # @return [Boolean]
114
114
  def exists?
115
- client_opts = {}
115
+ client_opts = {}
116
116
  client_opts[:scheduled_action_names] = [name]
117
117
  resp = client.describe_scheduled_actions(client_opts)
118
118
  !resp.scheduled_update_group_actions.empty?
@@ -19,26 +19,26 @@ module AWS
19
19
  class ScheduledActionCollection
20
20
 
21
21
  include Core::Collection::WithLimitAndNextToken
22
-
22
+
23
23
  # @private
24
24
  def initialize options = {}
25
25
  @filters = options[:filters] || {}
26
26
  super
27
27
  end
28
28
 
29
- # Creates a scheduled scaling action for an Auto Scaling group.
29
+ # Creates a scheduled scaling action for an Auto Scaling group.
30
30
  # If you leave a parameter unspecified, the corresponding attribute
31
31
  # remains unchanged in the group.
32
32
  #
33
33
  # You must specify an Auto Scaling group. This can be implicit
34
34
  # or explicit:
35
35
  #
36
- # # given explicitly
37
- # auto_scaling.scheduled_actions.create('action-name', :group => 'group-name')
36
+ # # given explicitly
37
+ # auto_scaling.scheduled_actions.create('action-name', :group => 'group-name')
38
38
  #
39
- # # implied by the group
40
- # group = auto_scaling.groups.first
41
- # group.scheduled_actions.create('action-name')
39
+ # # implied by the group
40
+ # group = auto_scaling.groups.first
41
+ # group.scheduled_actions.create('action-name')
42
42
  #
43
43
  # @param [String] name
44
44
  #
@@ -55,14 +55,14 @@ module AWS
55
55
  # @option options [String] :recurrence
56
56
  #
57
57
  # @option options [Time] :start_time
58
- #
58
+ #
59
59
  # @option options [Time] :end_time
60
60
  #
61
61
  # @return [ScheduledAction]
62
62
  #
63
63
  def create name, options = {}
64
-
65
- scheduled_action = ScheduledAction.new(name,
64
+
65
+ scheduled_action = ScheduledAction.new(name,
66
66
  :auto_scaling_group_name => auto_scaling_group_name_opt(options),
67
67
  :config => config)
68
68
 
@@ -86,37 +86,37 @@ module AWS
86
86
  # Returns a new {ScheduledActionCollection} filtered
87
87
  # by the given options.
88
88
  #
89
- # auto_scaling.scheduled_actions.filter(:end_time => Time.now).each do |a|
90
- # # ...
91
- # end
89
+ # auto_scaling.scheduled_actions.filter(:end_time => Time.now).each do |a|
90
+ # # ...
91
+ # end
92
92
  #
93
93
  # You can chain filter calls:
94
94
  #
95
- # actions = auto_scaling.scheduled_actions.
96
- # filter(:group => 'auto-scaling-group-name').
97
- # filter(:start_time => Time.now - 3600).
98
- # filter(:end_time => Time.now)
95
+ # actions = auto_scaling.scheduled_actions.
96
+ # filter(:group => 'auto-scaling-group-name').
97
+ # filter(:start_time => Time.now - 3600).
98
+ # filter(:end_time => Time.now)
99
+ #
100
+ # actions.each {|scheduled_action| ... }
99
101
  #
100
- # actions.each {|scheduled_action| ... }
101
- #
102
102
  # @param [Hash] filters
103
103
  #
104
104
  # @option filters [Group,String] :group
105
105
  #
106
106
  # @option filters [Array<String>] :scheduled_actions
107
- # A list of scheduled actions to be described. If this list is
108
- # omitted, all scheduled actions are described. The list of
109
- # requested scheduled actions cannot contain more than 50 items.
110
- # If an Auto Scaling group name is provided,
111
- # the results are limited to that group. If unknown scheduled
107
+ # A list of scheduled actions to be described. If this list is
108
+ # omitted, all scheduled actions are described. The list of
109
+ # requested scheduled actions cannot contain more than 50 items.
110
+ # If an Auto Scaling group name is provided,
111
+ # the results are limited to that group. If unknown scheduled
112
112
  # actions are requested, they are ignored with no error.
113
113
  #
114
114
  # @option options [Time,String] :start_time The earliest scheduled
115
- # start time to return. If +:scheduled_actions+ is provided,
115
+ # start time to return. If `:scheduled_actions` is provided,
116
116
  # this field will be ignored. Should be a Time object or
117
117
  # an iso8601 string.
118
118
  #
119
- # @option filters [Time,String] :end_time
119
+ # @option filters [Time,String] :end_time
120
120
  #
121
121
  # @return [ScheduledActionCollection] Returns a scheduled action
122
122
  # collection that will filter the actions returned by the
@@ -175,7 +175,7 @@ module AWS
175
175
 
176
176
  resp = client.describe_scheduled_actions(options.merge(@filters))
177
177
  resp.scheduled_update_group_actions.each do |details|
178
-
178
+
179
179
  scheduled_action = ScheduledAction.new_from(
180
180
  :describe_scheduled_actions,
181
181
  details,
@@ -183,7 +183,7 @@ module AWS
183
183
  :config => config)
184
184
 
185
185
  yield(scheduled_action)
186
-
186
+
187
187
  end
188
188
 
189
189
  resp.data[:next_token]
@@ -16,47 +16,47 @@ module AWS
16
16
 
17
17
  # Provides an interface for enumerating tags defined in Auto Scaling.
18
18
  #
19
- # auto_scaling = AWS::AutoScaling.new
20
- # auto_scaling.tags.each do |tag|
21
- # puts "#{tag.key}:#{tag.value}"
22
- # end
19
+ # auto_scaling = AWS::AutoScaling.new
20
+ # auto_scaling.tags.each do |tag|
21
+ # puts "#{tag.key}:#{tag.value}"
22
+ # end
23
23
  #
24
- # == Filters
24
+ # ## Filters
25
25
  #
26
26
  # You can filter the tags returned using {#filter}:
27
27
  #
28
- # # returns tags with the key "role"
29
- # auto_scaling.filter(:key, 'role').to_a
28
+ # # returns tags with the key "role"
29
+ # auto_scaling.filter(:key, 'role').to_a
30
30
  #
31
- # # returns tags with the key "role" and value "webserver"
32
- # auto_scaling.filter(:key, 'role').filter(:value, 'webserver')to_a
31
+ # # returns tags with the key "role" and value "webserver"
32
+ # auto_scaling.filter(:key, 'role').filter(:value, 'webserver')to_a
33
33
  #
34
- # # returns tags with the Auto Scaling group name "group1"
35
- # auto_scaling.filter(:auto_scaling_group, 'group1').to_a
34
+ # # returns tags with the Auto Scaling group name "group1"
35
+ # auto_scaling.filter(:auto_scaling_group, 'group1').to_a
36
36
  #
37
- # # returns all tags that propagate at launch
38
- # auto_scaling.filter(:propagate_at_launch, true).to_a
37
+ # # returns all tags that propagate at launch
38
+ # auto_scaling.filter(:propagate_at_launch, true).to_a
39
39
  #
40
- # == Creating Tags
40
+ # ## Creating Tags
41
41
  #
42
42
  # You can create Auto Scaling tags when you:
43
43
  #
44
44
  # * [create]{GroupCollection#create} an Auto Scaling group
45
45
  # * [update]{Group#update} an Auto Scaling group
46
46
  #
47
- # Both of these methods accept a +:tags+ option.
47
+ # Both of these methods accept a `:tags` option.
48
48
  #
49
- # tags = [
50
- # { :key => 'auto-scaling-instance' }, # tag name only
51
- # { :key => 'role', :value => 'webserver' }, # tag name and value
52
- # ]
49
+ # tags = [
50
+ # { :key => 'auto-scaling-instance' }, # tag name only
51
+ # { :key => 'role', :value => 'webserver' }, # tag name and value
52
+ # ]
53
53
  #
54
- # # creating a group with tags
55
- # group = auto_scaling.groups.create('group-name', :tags => tags, ...)
54
+ # # creating a group with tags
55
+ # group = auto_scaling.groups.create('group-name', :tags => tags, ...)
56
+ #
57
+ # # updating a group's tags
58
+ # group.update(:tags => tags)
56
59
  #
57
- # # updating a group's tags
58
- # group.update(:tags => tags)
59
- #
60
60
  class TagCollection
61
61
 
62
62
  include Core::Collection::WithLimitAndNextToken
@@ -66,12 +66,14 @@ module AWS
66
66
  @filters = options.delete(:filters) || []
67
67
  super
68
68
  end
69
-
69
+
70
70
  # Filters the tags by the given filter name and value(s).
71
71
  #
72
- # # return tags with the key "role" and the value "webserver"
73
- # auto_scaling.tags.filter(:key, 'role').filer(:value, 'webserver')
74
- #
72
+ # ``
73
+ # # return tags with the key "role" and the value "webserver"
74
+ # auto_scaling.tags.filter(:key, 'role').filer(:value, 'webserver')
75
+ # ``
76
+ #
75
77
  # @param [Symbol] name Valid filter names include:
76
78
  #
77
79
  # * :key