aws-sdk-euca 1.8.5

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 (539) hide show
  1. data/.yardopts +5 -0
  2. data/LICENSE.txt +12 -0
  3. data/README.rdoc +189 -0
  4. data/ca-bundle.crt +3895 -0
  5. data/lib/aws-sdk-euca.rb +79 -0
  6. data/lib/aws-sdk.rb +79 -0
  7. data/lib/aws.rb +14 -0
  8. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +825 -0
  9. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +322 -0
  10. data/lib/aws/api_config/CloudFront-2012-05-05.yml +2102 -0
  11. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +681 -0
  12. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +433 -0
  13. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +422 -0
  14. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +1160 -0
  15. data/lib/aws/api_config/EC2-2013-02-01.yml +4368 -0
  16. data/lib/aws/api_config/ELB-2012-06-01.yml +597 -0
  17. data/lib/aws/api_config/EMR-2009-03-31.yml +370 -0
  18. data/lib/aws/api_config/ElastiCache-2012-03-09.yml +777 -0
  19. data/lib/aws/api_config/ElastiCache-2012-11-15.yml +979 -0
  20. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +823 -0
  21. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +1036 -0
  22. data/lib/aws/api_config/Glacier-2012-06-01.yml +618 -0
  23. data/lib/aws/api_config/IAM-2010-05-08.yml +1222 -0
  24. data/lib/aws/api_config/ImportExport-2010-06-01.yml +109 -0
  25. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +1463 -0
  26. data/lib/aws/api_config/RDS-2012-09-17.yml +1861 -0
  27. data/lib/aws/api_config/RDS-2013-02-12.yml +2377 -0
  28. data/lib/aws/api_config/Redshift-2012-12-01.yml +1149 -0
  29. data/lib/aws/api_config/Route53-2012-02-29.yml +380 -0
  30. data/lib/aws/api_config/Route53-2012-12-12.yml +547 -0
  31. data/lib/aws/api_config/SNS-2010-03-31.yml +249 -0
  32. data/lib/aws/api_config/SQS-2012-11-05.yml +317 -0
  33. data/lib/aws/api_config/STS-2011-06-15.yml +81 -0
  34. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +306 -0
  35. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +346 -0
  36. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +2358 -0
  37. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +748 -0
  38. data/lib/aws/auto_scaling.rb +164 -0
  39. data/lib/aws/auto_scaling/activity.rb +102 -0
  40. data/lib/aws/auto_scaling/activity_collection.rb +82 -0
  41. data/lib/aws/auto_scaling/client.rb +521 -0
  42. data/lib/aws/auto_scaling/config.rb +18 -0
  43. data/lib/aws/auto_scaling/errors.rb +22 -0
  44. data/lib/aws/auto_scaling/group.rb +420 -0
  45. data/lib/aws/auto_scaling/group_collection.rb +96 -0
  46. data/lib/aws/auto_scaling/group_options.rb +146 -0
  47. data/lib/aws/auto_scaling/instance.rb +192 -0
  48. data/lib/aws/auto_scaling/instance_collection.rb +63 -0
  49. data/lib/aws/auto_scaling/launch_configuration.rb +158 -0
  50. data/lib/aws/auto_scaling/launch_configuration_collection.rb +154 -0
  51. data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
  52. data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
  53. data/lib/aws/auto_scaling/request.rb +29 -0
  54. data/lib/aws/auto_scaling/scaling_policy.rb +142 -0
  55. data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
  56. data/lib/aws/auto_scaling/scaling_policy_options.rb +64 -0
  57. data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
  58. data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
  59. data/lib/aws/auto_scaling/tag.rb +59 -0
  60. data/lib/aws/auto_scaling/tag_collection.rb +112 -0
  61. data/lib/aws/cloud_formation.rb +272 -0
  62. data/lib/aws/cloud_formation/client.rb +369 -0
  63. data/lib/aws/cloud_formation/config.rb +18 -0
  64. data/lib/aws/cloud_formation/errors.rb +22 -0
  65. data/lib/aws/cloud_formation/request.rb +29 -0
  66. data/lib/aws/cloud_formation/stack.rb +255 -0
  67. data/lib/aws/cloud_formation/stack_collection.rb +209 -0
  68. data/lib/aws/cloud_formation/stack_event.rb +75 -0
  69. data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
  70. data/lib/aws/cloud_formation/stack_options.rb +72 -0
  71. data/lib/aws/cloud_formation/stack_output.rb +53 -0
  72. data/lib/aws/cloud_formation/stack_resource.rb +117 -0
  73. data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
  74. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +64 -0
  75. data/lib/aws/cloud_formation/stack_summary_collection.rb +123 -0
  76. data/lib/aws/cloud_front.rb +73 -0
  77. data/lib/aws/cloud_front/client.rb +1307 -0
  78. data/lib/aws/cloud_front/config.rb +18 -0
  79. data/lib/aws/cloud_front/errors.rb +22 -0
  80. data/lib/aws/cloud_front/request.rb +44 -0
  81. data/lib/aws/cloud_search.rb +74 -0
  82. data/lib/aws/cloud_search/client.rb +558 -0
  83. data/lib/aws/cloud_search/config.rb +18 -0
  84. data/lib/aws/cloud_search/errors.rb +22 -0
  85. data/lib/aws/cloud_search/request.rb +23 -0
  86. data/lib/aws/cloud_watch.rb +119 -0
  87. data/lib/aws/cloud_watch/alarm.rb +272 -0
  88. data/lib/aws/cloud_watch/alarm_collection.rb +153 -0
  89. data/lib/aws/cloud_watch/alarm_history_item.rb +50 -0
  90. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +84 -0
  91. data/lib/aws/cloud_watch/client.rb +247 -0
  92. data/lib/aws/cloud_watch/config.rb +18 -0
  93. data/lib/aws/cloud_watch/errors.rb +22 -0
  94. data/lib/aws/cloud_watch/metric.rb +135 -0
  95. data/lib/aws/cloud_watch/metric_alarm_collection.rb +160 -0
  96. data/lib/aws/cloud_watch/metric_collection.rb +131 -0
  97. data/lib/aws/cloud_watch/metric_statistics.rb +69 -0
  98. data/lib/aws/cloud_watch/request.rb +23 -0
  99. data/lib/aws/core.rb +587 -0
  100. data/lib/aws/core/async_handle.rb +90 -0
  101. data/lib/aws/core/autoloader.rb +64 -0
  102. data/lib/aws/core/cacheable.rb +78 -0
  103. data/lib/aws/core/client.rb +691 -0
  104. data/lib/aws/core/collection.rb +267 -0
  105. data/lib/aws/core/collection/simple.rb +82 -0
  106. data/lib/aws/core/collection/with_limit_and_next_token.rb +71 -0
  107. data/lib/aws/core/collection/with_next_token.rb +97 -0
  108. data/lib/aws/core/configuration.rb +546 -0
  109. data/lib/aws/core/credential_providers.rb +461 -0
  110. data/lib/aws/core/data.rb +247 -0
  111. data/lib/aws/core/http/curb_handler.rb +155 -0
  112. data/lib/aws/core/http/handler.rb +89 -0
  113. data/lib/aws/core/http/net_http_handler.rb +128 -0
  114. data/lib/aws/core/http/request.rb +263 -0
  115. data/lib/aws/core/http/response.rb +81 -0
  116. data/lib/aws/core/indifferent_hash.rb +88 -0
  117. data/lib/aws/core/inflection.rb +56 -0
  118. data/lib/aws/core/json_client.rb +47 -0
  119. data/lib/aws/core/json_parser.rb +76 -0
  120. data/lib/aws/core/json_request_builder.rb +35 -0
  121. data/lib/aws/core/json_response_parser.rb +79 -0
  122. data/lib/aws/core/lazy_error_classes.rb +90 -0
  123. data/lib/aws/core/log_formatter.rb +462 -0
  124. data/lib/aws/core/managed_file.rb +32 -0
  125. data/lib/aws/core/meta_utils.rb +45 -0
  126. data/lib/aws/core/model.rb +57 -0
  127. data/lib/aws/core/naming.rb +30 -0
  128. data/lib/aws/core/option_grammar.rb +735 -0
  129. data/lib/aws/core/options/json_serializer.rb +82 -0
  130. data/lib/aws/core/options/validator.rb +155 -0
  131. data/lib/aws/core/options/xml_serializer.rb +118 -0
  132. data/lib/aws/core/page_result.rb +75 -0
  133. data/lib/aws/core/policy.rb +916 -0
  134. data/lib/aws/core/query_client.rb +41 -0
  135. data/lib/aws/core/query_error_parser.rb +24 -0
  136. data/lib/aws/core/query_request_builder.rb +47 -0
  137. data/lib/aws/core/query_response_parser.rb +35 -0
  138. data/lib/aws/core/resource.rb +413 -0
  139. data/lib/aws/core/resource_cache.rb +40 -0
  140. data/lib/aws/core/response.rb +208 -0
  141. data/lib/aws/core/response_cache.rb +50 -0
  142. data/lib/aws/core/rest_error_parser.rb +24 -0
  143. data/lib/aws/core/rest_json_client.rb +40 -0
  144. data/lib/aws/core/rest_request_builder.rb +146 -0
  145. data/lib/aws/core/rest_response_parser.rb +66 -0
  146. data/lib/aws/core/rest_xml_client.rb +47 -0
  147. data/lib/aws/core/service_interface.rb +61 -0
  148. data/lib/aws/core/signature/version_2.rb +56 -0
  149. data/lib/aws/core/signature/version_3.rb +77 -0
  150. data/lib/aws/core/signature/version_3_https.rb +54 -0
  151. data/lib/aws/core/signature/version_4.rb +135 -0
  152. data/lib/aws/core/signer.rb +46 -0
  153. data/lib/aws/core/uri_escape.rb +44 -0
  154. data/lib/aws/core/xml/frame.rb +244 -0
  155. data/lib/aws/core/xml/frame_stack.rb +85 -0
  156. data/lib/aws/core/xml/grammar.rb +307 -0
  157. data/lib/aws/core/xml/parser.rb +70 -0
  158. data/lib/aws/core/xml/root_frame.rb +65 -0
  159. data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
  160. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
  161. data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
  162. data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
  163. data/lib/aws/core/xml/stub.rb +123 -0
  164. data/lib/aws/data_pipeline.rb +73 -0
  165. data/lib/aws/data_pipeline/client.rb +339 -0
  166. data/lib/aws/data_pipeline/config.rb +18 -0
  167. data/lib/aws/data_pipeline/errors.rb +20 -0
  168. data/lib/aws/data_pipeline/request.rb +26 -0
  169. data/lib/aws/dynamo_db.rb +206 -0
  170. data/lib/aws/dynamo_db/attribute_collection.rb +461 -0
  171. data/lib/aws/dynamo_db/batch_get.rb +213 -0
  172. data/lib/aws/dynamo_db/batch_write.rb +252 -0
  173. data/lib/aws/dynamo_db/binary.rb +35 -0
  174. data/lib/aws/dynamo_db/client.rb +904 -0
  175. data/lib/aws/dynamo_db/config.rb +24 -0
  176. data/lib/aws/dynamo_db/errors.rb +20 -0
  177. data/lib/aws/dynamo_db/expectations.rb +40 -0
  178. data/lib/aws/dynamo_db/item.rb +133 -0
  179. data/lib/aws/dynamo_db/item_collection.rb +852 -0
  180. data/lib/aws/dynamo_db/item_data.rb +31 -0
  181. data/lib/aws/dynamo_db/keys.rb +41 -0
  182. data/lib/aws/dynamo_db/primary_key_element.rb +48 -0
  183. data/lib/aws/dynamo_db/request.rb +26 -0
  184. data/lib/aws/dynamo_db/resource.rb +33 -0
  185. data/lib/aws/dynamo_db/table.rb +491 -0
  186. data/lib/aws/dynamo_db/table_collection.rb +165 -0
  187. data/lib/aws/dynamo_db/types.rb +111 -0
  188. data/lib/aws/ec2.rb +440 -0
  189. data/lib/aws/ec2/attachment.rb +140 -0
  190. data/lib/aws/ec2/attachment_collection.rb +54 -0
  191. data/lib/aws/ec2/availability_zone.rb +86 -0
  192. data/lib/aws/ec2/availability_zone_collection.rb +43 -0
  193. data/lib/aws/ec2/block_device_mappings.rb +53 -0
  194. data/lib/aws/ec2/client.rb +3621 -0
  195. data/lib/aws/ec2/collection.rb +36 -0
  196. data/lib/aws/ec2/config.rb +18 -0
  197. data/lib/aws/ec2/config_transform.rb +63 -0
  198. data/lib/aws/ec2/customer_gateway.rb +90 -0
  199. data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
  200. data/lib/aws/ec2/dhcp_options.rb +106 -0
  201. data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
  202. data/lib/aws/ec2/elastic_ip.rb +208 -0
  203. data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
  204. data/lib/aws/ec2/errors.rb +32 -0
  205. data/lib/aws/ec2/export_task.rb +120 -0
  206. data/lib/aws/ec2/export_task_collection.rb +67 -0
  207. data/lib/aws/ec2/filtered_collection.rb +89 -0
  208. data/lib/aws/ec2/has_permissions.rb +44 -0
  209. data/lib/aws/ec2/image.rb +264 -0
  210. data/lib/aws/ec2/image_collection.rb +228 -0
  211. data/lib/aws/ec2/instance.rb +796 -0
  212. data/lib/aws/ec2/instance_collection.rb +372 -0
  213. data/lib/aws/ec2/internet_gateway.rb +122 -0
  214. data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
  215. data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
  216. data/lib/aws/ec2/key_pair.rb +82 -0
  217. data/lib/aws/ec2/key_pair_collection.rb +99 -0
  218. data/lib/aws/ec2/network_acl.rb +256 -0
  219. data/lib/aws/ec2/network_acl/association.rb +56 -0
  220. data/lib/aws/ec2/network_acl/entry.rb +147 -0
  221. data/lib/aws/ec2/network_acl_collection.rb +64 -0
  222. data/lib/aws/ec2/network_interface.rb +228 -0
  223. data/lib/aws/ec2/network_interface/attachment.rb +100 -0
  224. data/lib/aws/ec2/network_interface_collection.rb +103 -0
  225. data/lib/aws/ec2/permission_collection.rb +174 -0
  226. data/lib/aws/ec2/region.rb +106 -0
  227. data/lib/aws/ec2/region_collection.rb +51 -0
  228. data/lib/aws/ec2/request.rb +21 -0
  229. data/lib/aws/ec2/reserved_instances.rb +56 -0
  230. data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
  231. data/lib/aws/ec2/reserved_instances_offering.rb +60 -0
  232. data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
  233. data/lib/aws/ec2/resource.rb +161 -0
  234. data/lib/aws/ec2/resource_tag_collection.rb +211 -0
  235. data/lib/aws/ec2/route_table.rb +205 -0
  236. data/lib/aws/ec2/route_table/association.rb +119 -0
  237. data/lib/aws/ec2/route_table/route.rb +119 -0
  238. data/lib/aws/ec2/route_table_collection.rb +72 -0
  239. data/lib/aws/ec2/security_group.rb +484 -0
  240. data/lib/aws/ec2/security_group/ip_permission.rb +135 -0
  241. data/lib/aws/ec2/security_group/ip_permission_collection.rb +82 -0
  242. data/lib/aws/ec2/security_group_collection.rb +135 -0
  243. data/lib/aws/ec2/snapshot.rb +143 -0
  244. data/lib/aws/ec2/snapshot_collection.rb +132 -0
  245. data/lib/aws/ec2/subnet.rb +161 -0
  246. data/lib/aws/ec2/subnet_collection.rb +115 -0
  247. data/lib/aws/ec2/tag.rb +81 -0
  248. data/lib/aws/ec2/tag_collection.rb +107 -0
  249. data/lib/aws/ec2/tagged_collection.rb +53 -0
  250. data/lib/aws/ec2/tagged_item.rb +85 -0
  251. data/lib/aws/ec2/volume.rb +174 -0
  252. data/lib/aws/ec2/volume_collection.rb +101 -0
  253. data/lib/aws/ec2/vpc.rb +166 -0
  254. data/lib/aws/ec2/vpc_collection.rb +70 -0
  255. data/lib/aws/ec2/vpn_connection.rb +99 -0
  256. data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
  257. data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
  258. data/lib/aws/ec2/vpn_gateway.rb +123 -0
  259. data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
  260. data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
  261. data/lib/aws/elastic_beanstalk.rb +50 -0
  262. data/lib/aws/elastic_beanstalk/client.rb +867 -0
  263. data/lib/aws/elastic_beanstalk/config.rb +18 -0
  264. data/lib/aws/elastic_beanstalk/errors.rb +22 -0
  265. data/lib/aws/elastic_beanstalk/request.rb +29 -0
  266. data/lib/aws/elastic_transcoder.rb +30 -0
  267. data/lib/aws/elastic_transcoder/client.rb +672 -0
  268. data/lib/aws/elastic_transcoder/config.rb +18 -0
  269. data/lib/aws/elastic_transcoder/errors.rb +23 -0
  270. data/lib/aws/elastic_transcoder/request.rb +30 -0
  271. data/lib/aws/elasticache.rb +50 -0
  272. data/lib/aws/elasticache/client.rb +920 -0
  273. data/lib/aws/elasticache/config.rb +18 -0
  274. data/lib/aws/elasticache/errors.rb +22 -0
  275. data/lib/aws/elasticache/request.rb +23 -0
  276. data/lib/aws/elb.rb +67 -0
  277. data/lib/aws/elb/availability_zone_collection.rb +138 -0
  278. data/lib/aws/elb/backend_server_policy_collection.rb +139 -0
  279. data/lib/aws/elb/client.rb +500 -0
  280. data/lib/aws/elb/config.rb +18 -0
  281. data/lib/aws/elb/errors.rb +26 -0
  282. data/lib/aws/elb/instance_collection.rb +173 -0
  283. data/lib/aws/elb/listener.rb +190 -0
  284. data/lib/aws/elb/listener_collection.rb +113 -0
  285. data/lib/aws/elb/listener_opts.rb +45 -0
  286. data/lib/aws/elb/load_balancer.rb +281 -0
  287. data/lib/aws/elb/load_balancer_collection.rb +134 -0
  288. data/lib/aws/elb/load_balancer_policy.rb +93 -0
  289. data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
  290. data/lib/aws/elb/request.rb +29 -0
  291. data/lib/aws/emr.rb +86 -0
  292. data/lib/aws/emr/client.rb +330 -0
  293. data/lib/aws/emr/config.rb +18 -0
  294. data/lib/aws/emr/errors.rb +22 -0
  295. data/lib/aws/emr/instance_group.rb +138 -0
  296. data/lib/aws/emr/instance_group_collection.rb +82 -0
  297. data/lib/aws/emr/job_flow.rb +306 -0
  298. data/lib/aws/emr/job_flow_collection.rb +185 -0
  299. data/lib/aws/emr/request.rb +23 -0
  300. data/lib/aws/errors.rb +162 -0
  301. data/lib/aws/glacier.rb +80 -0
  302. data/lib/aws/glacier/archive.rb +56 -0
  303. data/lib/aws/glacier/archive_collection.rb +146 -0
  304. data/lib/aws/glacier/client.rb +286 -0
  305. data/lib/aws/glacier/config.rb +19 -0
  306. data/lib/aws/glacier/errors.rb +22 -0
  307. data/lib/aws/glacier/request.rb +34 -0
  308. data/lib/aws/glacier/resource.rb +30 -0
  309. data/lib/aws/glacier/vault.rb +145 -0
  310. data/lib/aws/glacier/vault_collection.rb +75 -0
  311. data/lib/aws/glacier/vault_notification_configuration.rb +29 -0
  312. data/lib/aws/iam.rb +420 -0
  313. data/lib/aws/iam/access_key.rb +180 -0
  314. data/lib/aws/iam/access_key_collection.rb +128 -0
  315. data/lib/aws/iam/account_alias_collection.rb +79 -0
  316. data/lib/aws/iam/client.rb +1092 -0
  317. data/lib/aws/iam/collection.rb +83 -0
  318. data/lib/aws/iam/config.rb +18 -0
  319. data/lib/aws/iam/errors.rb +22 -0
  320. data/lib/aws/iam/group.rb +111 -0
  321. data/lib/aws/iam/group_collection.rb +132 -0
  322. data/lib/aws/iam/group_policy_collection.rb +47 -0
  323. data/lib/aws/iam/group_user_collection.rb +84 -0
  324. data/lib/aws/iam/login_profile.rb +99 -0
  325. data/lib/aws/iam/mfa_device.rb +52 -0
  326. data/lib/aws/iam/mfa_device_collection.rb +127 -0
  327. data/lib/aws/iam/policy.rb +46 -0
  328. data/lib/aws/iam/policy_collection.rb +188 -0
  329. data/lib/aws/iam/request.rb +29 -0
  330. data/lib/aws/iam/resource.rb +62 -0
  331. data/lib/aws/iam/server_certificate.rb +141 -0
  332. data/lib/aws/iam/server_certificate_collection.rb +138 -0
  333. data/lib/aws/iam/signing_certificate.rb +169 -0
  334. data/lib/aws/iam/signing_certificate_collection.rb +131 -0
  335. data/lib/aws/iam/user.rb +205 -0
  336. data/lib/aws/iam/user_collection.rb +133 -0
  337. data/lib/aws/iam/user_group_collection.rb +98 -0
  338. data/lib/aws/iam/user_policy.rb +90 -0
  339. data/lib/aws/iam/user_policy_collection.rb +45 -0
  340. data/lib/aws/iam/virtual_mfa_device.rb +139 -0
  341. data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
  342. data/lib/aws/import_export.rb +73 -0
  343. data/lib/aws/import_export/client.rb +109 -0
  344. data/lib/aws/import_export/config.rb +19 -0
  345. data/lib/aws/import_export/errors.rb +22 -0
  346. data/lib/aws/import_export/request.rb +23 -0
  347. data/lib/aws/ops_works.rb +30 -0
  348. data/lib/aws/ops_works/client.rb +713 -0
  349. data/lib/aws/ops_works/config.rb +18 -0
  350. data/lib/aws/ops_works/errors.rb +20 -0
  351. data/lib/aws/ops_works/request.rb +27 -0
  352. data/lib/aws/rails.rb +195 -0
  353. data/lib/aws/rds.rb +71 -0
  354. data/lib/aws/rds/client.rb +2228 -0
  355. data/lib/aws/rds/config.rb +18 -0
  356. data/lib/aws/rds/db_instance.rb +205 -0
  357. data/lib/aws/rds/db_instance_collection.rb +75 -0
  358. data/lib/aws/rds/db_snapshot.rb +163 -0
  359. data/lib/aws/rds/db_snapshot_collection.rb +89 -0
  360. data/lib/aws/rds/errors.rb +22 -0
  361. data/lib/aws/rds/request.rb +23 -0
  362. data/lib/aws/record.rb +116 -0
  363. data/lib/aws/record/abstract_base.rb +701 -0
  364. data/lib/aws/record/attributes.rb +384 -0
  365. data/lib/aws/record/conversion.rb +38 -0
  366. data/lib/aws/record/dirty_tracking.rb +285 -0
  367. data/lib/aws/record/errors.rb +143 -0
  368. data/lib/aws/record/exceptions.rb +48 -0
  369. data/lib/aws/record/hash_model.rb +161 -0
  370. data/lib/aws/record/hash_model/attributes.rb +197 -0
  371. data/lib/aws/record/hash_model/finder_methods.rb +172 -0
  372. data/lib/aws/record/hash_model/scope.rb +108 -0
  373. data/lib/aws/record/model.rb +427 -0
  374. data/lib/aws/record/model/attributes.rb +379 -0
  375. data/lib/aws/record/model/finder_methods.rb +232 -0
  376. data/lib/aws/record/model/scope.rb +213 -0
  377. data/lib/aws/record/naming.rb +31 -0
  378. data/lib/aws/record/scope.rb +199 -0
  379. data/lib/aws/record/validations.rb +712 -0
  380. data/lib/aws/record/validator.rb +246 -0
  381. data/lib/aws/record/validators/acceptance.rb +51 -0
  382. data/lib/aws/record/validators/block.rb +38 -0
  383. data/lib/aws/record/validators/confirmation.rb +43 -0
  384. data/lib/aws/record/validators/count.rb +108 -0
  385. data/lib/aws/record/validators/exclusion.rb +43 -0
  386. data/lib/aws/record/validators/format.rb +57 -0
  387. data/lib/aws/record/validators/inclusion.rb +56 -0
  388. data/lib/aws/record/validators/length.rb +107 -0
  389. data/lib/aws/record/validators/method.rb +33 -0
  390. data/lib/aws/record/validators/numericality.rb +138 -0
  391. data/lib/aws/record/validators/presence.rb +45 -0
  392. data/lib/aws/redshift.rb +52 -0
  393. data/lib/aws/redshift/client.rb +1291 -0
  394. data/lib/aws/redshift/config.rb +18 -0
  395. data/lib/aws/redshift/errors.rb +22 -0
  396. data/lib/aws/redshift/request.rb +29 -0
  397. data/lib/aws/route_53.rb +87 -0
  398. data/lib/aws/route_53/change_batch.rb +159 -0
  399. data/lib/aws/route_53/change_info.rb +72 -0
  400. data/lib/aws/route_53/client.rb +387 -0
  401. data/lib/aws/route_53/config.rb +18 -0
  402. data/lib/aws/route_53/errors.rb +22 -0
  403. data/lib/aws/route_53/hosted_zone.rb +111 -0
  404. data/lib/aws/route_53/hosted_zone_collection.rb +100 -0
  405. data/lib/aws/route_53/request.rb +23 -0
  406. data/lib/aws/route_53/resource_record_set.rb +237 -0
  407. data/lib/aws/route_53/resource_record_set_collection.rb +110 -0
  408. data/lib/aws/s3.rb +155 -0
  409. data/lib/aws/s3/access_control_list.rb +257 -0
  410. data/lib/aws/s3/acl_object.rb +264 -0
  411. data/lib/aws/s3/acl_options.rb +204 -0
  412. data/lib/aws/s3/bucket.rb +742 -0
  413. data/lib/aws/s3/bucket_collection.rb +160 -0
  414. data/lib/aws/s3/bucket_lifecycle_configuration.rb +458 -0
  415. data/lib/aws/s3/bucket_tag_collection.rb +109 -0
  416. data/lib/aws/s3/bucket_version_collection.rb +77 -0
  417. data/lib/aws/s3/cipher_io.rb +119 -0
  418. data/lib/aws/s3/client.rb +1700 -0
  419. data/lib/aws/s3/client/xml.rb +231 -0
  420. data/lib/aws/s3/config.rb +36 -0
  421. data/lib/aws/s3/cors_rule.rb +106 -0
  422. data/lib/aws/s3/cors_rule_collection.rb +192 -0
  423. data/lib/aws/s3/data_options.rb +185 -0
  424. data/lib/aws/s3/encryption_utils.rb +139 -0
  425. data/lib/aws/s3/errors.rb +94 -0
  426. data/lib/aws/s3/multipart_upload.rb +320 -0
  427. data/lib/aws/s3/multipart_upload_collection.rb +68 -0
  428. data/lib/aws/s3/object_collection.rb +355 -0
  429. data/lib/aws/s3/object_metadata.rb +96 -0
  430. data/lib/aws/s3/object_upload_collection.rb +77 -0
  431. data/lib/aws/s3/object_version.rb +148 -0
  432. data/lib/aws/s3/object_version_collection.rb +89 -0
  433. data/lib/aws/s3/paginated_collection.rb +75 -0
  434. data/lib/aws/s3/policy.rb +74 -0
  435. data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
  436. data/lib/aws/s3/prefixed_collection.rb +81 -0
  437. data/lib/aws/s3/presigned_post.rb +555 -0
  438. data/lib/aws/s3/request.rb +201 -0
  439. data/lib/aws/s3/s3_object.rb +1690 -0
  440. data/lib/aws/s3/tree.rb +118 -0
  441. data/lib/aws/s3/tree/branch_node.rb +68 -0
  442. data/lib/aws/s3/tree/child_collection.rb +104 -0
  443. data/lib/aws/s3/tree/leaf_node.rb +94 -0
  444. data/lib/aws/s3/tree/node.rb +22 -0
  445. data/lib/aws/s3/tree/parent.rb +87 -0
  446. data/lib/aws/s3/uploaded_part.rb +80 -0
  447. data/lib/aws/s3/uploaded_part_collection.rb +84 -0
  448. data/lib/aws/s3/website_configuration.rb +102 -0
  449. data/lib/aws/simple_db.rb +219 -0
  450. data/lib/aws/simple_db/attribute.rb +154 -0
  451. data/lib/aws/simple_db/attribute_collection.rb +231 -0
  452. data/lib/aws/simple_db/client.rb +287 -0
  453. data/lib/aws/simple_db/config.rb +20 -0
  454. data/lib/aws/simple_db/consistent_read_option.rb +42 -0
  455. data/lib/aws/simple_db/delete_attributes.rb +62 -0
  456. data/lib/aws/simple_db/domain.rb +121 -0
  457. data/lib/aws/simple_db/domain_collection.rb +86 -0
  458. data/lib/aws/simple_db/domain_metadata.rb +110 -0
  459. data/lib/aws/simple_db/errors.rb +55 -0
  460. data/lib/aws/simple_db/expect_condition_option.rb +45 -0
  461. data/lib/aws/simple_db/item.rb +93 -0
  462. data/lib/aws/simple_db/item_collection.rb +649 -0
  463. data/lib/aws/simple_db/item_data.rb +73 -0
  464. data/lib/aws/simple_db/put_attributes.rb +60 -0
  465. data/lib/aws/simple_db/request.rb +23 -0
  466. data/lib/aws/simple_email_service.rb +428 -0
  467. data/lib/aws/simple_email_service/client.rb +276 -0
  468. data/lib/aws/simple_email_service/config.rb +19 -0
  469. data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
  470. data/lib/aws/simple_email_service/errors.rb +22 -0
  471. data/lib/aws/simple_email_service/identity.rb +209 -0
  472. data/lib/aws/simple_email_service/identity_collection.rb +81 -0
  473. data/lib/aws/simple_email_service/quotas.rb +64 -0
  474. data/lib/aws/simple_email_service/request.rb +27 -0
  475. data/lib/aws/simple_workflow.rb +228 -0
  476. data/lib/aws/simple_workflow/activity_task.rb +173 -0
  477. data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
  478. data/lib/aws/simple_workflow/activity_type.rb +131 -0
  479. data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
  480. data/lib/aws/simple_workflow/client.rb +1204 -0
  481. data/lib/aws/simple_workflow/config.rb +18 -0
  482. data/lib/aws/simple_workflow/count.rb +49 -0
  483. data/lib/aws/simple_workflow/decision_task.rb +603 -0
  484. data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
  485. data/lib/aws/simple_workflow/domain.rb +122 -0
  486. data/lib/aws/simple_workflow/domain_collection.rb +169 -0
  487. data/lib/aws/simple_workflow/errors.rb +20 -0
  488. data/lib/aws/simple_workflow/history_event.rb +276 -0
  489. data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
  490. data/lib/aws/simple_workflow/option_formatters.rb +82 -0
  491. data/lib/aws/simple_workflow/request.rb +33 -0
  492. data/lib/aws/simple_workflow/resource.rb +94 -0
  493. data/lib/aws/simple_workflow/type.rb +89 -0
  494. data/lib/aws/simple_workflow/type_collection.rb +140 -0
  495. data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
  496. data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
  497. data/lib/aws/simple_workflow/workflow_type.rb +177 -0
  498. data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
  499. data/lib/aws/sns.rb +76 -0
  500. data/lib/aws/sns/client.rb +266 -0
  501. data/lib/aws/sns/config.rb +18 -0
  502. data/lib/aws/sns/errors.rb +22 -0
  503. data/lib/aws/sns/has_delivery_policy.rb +68 -0
  504. data/lib/aws/sns/policy.rb +47 -0
  505. data/lib/aws/sns/request.rb +23 -0
  506. data/lib/aws/sns/subscription.rb +144 -0
  507. data/lib/aws/sns/subscription_collection.rb +78 -0
  508. data/lib/aws/sns/topic.rb +403 -0
  509. data/lib/aws/sns/topic_collection.rb +62 -0
  510. data/lib/aws/sns/topic_subscription_collection.rb +54 -0
  511. data/lib/aws/sqs.rb +81 -0
  512. data/lib/aws/sqs/client.rb +258 -0
  513. data/lib/aws/sqs/config.rb +18 -0
  514. data/lib/aws/sqs/errors.rb +101 -0
  515. data/lib/aws/sqs/policy.rb +48 -0
  516. data/lib/aws/sqs/queue.rb +764 -0
  517. data/lib/aws/sqs/queue_collection.rb +174 -0
  518. data/lib/aws/sqs/received_message.rb +181 -0
  519. data/lib/aws/sqs/received_sns_message.rb +116 -0
  520. data/lib/aws/sqs/request.rb +67 -0
  521. data/lib/aws/storage_gateway.rb +73 -0
  522. data/lib/aws/storage_gateway/client.rb +472 -0
  523. data/lib/aws/storage_gateway/config.rb +18 -0
  524. data/lib/aws/storage_gateway/errors.rb +22 -0
  525. data/lib/aws/storage_gateway/request.rb +28 -0
  526. data/lib/aws/sts.rb +163 -0
  527. data/lib/aws/sts/client.rb +157 -0
  528. data/lib/aws/sts/config.rb +18 -0
  529. data/lib/aws/sts/errors.rb +22 -0
  530. data/lib/aws/sts/federated_session.rb +56 -0
  531. data/lib/aws/sts/policy.rb +30 -0
  532. data/lib/aws/sts/request.rb +29 -0
  533. data/lib/aws/sts/session.rb +48 -0
  534. data/lib/aws/version.rb +18 -0
  535. data/lib/net/http/connection_pool.rb +226 -0
  536. data/lib/net/http/connection_pool/connection.rb +189 -0
  537. data/lib/net/http/connection_pool/session.rb +126 -0
  538. data/rails/init.rb +15 -0
  539. metadata +632 -0
@@ -0,0 +1,276 @@
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 SimpleEmailService
16
+
17
+ # Client class for Amazon Simple E-mail Service (SES).
18
+ class Client < Core::QueryClient
19
+
20
+ REGION_US_E1 = 'email.us-east-1.amazonaws.com'
21
+
22
+ # @private
23
+ CACHEABLE_REQUESTS = Set[]
24
+
25
+ # client methods #
26
+
27
+ # @!method delete_identity(options = {})
28
+ # Calls the DeleteIdentity API operation.
29
+ # @param [Hash] options
30
+ # * +:identity+ - *required* - (String) The identity to be removed from
31
+ # the list of identities for the AWS Account.
32
+ # @return [Core::Response]
33
+
34
+ # @!method delete_verified_email_address(options = {})
35
+ # Calls the DeleteVerifiedEmailAddress API operation.
36
+ # @param [Hash] options
37
+ # * +:email_address+ - *required* - (String) An email address to be
38
+ # removed from the list of verified addresses.
39
+ # @return [Core::Response]
40
+
41
+ # @!method get_identity_dkim_attributes(options = {})
42
+ # Calls the GetIdentityDkimAttributes API operation.
43
+ # @param [Hash] options
44
+ # * +:identities+ - *required* - (Array<String>) A list of one or more
45
+ # verified identities - email addresses, domains, or both.
46
+ # @return [Core::Response]
47
+ # The #data method of the response object returns
48
+ # a hash with the following structure:
49
+ # * +:dkim_attributes+ - (Hash<String,Hash>)
50
+ # * +:dkim_enabled+ - (Boolean)
51
+ # * +:dkim_verification_status+ - (String)
52
+ # * +:dkim_tokens+ - (Array<String>)
53
+
54
+ # @!method get_identity_notification_attributes(options = {})
55
+ # Calls the GetIdentityNotificationAttributes API operation.
56
+ # @param [Hash] options
57
+ # * +:identities+ - *required* - (Array<String>) A list of one or more
58
+ # identities.
59
+ # @return [Core::Response]
60
+ # The #data method of the response object returns
61
+ # a hash with the following structure:
62
+ # * +:notification_attributes+ - (Hash<String,Hash>)
63
+ # * +:bounce_topic+ - (String)
64
+ # * +:complaint_topic+ - (String)
65
+ # * +:forwarding_enabled+ - (Boolean)
66
+
67
+ # @!method get_identity_verification_attributes(options = {})
68
+ # Calls the GetIdentityVerificationAttributes API operation.
69
+ # @param [Hash] options
70
+ # * +:identities+ - *required* - (Array<String>) A list of identities.
71
+ # @return [Core::Response]
72
+ # The #data method of the response object returns
73
+ # a hash with the following structure:
74
+ # * +:verification_attributes+ - (Hash<String,Hash>)
75
+ # * +:verification_status+ - (String)
76
+ # * +:verification_token+ - (String)
77
+
78
+ # @!method get_send_quota(options = {})
79
+ # Calls the GetSendQuota API operation.
80
+ # @param [Hash] options
81
+ # @return [Core::Response]
82
+ # The #data method of the response object returns
83
+ # a hash with the following structure:
84
+ # * +:max_24_hour_send+ - (Numeric)
85
+ # * +:max_send_rate+ - (Numeric)
86
+ # * +:sent_last_24_hours+ - (Numeric)
87
+
88
+ # @!method get_send_statistics(options = {})
89
+ # Calls the GetSendStatistics API operation.
90
+ # @param [Hash] options
91
+ # @return [Core::Response]
92
+ # The #data method of the response object returns
93
+ # a hash with the following structure:
94
+ # * +:send_data_points+ - (Array<Hash>)
95
+ # * +:timestamp+ - (Time)
96
+ # * +:delivery_attempts+ - (Integer)
97
+ # * +:bounces+ - (Integer)
98
+ # * +:complaints+ - (Integer)
99
+ # * +:rejects+ - (Integer)
100
+
101
+ # @!method list_identities(options = {})
102
+ # Calls the ListIdentities API operation.
103
+ # @param [Hash] options
104
+ # * +:identity_type+ - (String) The type of the identities to list.
105
+ # Possible values are "EmailAddress" and "Domain". If this parameter
106
+ # is omitted, then all identities will be listed.
107
+ # * +:next_token+ - (String) The token to use for pagination.
108
+ # * +:max_items+ - (Integer) The maximum number of identities per page.
109
+ # Possible values are 1-100 inclusive.
110
+ # @return [Core::Response]
111
+ # The #data method of the response object returns
112
+ # a hash with the following structure:
113
+ # * +:identities+ - (Array<String>)
114
+ # * +:next_token+ - (String)
115
+
116
+ # @!method list_verified_email_addresses(options = {})
117
+ # Calls the ListVerifiedEmailAddresses API operation.
118
+ # @param [Hash] options
119
+ # @return [Core::Response]
120
+ # The #data method of the response object returns
121
+ # a hash with the following structure:
122
+ # * +:verified_email_addresses+ - (Array<String>)
123
+
124
+ # @!method send_email(options = {})
125
+ # Calls the SendEmail API operation.
126
+ # @param [Hash] options
127
+ # * +:source+ - *required* - (String) The identity's email address.
128
+ # * +:destination+ - *required* - (Hash) The destination for this
129
+ # email, composed of To:, CC:, and BCC: fields.
130
+ # * +:to_addresses+ - (Array<String>) The To: field(s) of the
131
+ # message.
132
+ # * +:cc_addresses+ - (Array<String>) The CC: field(s) of the
133
+ # message.
134
+ # * +:bcc_addresses+ - (Array<String>) The BCC: field(s) of the
135
+ # message.
136
+ # * +:message+ - *required* - (Hash) The message to be sent.
137
+ # * +:subject+ - *required* - (Hash) The subject of the message: A
138
+ # short summary of the content, which will appear in the
139
+ # recipient's inbox.
140
+ # * +:data+ - *required* - (String) The textual data of the
141
+ # content.
142
+ # * +:charset+ - (String) The character set of the content.
143
+ # * +:body+ - *required* - (Hash) The message body.
144
+ # * +:text+ - (Hash) The content of the message, in text format.
145
+ # Use this for text-based email clients, or clients on
146
+ # high-latency networks (such as mobile devices).
147
+ # * +:data+ - *required* - (String) The textual data of the
148
+ # content.
149
+ # * +:charset+ - (String) The character set of the content.
150
+ # * +:html+ - (Hash) The content of the message, in HTML format.
151
+ # Use this for email clients that can process HTML. You can
152
+ # include clickable links, formatted text, and much more in an
153
+ # HTML message.
154
+ # * +:data+ - *required* - (String) The textual data of the
155
+ # content.
156
+ # * +:charset+ - (String) The character set of the content.
157
+ # * +:reply_to_addresses+ - (Array<String>) The reply-to email
158
+ # address(es) for the message. If the recipient replies to the
159
+ # message, each reply-to address will receive the reply.
160
+ # * +:return_path+ - (String) The email address to which bounce
161
+ # notifications are to be forwarded. If the message cannot be
162
+ # delivered to the recipient, then an error message will be returned
163
+ # from the recipient's ISP; this message will then be forwarded to
164
+ # the email address specified by the ReturnPath parameter.
165
+ # @return [Core::Response]
166
+ # The #data method of the response object returns
167
+ # a hash with the following structure:
168
+ # * +:message_id+ - (String)
169
+
170
+ # @!method send_raw_email(options = {})
171
+ # Calls the SendRawEmail API operation.
172
+ # @param [Hash] options
173
+ # * +:source+ - (String) The identity's email address. If you specify
174
+ # the Source parameter, then bounce notifications and complaints will
175
+ # be sent to this email address. This takes precedence over any
176
+ # Return-Path header that you might include in the raw text of the
177
+ # message.
178
+ # * +:destinations+ - (Array<String>) A list of destinations for the
179
+ # message.
180
+ # * +:raw_message+ - *required* - (Hash) The raw text of the message.
181
+ # The client is responsible for ensuring the following: Message must
182
+ # contain a header and a body, separated by a blank line. All
183
+ # required header fields must be present. Each part of a multipart
184
+ # MIME message must be formatted properly. MIME content types must be
185
+ # among those supported by Amazon SES. Refer to the Amazon SES
186
+ # Developer Guide for more details. Content must be base64-encoded,
187
+ # if MIME requires it.
188
+ # * +:data+ - *required* - (String) The raw data of the message. The
189
+ # client must ensure that the message format complies with Internet
190
+ # email standards regarding email header fields, MIME types, MIME
191
+ # encoding, and base64 encoding (if necessary). For more
192
+ # information, go to theAmazon SES Developer Guide.
193
+ # @return [Core::Response]
194
+ # The #data method of the response object returns
195
+ # a hash with the following structure:
196
+ # * +:message_id+ - (String)
197
+
198
+ # @!method set_identity_dkim_enabled(options = {})
199
+ # Calls the SetIdentityDkimEnabled API operation.
200
+ # @param [Hash] options
201
+ # * +:identity+ - *required* - (String) The identity for which DKIM
202
+ # signing should be enabled or disabled.
203
+ # * +:dkim_enabled+ - *required* - (Boolean) Sets whether DKIM signing
204
+ # is enabled for an identity. Set to +true+ to enable DKIM signing
205
+ # for this identity; +false+ to disable it.
206
+ # @return [Core::Response]
207
+
208
+ # @!method set_identity_feedback_forwarding_enabled(options = {})
209
+ # Calls the SetIdentityFeedbackForwardingEnabled API operation.
210
+ # @param [Hash] options
211
+ # * +:identity+ - *required* - (String) The identity for which to set
212
+ # feedback notification forwarding. Examples: user@example.com,
213
+ # example.com.
214
+ # * +:forwarding_enabled+ - *required* - (Boolean) Sets whether Amazon
215
+ # SES will forward feedback notifications as email. +true+ specifies
216
+ # that Amazon SES will forward feedback notifications as email, in
217
+ # addition to any Amazon SNS topic publishing otherwise specified.
218
+ # +false+ specifies that Amazon SES will publish feedback
219
+ # notifications only through Amazon SNS. This value can only be set
220
+ # to +false+ when topics are specified for both Bounce and Complaint
221
+ # topic types.
222
+ # @return [Core::Response]
223
+
224
+ # @!method set_identity_notification_topic(options = {})
225
+ # Calls the SetIdentityNotificationTopic API operation.
226
+ # @param [Hash] options
227
+ # * +:identity+ - *required* - (String) The identity for which the
228
+ # topic will be set. Examples: user@example.com, example.com.
229
+ # * +:notification_type+ - *required* - (String) The type of feedback
230
+ # notifications that will be published to the specified topic.
231
+ # * +:sns_topic+ - (String) The Amazon Resource Name (ARN) of the
232
+ # Amazon Simple Notification Service (Amazon SNS) topic. If the
233
+ # parameter is omitted from the request or a null value is passed,
234
+ # the topic is cleared and publishing is disabled.
235
+ # @return [Core::Response]
236
+
237
+ # @!method verify_domain_dkim(options = {})
238
+ # Calls the VerifyDomainDkim API operation.
239
+ # @param [Hash] options
240
+ # * +:domain+ - *required* - (String) The name of the domain to be
241
+ # verified for Easy DKIM signing.
242
+ # @return [Core::Response]
243
+ # The #data method of the response object returns
244
+ # a hash with the following structure:
245
+ # * +:dkim_tokens+ - (Array<String>)
246
+
247
+ # @!method verify_domain_identity(options = {})
248
+ # Calls the VerifyDomainIdentity API operation.
249
+ # @param [Hash] options
250
+ # * +:domain+ - *required* - (String) The domain to be verified.
251
+ # @return [Core::Response]
252
+ # The #data method of the response object returns
253
+ # a hash with the following structure:
254
+ # * +:verification_token+ - (String)
255
+
256
+ # @!method verify_email_address(options = {})
257
+ # Calls the VerifyEmailAddress API operation.
258
+ # @param [Hash] options
259
+ # * +:email_address+ - *required* - (String) The email address to be
260
+ # verified.
261
+ # @return [Core::Response]
262
+
263
+ # @!method verify_email_identity(options = {})
264
+ # Calls the VerifyEmailIdentity API operation.
265
+ # @param [Hash] options
266
+ # * +:email_address+ - *required* - (String) The email address to be
267
+ # verified.
268
+ # @return [Core::Response]
269
+
270
+ # end client methods #
271
+
272
+ define_client_methods('2010-12-01')
273
+
274
+ end
275
+ end
276
+ end
@@ -0,0 +1,19 @@
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
+ AWS::Core::Configuration.module_eval do
15
+
16
+ add_service 'SimpleEmailService', 'simple_email_service',
17
+ 'email.us-east-1.amazonaws.com'
18
+
19
+ end
@@ -0,0 +1,69 @@
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 SimpleEmailService
16
+
17
+ # Helps you manage your verified SimpleEmailService email addresses.
18
+ # @note This class is deprecated. Please use
19
+ # {SimpleEmailService#identities} instead.
20
+ class EmailAddressCollection
21
+
22
+ include Core::Model
23
+ include Enumerable
24
+
25
+ # Requests for an email address to be verified. An email will be
26
+ # sent to the given +email_address+ with a link to click. Once
27
+ # the link has been followed the +email_address+ will be verified.
28
+ #
29
+ # @param [String] email_address The email address to verify.
30
+ # @return [nil]
31
+ # @note This method is deprecated.
32
+ def verify email_address
33
+ client.verify_email_address(:email_address => email_address)
34
+ nil
35
+ end
36
+ alias_method :create, :verify
37
+
38
+ # @param [String] email_address An email address to remove from the list
39
+ # of verified email addresses. Useful for cleanup as there is a 100
40
+ # email address limit.
41
+ # @return [nil]
42
+ # @note This method is deprecated.
43
+ def delete email_address
44
+ client.delete_verified_email_address(:email_address => email_address)
45
+ nil
46
+ end
47
+
48
+ # @note This method is deprecated.
49
+ def include?
50
+ # this is so jruby can detect that verified? is an alias
51
+ super
52
+ end
53
+ alias_method :verified?, :include?
54
+
55
+ # Yields each verified email address as a string.
56
+ # @return [nil]
57
+ # yielded.
58
+ # @note This method is deprecated.
59
+ def each &block
60
+ response = client.list_verified_email_addresses({})
61
+ response.verified_email_addresses.each do |email_address|
62
+ yield(email_address)
63
+ end
64
+ nil
65
+ end
66
+
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,22 @@
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 SimpleEmailService
16
+ module Errors
17
+
18
+ extend Core::LazyErrorClasses
19
+
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,209 @@
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 SimpleEmailService
16
+
17
+ # @attr_reader [String] verification_status
18
+ #
19
+ # @attr_reader [String,nil] verification_token
20
+ #
21
+ # @attr [String] bounce_topic_arn
22
+ #
23
+ # @attr [String] complaint_topic_arn
24
+ #
25
+ # @attr [Boolean] forwarding_enabled When +false+, complaint and bounce
26
+ # notifications will not be forwarded via email. Can only be set to
27
+ # +false+ when there is both a +bounce_topic+ and +complaint_topic+.
28
+ #
29
+ # @attr [Boolean] dkim_enabled When set to +true+, Easy DKIM signing will
30
+ # be enabled for email sent from this identity.
31
+ #
32
+ # @attr_reader [Array<String>] dkim_tokens Returns a set of DNS records,
33
+ # or tokens, that must be published in the domain name's DNS to
34
+ # complete the DKIM verification process. Call {#verify_dkim} if this
35
+ # returns an empty list.
36
+ #
37
+ # @attr_reader [String] dkim_verification_status
38
+ #
39
+ class Identity < Core::Resource
40
+
41
+ # @private
42
+ def initialize email_address_or_domain, options = {}
43
+ @identity = email_address_or_domain
44
+ super
45
+ end
46
+
47
+ # @return [String] Returns the email address or domain name for
48
+ # this identity.
49
+ attr_reader :identity
50
+
51
+ attribute :verification_status
52
+
53
+ attribute :verification_token, :static => true
54
+
55
+ mutable_attribute :dkim_enabled, :alias => :dkim_enabled?
56
+
57
+ attribute :dkim_tokens
58
+
59
+ attribute :dkim_verification_status
60
+
61
+ mutable_attribute :bounce_topic_arn, :from => :bounce_topic
62
+
63
+ mutable_attribute :complaint_topic_arn, :from => :complaint_topic
64
+
65
+ mutable_attribute :forwarding_enabled
66
+
67
+ alias_method :forwarding_enabled?, :forwarding_enabled
68
+
69
+ provider(:get_identity_verification_attributes) do |provider|
70
+ provider.provides :verification_token
71
+ provider.provides :verification_status
72
+ provider.find{|resp| resp[:verification_attributes][identity] }
73
+ end
74
+
75
+ provider(:get_identity_notification_attributes) do |provider|
76
+ provider.provides :bounce_topic_arn
77
+ provider.provides :complaint_topic_arn
78
+ provider.provides :forwarding_enabled
79
+ provider.find{|resp| resp[:notification_attributes][identity] }
80
+ end
81
+
82
+ provider(:get_identity_dkim_attributes) do |provider|
83
+ provider.provides :dkim_enabled
84
+ provider.provides :dkim_verification_status
85
+ provider.provides :dkim_tokens
86
+ provider.find{|resp| resp[:dkim_attributes][identity] }
87
+ end
88
+
89
+ # @return [Array<String>] Returns an array of DKIM tokens.
90
+ def verify_dkim
91
+ if domain?
92
+ resp = client.verify_domain_dkim(:domain => identity)
93
+ reps[:dkim_tokens]
94
+ else
95
+ raise "unable to verify dkim for an email address"
96
+ end
97
+ end
98
+
99
+ # @param [String,SNS::Topic] topic The topic (ARN string or topic
100
+ # object) that bounce notifications should be published to.
101
+ def bounce_topic= topic
102
+ arn = topic.respond_to?(:arn) ? topic.arn : topic
103
+ self.bounce_topic_arn = arn
104
+ end
105
+
106
+ # @return [SNS::Topic,nil]
107
+ def bounce_topic
108
+ if arn = bounce_topic_arn
109
+ SNS::Topic.new(arn, :config => config)
110
+ end
111
+ end
112
+
113
+ # @param [String,SNS::Topic] topic The topic (ARN string or topic
114
+ # object) that complaint notifications should be published to.
115
+ def complaint_topic= topic
116
+ arn = topic.respond_to?(:arn) ? topic.arn : topic
117
+ self.complaint_topic_arn = arn
118
+ end
119
+
120
+ # @return [SNS::Topic,nil]
121
+ def complaint_topic
122
+ if arn = complaint_topic_arn
123
+ SNS::Topic.new(arn, :config => config)
124
+ end
125
+ end
126
+
127
+ # @return [Boolean] Returns +true+ if this {Identity} represents an
128
+ # email address.
129
+ def email_address?
130
+ identity.match(/@/) ? true : false
131
+ end
132
+
133
+ # @return [Boolean] Returns +true+ if this {Identity} represents a
134
+ # domain.
135
+ def domain?
136
+ !email_address?
137
+ end
138
+
139
+ # @return [Boolean] Returns +true+ if this email address/domain has
140
+ # been verified.
141
+ def verified?
142
+ verification_status == 'Success'
143
+ end
144
+
145
+ # @return [Boolean] Returns +true+ if verification for this email
146
+ # address/domain is still pending.
147
+ def pending?
148
+ verification_status == 'Pending'
149
+ end
150
+
151
+ # Deletes the current identity.
152
+ # @return [nil]
153
+ def delete
154
+ client.delete_identity(:identity => identity)
155
+ nil
156
+ end
157
+
158
+ # @return [Boolean] Returns true if the identity exists.
159
+ def exists?
160
+ options = { :identities => [identity] }
161
+ resp = client.get_identity_verification_attributes(options)
162
+ !!resp[:verification_attributes][identity]
163
+ end
164
+
165
+ protected
166
+
167
+ def resource_identifiers
168
+ [[:identity, identity]]
169
+ end
170
+
171
+ def get_resource attr
172
+
173
+ method_name =
174
+ case attr.name.to_s
175
+ when /dkim/ then :get_identity_dkim_attributes
176
+ when /verification/ then :get_identity_verification_attributes
177
+ else :get_identity_notification_attributes
178
+ end
179
+
180
+ client.send(method_name, :identities => [identity])
181
+
182
+ end
183
+
184
+ def update_resource attr, value
185
+ client_opts = {}
186
+ client_opts[:identity] = identity
187
+ case attr.name
188
+ when :bounce_topic_arn
189
+ method = :set_identity_notification_topic
190
+ client_opts[:notification_type] = 'Bounce'
191
+ client_opts[:sns_topic] = value if value
192
+ when :complaint_topic_arn
193
+ method = :set_identity_notification_topic
194
+ client_opts[:notification_type] = 'Complaint'
195
+ client_opts[:sns_topic] = value if value
196
+ when :forwarding_enabled
197
+ method = :set_identity_feedback_forwarding_enabled
198
+ client_opts[:forwarding_enabled] = value
199
+ when :dkim_enabled
200
+ method = :set_identity_dkim_enabled
201
+ client_opts[:dkim_enabled] = value
202
+ else raise "unhandled attribute: #{attr.name}"
203
+ end
204
+ client.send(method, client_opts)
205
+ end
206
+
207
+ end
208
+ end
209
+ end