aws-sdk 1.32.0 → 3.0.2

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 (551) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +100 -0
  3. data/LICENSE.txt +199 -9
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk.rb +2 -14
  6. metadata +22 -591
  7. data/.yardopts +0 -7
  8. data/README.md +0 -291
  9. data/bin/aws-rb +0 -169
  10. data/ca-bundle.crt +0 -3554
  11. data/endpoints.json +0 -1506
  12. data/lib/aws.rb +0 -14
  13. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +0 -869
  14. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +0 -358
  15. data/lib/aws/api_config/CloudFront-2013-05-12.yml +0 -2448
  16. data/lib/aws/api_config/CloudFront-2013-08-26.yml +0 -2599
  17. data/lib/aws/api_config/CloudFront-2013-09-27.yml +0 -2765
  18. data/lib/aws/api_config/CloudFront-2013-11-11.yml +0 -2886
  19. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +0 -681
  20. data/lib/aws/api_config/CloudTrail-2013-11-01.yml +0 -159
  21. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +0 -433
  22. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +0 -422
  23. data/lib/aws/api_config/DirectConnect-2012-10-25.yml +0 -735
  24. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +0 -1168
  25. data/lib/aws/api_config/DynamoDB-2012-08-10.yml +0 -2005
  26. data/lib/aws/api_config/EC2-2013-08-15.yml +0 -4708
  27. data/lib/aws/api_config/EC2-2013-10-01.yml +0 -4726
  28. data/lib/aws/api_config/EC2-2013-10-15.yml +0 -4726
  29. data/lib/aws/api_config/ELB-2012-06-01.yml +0 -632
  30. data/lib/aws/api_config/EMR-2009-03-31.yml +0 -953
  31. data/lib/aws/api_config/ElastiCache-2013-06-15.yml +0 -1188
  32. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +0 -847
  33. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +0 -2285
  34. data/lib/aws/api_config/Glacier-2012-06-01.yml +0 -649
  35. data/lib/aws/api_config/IAM-2010-05-08.yml +0 -1297
  36. data/lib/aws/api_config/ImportExport-2010-06-01.yml +0 -109
  37. data/lib/aws/api_config/Kinesis-2013-12-02.yml +0 -201
  38. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +0 -1825
  39. data/lib/aws/api_config/RDS-2013-05-15.yml +0 -2464
  40. data/lib/aws/api_config/RDS-2013-09-09.yml +0 -2641
  41. data/lib/aws/api_config/Redshift-2012-12-01.yml +0 -2137
  42. data/lib/aws/api_config/Route53-2012-12-12.yml +0 -547
  43. data/lib/aws/api_config/SNS-2010-03-31.yml +0 -433
  44. data/lib/aws/api_config/SQS-2012-11-05.yml +0 -319
  45. data/lib/aws/api_config/STS-2011-06-15.yml +0 -147
  46. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +0 -306
  47. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +0 -346
  48. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +0 -2388
  49. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +0 -748
  50. data/lib/aws/api_config/StorageGateway-2013-06-30.yml +0 -1025
  51. data/lib/aws/api_config/Support-2013-04-15.yml +0 -426
  52. data/lib/aws/auto_scaling.rb +0 -163
  53. data/lib/aws/auto_scaling/activity.rb +0 -102
  54. data/lib/aws/auto_scaling/activity_collection.rb +0 -81
  55. data/lib/aws/auto_scaling/client.rb +0 -48
  56. data/lib/aws/auto_scaling/config.rb +0 -18
  57. data/lib/aws/auto_scaling/errors.rb +0 -22
  58. data/lib/aws/auto_scaling/group.rb +0 -421
  59. data/lib/aws/auto_scaling/group_collection.rb +0 -96
  60. data/lib/aws/auto_scaling/group_options.rb +0 -155
  61. data/lib/aws/auto_scaling/instance.rb +0 -192
  62. data/lib/aws/auto_scaling/instance_collection.rb +0 -63
  63. data/lib/aws/auto_scaling/launch_configuration.rb +0 -162
  64. data/lib/aws/auto_scaling/launch_configuration_collection.rb +0 -160
  65. data/lib/aws/auto_scaling/notification_configuration.rb +0 -89
  66. data/lib/aws/auto_scaling/notification_configuration_collection.rb +0 -183
  67. data/lib/aws/auto_scaling/scaling_policy.rb +0 -142
  68. data/lib/aws/auto_scaling/scaling_policy_collection.rb +0 -72
  69. data/lib/aws/auto_scaling/scaling_policy_options.rb +0 -65
  70. data/lib/aws/auto_scaling/scheduled_action.rb +0 -141
  71. data/lib/aws/auto_scaling/scheduled_action_collection.rb +0 -202
  72. data/lib/aws/auto_scaling/tag.rb +0 -59
  73. data/lib/aws/auto_scaling/tag_collection.rb +0 -114
  74. data/lib/aws/cloud_formation.rb +0 -272
  75. data/lib/aws/cloud_formation/client.rb +0 -48
  76. data/lib/aws/cloud_formation/config.rb +0 -18
  77. data/lib/aws/cloud_formation/errors.rb +0 -22
  78. data/lib/aws/cloud_formation/stack.rb +0 -266
  79. data/lib/aws/cloud_formation/stack_collection.rb +0 -232
  80. data/lib/aws/cloud_formation/stack_event.rb +0 -73
  81. data/lib/aws/cloud_formation/stack_event_collection.rb +0 -47
  82. data/lib/aws/cloud_formation/stack_options.rb +0 -72
  83. data/lib/aws/cloud_formation/stack_output.rb +0 -53
  84. data/lib/aws/cloud_formation/stack_resource.rb +0 -117
  85. data/lib/aws/cloud_formation/stack_resource_collection.rb +0 -83
  86. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +0 -64
  87. data/lib/aws/cloud_formation/stack_summary_collection.rb +0 -123
  88. data/lib/aws/cloud_front.rb +0 -72
  89. data/lib/aws/cloud_front/client.rb +0 -45
  90. data/lib/aws/cloud_front/config.rb +0 -18
  91. data/lib/aws/cloud_front/errors.rb +0 -22
  92. data/lib/aws/cloud_search.rb +0 -73
  93. data/lib/aws/cloud_search/client.rb +0 -36
  94. data/lib/aws/cloud_search/config.rb +0 -18
  95. data/lib/aws/cloud_search/errors.rb +0 -22
  96. data/lib/aws/cloud_trail.rb +0 -72
  97. data/lib/aws/cloud_trail/client.rb +0 -35
  98. data/lib/aws/cloud_trail/config.rb +0 -18
  99. data/lib/aws/cloud_trail/errors.rb +0 -22
  100. data/lib/aws/cloud_watch.rb +0 -118
  101. data/lib/aws/cloud_watch/alarm.rb +0 -290
  102. data/lib/aws/cloud_watch/alarm_collection.rb +0 -153
  103. data/lib/aws/cloud_watch/alarm_history_item.rb +0 -50
  104. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +0 -84
  105. data/lib/aws/cloud_watch/client.rb +0 -40
  106. data/lib/aws/cloud_watch/config.rb +0 -18
  107. data/lib/aws/cloud_watch/errors.rb +0 -22
  108. data/lib/aws/cloud_watch/metric.rb +0 -135
  109. data/lib/aws/cloud_watch/metric_alarm_collection.rb +0 -160
  110. data/lib/aws/cloud_watch/metric_collection.rb +0 -129
  111. data/lib/aws/cloud_watch/metric_statistics.rb +0 -69
  112. data/lib/aws/core.rb +0 -701
  113. data/lib/aws/core/async_handle.rb +0 -90
  114. data/lib/aws/core/cacheable.rb +0 -77
  115. data/lib/aws/core/client.rb +0 -778
  116. data/lib/aws/core/collection.rb +0 -263
  117. data/lib/aws/core/collection/simple.rb +0 -82
  118. data/lib/aws/core/collection/with_limit_and_next_token.rb +0 -71
  119. data/lib/aws/core/collection/with_next_token.rb +0 -97
  120. data/lib/aws/core/configuration.rb +0 -541
  121. data/lib/aws/core/credential_providers.rb +0 -506
  122. data/lib/aws/core/data.rb +0 -247
  123. data/lib/aws/core/deprecations.rb +0 -84
  124. data/lib/aws/core/endpoints.rb +0 -37
  125. data/lib/aws/core/http/connection_pool.rb +0 -349
  126. data/lib/aws/core/http/curb_handler.rb +0 -148
  127. data/lib/aws/core/http/handler.rb +0 -89
  128. data/lib/aws/core/http/net_http_handler.rb +0 -147
  129. data/lib/aws/core/http/patch.rb +0 -102
  130. data/lib/aws/core/http/request.rb +0 -249
  131. data/lib/aws/core/http/response.rb +0 -81
  132. data/lib/aws/core/indifferent_hash.rb +0 -88
  133. data/lib/aws/core/inflection.rb +0 -56
  134. data/lib/aws/core/json_client.rb +0 -47
  135. data/lib/aws/core/json_parser.rb +0 -76
  136. data/lib/aws/core/json_request_builder.rb +0 -35
  137. data/lib/aws/core/json_response_parser.rb +0 -79
  138. data/lib/aws/core/lazy_error_classes.rb +0 -90
  139. data/lib/aws/core/log_formatter.rb +0 -428
  140. data/lib/aws/core/managed_file.rb +0 -32
  141. data/lib/aws/core/meta_utils.rb +0 -45
  142. data/lib/aws/core/model.rb +0 -57
  143. data/lib/aws/core/naming.rb +0 -30
  144. data/lib/aws/core/option_grammar.rb +0 -738
  145. data/lib/aws/core/options/json_serializer.rb +0 -82
  146. data/lib/aws/core/options/validator.rb +0 -155
  147. data/lib/aws/core/options/xml_serializer.rb +0 -118
  148. data/lib/aws/core/page_result.rb +0 -75
  149. data/lib/aws/core/policy.rb +0 -942
  150. data/lib/aws/core/query_client.rb +0 -41
  151. data/lib/aws/core/query_error_parser.rb +0 -24
  152. data/lib/aws/core/query_request_builder.rb +0 -47
  153. data/lib/aws/core/query_response_parser.rb +0 -35
  154. data/lib/aws/core/region.rb +0 -85
  155. data/lib/aws/core/region_collection.rb +0 -80
  156. data/lib/aws/core/resource.rb +0 -413
  157. data/lib/aws/core/resource_cache.rb +0 -40
  158. data/lib/aws/core/response.rb +0 -211
  159. data/lib/aws/core/response_cache.rb +0 -50
  160. data/lib/aws/core/rest_error_parser.rb +0 -24
  161. data/lib/aws/core/rest_json_client.rb +0 -40
  162. data/lib/aws/core/rest_request_builder.rb +0 -154
  163. data/lib/aws/core/rest_response_parser.rb +0 -66
  164. data/lib/aws/core/rest_xml_client.rb +0 -47
  165. data/lib/aws/core/service_interface.rb +0 -83
  166. data/lib/aws/core/signers/base.rb +0 -46
  167. data/lib/aws/core/signers/cloud_front.rb +0 -56
  168. data/lib/aws/core/signers/s3.rb +0 -159
  169. data/lib/aws/core/signers/version_2.rb +0 -72
  170. data/lib/aws/core/signers/version_3.rb +0 -86
  171. data/lib/aws/core/signers/version_3_https.rb +0 -61
  172. data/lib/aws/core/signers/version_4.rb +0 -228
  173. data/lib/aws/core/signers/version_4/chunk_signed_stream.rb +0 -191
  174. data/lib/aws/core/uri_escape.rb +0 -44
  175. data/lib/aws/core/xml/frame.rb +0 -244
  176. data/lib/aws/core/xml/frame_stack.rb +0 -85
  177. data/lib/aws/core/xml/grammar.rb +0 -306
  178. data/lib/aws/core/xml/parser.rb +0 -70
  179. data/lib/aws/core/xml/root_frame.rb +0 -65
  180. data/lib/aws/core/xml/sax_handlers/libxml.rb +0 -47
  181. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +0 -56
  182. data/lib/aws/core/xml/sax_handlers/ox.rb +0 -41
  183. data/lib/aws/core/xml/sax_handlers/rexml.rb +0 -47
  184. data/lib/aws/core/xml/stub.rb +0 -123
  185. data/lib/aws/data_pipeline.rb +0 -72
  186. data/lib/aws/data_pipeline/client.rb +0 -36
  187. data/lib/aws/data_pipeline/config.rb +0 -18
  188. data/lib/aws/data_pipeline/errors.rb +0 -20
  189. data/lib/aws/direct_connect.rb +0 -73
  190. data/lib/aws/direct_connect/client.rb +0 -36
  191. data/lib/aws/direct_connect/config.rb +0 -18
  192. data/lib/aws/direct_connect/errors.rb +0 -22
  193. data/lib/aws/dynamo_db.rb +0 -214
  194. data/lib/aws/dynamo_db/attribute_collection.rb +0 -456
  195. data/lib/aws/dynamo_db/batch_get.rb +0 -213
  196. data/lib/aws/dynamo_db/batch_write.rb +0 -252
  197. data/lib/aws/dynamo_db/binary.rb +0 -35
  198. data/lib/aws/dynamo_db/client.rb +0 -129
  199. data/lib/aws/dynamo_db/client/v20111205.rb +0 -1266
  200. data/lib/aws/dynamo_db/client/v20120810.rb +0 -1409
  201. data/lib/aws/dynamo_db/client_v2.rb +0 -44
  202. data/lib/aws/dynamo_db/config.rb +0 -24
  203. data/lib/aws/dynamo_db/errors.rb +0 -20
  204. data/lib/aws/dynamo_db/expectations.rb +0 -40
  205. data/lib/aws/dynamo_db/item.rb +0 -133
  206. data/lib/aws/dynamo_db/item_collection.rb +0 -856
  207. data/lib/aws/dynamo_db/item_data.rb +0 -31
  208. data/lib/aws/dynamo_db/keys.rb +0 -41
  209. data/lib/aws/dynamo_db/primary_key_element.rb +0 -48
  210. data/lib/aws/dynamo_db/resource.rb +0 -33
  211. data/lib/aws/dynamo_db/table.rb +0 -496
  212. data/lib/aws/dynamo_db/table_collection.rb +0 -165
  213. data/lib/aws/dynamo_db/types.rb +0 -111
  214. data/lib/aws/ec2.rb +0 -428
  215. data/lib/aws/ec2/attachment.rb +0 -135
  216. data/lib/aws/ec2/attachment_collection.rb +0 -54
  217. data/lib/aws/ec2/availability_zone.rb +0 -86
  218. data/lib/aws/ec2/availability_zone_collection.rb +0 -43
  219. data/lib/aws/ec2/block_device_mappings.rb +0 -53
  220. data/lib/aws/ec2/client.rb +0 -101
  221. data/lib/aws/ec2/collection.rb +0 -36
  222. data/lib/aws/ec2/config.rb +0 -30
  223. data/lib/aws/ec2/customer_gateway.rb +0 -90
  224. data/lib/aws/ec2/customer_gateway_collection.rb +0 -73
  225. data/lib/aws/ec2/dhcp_options.rb +0 -106
  226. data/lib/aws/ec2/dhcp_options_collection.rb +0 -87
  227. data/lib/aws/ec2/elastic_ip.rb +0 -209
  228. data/lib/aws/ec2/elastic_ip_collection.rb +0 -93
  229. data/lib/aws/ec2/errors.rb +0 -32
  230. data/lib/aws/ec2/export_task.rb +0 -120
  231. data/lib/aws/ec2/export_task_collection.rb +0 -67
  232. data/lib/aws/ec2/filtered_collection.rb +0 -87
  233. data/lib/aws/ec2/has_permissions.rb +0 -44
  234. data/lib/aws/ec2/image.rb +0 -270
  235. data/lib/aws/ec2/image_collection.rb +0 -220
  236. data/lib/aws/ec2/instance.rb +0 -803
  237. data/lib/aws/ec2/instance_collection.rb +0 -391
  238. data/lib/aws/ec2/internet_gateway.rb +0 -122
  239. data/lib/aws/ec2/internet_gateway/attachment.rb +0 -78
  240. data/lib/aws/ec2/internet_gateway_collection.rb +0 -54
  241. data/lib/aws/ec2/key_pair.rb +0 -82
  242. data/lib/aws/ec2/key_pair_collection.rb +0 -99
  243. data/lib/aws/ec2/network_acl.rb +0 -256
  244. data/lib/aws/ec2/network_acl/association.rb +0 -56
  245. data/lib/aws/ec2/network_acl/entry.rb +0 -147
  246. data/lib/aws/ec2/network_acl_collection.rb +0 -64
  247. data/lib/aws/ec2/network_interface.rb +0 -237
  248. data/lib/aws/ec2/network_interface/attachment.rb +0 -100
  249. data/lib/aws/ec2/network_interface_collection.rb +0 -103
  250. data/lib/aws/ec2/permission_collection.rb +0 -174
  251. data/lib/aws/ec2/region.rb +0 -106
  252. data/lib/aws/ec2/region_collection.rb +0 -51
  253. data/lib/aws/ec2/reserved_instances.rb +0 -56
  254. data/lib/aws/ec2/reserved_instances_collection.rb +0 -40
  255. data/lib/aws/ec2/reserved_instances_offering.rb +0 -60
  256. data/lib/aws/ec2/reserved_instances_offering_collection.rb +0 -45
  257. data/lib/aws/ec2/resource.rb +0 -161
  258. data/lib/aws/ec2/resource_tag_collection.rb +0 -211
  259. data/lib/aws/ec2/route_table.rb +0 -205
  260. data/lib/aws/ec2/route_table/association.rb +0 -119
  261. data/lib/aws/ec2/route_table/route.rb +0 -119
  262. data/lib/aws/ec2/route_table_collection.rb +0 -72
  263. data/lib/aws/ec2/security_group.rb +0 -482
  264. data/lib/aws/ec2/security_group/ip_permission.rb +0 -135
  265. data/lib/aws/ec2/security_group/ip_permission_collection.rb +0 -82
  266. data/lib/aws/ec2/security_group_collection.rb +0 -133
  267. data/lib/aws/ec2/snapshot.rb +0 -143
  268. data/lib/aws/ec2/snapshot_collection.rb +0 -131
  269. data/lib/aws/ec2/subnet.rb +0 -161
  270. data/lib/aws/ec2/subnet_collection.rb +0 -115
  271. data/lib/aws/ec2/tag.rb +0 -81
  272. data/lib/aws/ec2/tag_collection.rb +0 -107
  273. data/lib/aws/ec2/tagged_collection.rb +0 -53
  274. data/lib/aws/ec2/tagged_item.rb +0 -85
  275. data/lib/aws/ec2/volume.rb +0 -174
  276. data/lib/aws/ec2/volume_collection.rb +0 -98
  277. data/lib/aws/ec2/vpc.rb +0 -166
  278. data/lib/aws/ec2/vpc_collection.rb +0 -70
  279. data/lib/aws/ec2/vpn_connection.rb +0 -99
  280. data/lib/aws/ec2/vpn_connection/telemetry.rb +0 -49
  281. data/lib/aws/ec2/vpn_connection_collection.rb +0 -96
  282. data/lib/aws/ec2/vpn_gateway.rb +0 -123
  283. data/lib/aws/ec2/vpn_gateway/attachment.rb +0 -45
  284. data/lib/aws/ec2/vpn_gateway_collection.rb +0 -77
  285. data/lib/aws/elastic_beanstalk.rb +0 -49
  286. data/lib/aws/elastic_beanstalk/client.rb +0 -36
  287. data/lib/aws/elastic_beanstalk/config.rb +0 -18
  288. data/lib/aws/elastic_beanstalk/errors.rb +0 -22
  289. data/lib/aws/elastic_transcoder.rb +0 -29
  290. data/lib/aws/elastic_transcoder/client.rb +0 -48
  291. data/lib/aws/elastic_transcoder/config.rb +0 -18
  292. data/lib/aws/elastic_transcoder/errors.rb +0 -23
  293. data/lib/aws/elasticache.rb +0 -49
  294. data/lib/aws/elasticache/client.rb +0 -35
  295. data/lib/aws/elasticache/config.rb +0 -18
  296. data/lib/aws/elasticache/errors.rb +0 -22
  297. data/lib/aws/elb.rb +0 -66
  298. data/lib/aws/elb/availability_zone_collection.rb +0 -138
  299. data/lib/aws/elb/backend_server_policy_collection.rb +0 -139
  300. data/lib/aws/elb/client.rb +0 -35
  301. data/lib/aws/elb/config.rb +0 -18
  302. data/lib/aws/elb/errors.rb +0 -26
  303. data/lib/aws/elb/instance_collection.rb +0 -168
  304. data/lib/aws/elb/listener.rb +0 -190
  305. data/lib/aws/elb/listener_collection.rb +0 -113
  306. data/lib/aws/elb/listener_opts.rb +0 -45
  307. data/lib/aws/elb/load_balancer.rb +0 -280
  308. data/lib/aws/elb/load_balancer_collection.rb +0 -146
  309. data/lib/aws/elb/load_balancer_policy.rb +0 -93
  310. data/lib/aws/elb/load_balancer_policy_collection.rb +0 -208
  311. data/lib/aws/emr.rb +0 -87
  312. data/lib/aws/emr/client.rb +0 -35
  313. data/lib/aws/emr/config.rb +0 -18
  314. data/lib/aws/emr/errors.rb +0 -22
  315. data/lib/aws/emr/instance_group.rb +0 -138
  316. data/lib/aws/emr/instance_group_collection.rb +0 -82
  317. data/lib/aws/emr/job_flow.rb +0 -307
  318. data/lib/aws/emr/job_flow_collection.rb +0 -185
  319. data/lib/aws/errors.rb +0 -162
  320. data/lib/aws/glacier.rb +0 -79
  321. data/lib/aws/glacier/archive.rb +0 -56
  322. data/lib/aws/glacier/archive_collection.rb +0 -146
  323. data/lib/aws/glacier/client.rb +0 -49
  324. data/lib/aws/glacier/config.rb +0 -19
  325. data/lib/aws/glacier/errors.rb +0 -22
  326. data/lib/aws/glacier/resource.rb +0 -30
  327. data/lib/aws/glacier/vault.rb +0 -145
  328. data/lib/aws/glacier/vault_collection.rb +0 -75
  329. data/lib/aws/glacier/vault_notification_configuration.rb +0 -29
  330. data/lib/aws/iam.rb +0 -408
  331. data/lib/aws/iam/access_key.rb +0 -185
  332. data/lib/aws/iam/access_key_collection.rb +0 -128
  333. data/lib/aws/iam/account_alias_collection.rb +0 -79
  334. data/lib/aws/iam/client.rb +0 -49
  335. data/lib/aws/iam/collection.rb +0 -83
  336. data/lib/aws/iam/config.rb +0 -18
  337. data/lib/aws/iam/errors.rb +0 -22
  338. data/lib/aws/iam/group.rb +0 -111
  339. data/lib/aws/iam/group_collection.rb +0 -132
  340. data/lib/aws/iam/group_policy_collection.rb +0 -47
  341. data/lib/aws/iam/group_user_collection.rb +0 -84
  342. data/lib/aws/iam/login_profile.rb +0 -99
  343. data/lib/aws/iam/mfa_device.rb +0 -52
  344. data/lib/aws/iam/mfa_device_collection.rb +0 -127
  345. data/lib/aws/iam/policy.rb +0 -46
  346. data/lib/aws/iam/policy_collection.rb +0 -188
  347. data/lib/aws/iam/resource.rb +0 -62
  348. data/lib/aws/iam/server_certificate.rb +0 -141
  349. data/lib/aws/iam/server_certificate_collection.rb +0 -138
  350. data/lib/aws/iam/signing_certificate.rb +0 -174
  351. data/lib/aws/iam/signing_certificate_collection.rb +0 -131
  352. data/lib/aws/iam/user.rb +0 -200
  353. data/lib/aws/iam/user_collection.rb +0 -133
  354. data/lib/aws/iam/user_group_collection.rb +0 -98
  355. data/lib/aws/iam/user_policy.rb +0 -90
  356. data/lib/aws/iam/user_policy_collection.rb +0 -45
  357. data/lib/aws/iam/virtual_mfa_device.rb +0 -139
  358. data/lib/aws/iam/virtual_mfa_device_collection.rb +0 -73
  359. data/lib/aws/import_export.rb +0 -73
  360. data/lib/aws/import_export/client.rb +0 -35
  361. data/lib/aws/import_export/config.rb +0 -19
  362. data/lib/aws/import_export/errors.rb +0 -22
  363. data/lib/aws/kinesis.rb +0 -53
  364. data/lib/aws/kinesis/client.rb +0 -35
  365. data/lib/aws/kinesis/config.rb +0 -18
  366. data/lib/aws/kinesis/errors.rb +0 -20
  367. data/lib/aws/ops_works.rb +0 -29
  368. data/lib/aws/ops_works/client.rb +0 -35
  369. data/lib/aws/ops_works/config.rb +0 -18
  370. data/lib/aws/ops_works/errors.rb +0 -20
  371. data/lib/aws/rails.rb +0 -195
  372. data/lib/aws/rds.rb +0 -70
  373. data/lib/aws/rds/client.rb +0 -42
  374. data/lib/aws/rds/config.rb +0 -18
  375. data/lib/aws/rds/db_instance.rb +0 -216
  376. data/lib/aws/rds/db_instance_collection.rb +0 -75
  377. data/lib/aws/rds/db_snapshot.rb +0 -163
  378. data/lib/aws/rds/db_snapshot_collection.rb +0 -89
  379. data/lib/aws/rds/errors.rb +0 -22
  380. data/lib/aws/record.rb +0 -139
  381. data/lib/aws/record/abstract_base.rb +0 -690
  382. data/lib/aws/record/attributes.rb +0 -388
  383. data/lib/aws/record/conversion.rb +0 -38
  384. data/lib/aws/record/dirty_tracking.rb +0 -287
  385. data/lib/aws/record/errors.rb +0 -143
  386. data/lib/aws/record/exceptions.rb +0 -51
  387. data/lib/aws/record/hash_model.rb +0 -204
  388. data/lib/aws/record/hash_model/attributes.rb +0 -195
  389. data/lib/aws/record/hash_model/finder_methods.rb +0 -172
  390. data/lib/aws/record/hash_model/scope.rb +0 -108
  391. data/lib/aws/record/model.rb +0 -453
  392. data/lib/aws/record/model/attributes.rb +0 -377
  393. data/lib/aws/record/model/finder_methods.rb +0 -232
  394. data/lib/aws/record/model/scope.rb +0 -212
  395. data/lib/aws/record/naming.rb +0 -31
  396. data/lib/aws/record/scope.rb +0 -203
  397. data/lib/aws/record/validations.rb +0 -694
  398. data/lib/aws/record/validator.rb +0 -246
  399. data/lib/aws/record/validators/acceptance.rb +0 -49
  400. data/lib/aws/record/validators/block.rb +0 -36
  401. data/lib/aws/record/validators/confirmation.rb +0 -41
  402. data/lib/aws/record/validators/count.rb +0 -106
  403. data/lib/aws/record/validators/exclusion.rb +0 -41
  404. data/lib/aws/record/validators/format.rb +0 -55
  405. data/lib/aws/record/validators/inclusion.rb +0 -54
  406. data/lib/aws/record/validators/length.rb +0 -105
  407. data/lib/aws/record/validators/method.rb +0 -31
  408. data/lib/aws/record/validators/numericality.rb +0 -136
  409. data/lib/aws/record/validators/presence.rb +0 -43
  410. data/lib/aws/redshift.rb +0 -51
  411. data/lib/aws/redshift/client.rb +0 -35
  412. data/lib/aws/redshift/config.rb +0 -18
  413. data/lib/aws/redshift/errors.rb +0 -22
  414. data/lib/aws/route_53.rb +0 -86
  415. data/lib/aws/route_53/change_batch.rb +0 -161
  416. data/lib/aws/route_53/change_info.rb +0 -72
  417. data/lib/aws/route_53/client.rb +0 -35
  418. data/lib/aws/route_53/config.rb +0 -18
  419. data/lib/aws/route_53/errors.rb +0 -22
  420. data/lib/aws/route_53/hosted_zone.rb +0 -111
  421. data/lib/aws/route_53/hosted_zone_collection.rb +0 -100
  422. data/lib/aws/route_53/resource_record_set.rb +0 -251
  423. data/lib/aws/route_53/resource_record_set_collection.rb +0 -110
  424. data/lib/aws/s3.rb +0 -156
  425. data/lib/aws/s3/access_control_list.rb +0 -265
  426. data/lib/aws/s3/acl_object.rb +0 -264
  427. data/lib/aws/s3/acl_options.rb +0 -204
  428. data/lib/aws/s3/bucket.rb +0 -742
  429. data/lib/aws/s3/bucket_collection.rb +0 -162
  430. data/lib/aws/s3/bucket_lifecycle_configuration.rb +0 -457
  431. data/lib/aws/s3/bucket_tag_collection.rb +0 -111
  432. data/lib/aws/s3/bucket_version_collection.rb +0 -79
  433. data/lib/aws/s3/cipher_io.rb +0 -120
  434. data/lib/aws/s3/client.rb +0 -1919
  435. data/lib/aws/s3/client/xml.rb +0 -259
  436. data/lib/aws/s3/config.rb +0 -48
  437. data/lib/aws/s3/cors_rule.rb +0 -108
  438. data/lib/aws/s3/cors_rule_collection.rb +0 -194
  439. data/lib/aws/s3/data_options.rb +0 -191
  440. data/lib/aws/s3/encryption_utils.rb +0 -146
  441. data/lib/aws/s3/errors.rb +0 -94
  442. data/lib/aws/s3/multipart_upload.rb +0 -351
  443. data/lib/aws/s3/multipart_upload_collection.rb +0 -76
  444. data/lib/aws/s3/object_collection.rb +0 -353
  445. data/lib/aws/s3/object_metadata.rb +0 -103
  446. data/lib/aws/s3/object_upload_collection.rb +0 -77
  447. data/lib/aws/s3/object_version.rb +0 -154
  448. data/lib/aws/s3/object_version_collection.rb +0 -89
  449. data/lib/aws/s3/paginated_collection.rb +0 -75
  450. data/lib/aws/s3/policy.rb +0 -74
  451. data/lib/aws/s3/prefix_and_delimiter_collection.rb +0 -47
  452. data/lib/aws/s3/prefixed_collection.rb +0 -85
  453. data/lib/aws/s3/presign_v4.rb +0 -127
  454. data/lib/aws/s3/presigned_post.rb +0 -554
  455. data/lib/aws/s3/request.rb +0 -62
  456. data/lib/aws/s3/s3_object.rb +0 -1781
  457. data/lib/aws/s3/tree.rb +0 -116
  458. data/lib/aws/s3/tree/branch_node.rb +0 -68
  459. data/lib/aws/s3/tree/child_collection.rb +0 -104
  460. data/lib/aws/s3/tree/leaf_node.rb +0 -94
  461. data/lib/aws/s3/tree/node.rb +0 -22
  462. data/lib/aws/s3/tree/parent.rb +0 -87
  463. data/lib/aws/s3/uploaded_part.rb +0 -82
  464. data/lib/aws/s3/uploaded_part_collection.rb +0 -84
  465. data/lib/aws/s3/website_configuration.rb +0 -102
  466. data/lib/aws/simple_db.rb +0 -218
  467. data/lib/aws/simple_db/attribute.rb +0 -156
  468. data/lib/aws/simple_db/attribute_collection.rb +0 -240
  469. data/lib/aws/simple_db/client.rb +0 -67
  470. data/lib/aws/simple_db/config.rb +0 -20
  471. data/lib/aws/simple_db/consistent_read_option.rb +0 -42
  472. data/lib/aws/simple_db/delete_attributes.rb +0 -62
  473. data/lib/aws/simple_db/domain.rb +0 -123
  474. data/lib/aws/simple_db/domain_collection.rb +0 -86
  475. data/lib/aws/simple_db/domain_metadata.rb +0 -110
  476. data/lib/aws/simple_db/errors.rb +0 -55
  477. data/lib/aws/simple_db/expect_condition_option.rb +0 -45
  478. data/lib/aws/simple_db/item.rb +0 -93
  479. data/lib/aws/simple_db/item_collection.rb +0 -654
  480. data/lib/aws/simple_db/item_data.rb +0 -73
  481. data/lib/aws/simple_db/put_attributes.rb +0 -60
  482. data/lib/aws/simple_email_service.rb +0 -430
  483. data/lib/aws/simple_email_service/client.rb +0 -37
  484. data/lib/aws/simple_email_service/config.rb +0 -18
  485. data/lib/aws/simple_email_service/email_address_collection.rb +0 -69
  486. data/lib/aws/simple_email_service/errors.rb +0 -22
  487. data/lib/aws/simple_email_service/identity.rb +0 -209
  488. data/lib/aws/simple_email_service/identity_collection.rb +0 -81
  489. data/lib/aws/simple_email_service/quotas.rb +0 -66
  490. data/lib/aws/simple_workflow.rb +0 -227
  491. data/lib/aws/simple_workflow/activity_task.rb +0 -178
  492. data/lib/aws/simple_workflow/activity_task_collection.rb +0 -123
  493. data/lib/aws/simple_workflow/activity_type.rb +0 -131
  494. data/lib/aws/simple_workflow/activity_type_collection.rb +0 -93
  495. data/lib/aws/simple_workflow/client.rb +0 -69
  496. data/lib/aws/simple_workflow/config.rb +0 -18
  497. data/lib/aws/simple_workflow/count.rb +0 -49
  498. data/lib/aws/simple_workflow/decision_task.rb +0 -603
  499. data/lib/aws/simple_workflow/decision_task_collection.rb +0 -225
  500. data/lib/aws/simple_workflow/domain.rb +0 -122
  501. data/lib/aws/simple_workflow/domain_collection.rb +0 -169
  502. data/lib/aws/simple_workflow/errors.rb +0 -20
  503. data/lib/aws/simple_workflow/history_event.rb +0 -276
  504. data/lib/aws/simple_workflow/history_event_collection.rb +0 -76
  505. data/lib/aws/simple_workflow/option_formatters.rb +0 -82
  506. data/lib/aws/simple_workflow/resource.rb +0 -94
  507. data/lib/aws/simple_workflow/type.rb +0 -89
  508. data/lib/aws/simple_workflow/type_collection.rb +0 -140
  509. data/lib/aws/simple_workflow/workflow_execution.rb +0 -384
  510. data/lib/aws/simple_workflow/workflow_execution_collection.rb +0 -617
  511. data/lib/aws/simple_workflow/workflow_type.rb +0 -179
  512. data/lib/aws/simple_workflow/workflow_type_collection.rb +0 -91
  513. data/lib/aws/sns.rb +0 -76
  514. data/lib/aws/sns/client.rb +0 -35
  515. data/lib/aws/sns/config.rb +0 -18
  516. data/lib/aws/sns/errors.rb +0 -22
  517. data/lib/aws/sns/has_delivery_policy.rb +0 -68
  518. data/lib/aws/sns/message.rb +0 -194
  519. data/lib/aws/sns/originators/from_auto_scaling.rb +0 -68
  520. data/lib/aws/sns/policy.rb +0 -47
  521. data/lib/aws/sns/subscription.rb +0 -165
  522. data/lib/aws/sns/subscription_collection.rb +0 -78
  523. data/lib/aws/sns/topic.rb +0 -403
  524. data/lib/aws/sns/topic_collection.rb +0 -62
  525. data/lib/aws/sns/topic_subscription_collection.rb +0 -54
  526. data/lib/aws/sqs.rb +0 -80
  527. data/lib/aws/sqs/client.rb +0 -53
  528. data/lib/aws/sqs/config.rb +0 -20
  529. data/lib/aws/sqs/errors.rb +0 -125
  530. data/lib/aws/sqs/policy.rb +0 -48
  531. data/lib/aws/sqs/queue.rb +0 -843
  532. data/lib/aws/sqs/queue_collection.rb +0 -182
  533. data/lib/aws/sqs/received_message.rb +0 -182
  534. data/lib/aws/sqs/received_sns_message.rb +0 -116
  535. data/lib/aws/storage_gateway.rb +0 -72
  536. data/lib/aws/storage_gateway/client.rb +0 -42
  537. data/lib/aws/storage_gateway/config.rb +0 -18
  538. data/lib/aws/storage_gateway/errors.rb +0 -22
  539. data/lib/aws/sts.rb +0 -164
  540. data/lib/aws/sts/client.rb +0 -46
  541. data/lib/aws/sts/config.rb +0 -18
  542. data/lib/aws/sts/errors.rb +0 -22
  543. data/lib/aws/sts/federated_session.rb +0 -56
  544. data/lib/aws/sts/policy.rb +0 -30
  545. data/lib/aws/sts/session.rb +0 -48
  546. data/lib/aws/support.rb +0 -29
  547. data/lib/aws/support/client.rb +0 -35
  548. data/lib/aws/support/config.rb +0 -18
  549. data/lib/aws/support/errors.rb +0 -20
  550. data/lib/aws/version.rb +0 -17
  551. data/rails/init.rb +0 -15
@@ -1,73 +0,0 @@
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
- class SimpleDB
16
-
17
- # Holds the data for a SimpleDB item. While {Item} only proxies
18
- # requests to return data, this class actually stores data
19
- # returned by a query. For example, you can use this to get the
20
- # list of items whose titles are palindromes using only a single
21
- # request to SimpleDB (not counting pagination):
22
- #
23
- # items.enum_for(:select).
24
- # select { |data| data.title == data.title.to_s.reverse }.
25
- # map { |data| data.item }
26
- #
27
- # The {ItemCollection#select} call yields instances of ItemData,
28
- # and the `map` call in the example above gets the list of
29
- # corresponding {Item} instances.
30
- class ItemData
31
-
32
- # @api private
33
- def initialize(opts = {})
34
- @name = opts[:name]
35
- @attributes = opts[:attributes]
36
- @domain = opts[:domain]
37
-
38
- if obj = opts[:response_object]
39
- @name ||= obj[:name]
40
- if obj[:attributes]
41
- @attributes ||= begin
42
- attributes = {}
43
- obj[:attributes].each do |attr|
44
- attributes[attr[:name]] ||= []
45
- attributes[attr[:name]] << attr[:value]
46
- end
47
- attributes
48
- end
49
- end
50
- end
51
- end
52
-
53
- # @return [String] The item name.
54
- attr_reader :name
55
-
56
- # @return [Hash] A hash of attribute names to arrays of values.
57
- attr_reader :attributes
58
-
59
- # @return [Domain] The domain from which the item data was retrieved.
60
- attr_reader :domain
61
-
62
- # Returns the {Item} corresponding to this ItemData; you can
63
- # use this to perform further operations on the item, or to
64
- # fetch its most recent data.
65
- # @return [Item] The item this data belongs to.
66
- def item
67
- domain.items[name]
68
- end
69
-
70
- end
71
-
72
- end
73
- end
@@ -1,60 +0,0 @@
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
- class SimpleDB
16
-
17
- # @api private
18
- module PutAttributes
19
-
20
- include ExpectConditionOption
21
-
22
- # Given a single hash of attribute names to values, returns a list
23
- # of hashes suitable for the put_attributes :attributes option.
24
- # @api private
25
- protected
26
- def attribute_hashes attributes, replace
27
- attribute_hashes = []
28
- attributes.each_pair do |attribute_name,values|
29
- [values].flatten.each do |value|
30
- attribute_hashes << {
31
- :name => attribute_name.to_s,
32
- :value => value.to_s,
33
- :replace => replace,
34
- } unless [:if, :unless].include?(attribute_name)
35
- end
36
- end
37
- attribute_hashes
38
- end
39
-
40
- # @api private
41
- protected
42
- def do_put attribute_hashes, expect_opts = {}
43
- return nil if attribute_hashes.empty?
44
-
45
- opts = {
46
- :domain_name => item.domain.name,
47
- :item_name => item.name,
48
- :attributes => attribute_hashes,
49
- :expected => expect_condition_opts(expect_opts)
50
- }
51
- opts.delete(:expected) if opts[:expected].empty?
52
-
53
- client.put_attributes(opts)
54
- nil
55
- end
56
-
57
- end
58
-
59
- end
60
- end
@@ -1,430 +0,0 @@
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 'aws/core'
15
- require 'aws/simple_email_service/config'
16
-
17
- module AWS
18
-
19
- # This class is the starting point for working with Amazon
20
- # SimpleEmailService (SES).
21
- #
22
- # To use Amazon SimpleEmailService you must first
23
- # [sign up here](http://aws.amazon.com/ses/)
24
- #
25
- # For more information about Amazon SimpleEmailService:
26
- #
27
- # * [Amazon SimpleEmailService](http://aws.amazon.com/ses/)
28
- # * [Amazon SimpleEmailService Documentation](http://aws.amazon.com/documentation/ses/)
29
- #
30
- # # Credentials
31
- #
32
- # You can setup default credentials for all AWS services via
33
- # AWS.config:
34
- #
35
- # AWS.config(
36
- # :access_key_id => 'YOUR_ACCESS_KEY_ID',
37
- # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
38
- #
39
- # Or you can set them directly on the SimpleEmailService interface:
40
- #
41
- # ses = AWS::SimpleEmailService.new(
42
- # :access_key_id => 'YOUR_ACCESS_KEY_ID',
43
- # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
44
- #
45
- # # Rails
46
- #
47
- # If you want to use Amazon SimpleEmailService to send email from your
48
- # Rails application you just need to do 2 things:
49
- #
50
- # 1. Configure your AWS credentials with {AWS.config}
51
- # 2. Set SES as the delivery method:
52
- #
53
- # config.action_mailer.delivery_method = :amazon_ses
54
- #
55
- # This has only been tested with Rails 2.3 and Rails 3.0.
56
- #
57
- #
58
- # # Identities
59
- #
60
- # Before you can send emails, you need to verify one or more identities.
61
- # Identities are email addresses or domain names that you have control over.
62
- # Until you have [requested production access](http://docs.amazonwebservices.com/ses/latest/DeveloperGuide/InitialSetup.Customer.html)
63
- # you will only be able to send emails to and from verified email addresses
64
- # and domains.
65
- #
66
- # ## Verifying Email Addresses
67
- #
68
- # You can verify an email address for sending/receiving emails using
69
- # the identities collection.
70
- #
71
- # identity = ses.identities.verify('email@yourdomain.com')
72
- # identity.verified? #=> false
73
- #
74
- # You will be sent an email address with a link. Follow the link to
75
- # verify the email address.
76
- #
77
- # ## Verifying Domains
78
- #
79
- # You can also verify an entire domain for sending and receiving emails.
80
- #
81
- # identity = ses.identities.verify('yourdomain.com')
82
- # identity.verification_token
83
- # #=> "216D+lZbhUL0zOoAkC83/0TAl5lJSzLmzsOjtXM7AeM="
84
- #
85
- # You will be expected to update the DNS records for your domain with
86
- # the given verification token. See the service documentation for
87
- # more details.
88
- #
89
- # ## Listing Identities
90
- #
91
- # You can enumerate all identities:
92
- #
93
- # ses.identities.map(&:identity)
94
- # #=> ['email@foo.com', 'somedomain.com']
95
- #
96
- # You can filter the types of identities enumerated:
97
- #
98
- # domains = ses.identities.domains.map(&:identity)
99
- # email_addresses = ses.identities.email_addresses.map(&:identity)
100
- #
101
- # You can get the verification status and token from identities as well.
102
- #
103
- # # for an email address
104
- # identity = ses.identities['youremail@yourdomain.com']
105
- # identity.verified? #=> true/false
106
- #
107
- # # for a domain
108
- # identity = ses.identities['yourdomain.com']
109
- # identity.verified? #=> true/false
110
- # identity.verification_token #=> '...'
111
- #
112
- # # Sending Email
113
- #
114
- # To send a basic email you can use {#send_email}.
115
- #
116
- # ses.send_email(
117
- # :subject => 'A Sample Email',
118
- # :from => 'sender@domain.com',
119
- # :to => 'receipient@domain.com',
120
- # :body_text => 'Sample email text.',
121
- # :body_html => '<h1>Sample Email</h1>')
122
- #
123
- # If you need to send email with attachments or have other special needs
124
- # that send_email does not support you can use {#send_raw_email}.
125
- #
126
- # ses.send_raw_email(<<EMAIL)
127
- # Subject: A Sample Email
128
- # From: sender@domain.com
129
- # To: receipient@domain.com
130
- #
131
- # Sample email text.
132
- # EMAIL
133
- #
134
- # If you prefer, you can also set the sender and recipient in ruby
135
- # when sending raw emails:
136
- #
137
- # ses.send_raw_email(<<EMAIL, :to => 'to@foo.com', :from => 'from@foo.com')
138
- # Subject: A Sample Email
139
- #
140
- # Sample email text.
141
- # EMAIL
142
- #
143
- # # Quotas
144
- #
145
- # Based on several factors, Amazon SES determines how much email you can
146
- # send and how quickly you can send it. These sending limits are defined
147
- # as follows:
148
- #
149
- # * `:max_send_rate` - Maximum number of emails you can send per second.
150
- # * `:max_24_hour_send` - Maximum number of emails you can send in a
151
- # 24-hour period.
152
- #
153
- # To get your current quotas (and how many emails you have sent in the last
154
- # 24 hours):
155
- #
156
- # ses.quotas
157
- # # => {:max_24_hour_send=>200, :max_send_rate=>1.0, :sent_last_24_hours=>22}
158
- #
159
- # # Statistics
160
- #
161
- # You can get statistics about individual emails:
162
- #
163
- # ses.statistics.each do |stats|
164
- # puts "Sent: #{stats[:sent]}"
165
- # puts "Delivery Attempts: #{stats[:delivery_attempts]}"
166
- # puts "Rejects: #{stats[:rejects]}"
167
- # puts "Bounces: #{stats[:bounces]}"
168
- # puts "Complaints: #{stats[:complaints]}"
169
- # end
170
- #
171
- # @!attribute [r] client
172
- # @return [Client] the low-level SimpleEmailService client object
173
- class SimpleEmailService
174
-
175
- autoload :Client, 'aws/simple_email_service/client'
176
- autoload :Errors, 'aws/simple_email_service/errors'
177
- autoload :EmailAddressCollection, 'aws/simple_email_service/email_address_collection'
178
- autoload :Identity, 'aws/simple_email_service/identity'
179
- autoload :IdentityCollection, 'aws/simple_email_service/identity_collection'
180
- autoload :Quotas, 'aws/simple_email_service/quotas'
181
-
182
- include Core::ServiceInterface
183
-
184
- endpoint_prefix 'email'
185
-
186
- # @note This method is deprecated. Use {#identities} instead.
187
- # @return [EmailAddressCollection] Returns a collection that represents
188
- # all of the verified email addresses for your account.
189
- def email_addresses
190
- EmailAddressCollection.new(:config => config)
191
- end
192
-
193
- # @return [IdentityCollection]
194
- def identities
195
- IdentityCollection.new(:config => config)
196
- end
197
-
198
- # Sends an email.
199
- #
200
- # ses.send_email(
201
- # :subject => 'A Sample Email',
202
- # :to => 'john@doe.com',
203
- # :from => 'no@reply.com',
204
- # :body_text => 'sample text ...',
205
- # :body_html => '<p>sample text ...</p>')
206
- #
207
- # You can also pass multiple email addresses for the `:to`, `:cc`,
208
- # `:bcc` and `:reply_to` options. Email addresses can also be
209
- # formatted with names.
210
- #
211
- # ses.send_email(
212
- # :subject => 'A Sample Email',
213
- # :to => ['"John Doe" <john@doe.com>', '"Jane Doe" <jane@doe.com>'],
214
- # :from => 'no@reply.com',
215
- # :body_text => 'sample text ...')
216
- #
217
- # @param [Hash] options
218
- # @option options [required,String] :subject The subject of the message.
219
- # A short summary of the content, which will appear in the #
220
- # recipient's inbox.
221
- # @option options [required,String] :from The sender's email address.
222
- # @option options [String,Array] :to The address(es) to send the email to.
223
- # @option options [String,Array] :cc The address(es) to cc (carbon copy)
224
- # the email to.
225
- # @option options [String,Array] :bcc The address(es) to bcc (blind
226
- # carbon copy) the email to.
227
- # @option options [String,Array] :reply_to The reply-to email address(es)
228
- # for the message. If the recipient replies to the message, each
229
- # reply-to address will receive the reply.
230
- # @option options [String] :return_path The email address to which
231
- # bounce notifications are to be forwarded. If the message cannot be
232
- # delivered to the recipient, then an error message will be returned
233
- # from the recipient's ISP; this message will then be forwarded to
234
- # the email address specified by the `:return_path` option.
235
- # @option options [String] :body_text The email text contents.
236
- # You must provide `:body_text`, `:body_html` or both.
237
- # @option options [String] :body_html The email html contents.
238
- # You must provide `:body_text`, `:body_html` or both.
239
- # @option options [String] :subject_charset The character set of the
240
- # `:subject` string. If the text must contain any other characters,
241
- # then you must also specify the character set. Examples include
242
- # UTF-8, ISO-8859-1, and Shift_JIS. Defaults to 7-bit ASCII.
243
- # @option options [String] :body_text_charset The character set of the
244
- # `:body_text` string. If the text must contain any other characters,
245
- # then you must also specify the character set. Examples include
246
- # UTF-8, ISO-8859-1, and Shift_JIS. Defaults to 7-bit ASCII.
247
- # @option options [String] :body_html_charset The character set of the
248
- # `:body_html` string. If the text must contain any other characters,
249
- # then you must also specify the character set. Examples include
250
- # UTF-8, ISO-8859-1, and Shift_JIS. Defaults to 7-bit ASCII.
251
- # @option options [String] :body_html
252
- # @return [Core::Response] the SendEmail response
253
- def send_email options = {}
254
-
255
- require_each(options, :subject, :from)
256
- require_one_of(options, :to, :cc, :bcc)
257
- require_one_of(options, :body_text, :body_html)
258
-
259
- # these three options can be passed strings or arrays of strings,
260
- # but the service requires them in a list (array)
261
- [:to, :cc, :bcc, :reply_to].each do |key|
262
- if options[key]
263
- options[key] = [options[key]].flatten
264
- end
265
- end
266
-
267
- accepted_options = {
268
- :subject => %w(message subject data),
269
- :subject_charset => %w(message subject charset),
270
- :to => %w(destination to_addresses),
271
- :cc => %w(destination cc_addresses),
272
- :bcc => %w(destination bcc_addresses),
273
- :from => %w(source),
274
- :reply_to => %w(reply_to_addresses),
275
- :return_path => %w(return_path),
276
- :body_text => %w(message body text data),
277
- :body_text_charset => %w(message body text charset),
278
- :body_html => %w(message body html data),
279
- :body_html_charset => %w(message body html charset),
280
- }
281
-
282
- client.send_email(nest_options(options, accepted_options))
283
- end
284
-
285
- # Sends a raw email (email message, with header and content specified).
286
- # Useful for sending multipart MIME emails. The raw text of the message
287
- # must comply with Internet email standards; otherwise, the message
288
- # cannot be sent.
289
- #
290
- # raw = <<-EMAIL
291
- # Date: Wed, 1 Jun 2011 09:13:07 -0700
292
- # Subject: A Sample Email
293
- # From: "John Doe" <johndoe@domain.com>
294
- # To: "Jane Doe" <janedoe@domain.com>
295
- # Accept-Language: en-US
296
- # Content-Language: en-US
297
- # Content-Type: text/plain; charset="utf-8"
298
- # Content-Transfer-Encoding: base64
299
- # MIME-Version: 1.0
300
- #
301
- # c2FtcGxlIHRleHQNCg==
302
- # EMAIL
303
- #
304
- # ses.send_raw_email(raw)
305
- #
306
- # Amazon SES has a limit on the total number of recipients per
307
- # message: The combined number of To:, CC: and BCC: email addresses
308
- # cannot exceed 50. If you need to send an email message to a larger
309
- # audience, you can divide your recipient list into groups of 50 or
310
- # fewer, and then call Amazon SES repeatedly to send the message to
311
- # each group.
312
- #
313
- # @param [required, String] raw_message The raw text of the message.
314
- # You can pass in any object whos #to_s returns a valid formatted
315
- # email (e.g. ruby Mail gem). The raw message should:
316
- # * Contain a header and a body, separated by a blank line
317
- # * Contain all required internet email headers
318
- # * Each part of a multipart MIME message must be formatted properly
319
- # * MIME content types must be among those supported by Amazon SES.
320
- # Refer to the Amazon SES Developer Guide for more details.
321
- # * Use content that is base64-encoded, if MIME requires it
322
- # @option options [String,Array] :to One or more email addresses to
323
- # send the email to.
324
- # @option options [String] :from The sender's email address.
325
- # If you specify the :from option, then bounce notifications and
326
- # complaints will be sent to this email address. This takes
327
- # precedence over any Return-Path header that you might include in
328
- # the `raw_message`.
329
- # @return [Core::Response] the SendRawEmail response
330
- def send_raw_email raw_message, options = {}
331
-
332
- send_opts = {}
333
- send_opts[:raw_message] = {}
334
- send_opts[:raw_message][:data] = raw_message.to_s
335
- send_opts[:source] = options[:from] if options[:from]
336
-
337
- if raw_message.respond_to?(:destinations)
338
- send_opts[:destinations] = raw_message.destinations
339
- end
340
- send_opts[:destinations] = [options[:to]].flatten if options[:to]
341
-
342
- response = client.send_raw_email(send_opts)
343
-
344
- if raw_message.respond_to?(:message_id=)
345
- raw_message.message_id = "#{response.data[:message_id]}@email.amazonses.com"
346
- end
347
-
348
- response
349
- end
350
-
351
- # for compatability with ActionMailer
352
- alias_method :deliver, :send_raw_email
353
- alias_method :deliver!, :send_raw_email
354
- def settings; {}; end
355
-
356
- # @example
357
- #
358
- # ses.quotas
359
- # # {:max_24_hour_send=>200, :max_send_rate=>1.0, :sent_last_24_hours=>22}
360
- #
361
- # @return [Hash] Returns a hash of SES quotas and limits.
362
- def quotas
363
- Quotas.new(:config => config).to_h
364
- end
365
-
366
- # Returns an array of email statistics. Each object in this array is a
367
- # hash with the following keys:
368
- #
369
- # * `:delivery_attempts`
370
- # * `:rejects`
371
- # * `:bounces`
372
- # * `:complaints`
373
- # * `:timestamp`
374
- #
375
- # @return [Array of Hashes] An array of email statistic hashes.
376
- def statistics
377
- response = client.get_send_statistics
378
- response.data[:send_data_points].collect do |data|
379
- {
380
- :sent => data[:timestamp],
381
- :delivery_attempts => data[:delivery_attempts],
382
- :rejects => data[:rejects],
383
- :bounces => data[:bounces],
384
- :complaints => data[:complaints],
385
- }
386
- end
387
- end
388
-
389
- # @api private
390
- protected
391
- def require_one_of options, *keys
392
- unless keys.any?{|key| options[key] }
393
- parts = keys.collect{|key| ":#{key}" }.join(', ')
394
- raise ArgumentError, "you must provide at least one of #{parts}"
395
- end
396
- end
397
-
398
- # @api private
399
- protected
400
- def require_each options, *keys
401
- keys.each do |key|
402
- unless options[key]
403
- raise ArgumentError, "missing required option :#{key}"
404
- end
405
- end
406
- end
407
-
408
- # @api private
409
- protected
410
- def nest_options options, accepted_options
411
-
412
- send_opts = {}
413
- accepted_options.each_pair do |option, keys|
414
- next unless options[option]
415
- hash = send_opts
416
- keys.collect{|k| k.to_sym }.each do |key|
417
- hash[key] = {} unless hash[key]
418
- if keys.last == key.to_s
419
- hash[key] = options[option]
420
- else
421
- hash = hash[key]
422
- end
423
- end
424
- end
425
-
426
- send_opts
427
- end
428
-
429
- end
430
- end