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
@@ -14,6 +14,6 @@
14
14
 
15
15
  AWS::Core::Configuration.module_eval do
16
16
 
17
- add_service 'Glacier', 'glacier', 'glacier.us-east-1.amazonaws.com'
17
+ add_service 'Glacier', 'glacier', 'glacier.%s.amazonaws.com'
18
18
 
19
19
  end
@@ -59,7 +59,7 @@ module AWS
59
59
  end
60
60
  end
61
61
 
62
- # @return [Boolean] Returns +true+ if the vault exists.
62
+ # @return [Boolean] Returns `true` if the vault exists.
63
63
  def exists?
64
64
  client.describe_vault(:vault_name => name, :account_id => account_id)
65
65
  true
@@ -105,7 +105,7 @@ module AWS
105
105
  end
106
106
 
107
107
  # Sets the notification configuration for this vault. If you pass
108
- # a +nil+ value, the notification configuration will be deleted
108
+ # a `nil` value, the notification configuration will be deleted
109
109
  # @param [VaultNotificationConfiguration] cfg
110
110
  def notification_configuration= cfg
111
111
  if cfg
@@ -59,7 +59,7 @@ module AWS
59
59
 
60
60
  vault = Vault.new_from(:list_vaults, v,
61
61
  v[:vault_name],
62
- :config => config,
62
+ :config => config,
63
63
  :account_id => account_id)
64
64
 
65
65
  yield(vault)
@@ -16,114 +16,114 @@ require 'aws/iam/config'
16
16
 
17
17
  module AWS
18
18
 
19
- # This class is the starting point for working with
19
+ # This class is the starting point for working with
20
20
  # AWS Identity and Access Management (IAM).
21
21
  #
22
22
  # For more information about IAM:
23
23
  #
24
- # * {AWS Identity and Access Management}[http://aws.amazon.com/iam/]
25
- # * {AWS Identity and Access Management Documentation}[http://aws.amazon.com/documentation/iam/]
24
+ # * [AWS Identity and Access Management](http://aws.amazon.com/iam/)
25
+ # * [AWS Identity and Access Management Documentation](http://aws.amazon.com/documentation/iam/)
26
26
  #
27
- # = Credentials
27
+ # # Credentials
28
28
  #
29
- # You can setup default credentials for all AWS services via
29
+ # You can setup default credentials for all AWS services via
30
30
  # AWS.config:
31
31
  #
32
- # AWS.config(
33
- # :access_key_id => 'YOUR_ACCESS_KEY_ID',
34
- # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
35
- #
32
+ # AWS.config(
33
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
34
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
35
+ #
36
36
  # Or you can set them directly on the IAM interface:
37
37
  #
38
- # iam = AWS::IAM.new(
39
- # :access_key_id => 'YOUR_ACCESS_KEY_ID',
40
- # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
38
+ # iam = AWS::IAM.new(
39
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
40
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
41
41
  #
42
- # = Account Summary
42
+ # # Account Summary
43
43
  #
44
44
  # You can get account level information about entity usage and IAM quotas
45
45
  # directly from an IAM interface object.
46
46
  #
47
- # summary = iam.account_summary
47
+ # summary = iam.account_summary
48
48
  #
49
- # puts "Num users: #{summary[:users]}"
50
- # puts "Num user quota: #{summary[:users_quota]}"
49
+ # puts "Num users: #{summary[:users]}"
50
+ # puts "Num user quota: #{summary[:users_quota]}"
51
51
  #
52
52
  # For a complete list of summary attributes see the {#account_summary} method.
53
53
  #
54
- # = Account Aliases
54
+ # # Account Aliases
55
55
  #
56
56
  # Currently IAM only supports a single account alias for each AWS account.
57
57
  # You can set the account alias on the IAM interface.
58
58
  #
59
- # iam.account_alias = 'myaccountalias'
60
- # iam.account_alias
61
- # #=> 'myaccountalias'
59
+ # iam.account_alias = 'myaccountalias'
60
+ # iam.account_alias
61
+ # #=> 'myaccountalias'
62
62
  #
63
63
  # You can also remove your account alias:
64
64
  #
65
- # iam.remove_account_alias
66
- # iam.account_alias
67
- # #=> nil
65
+ # iam.remove_account_alias
66
+ # iam.account_alias
67
+ # #=> nil
68
68
  #
69
- # = Access Keys
69
+ # # Access Keys
70
70
  #
71
71
  # You can create up to 2 access for your account and 2 for each user.
72
72
  # This makes it easy to rotate keys if you need to. You can also
73
73
  # deactivate/activate access keys.
74
74
  #
75
- # # get your current access key
76
- # old_access_key = iam.access_keys.first
75
+ # # get your current access key
76
+ # old_access_key = iam.access_keys.first
77
77
  #
78
- # # create a new access key
79
- # new_access_key = iam.access_keys.create
80
- # new_access_key.credentials
81
- # #=> { :access_key_id => 'ID', :secret_access_key => 'SECRET' }
78
+ # # create a new access key
79
+ # new_access_key = iam.access_keys.create
80
+ # new_access_key.credentials
81
+ # #=> { :access_key_id => 'ID', :secret_access_key => 'SECRET' }
82
82
  #
83
- # # go rotate your keys/credentials ...
83
+ # # go rotate your keys/credentials ...
84
84
  #
85
- # # now disable the old access key
86
- # old_access_key.deactivate!
85
+ # # now disable the old access key
86
+ # old_access_key.deactivate!
87
87
  #
88
- # # go make sure everything still works ...
88
+ # # go make sure everything still works ...
89
89
  #
90
- # # all done, lets clean up
91
- # old_access_key.delete
90
+ # # all done, lets clean up
91
+ # old_access_key.delete
92
92
  #
93
93
  # Users can also have access keys:
94
94
  #
95
- # u = iam.users['someuser']
96
- # access_key = u.access_keys.create
97
- # access_key.credentials
98
- # #=> { :access_key_id => 'ID', :secret_access_key => 'SECRET' }
95
+ # u = iam.users['someuser']
96
+ # access_key = u.access_keys.create
97
+ # access_key.credentials
98
+ # #=> { :access_key_id => 'ID', :secret_access_key => 'SECRET' }
99
99
  #
100
100
  # See {AccessKeyCollection} and {AccessKey} for more information about
101
101
  # working with access keys.
102
102
  #
103
- # = Users & Groups
103
+ # # Users & Groups
104
104
  #
105
105
  # Each AWS account can have multiple users. Users can be used to easily
106
- # manage permissions. Users can also be organized into groups.
106
+ # manage permissions. Users can also be organized into groups.
107
107
  #
108
- # user = iam.users.create('JohnDoe')
109
- # group = iam.groups.create('Developers')
108
+ # user = iam.users.create('JohnDoe')
109
+ # group = iam.groups.create('Developers')
110
110
  #
111
- # # add a user to a group
112
- # user.groups.add(group)
111
+ # # add a user to a group
112
+ # user.groups.add(group)
113
113
  #
114
- # # remove a user from a group
115
- # user.groups.remove(group)
114
+ # # remove a user from a group
115
+ # user.groups.remove(group)
116
116
  #
117
- # # add a user to a group
118
- # group.users.add(user)
117
+ # # add a user to a group
118
+ # group.users.add(user)
119
119
  #
120
- # # remove a user from a group
121
- # group.users.remove(user)
120
+ # # remove a user from a group
121
+ # group.users.remove(user)
122
122
  #
123
123
  # See {User}, {UserCollection}, {Group} and {GroupCollection} for more
124
124
  # information on how to work with users and groups.
125
125
  #
126
- # = Other Interfaces
126
+ # # Other Interfaces
127
127
  #
128
128
  # Other useful IAM interfaces:
129
129
  # * User Login Profiles ({LoginProfile})
@@ -136,39 +136,39 @@ module AWS
136
136
  # @return [Client] the low-level IAM client object
137
137
  class IAM
138
138
 
139
- AWS.register_autoloads(self) do
140
- autoload :AccessKey, 'access_key'
141
- autoload :AccessKeyCollection, 'access_key_collection'
142
- autoload :AccountAliasCollection, 'account_alias_collection'
143
- autoload :Client, 'client'
144
- autoload :Collection, 'collection'
145
- autoload :Errors, 'errors'
146
- autoload :Group, 'group'
147
- autoload :GroupCollection, 'group_collection'
148
- autoload :GroupPolicyCollection, 'group_policy_collection'
149
- autoload :GroupUserCollection, 'group_user_collection'
150
- autoload :LoginProfile, 'login_profile'
151
- autoload :MFADevice, 'mfa_device'
152
- autoload :MFADeviceCollection, 'mfa_device_collection'
153
- autoload :Policy, 'policy'
154
- autoload :PolicyCollection, 'policy_collection'
155
- autoload :Request, 'request'
156
- autoload :Resource, 'resource'
157
- autoload :ServerCertificate, 'server_certificate'
158
- autoload :ServerCertificateCollection, 'server_certificate_collection'
159
- autoload :SigningCertificate, 'signing_certificate'
160
- autoload :SigningCertificateCollection, 'signing_certificate_collection'
161
- autoload :User, 'user'
162
- autoload :UserCollection, 'user_collection'
163
- autoload :UserGroupCollection, 'user_group_collection'
164
- autoload :UserPolicy, 'user_policy'
165
- autoload :UserPolicyCollection, 'user_policy_collection'
166
- autoload :VirtualMfaDeviceCollection, 'virtual_mfa_device_collection'
167
- autoload :VirtualMfaDevice, 'virtual_mfa_device'
168
- end
139
+ autoload :AccessKey, 'aws/iam/access_key'
140
+ autoload :AccessKeyCollection, 'aws/iam/access_key_collection'
141
+ autoload :AccountAliasCollection, 'aws/iam/account_alias_collection'
142
+ autoload :Client, 'aws/iam/client'
143
+ autoload :Collection, 'aws/iam/collection'
144
+ autoload :Errors, 'aws/iam/errors'
145
+ autoload :Group, 'aws/iam/group'
146
+ autoload :GroupCollection, 'aws/iam/group_collection'
147
+ autoload :GroupPolicyCollection, 'aws/iam/group_policy_collection'
148
+ autoload :GroupUserCollection, 'aws/iam/group_user_collection'
149
+ autoload :LoginProfile, 'aws/iam/login_profile'
150
+ autoload :MFADevice, 'aws/iam/mfa_device'
151
+ autoload :MFADeviceCollection, 'aws/iam/mfa_device_collection'
152
+ autoload :Policy, 'aws/iam/policy'
153
+ autoload :PolicyCollection, 'aws/iam/policy_collection'
154
+ autoload :Request, 'aws/iam/request'
155
+ autoload :Resource, 'aws/iam/resource'
156
+ autoload :ServerCertificate, 'aws/iam/server_certificate'
157
+ autoload :ServerCertificateCollection, 'aws/iam/server_certificate_collection'
158
+ autoload :SigningCertificate, 'aws/iam/signing_certificate'
159
+ autoload :SigningCertificateCollection, 'aws/iam/signing_certificate_collection'
160
+ autoload :User, 'aws/iam/user'
161
+ autoload :UserCollection, 'aws/iam/user_collection'
162
+ autoload :UserGroupCollection, 'aws/iam/user_group_collection'
163
+ autoload :UserPolicy, 'aws/iam/user_policy'
164
+ autoload :UserPolicyCollection, 'aws/iam/user_policy_collection'
165
+ autoload :VirtualMfaDeviceCollection, 'aws/iam/virtual_mfa_device_collection'
166
+ autoload :VirtualMfaDevice, 'aws/iam/virtual_mfa_device'
169
167
 
170
168
  include Core::ServiceInterface
171
169
 
170
+ endpoint_prefix 'iam', :global => true
171
+
172
172
  # Returns a collection that represents all AWS users for this account:
173
173
  #
174
174
  # @example Getting a user by name
@@ -180,7 +180,7 @@ module AWS
180
180
  # iam.users.each do |user|
181
181
  # puts user.name
182
182
  # end
183
- #
183
+ #
184
184
  # @return [UserCollection] Returns a collection that represents all of
185
185
  # the IAM users for this AWS account.
186
186
  def users
@@ -205,13 +205,13 @@ module AWS
205
205
  GroupCollection.new(:config => config)
206
206
  end
207
207
 
208
- # Returns a collection that represents the access keys for this
208
+ # Returns a collection that represents the access keys for this
209
209
  # AWS account.
210
210
  #
211
- # iam = AWS::IAM.new
212
- # iam.access_keys.each do |access_key|
213
- # puts access_key.id
214
- # end
211
+ # iam = AWS::IAM.new
212
+ # iam.access_keys.each do |access_key|
213
+ # puts access_key.id
214
+ # end
215
215
  #
216
216
  # @return [AccessKeyCollection] Returns a collection that represents all
217
217
  # access keys for this AWS account.
@@ -220,16 +220,16 @@ module AWS
220
220
  end
221
221
 
222
222
  # Returns a collection that represents the signing certificates
223
- # for this AWS account.
223
+ # for this AWS account.
224
224
  #
225
- # iam = AWS::IAM.new
226
- # iam.signing_certificates.each do |cert|
227
- # # ...
228
- # end
225
+ # iam = AWS::IAM.new
226
+ # iam.signing_certificates.each do |cert|
227
+ # # ...
228
+ # end
229
229
  #
230
230
  # If you need to access the signing certificates of a specific user,
231
231
  # see {User#signing_certificates}.
232
- #
232
+ #
233
233
  # @return [SigningCertificateCollection] Returns a collection that
234
234
  # represents signing certificates for this AWS account.
235
235
  def signing_certificates
@@ -246,10 +246,10 @@ module AWS
246
246
  # Returns a collection that represents the server certificates
247
247
  # for this AWS account.
248
248
  #
249
- # iam = AWS::IAM.new
250
- # iam.server_certificates.each do |cert|
251
- # # ...
252
- # end
249
+ # iam = AWS::IAM.new
250
+ # iam.server_certificates.each do |cert|
251
+ # # ...
252
+ # end
253
253
  #
254
254
  # @return [ServerCertificateCollection] Returns a collection that
255
255
  # represents server certificates for this AWS account.
@@ -260,10 +260,10 @@ module AWS
260
260
  # Returns a collection that represents the virtual MFA devices
261
261
  # that are not assigned to an IAM user.
262
262
  #
263
- # iam = AWS::IAM.new
264
- # iam.virtual_mfa_devices.each do |cert|
265
- # # ...
266
- # end
263
+ # iam = AWS::IAM.new
264
+ # iam.virtual_mfa_devices.each do |cert|
265
+ # # ...
266
+ # end
267
267
  #
268
268
  # @return [VirtualMfaDeviceCollection] Returns a collection that
269
269
  # represents the virtual MFA devices that are not assigned to an
@@ -282,13 +282,13 @@ module AWS
282
282
  end
283
283
 
284
284
  # @return [String,nil] Returns the account alias. If this account has
285
- # no alias, then +nil+ is returned.
285
+ # no alias, then `nil` is returned.
286
286
  def account_alias
287
287
  account_aliases.first
288
288
  end
289
289
 
290
290
  # Deletes the account alias (if one exists).
291
- # @return [nil]
291
+ # @return [nil]
292
292
  def remove_account_alias
293
293
  account_aliases.each do |account_alias|
294
294
  account_aliases.delete(account_alias)
@@ -304,36 +304,25 @@ module AWS
304
304
  # Retrieves account level information about account entity usage
305
305
  # and IAM quotas. The returned hash contains the following keys:
306
306
  #
307
- # [+:users+] Number of users for the AWS account
308
- #
309
- # [+:users_quota+] Maximum users allowed for the AWS account
310
- #
311
- # [+:groups+] Number of Groups for the AWS account
312
- #
313
- # [+:groups_quota+] Maximum Groups allowed for the AWS account
314
- #
315
- # [+:server_certificates+] Number of Server Certificates for the
316
- # AWS account
317
- #
318
- # [+:server_certificates_quota+] Maximum Server Certificates
319
- # allowed for the AWS account
320
- #
321
- # [+:user_policy_size_quota+] Maximum allowed size for user policy
322
- # documents (in kilobytes)
323
- #
324
- # [+:group_policy_size_quota+] Maximum allowed size for Group
325
- # policy documents (in kilobyes)
326
- #
327
- # [+:groups_per_user_quota+] Maximum number of groups a user can
328
- # belong to
329
- #
330
- # [+:signing_certificates_per_user_quota+] Maximum number of X509
331
- # certificates allowed
332
- # for a user
333
- #
334
- # [+:access_keys_per_user_quota+] Maximum number of access keys
335
- # that can be created per user
336
- #
307
+ # * `:users` - Number of users for the AWS account
308
+ # * `:users_quota` - Maximum users allowed for the AWS account
309
+ # * `:groups` - Number of Groups for the AWS account
310
+ # * `:groups_quota` - Maximum Groups allowed for the AWS account
311
+ # * `:server_certificates` - Number of Server Certificates for the
312
+ # AWS account
313
+ # * `:server_certificates_quota` - Maximum Server Certificates
314
+ # allowed for the AWS account
315
+ # * `:user_policy_size_quota` - Maximum allowed size for user policy
316
+ # documents (in kilobytes)
317
+ # * `:group_policy_size_quota` - Maximum allowed size for Group
318
+ # policy documents (in kilobyes)
319
+ # * `:groups_per_user_quota` - Maximum number of groups a user can
320
+ # belong to
321
+ # * `:signing_certificates_per_user_quota` - Maximum number of X509
322
+ # certificates allowed
323
+ # for a user
324
+ # * `:access_keys_per_user_quota` - Maximum number of access keys
325
+ # that can be created per user
337
326
  # @return [Hash]
338
327
  def account_summary
339
328
  client.get_account_summary.data[:summary_map].inject({}) do |h,(k,v)|
@@ -349,10 +338,10 @@ module AWS
349
338
  # To change a user password, you must be using credentials from the
350
339
  # user you want to change:
351
340
  #
352
- # # pass in a key pair generated for the user you want to change
353
- # # the password for
354
- # iam = AWS::IAM.new(:access_key_id => '...', :secret_access_key => '...)
355
- # iam.change_password('old-password', 'new-password')
341
+ # # pass in a key pair generated for the user you want to change
342
+ # # the password for
343
+ # iam = AWS::IAM.new(:access_key_id => '...', :secret_access_key => '...)
344
+ # iam.change_password('old-password', 'new-password')
356
345
  #
357
346
  # @param [String] old_password
358
347
  #
@@ -370,7 +359,7 @@ module AWS
370
359
 
371
360
  # Updates the account password policy for all IAM accounts.
372
361
  # @param [Hash] options
373
- # @option options [Integer] :minimum_password_length
362
+ # @option options [Integer] :minimum_password_length
374
363
  # @option options [Boolean] :require_symbols
375
364
  # @option options [Boolean] :require_numbers
376
365
  # @option options [Boolean] :require_uppercase_characters
@@ -391,11 +380,11 @@ module AWS
391
380
  # Returns the account password policy details as a hash. This method
392
381
  # returns nil if no password policy has been set for this account.
393
382
  #
394
- # # set the policy
395
- # iam.update_account_password_policy :minimum_password_length => 8
383
+ # # set the policy
384
+ # iam.update_account_password_policy :minimum_password_length => 8
396
385
  #
397
- # iam.account_password_policy
398
- # #=> {:require_symbols=>false, :require_numbers=>false, :require_uppercase_characters=>false, :require_lowercase_characters=>false, :minimum_password_length=>8}
386
+ # iam.account_password_policy
387
+ # #=> {:require_symbols=>false, :require_numbers=>false, :require_uppercase_characters=>false, :require_lowercase_characters=>false, :minimum_password_length=>8}
399
388
  #
400
389
  # @return [Hash,nil]
401
390
  def account_password_policy