aws_sdk 3.1.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 (390) hide show
  1. data/lib/aws-sdk.rb +14 -0
  2. data/lib/aws.rb +49 -0
  3. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +791 -0
  4. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +303 -0
  5. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +540 -0
  6. data/lib/aws/api_config/EC2-2011-12-15.yml +3638 -0
  7. data/lib/aws/api_config/EC2-2012-04-01.yml +3739 -0
  8. data/lib/aws/api_config/ELB-2011-08-15.yml +512 -0
  9. data/lib/aws/api_config/IAM-2010-05-08.yml +1221 -0
  10. data/lib/aws/api_config/SNS-2010-03-31.yml +248 -0
  11. data/lib/aws/api_config/SQS-2011-10-01.yml +314 -0
  12. data/lib/aws/api_config/STS-2011-06-15.yml +54 -0
  13. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +305 -0
  14. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +231 -0
  15. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +721 -0
  16. data/lib/aws/auto_scaling.rb +162 -0
  17. data/lib/aws/auto_scaling/activity.rb +102 -0
  18. data/lib/aws/auto_scaling/activity_collection.rb +82 -0
  19. data/lib/aws/auto_scaling/client.rb +765 -0
  20. data/lib/aws/auto_scaling/config.rb +18 -0
  21. data/lib/aws/auto_scaling/errors.rb +22 -0
  22. data/lib/aws/auto_scaling/group.rb +420 -0
  23. data/lib/aws/auto_scaling/group_collection.rb +96 -0
  24. data/lib/aws/auto_scaling/group_options.rb +146 -0
  25. data/lib/aws/auto_scaling/instance.rb +192 -0
  26. data/lib/aws/auto_scaling/instance_collection.rb +63 -0
  27. data/lib/aws/auto_scaling/launch_configuration.rb +150 -0
  28. data/lib/aws/auto_scaling/launch_configuration_collection.rb +144 -0
  29. data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
  30. data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
  31. data/lib/aws/auto_scaling/request.rb +23 -0
  32. data/lib/aws/auto_scaling/scaling_policy.rb +125 -0
  33. data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
  34. data/lib/aws/auto_scaling/scaling_policy_options.rb +61 -0
  35. data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
  36. data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
  37. data/lib/aws/auto_scaling/tag.rb +59 -0
  38. data/lib/aws/auto_scaling/tag_collection.rb +112 -0
  39. data/lib/aws/cloud_formation.rb +270 -0
  40. data/lib/aws/cloud_formation/client.rb +339 -0
  41. data/lib/aws/cloud_formation/config.rb +18 -0
  42. data/lib/aws/cloud_formation/errors.rb +22 -0
  43. data/lib/aws/cloud_formation/request.rb +29 -0
  44. data/lib/aws/cloud_formation/stack.rb +256 -0
  45. data/lib/aws/cloud_formation/stack_collection.rb +206 -0
  46. data/lib/aws/cloud_formation/stack_event.rb +75 -0
  47. data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
  48. data/lib/aws/cloud_formation/stack_options.rb +72 -0
  49. data/lib/aws/cloud_formation/stack_output.rb +53 -0
  50. data/lib/aws/cloud_formation/stack_resource.rb +117 -0
  51. data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
  52. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +72 -0
  53. data/lib/aws/cloud_formation/stack_summary.rb +71 -0
  54. data/lib/aws/cloud_formation/stack_summary_collection.rb +127 -0
  55. data/lib/aws/core.rb +474 -0
  56. data/lib/aws/core/async_handle.rb +90 -0
  57. data/lib/aws/core/autoloader.rb +64 -0
  58. data/lib/aws/core/cacheable.rb +78 -0
  59. data/lib/aws/core/client.rb +541 -0
  60. data/lib/aws/core/client/query_json.rb +110 -0
  61. data/lib/aws/core/client/query_xml.rb +122 -0
  62. data/lib/aws/core/collection.rb +234 -0
  63. data/lib/aws/core/collection/limitable.rb +99 -0
  64. data/lib/aws/core/collection/simple.rb +90 -0
  65. data/lib/aws/core/configuration.rb +445 -0
  66. data/lib/aws/core/data.rb +242 -0
  67. data/lib/aws/core/default_signer.rb +67 -0
  68. data/lib/aws/core/http/curb_handler.rb +136 -0
  69. data/lib/aws/core/http/handler.rb +77 -0
  70. data/lib/aws/core/http/httparty_handler.rb +114 -0
  71. data/lib/aws/core/http/net_http_handler.rb +85 -0
  72. data/lib/aws/core/http/request.rb +250 -0
  73. data/lib/aws/core/http/response.rb +74 -0
  74. data/lib/aws/core/indifferent_hash.rb +88 -0
  75. data/lib/aws/core/inflection.rb +47 -0
  76. data/lib/aws/core/lazy_error_classes.rb +90 -0
  77. data/lib/aws/core/log_formatter.rb +454 -0
  78. data/lib/aws/core/meta_utils.rb +45 -0
  79. data/lib/aws/core/model.rb +57 -0
  80. data/lib/aws/core/naming.rb +30 -0
  81. data/lib/aws/core/option_grammar.rb +700 -0
  82. data/lib/aws/core/page_result.rb +73 -0
  83. data/lib/aws/core/policy.rb +916 -0
  84. data/lib/aws/core/resource.rb +408 -0
  85. data/lib/aws/core/resource_cache.rb +40 -0
  86. data/lib/aws/core/response.rb +202 -0
  87. data/lib/aws/core/response_cache.rb +50 -0
  88. data/lib/aws/core/service_interface.rb +61 -0
  89. data/lib/aws/core/session_signer.rb +90 -0
  90. data/lib/aws/core/signature/version_2.rb +42 -0
  91. data/lib/aws/core/signature/version_3.rb +73 -0
  92. data/lib/aws/core/signature/version_3_http.rb +72 -0
  93. data/lib/aws/core/signature/version_4.rb +138 -0
  94. data/lib/aws/core/uri_escape.rb +42 -0
  95. data/lib/aws/core/xml/frame.rb +242 -0
  96. data/lib/aws/core/xml/frame_stack.rb +85 -0
  97. data/lib/aws/core/xml/grammar.rb +299 -0
  98. data/lib/aws/core/xml/parser.rb +70 -0
  99. data/lib/aws/core/xml/root_frame.rb +65 -0
  100. data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
  101. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
  102. data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
  103. data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
  104. data/lib/aws/core/xml/stub.rb +123 -0
  105. data/lib/aws/dynamo_db.rb +213 -0
  106. data/lib/aws/dynamo_db/attribute_collection.rb +460 -0
  107. data/lib/aws/dynamo_db/batch_get.rb +206 -0
  108. data/lib/aws/dynamo_db/batch_write.rb +251 -0
  109. data/lib/aws/dynamo_db/client.rb +888 -0
  110. data/lib/aws/dynamo_db/config.rb +20 -0
  111. data/lib/aws/dynamo_db/errors.rb +20 -0
  112. data/lib/aws/dynamo_db/expectations.rb +40 -0
  113. data/lib/aws/dynamo_db/item.rb +130 -0
  114. data/lib/aws/dynamo_db/item_collection.rb +852 -0
  115. data/lib/aws/dynamo_db/item_data.rb +31 -0
  116. data/lib/aws/dynamo_db/keys.rb +41 -0
  117. data/lib/aws/dynamo_db/primary_key_element.rb +47 -0
  118. data/lib/aws/dynamo_db/request.rb +28 -0
  119. data/lib/aws/dynamo_db/resource.rb +33 -0
  120. data/lib/aws/dynamo_db/table.rb +489 -0
  121. data/lib/aws/dynamo_db/table_collection.rb +165 -0
  122. data/lib/aws/dynamo_db/types.rb +86 -0
  123. data/lib/aws/ec2.rb +431 -0
  124. data/lib/aws/ec2/attachment.rb +140 -0
  125. data/lib/aws/ec2/attachment_collection.rb +54 -0
  126. data/lib/aws/ec2/availability_zone.rb +87 -0
  127. data/lib/aws/ec2/availability_zone_collection.rb +43 -0
  128. data/lib/aws/ec2/block_device_mappings.rb +53 -0
  129. data/lib/aws/ec2/client.rb +4121 -0
  130. data/lib/aws/ec2/collection.rb +36 -0
  131. data/lib/aws/ec2/config.rb +18 -0
  132. data/lib/aws/ec2/config_transform.rb +63 -0
  133. data/lib/aws/ec2/customer_gateway.rb +90 -0
  134. data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
  135. data/lib/aws/ec2/dhcp_options.rb +106 -0
  136. data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
  137. data/lib/aws/ec2/elastic_ip.rb +157 -0
  138. data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
  139. data/lib/aws/ec2/errors.rb +32 -0
  140. data/lib/aws/ec2/filtered_collection.rb +90 -0
  141. data/lib/aws/ec2/has_permissions.rb +44 -0
  142. data/lib/aws/ec2/image.rb +254 -0
  143. data/lib/aws/ec2/image_collection.rb +228 -0
  144. data/lib/aws/ec2/instance.rb +669 -0
  145. data/lib/aws/ec2/instance_collection.rb +346 -0
  146. data/lib/aws/ec2/internet_gateway.rb +122 -0
  147. data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
  148. data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
  149. data/lib/aws/ec2/key_pair.rb +82 -0
  150. data/lib/aws/ec2/key_pair_collection.rb +99 -0
  151. data/lib/aws/ec2/network_acl.rb +256 -0
  152. data/lib/aws/ec2/network_acl/association.rb +56 -0
  153. data/lib/aws/ec2/network_acl/entry.rb +147 -0
  154. data/lib/aws/ec2/network_acl_collection.rb +64 -0
  155. data/lib/aws/ec2/network_interface.rb +228 -0
  156. data/lib/aws/ec2/network_interface/attachment.rb +100 -0
  157. data/lib/aws/ec2/network_interface_collection.rb +103 -0
  158. data/lib/aws/ec2/permission_collection.rb +174 -0
  159. data/lib/aws/ec2/region.rb +97 -0
  160. data/lib/aws/ec2/region_collection.rb +51 -0
  161. data/lib/aws/ec2/request.rb +22 -0
  162. data/lib/aws/ec2/reserved_instances.rb +53 -0
  163. data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
  164. data/lib/aws/ec2/reserved_instances_offering.rb +58 -0
  165. data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
  166. data/lib/aws/ec2/resource.rb +161 -0
  167. data/lib/aws/ec2/resource_tag_collection.rb +211 -0
  168. data/lib/aws/ec2/route_table.rb +205 -0
  169. data/lib/aws/ec2/route_table/association.rb +119 -0
  170. data/lib/aws/ec2/route_table/route.rb +113 -0
  171. data/lib/aws/ec2/route_table_collection.rb +72 -0
  172. data/lib/aws/ec2/security_group.rb +458 -0
  173. data/lib/aws/ec2/security_group/egress_ip_permission_collection.rb +63 -0
  174. data/lib/aws/ec2/security_group/ingress_ip_permission_collection.rb +61 -0
  175. data/lib/aws/ec2/security_group/ip_permission.rb +128 -0
  176. data/lib/aws/ec2/security_group_collection.rb +135 -0
  177. data/lib/aws/ec2/snapshot.rb +143 -0
  178. data/lib/aws/ec2/snapshot_collection.rb +131 -0
  179. data/lib/aws/ec2/subnet.rb +161 -0
  180. data/lib/aws/ec2/subnet_collection.rb +115 -0
  181. data/lib/aws/ec2/tag.rb +81 -0
  182. data/lib/aws/ec2/tag_collection.rb +107 -0
  183. data/lib/aws/ec2/tagged_collection.rb +53 -0
  184. data/lib/aws/ec2/tagged_item.rb +85 -0
  185. data/lib/aws/ec2/volume.rb +170 -0
  186. data/lib/aws/ec2/volume_collection.rb +97 -0
  187. data/lib/aws/ec2/vpc.rb +166 -0
  188. data/lib/aws/ec2/vpc_collection.rb +70 -0
  189. data/lib/aws/ec2/vpn_connection.rb +99 -0
  190. data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
  191. data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
  192. data/lib/aws/ec2/vpn_gateway.rb +123 -0
  193. data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
  194. data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
  195. data/lib/aws/elb.rb +65 -0
  196. data/lib/aws/elb/availability_zone_collection.rb +138 -0
  197. data/lib/aws/elb/backend_server_policy_collection.rb +140 -0
  198. data/lib/aws/elb/client.rb +539 -0
  199. data/lib/aws/elb/config.rb +18 -0
  200. data/lib/aws/elb/errors.rb +26 -0
  201. data/lib/aws/elb/instance_collection.rb +174 -0
  202. data/lib/aws/elb/listener.rb +189 -0
  203. data/lib/aws/elb/listener_collection.rb +119 -0
  204. data/lib/aws/elb/listener_opts.rb +45 -0
  205. data/lib/aws/elb/load_balancer.rb +253 -0
  206. data/lib/aws/elb/load_balancer_collection.rb +113 -0
  207. data/lib/aws/elb/load_balancer_policy.rb +93 -0
  208. data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
  209. data/lib/aws/elb/request.rb +23 -0
  210. data/lib/aws/errors.rb +122 -0
  211. data/lib/aws/iam.rb +418 -0
  212. data/lib/aws/iam/access_key.rb +180 -0
  213. data/lib/aws/iam/access_key_collection.rb +128 -0
  214. data/lib/aws/iam/account_alias_collection.rb +79 -0
  215. data/lib/aws/iam/client.rb +1609 -0
  216. data/lib/aws/iam/collection.rb +83 -0
  217. data/lib/aws/iam/config.rb +18 -0
  218. data/lib/aws/iam/errors.rb +22 -0
  219. data/lib/aws/iam/group.rb +111 -0
  220. data/lib/aws/iam/group_collection.rb +132 -0
  221. data/lib/aws/iam/group_policy_collection.rb +47 -0
  222. data/lib/aws/iam/group_user_collection.rb +84 -0
  223. data/lib/aws/iam/login_profile.rb +99 -0
  224. data/lib/aws/iam/mfa_device.rb +52 -0
  225. data/lib/aws/iam/mfa_device_collection.rb +127 -0
  226. data/lib/aws/iam/policy.rb +46 -0
  227. data/lib/aws/iam/policy_collection.rb +188 -0
  228. data/lib/aws/iam/request.rb +29 -0
  229. data/lib/aws/iam/resource.rb +71 -0
  230. data/lib/aws/iam/server_certificate.rb +141 -0
  231. data/lib/aws/iam/server_certificate_collection.rb +138 -0
  232. data/lib/aws/iam/signing_certificate.rb +169 -0
  233. data/lib/aws/iam/signing_certificate_collection.rb +131 -0
  234. data/lib/aws/iam/user.rb +205 -0
  235. data/lib/aws/iam/user_collection.rb +133 -0
  236. data/lib/aws/iam/user_group_collection.rb +98 -0
  237. data/lib/aws/iam/user_policy.rb +90 -0
  238. data/lib/aws/iam/user_policy_collection.rb +45 -0
  239. data/lib/aws/iam/virtual_mfa_device.rb +139 -0
  240. data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
  241. data/lib/aws/rails.rb +195 -0
  242. data/lib/aws/record.rb +116 -0
  243. data/lib/aws/record/abstract_base.rb +645 -0
  244. data/lib/aws/record/attributes.rb +384 -0
  245. data/lib/aws/record/conversion.rb +38 -0
  246. data/lib/aws/record/dirty_tracking.rb +285 -0
  247. data/lib/aws/record/errors.rb +143 -0
  248. data/lib/aws/record/exceptions.rb +48 -0
  249. data/lib/aws/record/hash_model.rb +161 -0
  250. data/lib/aws/record/hash_model/attributes.rb +182 -0
  251. data/lib/aws/record/hash_model/finder_methods.rb +172 -0
  252. data/lib/aws/record/hash_model/scope.rb +108 -0
  253. data/lib/aws/record/model.rb +427 -0
  254. data/lib/aws/record/model/attributes.rb +379 -0
  255. data/lib/aws/record/model/finder_methods.rb +232 -0
  256. data/lib/aws/record/model/scope.rb +213 -0
  257. data/lib/aws/record/naming.rb +31 -0
  258. data/lib/aws/record/scope.rb +199 -0
  259. data/lib/aws/record/validations.rb +694 -0
  260. data/lib/aws/record/validator.rb +237 -0
  261. data/lib/aws/record/validators/acceptance.rb +51 -0
  262. data/lib/aws/record/validators/block.rb +38 -0
  263. data/lib/aws/record/validators/confirmation.rb +43 -0
  264. data/lib/aws/record/validators/count.rb +108 -0
  265. data/lib/aws/record/validators/exclusion.rb +43 -0
  266. data/lib/aws/record/validators/format.rb +57 -0
  267. data/lib/aws/record/validators/inclusion.rb +56 -0
  268. data/lib/aws/record/validators/length.rb +107 -0
  269. data/lib/aws/record/validators/method.rb +33 -0
  270. data/lib/aws/record/validators/numericality.rb +138 -0
  271. data/lib/aws/record/validators/presence.rb +45 -0
  272. data/lib/aws/s3.rb +135 -0
  273. data/lib/aws/s3/access_control_list.rb +250 -0
  274. data/lib/aws/s3/acl_object.rb +264 -0
  275. data/lib/aws/s3/bucket.rb +393 -0
  276. data/lib/aws/s3/bucket_collection.rb +143 -0
  277. data/lib/aws/s3/bucket_lifecycle_configuration.rb +360 -0
  278. data/lib/aws/s3/bucket_version_collection.rb +77 -0
  279. data/lib/aws/s3/client.rb +1184 -0
  280. data/lib/aws/s3/client/xml.rb +177 -0
  281. data/lib/aws/s3/config.rb +26 -0
  282. data/lib/aws/s3/data_options.rb +100 -0
  283. data/lib/aws/s3/errors.rb +81 -0
  284. data/lib/aws/s3/multipart_upload.rb +317 -0
  285. data/lib/aws/s3/multipart_upload_collection.rb +68 -0
  286. data/lib/aws/s3/object_collection.rb +337 -0
  287. data/lib/aws/s3/object_metadata.rb +96 -0
  288. data/lib/aws/s3/object_upload_collection.rb +77 -0
  289. data/lib/aws/s3/object_version.rb +143 -0
  290. data/lib/aws/s3/object_version_collection.rb +89 -0
  291. data/lib/aws/s3/paginated_collection.rb +75 -0
  292. data/lib/aws/s3/policy.rb +74 -0
  293. data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
  294. data/lib/aws/s3/prefixed_collection.rb +81 -0
  295. data/lib/aws/s3/presigned_post.rb +553 -0
  296. data/lib/aws/s3/request.rb +201 -0
  297. data/lib/aws/s3/s3_object.rb +1037 -0
  298. data/lib/aws/s3/tree.rb +118 -0
  299. data/lib/aws/s3/tree/branch_node.rb +68 -0
  300. data/lib/aws/s3/tree/child_collection.rb +104 -0
  301. data/lib/aws/s3/tree/leaf_node.rb +94 -0
  302. data/lib/aws/s3/tree/node.rb +22 -0
  303. data/lib/aws/s3/tree/parent.rb +87 -0
  304. data/lib/aws/s3/uploaded_part.rb +80 -0
  305. data/lib/aws/s3/uploaded_part_collection.rb +84 -0
  306. data/lib/aws/simple_db.rb +217 -0
  307. data/lib/aws/simple_db/attribute.rb +154 -0
  308. data/lib/aws/simple_db/attribute_collection.rb +231 -0
  309. data/lib/aws/simple_db/client.rb +349 -0
  310. data/lib/aws/simple_db/config.rb +20 -0
  311. data/lib/aws/simple_db/consistent_read_option.rb +42 -0
  312. data/lib/aws/simple_db/delete_attributes.rb +62 -0
  313. data/lib/aws/simple_db/domain.rb +121 -0
  314. data/lib/aws/simple_db/domain_collection.rb +113 -0
  315. data/lib/aws/simple_db/domain_metadata.rb +110 -0
  316. data/lib/aws/simple_db/errors.rb +55 -0
  317. data/lib/aws/simple_db/expect_condition_option.rb +45 -0
  318. data/lib/aws/simple_db/item.rb +93 -0
  319. data/lib/aws/simple_db/item_collection.rb +649 -0
  320. data/lib/aws/simple_db/item_data.rb +73 -0
  321. data/lib/aws/simple_db/put_attributes.rb +60 -0
  322. data/lib/aws/simple_db/request.rb +23 -0
  323. data/lib/aws/simple_email_service.rb +426 -0
  324. data/lib/aws/simple_email_service/client.rb +286 -0
  325. data/lib/aws/simple_email_service/config.rb +19 -0
  326. data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
  327. data/lib/aws/simple_email_service/errors.rb +22 -0
  328. data/lib/aws/simple_email_service/identity.rb +91 -0
  329. data/lib/aws/simple_email_service/identity_collection.rb +81 -0
  330. data/lib/aws/simple_email_service/quotas.rb +64 -0
  331. data/lib/aws/simple_email_service/request.rb +29 -0
  332. data/lib/aws/simple_workflow.rb +226 -0
  333. data/lib/aws/simple_workflow/activity_task.rb +173 -0
  334. data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
  335. data/lib/aws/simple_workflow/activity_type.rb +131 -0
  336. data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
  337. data/lib/aws/simple_workflow/client.rb +1434 -0
  338. data/lib/aws/simple_workflow/config.rb +18 -0
  339. data/lib/aws/simple_workflow/count.rb +49 -0
  340. data/lib/aws/simple_workflow/decision_task.rb +601 -0
  341. data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
  342. data/lib/aws/simple_workflow/domain.rb +122 -0
  343. data/lib/aws/simple_workflow/domain_collection.rb +169 -0
  344. data/lib/aws/simple_workflow/errors.rb +20 -0
  345. data/lib/aws/simple_workflow/history_event.rb +276 -0
  346. data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
  347. data/lib/aws/simple_workflow/option_formatters.rb +82 -0
  348. data/lib/aws/simple_workflow/request.rb +36 -0
  349. data/lib/aws/simple_workflow/resource.rb +94 -0
  350. data/lib/aws/simple_workflow/type.rb +89 -0
  351. data/lib/aws/simple_workflow/type_collection.rb +140 -0
  352. data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
  353. data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
  354. data/lib/aws/simple_workflow/workflow_type.rb +177 -0
  355. data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
  356. data/lib/aws/sns.rb +74 -0
  357. data/lib/aws/sns/client.rb +371 -0
  358. data/lib/aws/sns/config.rb +18 -0
  359. data/lib/aws/sns/errors.rb +22 -0
  360. data/lib/aws/sns/has_delivery_policy.rb +68 -0
  361. data/lib/aws/sns/policy.rb +47 -0
  362. data/lib/aws/sns/request.rb +23 -0
  363. data/lib/aws/sns/subscription.rb +144 -0
  364. data/lib/aws/sns/subscription_collection.rb +80 -0
  365. data/lib/aws/sns/topic.rb +403 -0
  366. data/lib/aws/sns/topic_collection.rb +67 -0
  367. data/lib/aws/sns/topic_subscription_collection.rb +55 -0
  368. data/lib/aws/sqs.rb +79 -0
  369. data/lib/aws/sqs/client.rb +360 -0
  370. data/lib/aws/sqs/config.rb +18 -0
  371. data/lib/aws/sqs/errors.rb +101 -0
  372. data/lib/aws/sqs/policy.rb +48 -0
  373. data/lib/aws/sqs/queue.rb +725 -0
  374. data/lib/aws/sqs/queue_collection.rb +170 -0
  375. data/lib/aws/sqs/received_message.rb +181 -0
  376. data/lib/aws/sqs/received_sns_message.rb +112 -0
  377. data/lib/aws/sqs/request.rb +43 -0
  378. data/lib/aws/sts.rb +152 -0
  379. data/lib/aws/sts/client.rb +105 -0
  380. data/lib/aws/sts/config.rb +18 -0
  381. data/lib/aws/sts/errors.rb +22 -0
  382. data/lib/aws/sts/federated_session.rb +56 -0
  383. data/lib/aws/sts/policy.rb +30 -0
  384. data/lib/aws/sts/request.rb +29 -0
  385. data/lib/aws/sts/session.rb +48 -0
  386. data/lib/net/http/connection_pool.rb +210 -0
  387. data/lib/net/http/connection_pool/connection.rb +132 -0
  388. data/lib/net/http/connection_pool/session.rb +93 -0
  389. data/lib/user.rb +49 -0
  390. metadata +433 -0
@@ -0,0 +1,286 @@
1
+ # Copyright 2011-2012 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::Client
19
+
20
+ API_VERSION = '2010-12-01'
21
+
22
+ extend Core::Client::QueryXML
23
+
24
+ REGION_US_E1 = 'email.us-east-1.amazonaws.com'
25
+
26
+ # @private
27
+ CACHEABLE_REQUESTS = Set[]
28
+
29
+ ## client methods ##
30
+
31
+ # Calls the DeleteIdentity API operation.
32
+ # @method delete_identity(options = {})
33
+ #
34
+ # === Options:
35
+ #
36
+ # * +:identity+ - *required* - (String) The name of the identity to be
37
+ # removed from the list of verified identities.
38
+ #
39
+ # === Response Structure:
40
+ #
41
+ # This method returns no response data.
42
+ #
43
+ # @return [Core::Response]
44
+ #
45
+ define_client_method :delete_identity, 'DeleteIdentity'
46
+
47
+ # Calls the DeleteVerifiedEmailAddress API operation.
48
+ # @method delete_verified_email_address(options = {})
49
+ #
50
+ # === Options:
51
+ #
52
+ # * +:email_address+ - *required* - (String) An email address to be
53
+ # removed from the list of verified addreses.
54
+ #
55
+ # === Response Structure:
56
+ #
57
+ # This method returns no response data.
58
+ #
59
+ # @return [Core::Response]
60
+ #
61
+ define_client_method :delete_verified_email_address, 'DeleteVerifiedEmailAddress'
62
+
63
+ # Calls the GetIdentityVerificationAttributes API operation.
64
+ # @method get_identity_verification_attributes(options = {})
65
+ #
66
+ # === Options:
67
+ #
68
+ # * +:identities+ - *required* - (Array<String>)
69
+ #
70
+ # === Response Structure:
71
+ #
72
+ # * +:verification_attributes+ - (Hash<String,Hash>)
73
+ # * +:verification_status+ - (String)
74
+ # * +:verification_token+ - (String)
75
+ #
76
+ # @return [Core::Response]
77
+ #
78
+ define_client_method :get_identity_verification_attributes, 'GetIdentityVerificationAttributes'
79
+
80
+ # Calls the GetSendQuota API operation.
81
+ # @method get_send_quota(options = {})
82
+ #
83
+ # === Options:
84
+ #
85
+ # This method accepts no options.
86
+ #
87
+ # === Response Structure:
88
+ #
89
+ # * +:max_24_hour_send+ - (Numeric)
90
+ # * +:max_send_rate+ - (Numeric)
91
+ # * +:sent_last_24_hours+ - (Numeric)
92
+ #
93
+ # @return [Core::Response]
94
+ #
95
+ define_client_method :get_send_quota, 'GetSendQuota'
96
+
97
+ # Calls the GetSendStatistics API operation.
98
+ # @method get_send_statistics(options = {})
99
+ #
100
+ # === Options:
101
+ #
102
+ # This method accepts no options.
103
+ #
104
+ # === Response Structure:
105
+ #
106
+ # * +:send_data_points+ - (Array<Hash>)
107
+ # * +:timestamp+ - (Time)
108
+ # * +:delivery_attempts+ - (Integer)
109
+ # * +:bounces+ - (Integer)
110
+ # * +:complaints+ - (Integer)
111
+ # * +:rejects+ - (Integer)
112
+ #
113
+ # @return [Core::Response]
114
+ #
115
+ define_client_method :get_send_statistics, 'GetSendStatistics'
116
+
117
+ # Calls the ListIdentities API operation.
118
+ # @method list_identities(options = {})
119
+ #
120
+ # === Options:
121
+ #
122
+ # * +:identity_type+ - (String) The type of the identities listed.
123
+ # Possible values are: "EmailAddress", "Domain" or null.
124
+ # * +:next_token+ - (String) The token used for retrieving the next set
125
+ # of items.
126
+ # * +:max_items+ - (Integer) The maximum number of items returned.
127
+ #
128
+ # === Response Structure:
129
+ #
130
+ # * +:identities+ - (Array<String>)
131
+ # * +:next_token+ - (String)
132
+ #
133
+ # @return [Core::Response]
134
+ #
135
+ define_client_method :list_identities, 'ListIdentities'
136
+
137
+ # Calls the ListVerifiedEmailAddresses API operation.
138
+ # @method list_verified_email_addresses(options = {})
139
+ #
140
+ # === Options:
141
+ #
142
+ # This method accepts no options.
143
+ #
144
+ # === Response Structure:
145
+ #
146
+ # * +:verified_email_addresses+ - (Array<String>)
147
+ #
148
+ # @return [Core::Response]
149
+ #
150
+ define_client_method :list_verified_email_addresses, 'ListVerifiedEmailAddresses'
151
+
152
+ # Calls the SendEmail API operation.
153
+ # @method send_email(options = {})
154
+ #
155
+ # === Options:
156
+ #
157
+ # * +:source+ - *required* - (String) The identity's email address.
158
+ # * +:destination+ - *required* - (Hash) The destination for this email,
159
+ # composed of To:, CC:, and BCC: fields.
160
+ # * +:to_addresses+ - (Array<String>) The To: field(s) of the message.
161
+ # * +:cc_addresses+ - (Array<String>) The CC: field(s) of the message.
162
+ # * +:bcc_addresses+ - (Array<String>) The BCC: field(s) of the
163
+ # message.
164
+ # * +:message+ - *required* - (Hash) The message to be sent.
165
+ # * +:subject+ - *required* - (Hash) The subject of the message: A
166
+ # short summary of the content, which will appear in the recipient's
167
+ # inbox.
168
+ # * +:data+ - *required* - (String) The textual data of the content.
169
+ # * +:charset+ - (String) The character set of the content.
170
+ # * +:body+ - *required* - (Hash) The message body.
171
+ # * +:text+ - (Hash) The content of the message, in text format. Use
172
+ # this for text-based email clients, or clients on high-latency
173
+ # networks (such as mobile devices).
174
+ # * +:data+ - *required* - (String) The textual data of the
175
+ # content.
176
+ # * +:charset+ - (String) The character set of the content.
177
+ # * +:html+ - (Hash) The content of the message, in HTML format. Use
178
+ # this for email clients that can process HTML. You can include
179
+ # clickable links, formatted text, and much more in an HTML
180
+ # message.
181
+ # * +:data+ - *required* - (String) The textual data of the
182
+ # content.
183
+ # * +:charset+ - (String) The character set of the content.
184
+ # * +:reply_to_addresses+ - (Array<String>) The reply-to email
185
+ # address(es) for the message. If the recipient replies to the message,
186
+ # each reply-to address will receive the reply.
187
+ # * +:return_path+ - (String) The email address to which bounce
188
+ # notifications are to be forwarded. If the message cannot be delivered
189
+ # to the recipient, then an error message will be returned from the
190
+ # recipient's ISP; this message will then be forwarded to the email
191
+ # address specified by the ReturnPath parameter.
192
+ #
193
+ # === Response Structure:
194
+ #
195
+ # * +:message_id+ - (String)
196
+ #
197
+ # @return [Core::Response]
198
+ #
199
+ define_client_method :send_email, 'SendEmail'
200
+
201
+ # Calls the SendRawEmail API operation.
202
+ # @method send_raw_email(options = {})
203
+ #
204
+ # === Options:
205
+ #
206
+ # * +:source+ - (String) The identity's email address. If you specify the
207
+ # Source parameter, then bounce notifications and complaints will be
208
+ # sent to this email address. This takes precedence over any
209
+ # Return-Path header that you might include in the raw text of the
210
+ # message.
211
+ # * +:destinations+ - (Array<String>) A list of destinations for the
212
+ # message.
213
+ # * +:raw_message+ - *required* - (Hash) The raw text of the message. The
214
+ # client is responsible for ensuring the following: Message must
215
+ # contain a header and a body, separated by a blank line. All required
216
+ # header fields must be present. Each part of a multipart MIME message
217
+ # must be formatted properly. MIME content types must be among those
218
+ # supported by Amazon SES. Refer to the Amazon SES Developer Guide for
219
+ # more details. Content must be base64-encoded, if MIME requires it.
220
+ # * +:data+ - *required* - (String) The raw data of the message. The
221
+ # client must ensure that the message format complies with Internet
222
+ # email standards regarding email header fields, MIME types, MIME
223
+ # encoding, and base64 encoding (if necessary). For more information,
224
+ # go to theAmazon SES Developer Guide.
225
+ #
226
+ # === Response Structure:
227
+ #
228
+ # * +:message_id+ - (String)
229
+ #
230
+ # @return [Core::Response]
231
+ #
232
+ define_client_method :send_raw_email, 'SendRawEmail'
233
+
234
+ # Calls the VerifyDomainIdentity API operation.
235
+ # @method verify_domain_identity(options = {})
236
+ #
237
+ # === Options:
238
+ #
239
+ # * +:domain+ - *required* - (String) The name of the domain to be
240
+ # verified.
241
+ #
242
+ # === Response Structure:
243
+ #
244
+ # * +:verification_token+ - (String)
245
+ #
246
+ # @return [Core::Response]
247
+ #
248
+ define_client_method :verify_domain_identity, 'VerifyDomainIdentity'
249
+
250
+ # Calls the VerifyEmailAddress API operation.
251
+ # @method verify_email_address(options = {})
252
+ #
253
+ # === Options:
254
+ #
255
+ # * +:email_address+ - *required* - (String) The email address to be
256
+ # verified.
257
+ #
258
+ # === Response Structure:
259
+ #
260
+ # This method returns no response data.
261
+ #
262
+ # @return [Core::Response]
263
+ #
264
+ define_client_method :verify_email_address, 'VerifyEmailAddress'
265
+
266
+ # Calls the VerifyEmailIdentity API operation.
267
+ # @method verify_email_identity(options = {})
268
+ #
269
+ # === Options:
270
+ #
271
+ # * +:email_address+ - *required* - (String) The email address to be
272
+ # verified.
273
+ #
274
+ # === Response Structure:
275
+ #
276
+ # This method returns no response data.
277
+ #
278
+ # @return [Core::Response]
279
+ #
280
+ define_client_method :verify_email_identity, 'VerifyEmailIdentity'
281
+
282
+ ## end client methods ##
283
+
284
+ end
285
+ end
286
+ end
@@ -0,0 +1,19 @@
1
+ # Copyright 2011-2012 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-2012 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
+ # Requets 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-2012 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,91 @@
1
+ # Copyright 2011-2012 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
+ class Identity < Core::Resource
22
+
23
+ # @private
24
+ def initialize email_address_or_domain, options = {}
25
+ @identity = email_address_or_domain
26
+ super
27
+ end
28
+
29
+ # @return [String] Returns the email address or domain name for
30
+ # this identity.
31
+ attr_reader :identity
32
+
33
+ attribute :verification_status
34
+
35
+ attribute :verification_token, :static => true
36
+
37
+ populates_from(:get_identity_verification_attributes) do |resp|
38
+ resp.data[:verification_attributes][identity]
39
+ end
40
+
41
+ # @return [Boolean] Returns +true+ if this {Identity} represents an
42
+ # email address.
43
+ def email_address?
44
+ identity =~ /@/ ? true : false
45
+ end
46
+
47
+ # @return [Boolean] Returns +true+ if this {Identity} represents a
48
+ # domain.
49
+ def domain?
50
+ !email_address?
51
+ end
52
+
53
+ # @return [Boolean] Returns +true+ if this email address/domain has
54
+ # been verified.
55
+ def verified?
56
+ verification_status == 'Success'
57
+ end
58
+
59
+ # @return [Boolean] Returns +true+ if verification for this email
60
+ # address/domain is still pending.
61
+ def pending?
62
+ verification_status == 'Pending'
63
+ end
64
+
65
+ # Deletes the current identity.
66
+ # @return [nil]
67
+ def delete
68
+ client.delete_identity(:identity => identity)
69
+ nil
70
+ end
71
+
72
+ # @return [Boolean] Returns true if the identity exists.
73
+ def exists?
74
+ !!get_resource[:verification_attributes][identity]
75
+ end
76
+
77
+ protected
78
+
79
+ def resource_identifiers
80
+ [[:identity, identity]]
81
+ end
82
+
83
+ def get_resource attr = nil
84
+ client_opts = {}
85
+ client_opts[:identities] = [identity]
86
+ client.get_identity_verification_attributes(client_opts)
87
+ end
88
+
89
+ end
90
+ end
91
+ end