aws-sdk 1.8.5 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (386) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +1 -0
  3. data/README.rdoc +8 -0
  4. data/lib/aws-sdk.rb +39 -35
  5. data/lib/aws/api_config/CloudFront-2012-07-01.yml +2398 -0
  6. data/lib/aws/api_config/DirectConnect-2012-10-25.yml +475 -0
  7. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +8 -0
  8. data/lib/aws/api_config/DynamoDB-2012-08-10.yml +1516 -0
  9. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +2 -2
  10. data/lib/aws/auto_scaling.rb +44 -44
  11. data/lib/aws/auto_scaling/activity.rb +1 -1
  12. data/lib/aws/auto_scaling/activity_collection.rb +14 -15
  13. data/lib/aws/auto_scaling/client.rb +277 -277
  14. data/lib/aws/auto_scaling/config.rb +1 -1
  15. data/lib/aws/auto_scaling/group.rb +35 -36
  16. data/lib/aws/auto_scaling/group_collection.rb +10 -10
  17. data/lib/aws/auto_scaling/group_options.rb +19 -19
  18. data/lib/aws/auto_scaling/instance.rb +27 -27
  19. data/lib/aws/auto_scaling/instance_collection.rb +10 -10
  20. data/lib/aws/auto_scaling/launch_configuration.rb +3 -3
  21. data/lib/aws/auto_scaling/launch_configuration_collection.rb +1 -1
  22. data/lib/aws/auto_scaling/notification_configuration.rb +2 -2
  23. data/lib/aws/auto_scaling/notification_configuration_collection.rb +37 -38
  24. data/lib/aws/auto_scaling/scaling_policy.rb +3 -3
  25. data/lib/aws/auto_scaling/scaling_policy_collection.rb +6 -6
  26. data/lib/aws/auto_scaling/scaling_policy_options.rb +8 -7
  27. data/lib/aws/auto_scaling/scheduled_action.rb +3 -3
  28. data/lib/aws/auto_scaling/scheduled_action_collection.rb +28 -28
  29. data/lib/aws/auto_scaling/tag_collection.rb +30 -28
  30. data/lib/aws/cloud_formation.rb +95 -94
  31. data/lib/aws/cloud_formation/client.rb +136 -133
  32. data/lib/aws/cloud_formation/config.rb +1 -1
  33. data/lib/aws/cloud_formation/stack.rb +37 -37
  34. data/lib/aws/cloud_formation/stack_collection.rb +28 -27
  35. data/lib/aws/cloud_formation/stack_event.rb +9 -11
  36. data/lib/aws/cloud_formation/stack_output.rb +1 -1
  37. data/lib/aws/cloud_formation/stack_resource.rb +6 -6
  38. data/lib/aws/cloud_formation/stack_resource_collection.rb +11 -12
  39. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +11 -11
  40. data/lib/aws/cloud_formation/stack_summary_collection.rb +39 -39
  41. data/lib/aws/cloud_front.rb +21 -21
  42. data/lib/aws/cloud_front/client.rb +853 -652
  43. data/lib/aws/cloud_front/request.rb +3 -0
  44. data/lib/aws/cloud_search.rb +22 -22
  45. data/lib/aws/cloud_search/client.rb +322 -315
  46. data/lib/aws/cloud_search/config.rb +1 -1
  47. data/lib/aws/cloud_watch.rb +39 -39
  48. data/lib/aws/cloud_watch/alarm.rb +55 -37
  49. data/lib/aws/cloud_watch/alarm_collection.rb +18 -18
  50. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +2 -2
  51. data/lib/aws/cloud_watch/client.rb +360 -146
  52. data/lib/aws/cloud_watch/config.rb +1 -1
  53. data/lib/aws/cloud_watch/metric.rb +15 -15
  54. data/lib/aws/cloud_watch/metric_alarm_collection.rb +17 -17
  55. data/lib/aws/cloud_watch/metric_collection.rb +16 -16
  56. data/lib/aws/cloud_watch/metric_statistics.rb +11 -11
  57. data/lib/aws/core.rb +243 -225
  58. data/lib/aws/core/async_handle.rb +13 -13
  59. data/lib/aws/core/cacheable.rb +14 -15
  60. data/lib/aws/core/client.rb +40 -15
  61. data/lib/aws/core/collection.rb +42 -46
  62. data/lib/aws/core/collection/with_limit_and_next_token.rb +1 -1
  63. data/lib/aws/core/collection/with_next_token.rb +1 -1
  64. data/lib/aws/core/configuration.rb +97 -133
  65. data/lib/aws/core/credential_providers.rb +16 -16
  66. data/lib/aws/core/data.rb +23 -23
  67. data/lib/aws/core/http/connection_pool.rb +348 -0
  68. data/lib/aws/core/http/net_http_handler.rb +17 -26
  69. data/lib/aws/core/http/patch.rb +102 -0
  70. data/lib/aws/core/http/request.rb +13 -19
  71. data/lib/aws/core/http/response.rb +2 -2
  72. data/lib/aws/core/lazy_error_classes.rb +17 -17
  73. data/lib/aws/core/log_formatter.rb +70 -104
  74. data/lib/aws/core/options/json_serializer.rb +1 -1
  75. data/lib/aws/core/options/validator.rb +4 -4
  76. data/lib/aws/core/page_result.rb +8 -8
  77. data/lib/aws/core/policy.rb +49 -49
  78. data/lib/aws/core/region.rb +72 -0
  79. data/lib/aws/core/region_collection.rb +106 -0
  80. data/lib/aws/core/resource.rb +5 -5
  81. data/lib/aws/core/response.rb +20 -17
  82. data/lib/aws/core/rest_request_builder.rb +4 -4
  83. data/lib/aws/core/service_interface.rb +24 -2
  84. data/lib/aws/core/signature/version_3.rb +2 -2
  85. data/lib/aws/core/uri_escape.rb +1 -1
  86. data/lib/aws/core/xml/frame_stack.rb +1 -1
  87. data/lib/aws/core/xml/grammar.rb +3 -4
  88. data/lib/aws/core/xml/sax_handlers/libxml.rb +2 -2
  89. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +3 -3
  90. data/lib/aws/core/xml/sax_handlers/rexml.rb +5 -5
  91. data/lib/aws/core/xml/stub.rb +9 -9
  92. data/lib/aws/data_pipeline.rb +21 -21
  93. data/lib/aws/data_pipeline/client.rb +189 -133
  94. data/lib/aws/data_pipeline/config.rb +1 -1
  95. data/lib/aws/direct_connect.rb +74 -0
  96. data/lib/aws/direct_connect/client.rb +253 -0
  97. data/lib/aws/direct_connect/config.rb +18 -0
  98. data/lib/aws/direct_connect/errors.rb +22 -0
  99. data/lib/aws/direct_connect/request.rb +27 -0
  100. data/lib/aws/dynamo_db.rb +71 -69
  101. data/lib/aws/dynamo_db/attribute_collection.rb +53 -58
  102. data/lib/aws/dynamo_db/batch_get.rb +23 -23
  103. data/lib/aws/dynamo_db/batch_write.rb +43 -43
  104. data/lib/aws/dynamo_db/binary.rb +9 -9
  105. data/lib/aws/dynamo_db/client.rb +494 -509
  106. data/lib/aws/dynamo_db/client_base.rb +91 -0
  107. data/lib/aws/dynamo_db/client_v2.rb +825 -0
  108. data/lib/aws/dynamo_db/config.rb +1 -1
  109. data/lib/aws/dynamo_db/item.rb +10 -10
  110. data/lib/aws/dynamo_db/item_collection.rb +75 -75
  111. data/lib/aws/dynamo_db/table.rb +85 -85
  112. data/lib/aws/dynamo_db/table_collection.rb +13 -13
  113. data/lib/aws/ec2.rb +132 -142
  114. data/lib/aws/ec2/attachment.rb +31 -36
  115. data/lib/aws/ec2/attachment_collection.rb +1 -1
  116. data/lib/aws/ec2/availability_zone.rb +4 -4
  117. data/lib/aws/ec2/client.rb +2272 -2125
  118. data/lib/aws/ec2/config.rb +1 -1
  119. data/lib/aws/ec2/customer_gateway.rb +6 -6
  120. data/lib/aws/ec2/customer_gateway_collection.rb +6 -6
  121. data/lib/aws/ec2/dhcp_options.rb +3 -3
  122. data/lib/aws/ec2/dhcp_options_collection.rb +10 -10
  123. data/lib/aws/ec2/elastic_ip.rb +15 -15
  124. data/lib/aws/ec2/elastic_ip_collection.rb +11 -15
  125. data/lib/aws/ec2/export_task.rb +4 -4
  126. data/lib/aws/ec2/export_task_collection.rb +11 -11
  127. data/lib/aws/ec2/filtered_collection.rb +6 -8
  128. data/lib/aws/ec2/image.rb +46 -40
  129. data/lib/aws/ec2/image_collection.rb +44 -52
  130. data/lib/aws/ec2/instance.rb +64 -62
  131. data/lib/aws/ec2/instance_collection.rb +47 -50
  132. data/lib/aws/ec2/internet_gateway.rb +6 -6
  133. data/lib/aws/ec2/internet_gateway/attachment.rb +13 -13
  134. data/lib/aws/ec2/internet_gateway_collection.rb +3 -3
  135. data/lib/aws/ec2/key_pair.rb +3 -3
  136. data/lib/aws/ec2/key_pair_collection.rb +12 -12
  137. data/lib/aws/ec2/network_acl.rb +39 -39
  138. data/lib/aws/ec2/network_acl/association.rb +2 -2
  139. data/lib/aws/ec2/network_acl/entry.rb +22 -22
  140. data/lib/aws/ec2/network_acl_collection.rb +2 -2
  141. data/lib/aws/ec2/network_interface.rb +13 -4
  142. data/lib/aws/ec2/network_interface/attachment.rb +3 -3
  143. data/lib/aws/ec2/network_interface_collection.rb +5 -5
  144. data/lib/aws/ec2/permission_collection.rb +1 -1
  145. data/lib/aws/ec2/region.rb +6 -6
  146. data/lib/aws/ec2/region_collection.rb +1 -1
  147. data/lib/aws/ec2/reserved_instances_collection.rb +2 -2
  148. data/lib/aws/ec2/reserved_instances_offering_collection.rb +2 -2
  149. data/lib/aws/ec2/resource_tag_collection.rb +5 -5
  150. data/lib/aws/ec2/route_table.rb +14 -14
  151. data/lib/aws/ec2/route_table/association.rb +22 -22
  152. data/lib/aws/ec2/route_table/route.rb +8 -8
  153. data/lib/aws/ec2/route_table_collection.rb +3 -3
  154. data/lib/aws/ec2/security_group.rb +39 -41
  155. data/lib/aws/ec2/security_group_collection.rb +19 -21
  156. data/lib/aws/ec2/snapshot.rb +3 -3
  157. data/lib/aws/ec2/snapshot_collection.rb +11 -12
  158. data/lib/aws/ec2/subnet.rb +2 -2
  159. data/lib/aws/ec2/subnet_collection.rb +17 -17
  160. data/lib/aws/ec2/tag_collection.rb +1 -1
  161. data/lib/aws/ec2/tagged_collection.rb +7 -7
  162. data/lib/aws/ec2/tagged_item.rb +10 -10
  163. data/lib/aws/ec2/volume.rb +16 -16
  164. data/lib/aws/ec2/volume_collection.rb +9 -12
  165. data/lib/aws/ec2/vpc.rb +6 -6
  166. data/lib/aws/ec2/vpc_collection.rb +10 -10
  167. data/lib/aws/ec2/vpn_connection.rb +4 -4
  168. data/lib/aws/ec2/vpn_connection/telemetry.rb +1 -1
  169. data/lib/aws/ec2/vpn_connection_collection.rb +6 -6
  170. data/lib/aws/ec2/vpn_gateway.rb +2 -2
  171. data/lib/aws/ec2/vpn_gateway_collection.rb +5 -5
  172. data/lib/aws/elastic_beanstalk.rb +12 -12
  173. data/lib/aws/elastic_beanstalk/client.rb +376 -368
  174. data/lib/aws/elastic_beanstalk/config.rb +1 -1
  175. data/lib/aws/elastic_transcoder.rb +5 -5
  176. data/lib/aws/elastic_transcoder/client.rb +283 -283
  177. data/lib/aws/elastic_transcoder/config.rb +1 -1
  178. data/lib/aws/elasticache.rb +12 -12
  179. data/lib/aws/elasticache/client.rb +484 -479
  180. data/lib/aws/elasticache/config.rb +1 -1
  181. data/lib/aws/elb.rb +23 -23
  182. data/lib/aws/elb/availability_zone_collection.rb +34 -34
  183. data/lib/aws/elb/backend_server_policy_collection.rb +24 -24
  184. data/lib/aws/elb/client.rb +153 -153
  185. data/lib/aws/elb/config.rb +1 -1
  186. data/lib/aws/elb/errors.rb +1 -1
  187. data/lib/aws/elb/instance_collection.rb +20 -25
  188. data/lib/aws/elb/listener.rb +3 -3
  189. data/lib/aws/elb/listener_collection.rb +8 -8
  190. data/lib/aws/elb/load_balancer.rb +15 -16
  191. data/lib/aws/elb/load_balancer_collection.rb +36 -24
  192. data/lib/aws/elb/load_balancer_policy.rb +1 -1
  193. data/lib/aws/elb/load_balancer_policy_collection.rb +5 -5
  194. data/lib/aws/emr.rb +28 -26
  195. data/lib/aws/emr/client.rb +165 -149
  196. data/lib/aws/emr/config.rb +1 -1
  197. data/lib/aws/emr/instance_group.rb +1 -1
  198. data/lib/aws/emr/instance_group_collection.rb +1 -1
  199. data/lib/aws/emr/job_flow.rb +27 -26
  200. data/lib/aws/emr/job_flow_collection.rb +34 -34
  201. data/lib/aws/errors.rb +7 -7
  202. data/lib/aws/glacier.rb +21 -21
  203. data/lib/aws/glacier/archive_collection.rb +2 -2
  204. data/lib/aws/glacier/client.rb +139 -140
  205. data/lib/aws/glacier/config.rb +1 -1
  206. data/lib/aws/glacier/vault.rb +2 -2
  207. data/lib/aws/glacier/vault_collection.rb +1 -1
  208. data/lib/aws/iam.rb +133 -144
  209. data/lib/aws/iam/access_key.rb +17 -17
  210. data/lib/aws/iam/access_key_collection.rb +22 -22
  211. data/lib/aws/iam/account_alias_collection.rb +2 -2
  212. data/lib/aws/iam/client.rb +429 -420
  213. data/lib/aws/iam/collection.rb +1 -1
  214. data/lib/aws/iam/config.rb +2 -2
  215. data/lib/aws/iam/group.rb +8 -8
  216. data/lib/aws/iam/group_collection.rb +16 -16
  217. data/lib/aws/iam/group_policy_collection.rb +6 -6
  218. data/lib/aws/iam/group_user_collection.rb +3 -3
  219. data/lib/aws/iam/mfa_device.rb +1 -1
  220. data/lib/aws/iam/mfa_device_collection.rb +9 -9
  221. data/lib/aws/iam/policy_collection.rb +4 -4
  222. data/lib/aws/iam/resource.rb +2 -2
  223. data/lib/aws/iam/server_certificate.rb +1 -1
  224. data/lib/aws/iam/server_certificate_collection.rb +15 -15
  225. data/lib/aws/iam/signing_certificate.rb +29 -29
  226. data/lib/aws/iam/signing_certificate_collection.rb +23 -23
  227. data/lib/aws/iam/user.rb +33 -38
  228. data/lib/aws/iam/user_collection.rb +27 -27
  229. data/lib/aws/iam/user_group_collection.rb +3 -3
  230. data/lib/aws/iam/user_policy_collection.rb +6 -6
  231. data/lib/aws/iam/virtual_mfa_device.rb +12 -12
  232. data/lib/aws/iam/virtual_mfa_device_collection.rb +4 -4
  233. data/lib/aws/import_export.rb +22 -21
  234. data/lib/aws/import_export/client.rb +47 -43
  235. data/lib/aws/ops_works.rb +5 -5
  236. data/lib/aws/ops_works/client.rb +484 -438
  237. data/lib/aws/ops_works/config.rb +1 -1
  238. data/lib/aws/rails.rb +34 -34
  239. data/lib/aws/rds.rb +18 -18
  240. data/lib/aws/rds/client.rb +1286 -1277
  241. data/lib/aws/rds/config.rb +1 -1
  242. data/lib/aws/rds/db_instance.rb +15 -4
  243. data/lib/aws/rds/db_snapshot.rb +1 -1
  244. data/lib/aws/record.rb +50 -24
  245. data/lib/aws/record/abstract_base.rb +52 -60
  246. data/lib/aws/record/attributes.rb +79 -79
  247. data/lib/aws/record/conversion.rb +1 -1
  248. data/lib/aws/record/dirty_tracking.rb +69 -67
  249. data/lib/aws/record/errors.rb +21 -21
  250. data/lib/aws/record/exceptions.rb +2 -2
  251. data/lib/aws/record/hash_model.rb +20 -21
  252. data/lib/aws/record/hash_model/attributes.rb +13 -15
  253. data/lib/aws/record/hash_model/finder_methods.rb +46 -46
  254. data/lib/aws/record/hash_model/scope.rb +31 -31
  255. data/lib/aws/record/model.rb +136 -136
  256. data/lib/aws/record/model/attributes.rb +57 -59
  257. data/lib/aws/record/model/finder_methods.rb +67 -67
  258. data/lib/aws/record/model/scope.rb +48 -49
  259. data/lib/aws/record/naming.rb +1 -1
  260. data/lib/aws/record/scope.rb +23 -19
  261. data/lib/aws/record/validations.rb +253 -271
  262. data/lib/aws/record/validator.rb +3 -3
  263. data/lib/aws/record/validators/acceptance.rb +1 -3
  264. data/lib/aws/record/validators/block.rb +1 -3
  265. data/lib/aws/record/validators/confirmation.rb +1 -3
  266. data/lib/aws/record/validators/count.rb +2 -4
  267. data/lib/aws/record/validators/exclusion.rb +2 -4
  268. data/lib/aws/record/validators/format.rb +2 -4
  269. data/lib/aws/record/validators/inclusion.rb +1 -3
  270. data/lib/aws/record/validators/length.rb +5 -7
  271. data/lib/aws/record/validators/method.rb +1 -3
  272. data/lib/aws/record/validators/numericality.rb +6 -8
  273. data/lib/aws/record/validators/presence.rb +1 -3
  274. data/lib/aws/redshift.rb +14 -14
  275. data/lib/aws/redshift/client.rb +596 -592
  276. data/lib/aws/redshift/config.rb +1 -1
  277. data/lib/aws/route_53.rb +30 -30
  278. data/lib/aws/route_53/change_batch.rb +7 -7
  279. data/lib/aws/route_53/client.rb +188 -152
  280. data/lib/aws/route_53/hosted_zone.rb +4 -4
  281. data/lib/aws/route_53/hosted_zone_collection.rb +7 -7
  282. data/lib/aws/route_53/resource_record_set.rb +10 -10
  283. data/lib/aws/route_53/resource_record_set_collection.rb +6 -6
  284. data/lib/aws/s3.rb +79 -79
  285. data/lib/aws/s3/access_control_list.rb +44 -36
  286. data/lib/aws/s3/acl_options.rb +51 -51
  287. data/lib/aws/s3/bucket.rb +146 -146
  288. data/lib/aws/s3/bucket_collection.rb +21 -21
  289. data/lib/aws/s3/bucket_lifecycle_configuration.rb +81 -82
  290. data/lib/aws/s3/bucket_tag_collection.rb +4 -2
  291. data/lib/aws/s3/cipher_io.rb +5 -4
  292. data/lib/aws/s3/client.rb +89 -84
  293. data/lib/aws/s3/client/xml.rb +1 -1
  294. data/lib/aws/s3/config.rb +7 -1
  295. data/lib/aws/s3/cors_rule.rb +2 -0
  296. data/lib/aws/s3/cors_rule_collection.rb +42 -40
  297. data/lib/aws/s3/data_options.rb +16 -11
  298. data/lib/aws/s3/encryption_utils.rb +2 -2
  299. data/lib/aws/s3/errors.rb +7 -7
  300. data/lib/aws/s3/multipart_upload.rb +30 -33
  301. data/lib/aws/s3/multipart_upload_collection.rb +8 -6
  302. data/lib/aws/s3/object_collection.rb +35 -35
  303. data/lib/aws/s3/object_metadata.rb +6 -6
  304. data/lib/aws/s3/object_version.rb +4 -4
  305. data/lib/aws/s3/object_version_collection.rb +15 -15
  306. data/lib/aws/s3/policy.rb +2 -2
  307. data/lib/aws/s3/prefixed_collection.rb +9 -5
  308. data/lib/aws/s3/presigned_post.rb +39 -37
  309. data/lib/aws/s3/request.rb +11 -11
  310. data/lib/aws/s3/s3_object.rb +210 -200
  311. data/lib/aws/s3/tree.rb +25 -27
  312. data/lib/aws/s3/tree/child_collection.rb +3 -3
  313. data/lib/aws/s3/tree/leaf_node.rb +2 -2
  314. data/lib/aws/s3/tree/parent.rb +1 -1
  315. data/lib/aws/s3/website_configuration.rb +13 -13
  316. data/lib/aws/simple_db.rb +83 -83
  317. data/lib/aws/simple_db/attribute.rb +9 -7
  318. data/lib/aws/simple_db/attribute_collection.rb +22 -13
  319. data/lib/aws/simple_db/client.rb +107 -107
  320. data/lib/aws/simple_db/config.rb +7 -1
  321. data/lib/aws/simple_db/consistent_read_option.rb +5 -5
  322. data/lib/aws/simple_db/domain.rb +4 -2
  323. data/lib/aws/simple_db/domain_collection.rb +4 -4
  324. data/lib/aws/simple_db/domain_metadata.rb +5 -5
  325. data/lib/aws/simple_db/errors.rb +9 -9
  326. data/lib/aws/simple_db/item.rb +5 -5
  327. data/lib/aws/simple_db/item_collection.rb +83 -81
  328. data/lib/aws/simple_db/item_data.rb +4 -4
  329. data/lib/aws/simple_db/put_attributes.rb +3 -3
  330. data/lib/aws/simple_email_service.rb +140 -140
  331. data/lib/aws/simple_email_service/client.rb +82 -76
  332. data/lib/aws/simple_email_service/config.rb +1 -2
  333. data/lib/aws/simple_email_service/email_address_collection.rb +3 -3
  334. data/lib/aws/simple_email_service/identity.rb +8 -8
  335. data/lib/aws/simple_email_service/quotas.rb +8 -6
  336. data/lib/aws/simple_workflow.rb +106 -106
  337. data/lib/aws/simple_workflow/activity_task.rb +15 -22
  338. data/lib/aws/simple_workflow/activity_task_collection.rb +15 -15
  339. data/lib/aws/simple_workflow/activity_type.rb +23 -23
  340. data/lib/aws/simple_workflow/activity_type_collection.rb +23 -23
  341. data/lib/aws/simple_workflow/client.rb +1004 -956
  342. data/lib/aws/simple_workflow/config.rb +1 -1
  343. data/lib/aws/simple_workflow/count.rb +5 -5
  344. data/lib/aws/simple_workflow/decision_task.rb +129 -129
  345. data/lib/aws/simple_workflow/decision_task_collection.rb +59 -59
  346. data/lib/aws/simple_workflow/domain.rb +11 -11
  347. data/lib/aws/simple_workflow/domain_collection.rb +26 -26
  348. data/lib/aws/simple_workflow/history_event.rb +32 -32
  349. data/lib/aws/simple_workflow/history_event_collection.rb +3 -3
  350. data/lib/aws/simple_workflow/option_formatters.rb +5 -5
  351. data/lib/aws/simple_workflow/request.rb +1 -1
  352. data/lib/aws/simple_workflow/resource.rb +1 -1
  353. data/lib/aws/simple_workflow/type.rb +8 -8
  354. data/lib/aws/simple_workflow/type_collection.rb +15 -15
  355. data/lib/aws/simple_workflow/workflow_execution.rb +70 -72
  356. data/lib/aws/simple_workflow/workflow_execution_collection.rb +130 -130
  357. data/lib/aws/simple_workflow/workflow_type.rb +27 -25
  358. data/lib/aws/simple_workflow/workflow_type_collection.rb +20 -20
  359. data/lib/aws/sns.rb +25 -25
  360. data/lib/aws/sns/client.rb +55 -55
  361. data/lib/aws/sns/config.rb +1 -1
  362. data/lib/aws/sns/policy.rb +1 -1
  363. data/lib/aws/sns/subscription.rb +7 -7
  364. data/lib/aws/sns/subscription_collection.rb +5 -5
  365. data/lib/aws/sns/topic.rb +49 -49
  366. data/lib/aws/sns/topic_collection.rb +2 -2
  367. data/lib/aws/sns/topic_subscription_collection.rb +5 -5
  368. data/lib/aws/sqs.rb +20 -20
  369. data/lib/aws/sqs/client.rb +78 -78
  370. data/lib/aws/sqs/config.rb +1 -1
  371. data/lib/aws/sqs/errors.rb +12 -12
  372. data/lib/aws/sqs/queue.rb +66 -67
  373. data/lib/aws/sqs/queue_collection.rb +16 -8
  374. data/lib/aws/sqs/received_message.rb +7 -6
  375. data/lib/aws/storage_gateway.rb +21 -21
  376. data/lib/aws/storage_gateway/client.rb +269 -202
  377. data/lib/aws/storage_gateway/config.rb +1 -1
  378. data/lib/aws/sts.rb +10 -8
  379. data/lib/aws/sts/client.rb +35 -35
  380. data/lib/aws/sts/session.rb +3 -3
  381. data/lib/aws/version.rb +1 -2
  382. metadata +23 -21
  383. data/lib/aws/core/autoloader.rb +0 -64
  384. data/lib/net/http/connection_pool.rb +0 -226
  385. data/lib/net/http/connection_pool/connection.rb +0 -189
  386. data/lib/net/http/connection_pool/session.rb +0 -126
@@ -19,7 +19,7 @@ module AWS
19
19
  module Options
20
20
 
21
21
  # Given a hash of serialization rules, a JSONSerializer can convert
22
- # a hash of request options into a JSON document. The request options
22
+ # a hash of request options into a JSON document. The request options
23
23
  # are validated before returning JSON.
24
24
  class JSONSerializer
25
25
 
@@ -18,10 +18,10 @@ module AWS
18
18
  # Given a hash of validation rules, a validator validate request
19
19
  # options. Validations support:
20
20
  #
21
- # * rejecting unknown options
22
- # * ensuring presence of required options
23
- # * validating expected option types (e.g. hash, array, string,
24
- # integer, etc).
21
+ # * rejecting unknown options
22
+ # * ensuring presence of required options
23
+ # * validating expected option types (e.g. hash, array, string,
24
+ # integer, etc).
25
25
  #
26
26
  # After validating, a hash of request options is returned with
27
27
  # with normalized values (with converted types).
@@ -20,16 +20,16 @@ module AWS
20
20
  attr_reader :collection
21
21
 
22
22
  # @return [Integer] Returns the maximum number of results per page.
23
- # The final page in a collection may return fewer than +:per_page+
24
- # items (e.g. +:per_page+ is 10 and there are only 7 items).
23
+ # The final page in a collection may return fewer than `:per_page`
24
+ # items (e.g. `:per_page` is 10 and there are only 7 items).
25
25
  attr_reader :per_page
26
26
 
27
27
  # @return [String] An opaque token that can be passed the #page method
28
28
  # of the collection that returned this page of results. This next
29
- # token behaves as a pseudo offset. If +next_token+ is +nil+ then
29
+ # token behaves as a pseudo offset. If `next_token` is `nil` then
30
30
  # there are no more results for the collection.
31
31
  attr_reader :next_token
32
-
32
+
33
33
  # @param [Collection] collection The collection that was used to
34
34
  # request this page of results. The collection should respond to
35
35
  # #page and accept a :next_token option.
@@ -38,11 +38,11 @@ module AWS
38
38
  # page of results.
39
39
  #
40
40
  # @param [Integer] per_page The number of requested items for this
41
- # page of results. If the count of items is smaller than +per_page+
41
+ # page of results. If the count of items is smaller than `per_page`
42
42
  # then this is the last page of results.
43
43
  #
44
44
  # @param [String] next_token (nil) A token that can be passed to the
45
- #
45
+ #
46
46
  def initialize collection, items, per_page, next_token
47
47
  @collection = collection
48
48
  @per_page = per_page
@@ -60,12 +60,12 @@ module AWS
60
60
  collection.page(:per_page => per_page, :next_token => next_token)
61
61
  end
62
62
 
63
- # @return [Boolean] Returns +true+ if this is the last page of results.
63
+ # @return [Boolean] Returns `true` if this is the last page of results.
64
64
  def last_page?
65
65
  next_token.nil?
66
66
  end
67
67
 
68
- # @return [Boolean] Returns +true+ if there are more pages of results.
68
+ # @return [Boolean] Returns `true` if there are more pages of results.
69
69
  def more?
70
70
  !!next_token
71
71
  end
@@ -20,14 +20,14 @@ module AWS
20
20
 
21
21
  # Represents an access policy for AWS operations and resources. For example:
22
22
  #
23
- # policy = Policy.new do |policy|
24
- # policy.allow(:actions => ['s3:PutObject'],
25
- # :resources => "arn:aws:s3:::mybucket/mykey/*",
26
- # :principals => :any
23
+ # policy = Policy.new
24
+ # policy.allow(
25
+ # :actions => ['s3:PutObject'],
26
+ # :resources => "arn:aws:s3:::mybucket/mykey/*",
27
+ # :principals => :any
27
28
  # ).where(:acl).is("public-read")
28
- # end
29
29
  #
30
- # policy.to_json # => '{ "Version":"2008-10-17", ...'
30
+ # policy.to_json # => '{ "Version":"2008-10-17", ...'
31
31
  #
32
32
  # @see #initialize More ways to construct a policy.
33
33
  # @see http://docs.amazonwebservices.com/AmazonS3/latest/dev/AccessPolicyLanguage_UseCases_s3_a.html Example policies (in JSON).
@@ -52,7 +52,8 @@ module AWS
52
52
  # * With hash arguments:
53
53
  #
54
54
  # Policy.new(:statements => [
55
- # { :effect => :allow,
55
+ # {
56
+ # :effect => :allow,
56
57
  # :actions => :all,
57
58
  # :principals => ["abc123"],
58
59
  # :resources => "mybucket/mykey"
@@ -66,13 +67,11 @@ module AWS
66
67
  # * With a block:
67
68
  #
68
69
  # Policy.new do |policy|
69
- #
70
70
  # policy.allow(
71
71
  # :actions => ['s3:PutObject'],
72
72
  # :resources => "arn:aws:s3:::mybucket/mykey/*",
73
73
  # :principals => :any
74
74
  # ).where(:acl).is("public-read")
75
- #
76
75
  # end
77
76
  #
78
77
  def initialize(opts = {})
@@ -123,8 +122,8 @@ module AWS
123
122
  # Returns a hash representation of the policy. The following
124
123
  # statements are equivalent:
125
124
  #
126
- # policy.to_h.to_json
127
- # policy.to_json
125
+ # policy.to_h.to_json
126
+ # policy.to_json
128
127
  #
129
128
  # @return [Hash]
130
129
  def to_h
@@ -151,15 +150,15 @@ module AWS
151
150
  # Convenient syntax for expressing operators in statement
152
151
  # condition blocks. For example, the following:
153
152
  #
154
- # policy.allow.where(:s3_prefix).not("forbidden").
155
- # where(:current_time).lte(Date.today+1)
153
+ # policy.allow.where(:s3_prefix).not("forbidden").
154
+ # where(:current_time).lte(Date.today+1)
156
155
  #
157
156
  # is equivalent to:
158
157
  #
159
- # conditions = Policy::ConditionBlock.new
160
- # conditions.add(:not, :s3_prefix, "forbidden")
161
- # conditions.add(:lte, :current_time, Date.today+1)
162
- # policy.allow(:conditions => conditions)
158
+ # conditions = Policy::ConditionBlock.new
159
+ # conditions.add(:not, :s3_prefix, "forbidden")
160
+ # conditions.add(:lte, :current_time, Date.today+1)
161
+ # policy.allow(:conditions => conditions)
163
162
  #
164
163
  # @see ConditionBlock#add
165
164
  class OperatorBuilder
@@ -192,7 +191,7 @@ module AWS
192
191
 
193
192
  # Adds a condition for the given key. For example:
194
193
  #
195
- # policy.allow(...).where(:current_time).lte(Date.today + 1)
194
+ # policy.allow(...).where(:current_time).lte(Date.today + 1)
196
195
  #
197
196
  # @return [OperatorBuilder]
198
197
  def where(key, operator = nil, *values)
@@ -209,10 +208,11 @@ module AWS
209
208
  # Convenience method for constructing a new statement with the
210
209
  # "Allow" effect and adding it to the policy. For example:
211
210
  #
212
- # policy.allow(:actions => [:put_object],
213
- # :principals => :any,
214
- # :resources => "mybucket/mykey/*").
215
- # where(:acl).is("public-read")
211
+ # policy.allow(
212
+ # :actions => [:put_object],
213
+ # :principals => :any,
214
+ # :resources => "mybucket/mykey/*").
215
+ # where(:acl).is("public-read")
216
216
  #
217
217
  # @option (see Statement#initialize)
218
218
  # @see Statement#initialize
@@ -226,11 +226,11 @@ module AWS
226
226
  # Convenience method for constructing a new statement with the
227
227
  # "Deny" effect and adding it to the policy. For example:
228
228
  #
229
- # policy.deny(
230
- # :actions => [:put_object],
231
- # :principals => :any,
232
- # :resources => "mybucket/mykey/*"
233
- # ).where(:acl).is("public-read")
229
+ # policy.deny(
230
+ # :actions => [:put_object],
231
+ # :principals => :any,
232
+ # :resources => "mybucket/mykey/*"
233
+ # ).where(:acl).is("public-read")
234
234
  #
235
235
  # @param (see Statement#initialize)
236
236
  # @see Statement#initialize
@@ -244,12 +244,12 @@ module AWS
244
244
  # Represents the condition block of a policy. In JSON,
245
245
  # condition blocks look like this:
246
246
  #
247
- # { "StringLike": { "s3:prefix": ["photos/*", "photos.html"] } }
247
+ # { "StringLike": { "s3:prefix": ["photos/*", "photos.html"] } }
248
248
  #
249
249
  # ConditionBlock lets you specify conditions like the above
250
250
  # example using the add method, for example:
251
251
  #
252
- # conditions.add(:like, :s3_prefix, "photos/*", "photos.html")
252
+ # conditions.add(:like, :s3_prefix, "photos/*", "photos.html")
253
253
  #
254
254
  # See the add method documentation for more details about how
255
255
  # to specify keys and operators.
@@ -322,22 +322,22 @@ module AWS
322
322
  # The following list shows which operators are accepted as
323
323
  # symbols and how they are represented in the JSON policy:
324
324
  #
325
- # * +:is+ (StringEquals, NumericEquals, DateEquals, or Bool)
326
- # * +:like+ (StringLike)
327
- # * +:not_like+ (StringNotLike)
328
- # * +:not+ (StringNotEquals, NumericNotEquals, or DateNotEquals)
329
- # * +:greater_than+, +:gt+ (NumericGreaterThan or DateGreaterThan)
330
- # * +:greater_than_equals+, +:gte+
325
+ # * `:is` (StringEquals, NumericEquals, DateEquals, or Bool)
326
+ # * `:like` (StringLike)
327
+ # * `:not_like` (StringNotLike)
328
+ # * `:not` (StringNotEquals, NumericNotEquals, or DateNotEquals)
329
+ # * `:greater_than`, `:gt` (NumericGreaterThan or DateGreaterThan)
330
+ # * `:greater_than_equals`, `:gte`
331
331
  # (NumericGreaterThanEquals or DateGreaterThanEquals)
332
- # * +:less_than+, +:lt+ (NumericLessThan or DateLessThan)
333
- # * +:less_than_equals+, +:lte+
332
+ # * `:less_than`, `:lt` (NumericLessThan or DateLessThan)
333
+ # * `:less_than_equals`, `:lte`
334
334
  # (NumericLessThanEquals or DateLessThanEquals)
335
- # * +:is_ip_address+ (IpAddress)
336
- # * +:not_ip_address+ (NotIpAddress)
337
- # * +:is_arn+ (ArnEquals)
338
- # * +:not_arn+ (ArnNotEquals)
339
- # * +:is_arn_like+ (ArnLike)
340
- # * +:not_arn_like+ (ArnNotLike)
335
+ # * `:is_ip_address` (IpAddress)
336
+ # * `:not_ip_address` (NotIpAddress)
337
+ # * `:is_arn` (ArnEquals)
338
+ # * `:not_arn` (ArnNotEquals)
339
+ # * `:is_arn_like` (ArnLike)
340
+ # * `:not_arn_like` (ArnNotLike)
341
341
  #
342
342
  # @param [Symbol or String] operator The operator used to
343
343
  # compare the key with the value. See above for valid
@@ -348,8 +348,8 @@ module AWS
348
348
  # default, the key is assumed to be in the "aws"
349
349
  # namespace, but if you prefix the symbol name with "s3_"
350
350
  # it will be sent in the "s3" namespace. For example,
351
- # +:s3_prefix+ is sent as "s3:prefix" while
352
- # +:secure_transport+ is sent as "aws:SecureTransport".
351
+ # `:s3_prefix` is sent as "s3:prefix" while
352
+ # `:secure_transport` is sent as "aws:SecureTransport".
353
353
  # See
354
354
  # http://docs.amazonwebservices.com/AmazonS3/latest/dev/UsingResOpsConditions.html
355
355
  # for a list of the available keys for each action in S3.
@@ -731,12 +731,12 @@ module AWS
731
731
  # Symbols are expected to match methods of S3::Client.
732
732
  # @option opts :excluded_actions Action or actions which are
733
733
  # explicitly not affected by this statement. As with
734
- # +:actions+, these may be symbols or strings.
734
+ # `:actions`, these may be symbols or strings.
735
735
  # @option opts [String or array of strings] :resources The
736
736
  # resource(s) affected by the statement. These can be
737
- # expressed as ARNs (e.g. +arn:aws:s3:::mybucket/mykey+)
738
- # or you may omit the +arn:aws:s3:::+ prefix and just give
739
- # the path as +bucket_name/key+. You may use the wildcard
737
+ # expressed as ARNs (e.g. `arn:aws:s3:::mybucket/mykey`)
738
+ # or you may omit the `arn:aws:s3:::` prefix and just give
739
+ # the path as `bucket_name/key`. You may use the wildcard
740
740
  # character "*" to match zero or more characters in the
741
741
  # resource name.
742
742
  # @option opts [ConditionBlock or Hash] :conditions
@@ -0,0 +1,72 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ module Core
16
+
17
+ # Represents an AWS region. A region has a name and provides access
18
+ # to service interface objects.
19
+ #
20
+ # aws = AWS.regions['us-west-1']
21
+ #
22
+ # aws.dynamo_db.tables.map(&:name)
23
+ # aws.ec2.instances.map(&:id)
24
+ #
25
+ # @attr_reader [AutoScaling] auto_scaling
26
+ # @attr_reader [CloudFormation] cloud_formation
27
+ # @attr_reader [CloudFront] cloud_front
28
+ # @attr_reader [CloudSearch] cloud_search
29
+ # @attr_reader [CloudWatch] cloud_watch
30
+ # @attr_reader [DynamoDB] dynamo_db
31
+ # @attr_reader [DataPipeline] data_pipeline
32
+ # @attr_reader [EC2] ec2
33
+ # @attr_reader [ElastiCache] elasticache
34
+ # @attr_reader [ElasticBeanstalk] elastic_beanstalk
35
+ # @attr_reader [ElasticTranscoder] elastic_transcoder
36
+ # @attr_reader [ELB] elb
37
+ # @attr_reader [EMR] emr
38
+ # @attr_reader [Glacier] glacier
39
+ # @attr_reader [IAM] iam
40
+ # @attr_reader [ImportExport] import_export
41
+ # @attr_reader [OpsWorks] ops_works
42
+ # @attr_reader [RDS] rds
43
+ # @attr_reader [Redshift] redshift
44
+ # @attr_reader [Route53] route_53
45
+ # @attr_reader [S3] s3
46
+ # @attr_reader [SimpleDB] simple_db
47
+ # @attr_reader [SimpleEmailService] simple_email_service
48
+ # @attr_reader [SimpleWorkflow] simple_workflow
49
+ # @attr_reader [SNS] sns
50
+ # @attr_reader [SQS] sqs
51
+ # @attr_reader [StorageGateway] storage_gateway
52
+ # @attr_reader [STS] sts
53
+ #
54
+ class Region
55
+
56
+ # @param [String] name
57
+ # @option options [Configuration] :config (AWS.config)
58
+ def initialize name, options = {}
59
+ @name = name
60
+ @config = options[:config] || AWS.config
61
+ @config = @config.with(:region => name)
62
+ end
63
+
64
+ # @return [String] The name of this region (e.g. 'us-west-1').
65
+ attr_reader :name
66
+
67
+ # @return [Configuration]
68
+ attr_reader :config
69
+
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,106 @@
1
+ # Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ require 'uri'
15
+ require 'net/http'
16
+ require 'json'
17
+
18
+ module AWS
19
+ module Core
20
+
21
+ # Provides a mechnasim to discover available regions. This can useful if
22
+ # you want to perform an operation for a service in every region.
23
+ #
24
+ # # call the EC2 DescribeInstances operation in each region
25
+ # AWS.regions.each do |region|
26
+ # resp = region.ec2.client.describe_instances
27
+ # end
28
+ #
29
+ # You can also use this collection as a shortcut for creating
30
+ # a service interface with a given region.
31
+ #
32
+ # s3 = AWS.regions['us-west-1'].s3
33
+ #
34
+ # This collection enumerates and returns {Region} objects.
35
+ #
36
+ # @see Region
37
+ class RegionCollection
38
+
39
+ include Enumerable
40
+
41
+ # @option options [Configuration] :config (AWS.config)
42
+ # @option options [ServiceInterface] :service (nil)
43
+ # @private
44
+ def initialize options = {}
45
+ @config = options[:config] || AWS.config
46
+ @service = options[:service]
47
+ end
48
+
49
+ # @return [Configuration]
50
+ attr_reader :config
51
+
52
+ # @param [String] name
53
+ # @return [Region] Returns a {Region} with the given name.
54
+ def [] name
55
+ Region.new(name, :config => config)
56
+ end
57
+
58
+ # Enumerates public regions (non US Gov regions).
59
+ # @yieldparam [region] Region
60
+ def each &block
61
+ public_regions.each do |region_name|
62
+ yield(self[region_name])
63
+ end
64
+ end
65
+
66
+ private
67
+
68
+ # @return [Array<String>] Returns an array of non-gov-cloud region names.
69
+ def public_regions
70
+ return ['us-east-1'] if @service and @service.global_endpoint?
71
+ data = self.class.data
72
+ regions = @service ?
73
+ data['services'][@service.endpoint_prefix] :
74
+ data['regions'].keys
75
+ regions.reject{|r| r =~ /us-gov/ }
76
+ end
77
+
78
+ class << self
79
+
80
+ # @return [nil]
81
+ # @private
82
+ def clear!
83
+ @data = nil
84
+ end
85
+
86
+ # @return [Hash] Returns a hash of region metadata.
87
+ # @private
88
+ def data
89
+ @data ||= load_data
90
+ end
91
+
92
+ private
93
+
94
+ # @return [Hash]
95
+ def load_data
96
+ #return JSON.parse(File.read(File.join(AWS::ROOT, 'endpoints.json')))
97
+ host = 'aws-sdk-configurations.amazonwebservices.com'
98
+ path = '/endpoints.json'
99
+ JSON.parse(Net::HTTP.get(host, path))
100
+ end
101
+
102
+ end
103
+
104
+ end
105
+ end
106
+ end