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,59 @@
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 AutoScaling
16
+
17
+ # Auto Scaling tags are hashes with two helper methods:
18
+ #
19
+ # * {#resource}
20
+ # * {#delete}
21
+ #
22
+ class Tag < Hash
23
+
24
+ # @private
25
+ def initialize options = {}
26
+
27
+ super()
28
+
29
+ @resource =
30
+ case options[:resource_type]
31
+ when 'auto-scaling-group'
32
+ group_name = options[:resource_id]
33
+ config = options.delete(:config)
34
+ Group.new(group_name, :config => config)
35
+ else
36
+ msg = "unhandled resource type: #{options[:resource_type]}"
37
+ raise ArgumentError, msg
38
+ end
39
+
40
+ merge!(options)
41
+
42
+ end
43
+
44
+ # @return [Group] Returns the tagged resource. Currently this is
45
+ # always an Auto Scaling group.
46
+ def resource
47
+ @resource
48
+ end
49
+
50
+ # Deletes the tag from the resource.
51
+ # @return [nil]
52
+ def delete
53
+ resource.delete_tags([self])
54
+ nil
55
+ end
56
+
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,112 @@
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 AutoScaling
16
+
17
+ # Provides an interface for enumerating tags defined in Auto Scaling.
18
+ #
19
+ # auto_scaling = AWS::AutoScaling.new
20
+ # auto_scaling.tags.each do |tag|
21
+ # puts "#{tag.key}:#{tag.value}"
22
+ # end
23
+ #
24
+ # == Filters
25
+ #
26
+ # You can filter the tags returned using {#filter}:
27
+ #
28
+ # # returns tags with the key "role"
29
+ # auto_scaling.filter(:key, 'role').to_a
30
+ #
31
+ # # returns tags with the key "role" and value "webserver"
32
+ # auto_scaling.filter(:key, 'role').filter(:value, 'webserver')to_a
33
+ #
34
+ # # returns tags with the Auto Scaling group name "group1"
35
+ # auto_scaling.filter(:auto_scaling_group, 'group1').to_a
36
+ #
37
+ # # returns all tags that propagate at launch
38
+ # auto_scaling.filter(:propagate_at_launch, true).to_a
39
+ #
40
+ # == Creating Tags
41
+ #
42
+ # You can create Auto Scaling tags when you:
43
+ #
44
+ # * [create]{GroupCollection#create} an Auto Scaling group
45
+ # * [update]{Group#update} an Auto Scaling group
46
+ #
47
+ # Both of these methods accept a +:tags+ option.
48
+ #
49
+ # tags = [
50
+ # { :key => 'auto-scaling-instance' }, # tag name only
51
+ # { :key => 'role', :value => 'webserver' }, # tag name and value
52
+ # ]
53
+ #
54
+ # # creating a group with tags
55
+ # group = auto_scaling.groups.create('group-name', :tags => tags, ...)
56
+ #
57
+ # # updating a group's tags
58
+ # group.update(:tags => tags)
59
+ #
60
+ class TagCollection
61
+
62
+ include Core::Collection::Limitable
63
+
64
+ # @private
65
+ def initialize options = {}
66
+ @filters = options.delete(:filters) || []
67
+ super
68
+ end
69
+
70
+ # Filters the tags by the given filter name and value(s).
71
+ #
72
+ # # return tags with the key "role" and the value "webserver"
73
+ # auto_scaling.tags.filter(:key, 'role').filer(:value, 'webserver')
74
+ #
75
+ # @param [Symbol] name Valid filter names include:
76
+ #
77
+ # * :key
78
+ # * :value
79
+ # * :propagate_at_launch
80
+ # * :auto_scaling_group
81
+ #
82
+ # @param [Array<String>] values
83
+ #
84
+ # @return [TagCollection]
85
+ #
86
+ def filter name, *values
87
+ name = name.to_s.gsub(/_/, '-')
88
+ values = values.flatten.map(&:to_s)
89
+ filter = { :name => name, :values => values }
90
+ TagCollection.new(:filters => @filters + [filter], :config => config)
91
+ end
92
+
93
+ protected
94
+
95
+ def _each_item next_token, limit, options = {}, &block
96
+
97
+ options[:next_token] = next_token if next_token
98
+ options[:max_records] = limit if limit
99
+ options[:filters] = @filters unless @filters.empty?
100
+
101
+ resp = client.describe_tags(options)
102
+ resp.tags.each do |tag|
103
+ yield(Tag.new(tag.to_hash.merge(:config => config)))
104
+ end
105
+
106
+ resp.data[:next_token]
107
+
108
+ end
109
+
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,270 @@
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
+ require 'aws/core'
15
+ require 'aws/cloud_formation/config'
16
+
17
+ module AWS
18
+
19
+ # = AWS::CloudFormation
20
+ #
21
+ # Provides an expressive, object-oriented interface to AWS CloudFormation.
22
+ #
23
+ # == Credentials
24
+ #
25
+ # You can setup default credentials for all AWS services via
26
+ # AWS.config:
27
+ #
28
+ # AWS.config(
29
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
30
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
31
+ #
32
+ # Or you can set them directly on the CloudFormation interface:
33
+ #
34
+ # cf = AWS::CloudFormation.new(
35
+ # :access_key_id => 'YOUR_ACCESS_KEY_ID',
36
+ # :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
37
+ #
38
+ # = Stacks
39
+ #
40
+ # This is the starting point for working with CloudFormation.
41
+ #
42
+ # == Creating a Stack
43
+ #
44
+ # You can create a CloudFormation stack with a name and a template.
45
+ #
46
+ # template = <<-TEMPLATE
47
+ # {
48
+ # "AWSTemplateFormatVersion" : "2010-09-09",
49
+ # "Description": "A simple template",
50
+ # "Resources": {
51
+ # "web": {
52
+ # "Type": "AWS::EC2::Instance",
53
+ # "Properties": {
54
+ # "ImageId": "ami-41814f28"
55
+ # }
56
+ # }
57
+ # }
58
+ # }
59
+ # TEMPLATE
60
+ #
61
+ # cfm = AWS::CloudFormation.new
62
+ # stack = cfm.stacks.create('stack-name', template)
63
+ #
64
+ # See {StackCollection#create} for more information on creating templates
65
+ # with capabilities and parameters.
66
+ #
67
+ # == Getting a Stack
68
+ #
69
+ # Given a name, you can fetch a {Stack}.
70
+ #
71
+ # stack = cfm.stacks['stack-name']
72
+ #
73
+ # == Enumerating Stacks
74
+ #
75
+ # You can enumerate stacks in two ways. You can enumerate {Stack}
76
+ # objects or stack summaries (simple hashes). You can filter the stack
77
+ # summary collection by a status.
78
+ #
79
+ # # enumerating all stack objects
80
+ # cfm.stacks.each do |stack|
81
+ # # ...
82
+ # end
83
+ #
84
+ # # enumerating stack summaries (hashes)
85
+ # cfm.stack_summaries.each do |stack_summary|
86
+ # # ...
87
+ # end
88
+ #
89
+ # # filtering stack summaries by status
90
+ # cfm.stack_summaries.with_status(:create_failed).each do |summary|
91
+ # puts summary.to_yaml
92
+ # end
93
+ #
94
+ # == Template
95
+ #
96
+ # You can fetch the template body for a stack as a JSON string.
97
+ #
98
+ # cfm.stacks['stack-name'].template
99
+ # #=> "{...}"
100
+ #
101
+ # You can update the template for a {Stack} with the {Stack#update} method:
102
+ #
103
+ # cfm.stacks['stack-name'].update(:template => new_template)
104
+ #
105
+ # == Stack Events
106
+ #
107
+ # You can enumerate events for a stack.
108
+ #
109
+ # stack.events.each do |event|
110
+ # puts "#{event.physical_resource_id}: #{event.resource_status}"
111
+ # end
112
+ #
113
+ # See {StackEvent} for a complete list of event attributes.
114
+ #
115
+ # == Stack Resources
116
+ #
117
+ # You can enumerate stack resources or request a stack resource by its
118
+ # logical resource id.
119
+ #
120
+ # # enumerating stack resources
121
+ # stack.resources.each do |resource|
122
+ # # ...
123
+ # end
124
+ #
125
+ # # getting a resource by its logical id
126
+ # res = stack.resources['logical-resource-id']
127
+ # puts res.physical_resource_id
128
+ #
129
+ # If you need a stack resource, but only have its physical resource
130
+ # id, then you can call {CloudFormation#stack_resource}.
131
+ #
132
+ # stack_resource = cfm.stack_resource('physical-resource-id')
133
+ #
134
+ # == Stack Resource Summaries
135
+ #
136
+ # As an alternative to stack resources, you can enumerate stack
137
+ # resource summaries (hashes).
138
+ #
139
+ # # enumerate all resources, this collection can not be filtered
140
+ # stack.resource_summaries.each do |summary|
141
+ # # ...
142
+ # end
143
+ #
144
+ class CloudFormation
145
+
146
+ AWS.register_autoloads(self, 'aws/cloud_formation') do
147
+ autoload :Client, 'client'
148
+ autoload :Errors, 'errors'
149
+ autoload :Request, 'request'
150
+ autoload :Stack, 'stack'
151
+ autoload :StackCollection, 'stack_collection'
152
+ autoload :StackEvent, 'stack_event'
153
+ autoload :StackEventCollection, 'stack_event_collection'
154
+ autoload :StackOptions, 'stack_options'
155
+ autoload :StackOutput, 'stack_output'
156
+ autoload :StackSummaryCollection, 'stack_summary_collection'
157
+ autoload :StackResource, 'stack_resource'
158
+ autoload :StackResourceCollection, 'stack_resource_collection'
159
+ autoload :StackResourceSummaryCollection, 'stack_resource_summary_collection'
160
+ end
161
+
162
+ include Core::ServiceInterface
163
+ include StackOptions
164
+
165
+ # @return [StackCollection]
166
+ def stacks
167
+ StackCollection.new(:config => config)
168
+ end
169
+
170
+ # @return [StackSummaryCollection]
171
+ def stack_summaries
172
+ StackSummaryCollection.new(:config => config)
173
+ end
174
+
175
+ # Returns a stack resource with the given physical resource
176
+ # id.
177
+ #
178
+ # resource = cfm.stack_resource('i-123456789')
179
+ #
180
+ # Alternatively, you may pass a stack name and logical resource id:
181
+ #
182
+ # resource = cfm.stack_resource('stack-name', 'logical-resource-id')
183
+ #
184
+ # @overload stack_resource(physical_resource_id)
185
+ # @param [String] physical_resource_id The physical resource id
186
+ # of the stack resource you want returned.
187
+ #
188
+ # @overload stack_resource(stack_name, logical_resource_id)
189
+ # @param [String] stack_name
190
+ # @param [String] logical_resource_id
191
+ #
192
+ # @return [StackResource] Returns the stack resource with the
193
+ # given physical resource id.
194
+ #
195
+ def stack_resource *args
196
+
197
+ client_opts = {}
198
+
199
+ if args.size == 1
200
+ client_opts[:physical_resource_id] = args.first
201
+ else
202
+ client_opts[:stack_name] = args[0]
203
+ client_opts[:logical_resource_id] = args[1]
204
+ end
205
+
206
+ response = client.describe_stack_resources(client_opts)
207
+
208
+ details = response.stack_resources.first
209
+
210
+ StackResource.new_from(
211
+ :describe_stack_resource, details,
212
+ Stack.new(details.stack_name, :config => config),
213
+ details.logical_resource_id)
214
+
215
+ end
216
+
217
+ # Validates the template and returns a hash. If the template is valid,
218
+ # the returned hash may/will contain the following keys (actual
219
+ # key list depends on the template).
220
+ #
221
+ # * +:description+
222
+ # * +:capabilities+
223
+ # * +:capabilities_reason+
224
+ # * +:parameters+
225
+ #
226
+ # If the template is not parseable, then a hash will the following
227
+ # keys will be returned:
228
+ #
229
+ # * +:code+
230
+ # * +:message+
231
+ #
232
+ # @return [Hash]
233
+ #
234
+ def validate_template template
235
+ begin
236
+
237
+ client_opts = {}
238
+ client_opts[:template] = template
239
+ apply_template(client_opts)
240
+ client.validate_template(client_opts).data
241
+
242
+ rescue CloudFormation::Errors::ValidationError => e
243
+
244
+ results = {}
245
+ results[:code] = e.code
246
+ results[:message] = e.message
247
+ results
248
+
249
+ end
250
+ end
251
+
252
+ # @param (see Stack#template=)
253
+ #
254
+ # @param [Hash] parameters A hash that specifies the input
255
+ # parameters for the template.
256
+ #
257
+ # @return [String] Returns a URL to the AWS Simple Monthly Calculator
258
+ # with a query string that describes the resources required to run
259
+ # the template.
260
+ #
261
+ def estimate_template_cost template, parameters = {}
262
+ client_opts = {}
263
+ client_opts[:template] = template
264
+ apply_template(client_opts)
265
+ apply_parameters(client_opts)
266
+ client.estimate_template_cost(client_opts).url
267
+ end
268
+
269
+ end
270
+ end
@@ -0,0 +1,339 @@
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 CloudFormation
16
+
17
+ # Client class for AWS CloudFormation.
18
+ class Client < Core::Client
19
+
20
+ API_VERSION = '2010-05-15'
21
+
22
+ extend Core::Client::QueryXML
23
+
24
+ # @private
25
+ CACHEABLE_REQUESTS = Set[
26
+ :describe_adjustment_types,
27
+ :describe_auto_scaling_groups,
28
+ :describe_auto_scaling_instances,
29
+ :describe_auto_scaling_notification_types,
30
+ :describe_launch_configurations,
31
+ :describe_metric_collection_types,
32
+ :describe_notification_configurations,
33
+ :describe_policies,
34
+ :describe_scaling_activities,
35
+ :describe_scaling_process_types,
36
+ :describe_scheduled_actions,
37
+ :describe_tags,
38
+ ]
39
+
40
+ ## client methods ##
41
+
42
+ # Calls the CreateStack API operation.
43
+ # @method create_stack(options = {})
44
+ #
45
+ # === Options:
46
+ #
47
+ # * +:stack_name+ - *required* - (String)
48
+ # * +:template_body+ - (String)
49
+ # * +:template_url+ - (String)
50
+ # * +:parameters+ - (Array<Hash>)
51
+ # * +:parameter_key+ - (String)
52
+ # * +:parameter_value+ - (String)
53
+ # * +:disable_rollback+ - (Boolean)
54
+ # * +:timeout_in_minutes+ - (Integer)
55
+ # * +:notification_ar_ns+ - (Array<String>)
56
+ # * +:capabilities+ - (Array<String>)
57
+ # * +:on_failure+ - (String)
58
+ #
59
+ # === Response Structure:
60
+ #
61
+ # * +:stack_id+ - (String)
62
+ #
63
+ # @return [Core::Response]
64
+ #
65
+ define_client_method :create_stack, 'CreateStack'
66
+
67
+ # Calls the CreateUploadBucket API operation.
68
+ # @method create_upload_bucket(options = {})
69
+ #
70
+ # === Options:
71
+ #
72
+ # This method accepts no options.
73
+ #
74
+ # === Response Structure:
75
+ #
76
+ # * +:bucket_name+ - (String)
77
+ #
78
+ # @return [Core::Response]
79
+ #
80
+ define_client_method :create_upload_bucket, 'CreateUploadBucket'
81
+
82
+ # Calls the DeleteStack API operation.
83
+ # @method delete_stack(options = {})
84
+ #
85
+ # === Options:
86
+ #
87
+ # * +:stack_name+ - *required* - (String)
88
+ #
89
+ # === Response Structure:
90
+ #
91
+ # This method returns no response data.
92
+ #
93
+ # @return [Core::Response]
94
+ #
95
+ define_client_method :delete_stack, 'DeleteStack'
96
+
97
+ # Calls the DescribeStackEvents API operation.
98
+ # @method describe_stack_events(options = {})
99
+ #
100
+ # === Options:
101
+ #
102
+ # * +:stack_name+ - (String)
103
+ # * +:next_token+ - (String)
104
+ #
105
+ # === Response Structure:
106
+ #
107
+ # * +:stack_events+ - (Array<Hash>)
108
+ # * +:stack_id+ - (String)
109
+ # * +:event_id+ - (String)
110
+ # * +:stack_name+ - (String)
111
+ # * +:logical_resource_id+ - (String)
112
+ # * +:physical_resource_id+ - (String)
113
+ # * +:resource_type+ - (String)
114
+ # * +:timestamp+ - (Time)
115
+ # * +:resource_status+ - (String)
116
+ # * +:resource_status_reason+ - (String)
117
+ # * +:resource_properties+ - (String)
118
+ # * +:next_token+ - (String)
119
+ #
120
+ # @return [Core::Response]
121
+ #
122
+ define_client_method :describe_stack_events, 'DescribeStackEvents'
123
+
124
+ # Calls the DescribeStackResource API operation.
125
+ # @method describe_stack_resource(options = {})
126
+ #
127
+ # === Options:
128
+ #
129
+ # * +:stack_name+ - *required* - (String)
130
+ # * +:logical_resource_id+ - *required* - (String)
131
+ #
132
+ # === Response Structure:
133
+ #
134
+ # * +:stack_resource_detail+ - (Hash)
135
+ # * +:stack_name+ - (String)
136
+ # * +:stack_id+ - (String)
137
+ # * +:logical_resource_id+ - (String)
138
+ # * +:physical_resource_id+ - (String)
139
+ # * +:resource_type+ - (String)
140
+ # * +:last_updated_timestamp+ - (Time)
141
+ # * +:resource_status+ - (String)
142
+ # * +:resource_status_reason+ - (String)
143
+ # * +:description+ - (String)
144
+ # * +:metadata+ - (String)
145
+ #
146
+ # @return [Core::Response]
147
+ #
148
+ define_client_method :describe_stack_resource, 'DescribeStackResource'
149
+
150
+ # Calls the DescribeStackResources API operation.
151
+ # @method describe_stack_resources(options = {})
152
+ #
153
+ # === Options:
154
+ #
155
+ # * +:stack_name+ - (String)
156
+ # * +:logical_resource_id+ - (String)
157
+ # * +:physical_resource_id+ - (String)
158
+ #
159
+ # === Response Structure:
160
+ #
161
+ # * +:stack_resources+ - (Array<Hash>)
162
+ # * +:stack_name+ - (String)
163
+ # * +:stack_id+ - (String)
164
+ # * +:logical_resource_id+ - (String)
165
+ # * +:physical_resource_id+ - (String)
166
+ # * +:resource_type+ - (String)
167
+ # * +:timestamp+ - (Time)
168
+ # * +:resource_status+ - (String)
169
+ # * +:resource_status_reason+ - (String)
170
+ # * +:description+ - (String)
171
+ #
172
+ # @return [Core::Response]
173
+ #
174
+ define_client_method :describe_stack_resources, 'DescribeStackResources'
175
+
176
+ # Calls the DescribeStacks API operation.
177
+ # @method describe_stacks(options = {})
178
+ #
179
+ # === Options:
180
+ #
181
+ # * +:stack_name+ - (String)
182
+ #
183
+ # === Response Structure:
184
+ #
185
+ # * +:stacks+ - (Array<Hash>)
186
+ # * +:stack_id+ - (String)
187
+ # * +:stack_name+ - (String)
188
+ # * +:description+ - (String)
189
+ # * +:parameters+ - (Array<Hash>)
190
+ # * +:parameter_key+ - (String)
191
+ # * +:parameter_value+ - (String)
192
+ # * +:creation_time+ - (Time)
193
+ # * +:last_updated_time+ - (Time)
194
+ # * +:stack_status+ - (String)
195
+ # * +:stack_status_reason+ - (String)
196
+ # * +:disable_rollback+ - (Boolean)
197
+ # * +:notification_ar_ns+ - (Array<String>)
198
+ # * +:timeout_in_minutes+ - (Integer)
199
+ # * +:capabilities+ - (Array<String>)
200
+ # * +:outputs+ - (Array<Hash>)
201
+ # * +:output_key+ - (String)
202
+ # * +:output_value+ - (String)
203
+ # * +:description+ - (String)
204
+ #
205
+ # @return [Core::Response]
206
+ #
207
+ define_client_method :describe_stacks, 'DescribeStacks'
208
+
209
+ # Calls the EstimateTemplateCost API operation.
210
+ # @method estimate_template_cost(options = {})
211
+ #
212
+ # === Options:
213
+ #
214
+ # * +:template_body+ - (String)
215
+ # * +:template_url+ - (String)
216
+ # * +:parameters+ - (Array<Hash>)
217
+ # * +:parameter_key+ - (String)
218
+ # * +:parameter_value+ - (String)
219
+ #
220
+ # === Response Structure:
221
+ #
222
+ # * +:url+ - (String)
223
+ #
224
+ # @return [Core::Response]
225
+ #
226
+ define_client_method :estimate_template_cost, 'EstimateTemplateCost'
227
+
228
+ # Calls the GetTemplate API operation.
229
+ # @method get_template(options = {})
230
+ #
231
+ # === Options:
232
+ #
233
+ # * +:stack_name+ - *required* - (String)
234
+ #
235
+ # === Response Structure:
236
+ #
237
+ # * +:template_body+ - (String)
238
+ #
239
+ # @return [Core::Response]
240
+ #
241
+ define_client_method :get_template, 'GetTemplate'
242
+
243
+ # Calls the ListStackResources API operation.
244
+ # @method list_stack_resources(options = {})
245
+ #
246
+ # === Options:
247
+ #
248
+ # * +:stack_name+ - *required* - (String)
249
+ # * +:next_token+ - (String)
250
+ #
251
+ # === Response Structure:
252
+ #
253
+ # * +:stack_resource_summaries+ - (Array<Hash>)
254
+ # * +:logical_resource_id+ - (String)
255
+ # * +:physical_resource_id+ - (String)
256
+ # * +:resource_type+ - (String)
257
+ # * +:last_updated_timestamp+ - (Time)
258
+ # * +:resource_status+ - (String)
259
+ # * +:resource_status_reason+ - (String)
260
+ # * +:next_token+ - (String)
261
+ #
262
+ # @return [Core::Response]
263
+ #
264
+ define_client_method :list_stack_resources, 'ListStackResources'
265
+
266
+ # Calls the ListStacks API operation.
267
+ # @method list_stacks(options = {})
268
+ #
269
+ # === Options:
270
+ #
271
+ # * +:next_token+ - (String)
272
+ # * +:stack_status_filter+ - (Array<String>)
273
+ #
274
+ # === Response Structure:
275
+ #
276
+ # * +:stack_summaries+ - (Array<Hash>)
277
+ # * +:stack_id+ - (String)
278
+ # * +:stack_name+ - (String)
279
+ # * +:template_description+ - (String)
280
+ # * +:creation_time+ - (Time)
281
+ # * +:last_updated_time+ - (Time)
282
+ # * +:deletion_time+ - (Time)
283
+ # * +:stack_status+ - (String)
284
+ # * +:stack_status_reason+ - (String)
285
+ # * +:next_token+ - (String)
286
+ #
287
+ # @return [Core::Response]
288
+ #
289
+ define_client_method :list_stacks, 'ListStacks'
290
+
291
+ # Calls the UpdateStack API operation.
292
+ # @method update_stack(options = {})
293
+ #
294
+ # === Options:
295
+ #
296
+ # * +:stack_name+ - *required* - (String)
297
+ # * +:template_body+ - (String)
298
+ # * +:template_url+ - (String)
299
+ # * +:parameters+ - (Array<Hash>)
300
+ # * +:parameter_key+ - (String)
301
+ # * +:parameter_value+ - (String)
302
+ # * +:capabilities+ - (Array<String>)
303
+ #
304
+ # === Response Structure:
305
+ #
306
+ # * +:stack_id+ - (String)
307
+ #
308
+ # @return [Core::Response]
309
+ #
310
+ define_client_method :update_stack, 'UpdateStack'
311
+
312
+ # Calls the ValidateTemplate API operation.
313
+ # @method validate_template(options = {})
314
+ #
315
+ # === Options:
316
+ #
317
+ # * +:template_body+ - (String)
318
+ # * +:template_url+ - (String)
319
+ #
320
+ # === Response Structure:
321
+ #
322
+ # * +:parameters+ - (Array<Hash>)
323
+ # * +:parameter_key+ - (String)
324
+ # * +:default_value+ - (String)
325
+ # * +:no_echo+ - (Boolean)
326
+ # * +:description+ - (String)
327
+ # * +:description+ - (String)
328
+ # * +:capabilities+ - (Array<String>)
329
+ # * +:capabilities_reason+ - (String)
330
+ #
331
+ # @return [Core::Response]
332
+ #
333
+ define_client_method :validate_template, 'ValidateTemplate'
334
+
335
+ ## end client methods ##
336
+
337
+ end
338
+ end
339
+ end