aws-sdk-cloudformation 1.0.0.rc1
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.
- checksums.yaml +7 -0
- data/lib/aws-sdk-cloudformation.rb +52 -0
- data/lib/aws-sdk-cloudformation/client.rb +2014 -0
- data/lib/aws-sdk-cloudformation/client_api.rb +886 -0
- data/lib/aws-sdk-cloudformation/customizations.rb +7 -0
- data/lib/aws-sdk-cloudformation/errors.rb +23 -0
- data/lib/aws-sdk-cloudformation/event.rb +148 -0
- data/lib/aws-sdk-cloudformation/resource.rb +271 -0
- data/lib/aws-sdk-cloudformation/stack.rb +712 -0
- data/lib/aws-sdk-cloudformation/stack_resource.rb +188 -0
- data/lib/aws-sdk-cloudformation/stack_resource_summary.rb +157 -0
- data/lib/aws-sdk-cloudformation/types.rb +2684 -0
- data/lib/aws-sdk-cloudformation/waiters.rb +266 -0
- metadata +85 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8705ef1b3b859eced6bd27f74658675c346188f5
|
4
|
+
data.tar.gz: b8570d2cd5a5c55d1a331841cdb42f8ab8844968
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2838270a16a8140d114e71db91f909e31d18d5f860f6c77ffb3556d226926282df682bc2cc17ae57a496f024faff961f08481fe56043dc73ffa63ffd6a19ba28
|
7
|
+
data.tar.gz: 5812ac0631f76c43fcb02f7c02dd7e67988c399b529f5aabfec2d99ba2dce4fe31cf32edc5edffbb64fa55ddd17326916bd3ec8feded4988ebc52e730e474647
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
require 'aws-sdk-core'
|
9
|
+
require 'aws-sigv4'
|
10
|
+
|
11
|
+
require_relative 'aws-sdk-cloudformation/types'
|
12
|
+
require_relative 'aws-sdk-cloudformation/client_api'
|
13
|
+
require_relative 'aws-sdk-cloudformation/client'
|
14
|
+
require_relative 'aws-sdk-cloudformation/errors'
|
15
|
+
require_relative 'aws-sdk-cloudformation/waiters'
|
16
|
+
require_relative 'aws-sdk-cloudformation/resource'
|
17
|
+
require_relative 'aws-sdk-cloudformation/event'
|
18
|
+
require_relative 'aws-sdk-cloudformation/stack'
|
19
|
+
require_relative 'aws-sdk-cloudformation/stack_resource'
|
20
|
+
require_relative 'aws-sdk-cloudformation/stack_resource_summary'
|
21
|
+
require_relative 'aws-sdk-cloudformation/customizations'
|
22
|
+
|
23
|
+
# This module provides support for AWS CloudFormation. This module is available in the
|
24
|
+
# `aws-sdk-cloudformation` gem.
|
25
|
+
#
|
26
|
+
# # Client
|
27
|
+
#
|
28
|
+
# The {Client} class provides one method for each API operation. Operation
|
29
|
+
# methods each accept a hash of request parameters and return a response
|
30
|
+
# structure.
|
31
|
+
#
|
32
|
+
# See {Client} for more information.
|
33
|
+
#
|
34
|
+
# # Errors
|
35
|
+
#
|
36
|
+
# Errors returned from AWS CloudFormation all
|
37
|
+
# extend {Errors::ServiceError}.
|
38
|
+
#
|
39
|
+
# begin
|
40
|
+
# # do stuff
|
41
|
+
# rescue Aws::CloudFormation::Errors::ServiceError
|
42
|
+
# # rescues all service API errors
|
43
|
+
# end
|
44
|
+
#
|
45
|
+
# See {Errors} for more information.
|
46
|
+
#
|
47
|
+
# @service
|
48
|
+
module Aws::CloudFormation
|
49
|
+
|
50
|
+
GEM_VERSION = '1.0.0.rc1'
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,2014 @@
|
|
1
|
+
# WARNING ABOUT GENERATED CODE
|
2
|
+
#
|
3
|
+
# This file is generated. See the contributing for info on making contributions:
|
4
|
+
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
|
5
|
+
#
|
6
|
+
# WARNING ABOUT GENERATED CODE
|
7
|
+
|
8
|
+
require 'seahorse/client/plugins/content_length.rb'
|
9
|
+
require 'aws-sdk-core/plugins/credentials_configuration.rb'
|
10
|
+
require 'aws-sdk-core/plugins/logging.rb'
|
11
|
+
require 'aws-sdk-core/plugins/param_converter.rb'
|
12
|
+
require 'aws-sdk-core/plugins/param_validator.rb'
|
13
|
+
require 'aws-sdk-core/plugins/user_agent.rb'
|
14
|
+
require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
|
15
|
+
require 'aws-sdk-core/plugins/retry_errors.rb'
|
16
|
+
require 'aws-sdk-core/plugins/global_configuration.rb'
|
17
|
+
require 'aws-sdk-core/plugins/regional_endpoint.rb'
|
18
|
+
require 'aws-sdk-core/plugins/response_paging.rb'
|
19
|
+
require 'aws-sdk-core/plugins/stub_responses.rb'
|
20
|
+
require 'aws-sdk-core/plugins/idempotency_token.rb'
|
21
|
+
require 'aws-sdk-core/plugins/signature_v4.rb'
|
22
|
+
require 'aws-sdk-core/plugins/protocols/query.rb'
|
23
|
+
|
24
|
+
Aws::Plugins::GlobalConfiguration.add_identifier(:cloudformation)
|
25
|
+
|
26
|
+
module Aws
|
27
|
+
module CloudFormation
|
28
|
+
class Client < Seahorse::Client::Base
|
29
|
+
|
30
|
+
include Aws::ClientStubs
|
31
|
+
|
32
|
+
@identifier = :cloudformation
|
33
|
+
|
34
|
+
set_api(ClientApi::API)
|
35
|
+
|
36
|
+
add_plugin(Seahorse::Client::Plugins::ContentLength)
|
37
|
+
add_plugin(Aws::Plugins::CredentialsConfiguration)
|
38
|
+
add_plugin(Aws::Plugins::Logging)
|
39
|
+
add_plugin(Aws::Plugins::ParamConverter)
|
40
|
+
add_plugin(Aws::Plugins::ParamValidator)
|
41
|
+
add_plugin(Aws::Plugins::UserAgent)
|
42
|
+
add_plugin(Aws::Plugins::HelpfulSocketErrors)
|
43
|
+
add_plugin(Aws::Plugins::RetryErrors)
|
44
|
+
add_plugin(Aws::Plugins::GlobalConfiguration)
|
45
|
+
add_plugin(Aws::Plugins::RegionalEndpoint)
|
46
|
+
add_plugin(Aws::Plugins::ResponsePaging)
|
47
|
+
add_plugin(Aws::Plugins::StubResponses)
|
48
|
+
add_plugin(Aws::Plugins::IdempotencyToken)
|
49
|
+
add_plugin(Aws::Plugins::SignatureV4)
|
50
|
+
add_plugin(Aws::Plugins::Protocols::Query)
|
51
|
+
|
52
|
+
# @option options [required, Aws::CredentialProvider] :credentials
|
53
|
+
# Your AWS credentials. This can be an instance of any one of the
|
54
|
+
# following classes:
|
55
|
+
#
|
56
|
+
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
57
|
+
# credentials.
|
58
|
+
#
|
59
|
+
# * `Aws::InstanceProfileCredentials` - Used for loading credentials
|
60
|
+
# from an EC2 IMDS on an EC2 instance.
|
61
|
+
#
|
62
|
+
# * `Aws::SharedCredentials` - Used for loading credentials from a
|
63
|
+
# shared file, such as `~/.aws/config`.
|
64
|
+
#
|
65
|
+
# * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
|
66
|
+
#
|
67
|
+
# When `:credentials` are not configured directly, the following
|
68
|
+
# locations will be searched for credentials:
|
69
|
+
#
|
70
|
+
# * `Aws.config[:credentials]`
|
71
|
+
# * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
|
72
|
+
# * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
|
73
|
+
# * `~/.aws/credentials`
|
74
|
+
# * `~/.aws/config`
|
75
|
+
# * EC2 IMDS instance profile - When used by default, the timeouts are
|
76
|
+
# very aggressive. Construct and pass an instance of
|
77
|
+
# `Aws::InstanceProfileCredentails` to enable retries and extended
|
78
|
+
# timeouts.
|
79
|
+
# @option options [required, String] :region
|
80
|
+
# The AWS region to connect to. The configured `:region` is
|
81
|
+
# used to determine the service `:endpoint`. When not passed,
|
82
|
+
# a default `:region` is search for in the following locations:
|
83
|
+
#
|
84
|
+
# * `Aws.config[:region]`
|
85
|
+
# * `ENV['AWS_REGION']`
|
86
|
+
# * `ENV['AMAZON_REGION']`
|
87
|
+
# * `ENV['AWS_DEFAULT_REGION']`
|
88
|
+
# * `~/.aws/credentials`
|
89
|
+
# * `~/.aws/config`
|
90
|
+
# @option options [String] :access_key_id
|
91
|
+
# @option options [Boolean] :convert_params (true)
|
92
|
+
# When `true`, an attempt is made to coerce request parameters into
|
93
|
+
# the required types.
|
94
|
+
# @option options [String] :endpoint
|
95
|
+
# The client endpoint is normally constructed from the `:region`
|
96
|
+
# option. You should only configure an `:endpoint` when connecting
|
97
|
+
# to test endpoints. This should be avalid HTTP(S) URI.
|
98
|
+
# @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
|
99
|
+
# The log formatter.
|
100
|
+
# @option options [Symbol] :log_level (:info)
|
101
|
+
# The log level to send messages to the `:logger` at.
|
102
|
+
# @option options [Logger] :logger
|
103
|
+
# The Logger instance to send log messages to. If this option
|
104
|
+
# is not set, logging will be disabled.
|
105
|
+
# @option options [String] :profile ("default")
|
106
|
+
# Used when loading credentials from the shared credentials file
|
107
|
+
# at HOME/.aws/credentials. When not specified, 'default' is used.
|
108
|
+
# @option options [Integer] :retry_limit (3)
|
109
|
+
# The maximum number of times to retry failed requests. Only
|
110
|
+
# ~ 500 level server errors and certain ~ 400 level client errors
|
111
|
+
# are retried. Generally, these are throttling errors, data
|
112
|
+
# checksum errors, networking errors, timeout errors and auth
|
113
|
+
# errors from expired credentials.
|
114
|
+
# @option options [String] :secret_access_key
|
115
|
+
# @option options [String] :session_token
|
116
|
+
# @option options [Boolean] :stub_responses (false)
|
117
|
+
# Causes the client to return stubbed responses. By default
|
118
|
+
# fake responses are generated and returned. You can specify
|
119
|
+
# the response data to return or errors to raise by calling
|
120
|
+
# {ClientStubs#stub_responses}. See {ClientStubs} for more information.
|
121
|
+
#
|
122
|
+
# ** Please note ** When response stubbing is enabled, no HTTP
|
123
|
+
# requests are made, and retries are disabled.
|
124
|
+
# @option options [Boolean] :validate_params (true)
|
125
|
+
# When `true`, request parameters are validated before
|
126
|
+
# sending the request.
|
127
|
+
def initialize(*args)
|
128
|
+
super
|
129
|
+
end
|
130
|
+
|
131
|
+
# @!group API Operations
|
132
|
+
|
133
|
+
# Cancels an update on the specified stack. If the call completes
|
134
|
+
# successfully, the stack rolls back the update and reverts to the
|
135
|
+
# previous stack configuration.
|
136
|
+
#
|
137
|
+
# <note markdown="1"> You can cancel only stacks that are in the UPDATE\_IN\_PROGRESS state.
|
138
|
+
#
|
139
|
+
# </note>
|
140
|
+
# @option params [required, String] :stack_name
|
141
|
+
# The name or the unique stack ID that is associated with the stack.
|
142
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
143
|
+
#
|
144
|
+
# @example Request syntax with placeholder values
|
145
|
+
# resp = client.cancel_update_stack({
|
146
|
+
# stack_name: "StackName", # required
|
147
|
+
# })
|
148
|
+
# @overload cancel_update_stack(params = {})
|
149
|
+
# @param [Hash] params ({})
|
150
|
+
def cancel_update_stack(params = {}, options = {})
|
151
|
+
req = build_request(:cancel_update_stack, params)
|
152
|
+
req.send_request(options)
|
153
|
+
end
|
154
|
+
|
155
|
+
# For a specified stack that is in the `UPDATE_ROLLBACK_FAILED` state,
|
156
|
+
# continues rolling it back to the `UPDATE_ROLLBACK_COMPLETE` state.
|
157
|
+
# Depending on the cause of the failure, you can manually [ fix the
|
158
|
+
# error][1] and continue the rollback. By continuing the rollback, you
|
159
|
+
# can return your stack to a working state (the
|
160
|
+
# `UPDATE_ROLLBACK_COMPLETE` state), and then try to update the stack
|
161
|
+
# again.
|
162
|
+
#
|
163
|
+
# A stack goes into the `UPDATE_ROLLBACK_FAILED` state when AWS
|
164
|
+
# CloudFormation cannot roll back all changes after a failed stack
|
165
|
+
# update. For example, you might have a stack that is rolling back to an
|
166
|
+
# old database instance that was deleted outside of AWS CloudFormation.
|
167
|
+
# Because AWS CloudFormation doesn't know the database was deleted, it
|
168
|
+
# assumes that the database instance still exists and attempts to roll
|
169
|
+
# back to it, causing the update rollback to fail.
|
170
|
+
#
|
171
|
+
#
|
172
|
+
#
|
173
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed
|
174
|
+
# @option params [required, String] :stack_name
|
175
|
+
# The name or the unique ID of the stack that you want to continue
|
176
|
+
# rolling back.
|
177
|
+
#
|
178
|
+
# <note markdown="1"> Don't specify the name of a nested stack (a stack that was created by
|
179
|
+
# using the `AWS::CloudFormation::Stack` resource). Instead, use this
|
180
|
+
# operation on the parent stack (the stack that contains the
|
181
|
+
# `AWS::CloudFormation::Stack` resource).
|
182
|
+
#
|
183
|
+
# </note>
|
184
|
+
# @option params [String] :role_arn
|
185
|
+
# The Amazon Resource Name (ARN) of an AWS Identity and Access
|
186
|
+
# Management (IAM) role that AWS CloudFormation assumes to roll back the
|
187
|
+
# stack. AWS CloudFormation uses the role's credentials to make calls
|
188
|
+
# on your behalf. AWS CloudFormation always uses this role for all
|
189
|
+
# future operations on the stack. As long as users have permission to
|
190
|
+
# operate on the stack, AWS CloudFormation uses this role even if the
|
191
|
+
# users don't have permission to pass it. Ensure that the role grants
|
192
|
+
# least privilege.
|
193
|
+
#
|
194
|
+
# If you don't specify a value, AWS CloudFormation uses the role that
|
195
|
+
# was previously associated with the stack. If no role is available, AWS
|
196
|
+
# CloudFormation uses a temporary session that is generated from your
|
197
|
+
# user credentials.
|
198
|
+
# @option params [Array<String>] :resources_to_skip
|
199
|
+
# A list of the logical IDs of the resources that AWS CloudFormation
|
200
|
+
# skips during the continue update rollback operation. You can specify
|
201
|
+
# only resources that are in the `UPDATE_FAILED` state because a
|
202
|
+
# rollback failed. You can't specify resources that are in the
|
203
|
+
# `UPDATE_FAILED` state for other reasons, for example, because an
|
204
|
+
# update was canceled. To check why a resource update failed, use the
|
205
|
+
# DescribeStackResources action, and view the resource status reason.
|
206
|
+
#
|
207
|
+
# Specify this property to skip rolling back resources that AWS
|
208
|
+
# CloudFormation can't successfully roll back. We recommend that you [
|
209
|
+
# troubleshoot][1] resources before skipping them. AWS CloudFormation
|
210
|
+
# sets the status of the specified resources to `UPDATE_COMPLETE` and
|
211
|
+
# continues to roll back the stack. After the rollback is complete, the
|
212
|
+
# state of the skipped resources will be inconsistent with the state of
|
213
|
+
# the resources in the stack template. Before performing another stack
|
214
|
+
# update, you must update the stack or resources to be consistent with
|
215
|
+
# each other. If you don't, subsequent stack updates might fail, and
|
216
|
+
# the stack will become unrecoverable.
|
217
|
+
#
|
218
|
+
# Specify the minimum number of resources required to successfully roll
|
219
|
+
# back your stack. For example, a failed resource update might cause
|
220
|
+
# dependent resources to fail. In this case, it might not be necessary
|
221
|
+
# to skip the dependent resources.
|
222
|
+
#
|
223
|
+
# To specify resources in a nested stack, use the following format:
|
224
|
+
# `NestedStackName.ResourceLogicalID`. You can specify a nested stack
|
225
|
+
# resource (the logical ID of an `AWS::CloudFormation::Stack` resource)
|
226
|
+
# only if it's in one of the following states: `DELETE_IN_PROGRESS`,
|
227
|
+
# `DELETE_COMPLETE`, or `DELETE_FAILED`.
|
228
|
+
#
|
229
|
+
#
|
230
|
+
#
|
231
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed
|
232
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
233
|
+
#
|
234
|
+
# @example Request syntax with placeholder values
|
235
|
+
# resp = client.continue_update_rollback({
|
236
|
+
# stack_name: "StackNameOrId", # required
|
237
|
+
# role_arn: "RoleARN",
|
238
|
+
# resources_to_skip: ["ResourceToSkip"],
|
239
|
+
# })
|
240
|
+
# @overload continue_update_rollback(params = {})
|
241
|
+
# @param [Hash] params ({})
|
242
|
+
def continue_update_rollback(params = {}, options = {})
|
243
|
+
req = build_request(:continue_update_rollback, params)
|
244
|
+
req.send_request(options)
|
245
|
+
end
|
246
|
+
|
247
|
+
# Creates a list of changes for a stack. AWS CloudFormation generates
|
248
|
+
# the change set by comparing the template's information with the
|
249
|
+
# information that you submit. A change set can help you understand
|
250
|
+
# which resources AWS CloudFormation will change, and how it will change
|
251
|
+
# them, before you update your stack. Change sets allow you to check
|
252
|
+
# before making a change to avoid deleting or replacing critical
|
253
|
+
# resources.
|
254
|
+
#
|
255
|
+
# AWS CloudFormation doesn't make any changes to the stack when you
|
256
|
+
# create a change set. To make the specified changes, you must execute
|
257
|
+
# the change set by using the ExecuteChangeSet action.
|
258
|
+
#
|
259
|
+
# After the call successfully completes, AWS CloudFormation starts
|
260
|
+
# creating the change set. To check the status of the change set, use
|
261
|
+
# the DescribeChangeSet action.
|
262
|
+
# @option params [required, String] :stack_name
|
263
|
+
# The name or the unique ID of the stack for which you are creating a
|
264
|
+
# change set. AWS CloudFormation generates the change set by comparing
|
265
|
+
# this stack's information with the information that you submit, such
|
266
|
+
# as a modified template or different parameter input values.
|
267
|
+
# @option params [String] :template_body
|
268
|
+
# A structure that contains the body of the revised template, with a
|
269
|
+
# minimum length of 1 byte and a maximum length of 51,200 bytes. AWS
|
270
|
+
# CloudFormation generates the change set by comparing this template
|
271
|
+
# with the template of the stack that you specified.
|
272
|
+
#
|
273
|
+
# Conditional: You must specify only `TemplateBody` or `TemplateURL`.
|
274
|
+
# @option params [String] :template_url
|
275
|
+
# The location of the file that contains the revised template. The URL
|
276
|
+
# must point to a template (max size: 460,800 bytes) that is located in
|
277
|
+
# an S3 bucket. AWS CloudFormation generates the change set by comparing
|
278
|
+
# this template with the stack that you specified.
|
279
|
+
#
|
280
|
+
# Conditional: You must specify only `TemplateBody` or `TemplateURL`.
|
281
|
+
# @option params [Boolean] :use_previous_template
|
282
|
+
# Whether to reuse the template that is associated with the stack to
|
283
|
+
# create the change set.
|
284
|
+
# @option params [Array<Types::Parameter>] :parameters
|
285
|
+
# A list of `Parameter` structures that specify input parameters for the
|
286
|
+
# change set. For more information, see the [Parameter][1] data type.
|
287
|
+
#
|
288
|
+
#
|
289
|
+
#
|
290
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
|
291
|
+
# @option params [Array<String>] :capabilities
|
292
|
+
# A list of values that you must specify before AWS CloudFormation can
|
293
|
+
# update certain stacks. Some stack templates might include resources
|
294
|
+
# that can affect permissions in your AWS account, for example, by
|
295
|
+
# creating new AWS Identity and Access Management (IAM) users. For those
|
296
|
+
# stacks, you must explicitly acknowledge their capabilities by
|
297
|
+
# specifying this parameter.
|
298
|
+
#
|
299
|
+
# The only valid values are `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`.
|
300
|
+
# The following resources require you to specify this parameter: [
|
301
|
+
# AWS::IAM::AccessKey][1], [ AWS::IAM::Group][2], [
|
302
|
+
# AWS::IAM::InstanceProfile][3], [ AWS::IAM::Policy][4], [
|
303
|
+
# AWS::IAM::Role][5], [ AWS::IAM::User][6], and [
|
304
|
+
# AWS::IAM::UserToGroupAddition][7]. If your stack template contains
|
305
|
+
# these resources, we recommend that you review all permissions
|
306
|
+
# associated with them and edit their permissions if necessary.
|
307
|
+
#
|
308
|
+
# If you have IAM resources, you can specify either capability. If you
|
309
|
+
# have IAM resources with custom names, you must specify
|
310
|
+
# `CAPABILITY_NAMED_IAM`. If you don't specify this parameter, this
|
311
|
+
# action returns an `InsufficientCapabilities` error.
|
312
|
+
#
|
313
|
+
# For more information, see [Acknowledging IAM Resources in AWS
|
314
|
+
# CloudFormation Templates][8].
|
315
|
+
#
|
316
|
+
#
|
317
|
+
#
|
318
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
|
319
|
+
# [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html
|
320
|
+
# [3]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html
|
321
|
+
# [4]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html
|
322
|
+
# [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
|
323
|
+
# [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
|
324
|
+
# [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
|
325
|
+
# [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
|
326
|
+
# @option params [Array<String>] :resource_types
|
327
|
+
# The template resource types that you have permissions to work with if
|
328
|
+
# you execute this change set, such as `AWS::EC2::Instance`,
|
329
|
+
# `AWS::EC2::*`, or `Custom::MyCustomInstance`.
|
330
|
+
#
|
331
|
+
# If the list of resource types doesn't include a resource type that
|
332
|
+
# you're updating, the stack update fails. By default, AWS
|
333
|
+
# CloudFormation grants permissions to all resource types. AWS Identity
|
334
|
+
# and Access Management (IAM) uses this parameter for condition keys in
|
335
|
+
# IAM policies for AWS CloudFormation. For more information, see
|
336
|
+
# [Controlling Access with AWS Identity and Access Management][1] in the
|
337
|
+
# AWS CloudFormation User Guide.
|
338
|
+
#
|
339
|
+
#
|
340
|
+
#
|
341
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html
|
342
|
+
# @option params [String] :role_arn
|
343
|
+
# The Amazon Resource Name (ARN) of an AWS Identity and Access
|
344
|
+
# Management (IAM) role that AWS CloudFormation assumes when executing
|
345
|
+
# the change set. AWS CloudFormation uses the role's credentials to
|
346
|
+
# make calls on your behalf. AWS CloudFormation uses this role for all
|
347
|
+
# future operations on the stack. As long as users have permission to
|
348
|
+
# operate on the stack, AWS CloudFormation uses this role even if the
|
349
|
+
# users don't have permission to pass it. Ensure that the role grants
|
350
|
+
# least privilege.
|
351
|
+
#
|
352
|
+
# If you don't specify a value, AWS CloudFormation uses the role that
|
353
|
+
# was previously associated with the stack. If no role is available, AWS
|
354
|
+
# CloudFormation uses a temporary session that is generated from your
|
355
|
+
# user credentials.
|
356
|
+
# @option params [Array<String>] :notification_arns
|
357
|
+
# The Amazon Resource Names (ARNs) of Amazon Simple Notification Service
|
358
|
+
# (Amazon SNS) topics that AWS CloudFormation associates with the stack.
|
359
|
+
# To remove all associated notification topics, specify an empty list.
|
360
|
+
# @option params [Array<Types::Tag>] :tags
|
361
|
+
# Key-value pairs to associate with this stack. AWS CloudFormation also
|
362
|
+
# propagates these tags to resources in the stack. You can specify a
|
363
|
+
# maximum of 10 tags.
|
364
|
+
# @option params [required, String] :change_set_name
|
365
|
+
# The name of the change set. The name must be unique among all change
|
366
|
+
# sets that are associated with the specified stack.
|
367
|
+
#
|
368
|
+
# A change set name can contain only alphanumeric, case sensitive
|
369
|
+
# characters and hyphens. It must start with an alphabetic character and
|
370
|
+
# cannot exceed 128 characters.
|
371
|
+
# @option params [String] :client_token
|
372
|
+
# A unique identifier for this `CreateChangeSet` request. Specify this
|
373
|
+
# token if you plan to retry requests so that AWS CloudFormation knows
|
374
|
+
# that you're not attempting to create another change set with the same
|
375
|
+
# name. You might retry `CreateChangeSet` requests to ensure that AWS
|
376
|
+
# CloudFormation successfully received them.
|
377
|
+
# @option params [String] :description
|
378
|
+
# A description to help you identify this change set.
|
379
|
+
# @option params [String] :change_set_type
|
380
|
+
# The type of change set operation. To create a change set for a new
|
381
|
+
# stack, specify `CREATE`. To create a change set for an existing stack,
|
382
|
+
# specify `UPDATE`.
|
383
|
+
#
|
384
|
+
# If you create a change set for a new stack, AWS Cloudformation creates
|
385
|
+
# a stack with a unique stack ID, but no template or resources. The
|
386
|
+
# stack will be in the [ `REVIEW_IN_PROGRESS` ][1] state until you
|
387
|
+
# execute the change set.
|
388
|
+
#
|
389
|
+
# By default, AWS CloudFormation specifies `UPDATE`. You can't use the
|
390
|
+
# `UPDATE` type to create a change set for a new stack or the `CREATE`
|
391
|
+
# type to create a change set for an existing stack.
|
392
|
+
#
|
393
|
+
#
|
394
|
+
#
|
395
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html#d0e11995
|
396
|
+
# @return [Types::CreateChangeSetOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
397
|
+
#
|
398
|
+
# * {Types::CreateChangeSetOutput#id #Id} => String
|
399
|
+
# * {Types::CreateChangeSetOutput#stack_id #StackId} => String
|
400
|
+
#
|
401
|
+
# @example Request syntax with placeholder values
|
402
|
+
# resp = client.create_change_set({
|
403
|
+
# stack_name: "StackNameOrId", # required
|
404
|
+
# template_body: "TemplateBody",
|
405
|
+
# template_url: "TemplateURL",
|
406
|
+
# use_previous_template: false,
|
407
|
+
# parameters: [
|
408
|
+
# {
|
409
|
+
# parameter_key: "ParameterKey",
|
410
|
+
# parameter_value: "ParameterValue",
|
411
|
+
# use_previous_value: false,
|
412
|
+
# },
|
413
|
+
# ],
|
414
|
+
# capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
|
415
|
+
# resource_types: ["ResourceType"],
|
416
|
+
# role_arn: "RoleARN",
|
417
|
+
# notification_arns: ["NotificationARN"],
|
418
|
+
# tags: [
|
419
|
+
# {
|
420
|
+
# key: "TagKey",
|
421
|
+
# value: "TagValue",
|
422
|
+
# },
|
423
|
+
# ],
|
424
|
+
# change_set_name: "ChangeSetName", # required
|
425
|
+
# client_token: "ClientToken",
|
426
|
+
# description: "Description",
|
427
|
+
# change_set_type: "CREATE", # accepts CREATE, UPDATE
|
428
|
+
# })
|
429
|
+
#
|
430
|
+
# @example Response structure
|
431
|
+
# resp.id #=> String
|
432
|
+
# resp.stack_id #=> String
|
433
|
+
# @overload create_change_set(params = {})
|
434
|
+
# @param [Hash] params ({})
|
435
|
+
def create_change_set(params = {}, options = {})
|
436
|
+
req = build_request(:create_change_set, params)
|
437
|
+
req.send_request(options)
|
438
|
+
end
|
439
|
+
|
440
|
+
# Creates a stack as specified in the template. After the call completes
|
441
|
+
# successfully, the stack creation starts. You can check the status of
|
442
|
+
# the stack via the DescribeStacks API.
|
443
|
+
# @option params [required, String] :stack_name
|
444
|
+
# The name that is associated with the stack. The name must be unique in
|
445
|
+
# the region in which you are creating the stack.
|
446
|
+
#
|
447
|
+
# <note markdown="1"> A stack name can contain only alphanumeric characters (case sensitive)
|
448
|
+
# and hyphens. It must start with an alphabetic character and cannot be
|
449
|
+
# longer than 128 characters.
|
450
|
+
#
|
451
|
+
# </note>
|
452
|
+
# @option params [String] :template_body
|
453
|
+
# Structure containing the template body with a minimum length of 1 byte
|
454
|
+
# and a maximum length of 51,200 bytes. For more information, go to
|
455
|
+
# [Template Anatomy][1] in the AWS CloudFormation User Guide.
|
456
|
+
#
|
457
|
+
# Conditional: You must specify either the `TemplateBody` or the
|
458
|
+
# `TemplateURL` parameter, but not both.
|
459
|
+
#
|
460
|
+
#
|
461
|
+
#
|
462
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
463
|
+
# @option params [String] :template_url
|
464
|
+
# Location of file containing the template body. The URL must point to a
|
465
|
+
# template (max size: 460,800 bytes) that is located in an Amazon S3
|
466
|
+
# bucket. For more information, go to the [Template Anatomy][1] in the
|
467
|
+
# AWS CloudFormation User Guide.
|
468
|
+
#
|
469
|
+
# Conditional: You must specify either the `TemplateBody` or the
|
470
|
+
# `TemplateURL` parameter, but not both.
|
471
|
+
#
|
472
|
+
#
|
473
|
+
#
|
474
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
475
|
+
# @option params [Array<Types::Parameter>] :parameters
|
476
|
+
# A list of `Parameter` structures that specify input parameters for the
|
477
|
+
# stack. For more information, see the [Parameter][1] data type.
|
478
|
+
#
|
479
|
+
#
|
480
|
+
#
|
481
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
|
482
|
+
# @option params [Boolean] :disable_rollback
|
483
|
+
# Set to `true` to disable rollback of the stack if stack creation
|
484
|
+
# failed. You can specify either `DisableRollback` or `OnFailure`, but
|
485
|
+
# not both.
|
486
|
+
#
|
487
|
+
# Default: `false`
|
488
|
+
# @option params [Integer] :timeout_in_minutes
|
489
|
+
# The amount of time that can pass before the stack status becomes
|
490
|
+
# CREATE\_FAILED; if `DisableRollback` is not set or is set to `false`,
|
491
|
+
# the stack will be rolled back.
|
492
|
+
# @option params [Array<String>] :notification_arns
|
493
|
+
# The Simple Notification Service (SNS) topic ARNs to publish stack
|
494
|
+
# related events. You can find your SNS topic ARNs using the [SNS
|
495
|
+
# console][1] or your Command Line Interface (CLI).
|
496
|
+
#
|
497
|
+
#
|
498
|
+
#
|
499
|
+
# [1]: https://console.aws.amazon.com/sns
|
500
|
+
# @option params [Array<String>] :capabilities
|
501
|
+
# A list of values that you must specify before AWS CloudFormation can
|
502
|
+
# create certain stacks. Some stack templates might include resources
|
503
|
+
# that can affect permissions in your AWS account, for example, by
|
504
|
+
# creating new AWS Identity and Access Management (IAM) users. For those
|
505
|
+
# stacks, you must explicitly acknowledge their capabilities by
|
506
|
+
# specifying this parameter.
|
507
|
+
#
|
508
|
+
# The only valid values are `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`.
|
509
|
+
# The following resources require you to specify this parameter: [
|
510
|
+
# AWS::IAM::AccessKey][1], [ AWS::IAM::Group][2], [
|
511
|
+
# AWS::IAM::InstanceProfile][3], [ AWS::IAM::Policy][4], [
|
512
|
+
# AWS::IAM::Role][5], [ AWS::IAM::User][6], and [
|
513
|
+
# AWS::IAM::UserToGroupAddition][7]. If your stack template contains
|
514
|
+
# these resources, we recommend that you review all permissions
|
515
|
+
# associated with them and edit their permissions if necessary.
|
516
|
+
#
|
517
|
+
# If you have IAM resources, you can specify either capability. If you
|
518
|
+
# have IAM resources with custom names, you must specify
|
519
|
+
# `CAPABILITY_NAMED_IAM`. If you don't specify this parameter, this
|
520
|
+
# action returns an `InsufficientCapabilities` error.
|
521
|
+
#
|
522
|
+
# For more information, see [Acknowledging IAM Resources in AWS
|
523
|
+
# CloudFormation Templates][8].
|
524
|
+
#
|
525
|
+
#
|
526
|
+
#
|
527
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
|
528
|
+
# [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html
|
529
|
+
# [3]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html
|
530
|
+
# [4]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html
|
531
|
+
# [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
|
532
|
+
# [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
|
533
|
+
# [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
|
534
|
+
# [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
|
535
|
+
# @option params [Array<String>] :resource_types
|
536
|
+
# The template resource types that you have permissions to work with for
|
537
|
+
# this create stack action, such as `AWS::EC2::Instance`, `AWS::EC2::*`,
|
538
|
+
# or `Custom::MyCustomInstance`. Use the following syntax to describe
|
539
|
+
# template resource types: `AWS::*` (for all AWS resource), `Custom::*`
|
540
|
+
# (for all custom resources), `Custom::logical_ID ` (for a specific
|
541
|
+
# custom resource), `AWS::service_name::*` (for all resources of a
|
542
|
+
# particular AWS service), and `AWS::service_name::resource_logical_ID `
|
543
|
+
# (for a specific AWS resource).
|
544
|
+
#
|
545
|
+
# If the list of resource types doesn't include a resource that you're
|
546
|
+
# creating, the stack creation fails. By default, AWS CloudFormation
|
547
|
+
# grants permissions to all resource types. AWS Identity and Access
|
548
|
+
# Management (IAM) uses this parameter for AWS CloudFormation-specific
|
549
|
+
# condition keys in IAM policies. For more information, see [Controlling
|
550
|
+
# Access with AWS Identity and Access Management][1].
|
551
|
+
#
|
552
|
+
#
|
553
|
+
#
|
554
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html
|
555
|
+
# @option params [String] :role_arn
|
556
|
+
# The Amazon Resource Name (ARN) of an AWS Identity and Access
|
557
|
+
# Management (IAM) role that AWS CloudFormation assumes to create the
|
558
|
+
# stack. AWS CloudFormation uses the role's credentials to make calls
|
559
|
+
# on your behalf. AWS CloudFormation always uses this role for all
|
560
|
+
# future operations on the stack. As long as users have permission to
|
561
|
+
# operate on the stack, AWS CloudFormation uses this role even if the
|
562
|
+
# users don't have permission to pass it. Ensure that the role grants
|
563
|
+
# least privilege.
|
564
|
+
#
|
565
|
+
# If you don't specify a value, AWS CloudFormation uses the role that
|
566
|
+
# was previously associated with the stack. If no role is available, AWS
|
567
|
+
# CloudFormation uses a temporary session that is generated from your
|
568
|
+
# user credentials.
|
569
|
+
# @option params [String] :on_failure
|
570
|
+
# Determines what action will be taken if stack creation fails. This
|
571
|
+
# must be one of: DO\_NOTHING, ROLLBACK, or DELETE. You can specify
|
572
|
+
# either `OnFailure` or `DisableRollback`, but not both.
|
573
|
+
#
|
574
|
+
# Default: `ROLLBACK`
|
575
|
+
# @option params [String] :stack_policy_body
|
576
|
+
# Structure containing the stack policy body. For more information, go
|
577
|
+
# to [ Prevent Updates to Stack Resources][1] in the *AWS CloudFormation
|
578
|
+
# User Guide*. You can specify either the `StackPolicyBody` or the
|
579
|
+
# `StackPolicyURL` parameter, but not both.
|
580
|
+
#
|
581
|
+
#
|
582
|
+
#
|
583
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html
|
584
|
+
# @option params [String] :stack_policy_url
|
585
|
+
# Location of a file containing the stack policy. The URL must point to
|
586
|
+
# a policy (maximum size: 16 KB) located in an S3 bucket in the same
|
587
|
+
# region as the stack. You can specify either the `StackPolicyBody` or
|
588
|
+
# the `StackPolicyURL` parameter, but not both.
|
589
|
+
# @option params [Array<Types::Tag>] :tags
|
590
|
+
# Key-value pairs to associate with this stack. AWS CloudFormation also
|
591
|
+
# propagates these tags to the resources created in the stack. A maximum
|
592
|
+
# number of 10 tags can be specified.
|
593
|
+
# @return [Types::CreateStackOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
594
|
+
#
|
595
|
+
# * {Types::CreateStackOutput#stack_id #StackId} => String
|
596
|
+
#
|
597
|
+
# @example Request syntax with placeholder values
|
598
|
+
# resp = client.create_stack({
|
599
|
+
# stack_name: "StackName", # required
|
600
|
+
# template_body: "TemplateBody",
|
601
|
+
# template_url: "TemplateURL",
|
602
|
+
# parameters: [
|
603
|
+
# {
|
604
|
+
# parameter_key: "ParameterKey",
|
605
|
+
# parameter_value: "ParameterValue",
|
606
|
+
# use_previous_value: false,
|
607
|
+
# },
|
608
|
+
# ],
|
609
|
+
# disable_rollback: false,
|
610
|
+
# timeout_in_minutes: 1,
|
611
|
+
# notification_arns: ["NotificationARN"],
|
612
|
+
# capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
|
613
|
+
# resource_types: ["ResourceType"],
|
614
|
+
# role_arn: "RoleARN",
|
615
|
+
# on_failure: "DO_NOTHING", # accepts DO_NOTHING, ROLLBACK, DELETE
|
616
|
+
# stack_policy_body: "StackPolicyBody",
|
617
|
+
# stack_policy_url: "StackPolicyURL",
|
618
|
+
# tags: [
|
619
|
+
# {
|
620
|
+
# key: "TagKey",
|
621
|
+
# value: "TagValue",
|
622
|
+
# },
|
623
|
+
# ],
|
624
|
+
# })
|
625
|
+
#
|
626
|
+
# @example Response structure
|
627
|
+
# resp.stack_id #=> String
|
628
|
+
# @overload create_stack(params = {})
|
629
|
+
# @param [Hash] params ({})
|
630
|
+
def create_stack(params = {}, options = {})
|
631
|
+
req = build_request(:create_stack, params)
|
632
|
+
req.send_request(options)
|
633
|
+
end
|
634
|
+
|
635
|
+
# Deletes the specified change set. Deleting change sets ensures that no
|
636
|
+
# one executes the wrong change set.
|
637
|
+
#
|
638
|
+
# If the call successfully completes, AWS CloudFormation successfully
|
639
|
+
# deleted the change set.
|
640
|
+
# @option params [required, String] :change_set_name
|
641
|
+
# The name or Amazon Resource Name (ARN) of the change set that you want
|
642
|
+
# to delete.
|
643
|
+
# @option params [String] :stack_name
|
644
|
+
# If you specified the name of a change set to delete, specify the stack
|
645
|
+
# name or ID (ARN) that is associated with it.
|
646
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
647
|
+
#
|
648
|
+
# @example Request syntax with placeholder values
|
649
|
+
# resp = client.delete_change_set({
|
650
|
+
# change_set_name: "ChangeSetNameOrId", # required
|
651
|
+
# stack_name: "StackNameOrId",
|
652
|
+
# })
|
653
|
+
# @overload delete_change_set(params = {})
|
654
|
+
# @param [Hash] params ({})
|
655
|
+
def delete_change_set(params = {}, options = {})
|
656
|
+
req = build_request(:delete_change_set, params)
|
657
|
+
req.send_request(options)
|
658
|
+
end
|
659
|
+
|
660
|
+
# Deletes a specified stack. Once the call completes successfully, stack
|
661
|
+
# deletion starts. Deleted stacks do not show up in the DescribeStacks
|
662
|
+
# API if the deletion has been completed successfully.
|
663
|
+
# @option params [required, String] :stack_name
|
664
|
+
# The name or the unique stack ID that is associated with the stack.
|
665
|
+
# @option params [Array<String>] :retain_resources
|
666
|
+
# For stacks in the `DELETE_FAILED` state, a list of resource logical
|
667
|
+
# IDs that are associated with the resources you want to retain. During
|
668
|
+
# deletion, AWS CloudFormation deletes the stack but does not delete the
|
669
|
+
# retained resources.
|
670
|
+
#
|
671
|
+
# Retaining resources is useful when you cannot delete a resource, such
|
672
|
+
# as a non-empty S3 bucket, but you want to delete the stack.
|
673
|
+
# @option params [String] :role_arn
|
674
|
+
# The Amazon Resource Name (ARN) of an AWS Identity and Access
|
675
|
+
# Management (IAM) role that AWS CloudFormation assumes to delete the
|
676
|
+
# stack. AWS CloudFormation uses the role's credentials to make calls
|
677
|
+
# on your behalf.
|
678
|
+
#
|
679
|
+
# If you don't specify a value, AWS CloudFormation uses the role that
|
680
|
+
# was previously associated with the stack. If no role is available, AWS
|
681
|
+
# CloudFormation uses a temporary session that is generated from your
|
682
|
+
# user credentials.
|
683
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
684
|
+
#
|
685
|
+
# @example Request syntax with placeholder values
|
686
|
+
# resp = client.delete_stack({
|
687
|
+
# stack_name: "StackName", # required
|
688
|
+
# retain_resources: ["LogicalResourceId"],
|
689
|
+
# role_arn: "RoleARN",
|
690
|
+
# })
|
691
|
+
# @overload delete_stack(params = {})
|
692
|
+
# @param [Hash] params ({})
|
693
|
+
def delete_stack(params = {}, options = {})
|
694
|
+
req = build_request(:delete_stack, params)
|
695
|
+
req.send_request(options)
|
696
|
+
end
|
697
|
+
|
698
|
+
# Retrieves your account's AWS CloudFormation limits, such as the
|
699
|
+
# maximum number of stacks that you can create in your account.
|
700
|
+
# @option params [String] :next_token
|
701
|
+
# A string that identifies the next page of limits that you want to
|
702
|
+
# retrieve.
|
703
|
+
# @return [Types::DescribeAccountLimitsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
704
|
+
#
|
705
|
+
# * {Types::DescribeAccountLimitsOutput#account_limits #AccountLimits} => Array<Types::AccountLimit>
|
706
|
+
# * {Types::DescribeAccountLimitsOutput#next_token #NextToken} => String
|
707
|
+
#
|
708
|
+
# @example Request syntax with placeholder values
|
709
|
+
# resp = client.describe_account_limits({
|
710
|
+
# next_token: "NextToken",
|
711
|
+
# })
|
712
|
+
#
|
713
|
+
# @example Response structure
|
714
|
+
# resp.account_limits #=> Array
|
715
|
+
# resp.account_limits[0].name #=> String
|
716
|
+
# resp.account_limits[0].value #=> Integer
|
717
|
+
# resp.next_token #=> String
|
718
|
+
# @overload describe_account_limits(params = {})
|
719
|
+
# @param [Hash] params ({})
|
720
|
+
def describe_account_limits(params = {}, options = {})
|
721
|
+
req = build_request(:describe_account_limits, params)
|
722
|
+
req.send_request(options)
|
723
|
+
end
|
724
|
+
|
725
|
+
# Returns the inputs for the change set and a list of changes that AWS
|
726
|
+
# CloudFormation will make if you execute the change set. For more
|
727
|
+
# information, see [Updating Stacks Using Change Sets][1] in the AWS
|
728
|
+
# CloudFormation User Guide.
|
729
|
+
#
|
730
|
+
#
|
731
|
+
#
|
732
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html
|
733
|
+
# @option params [required, String] :change_set_name
|
734
|
+
# The name or Amazon Resource Name (ARN) of the change set that you want
|
735
|
+
# to describe.
|
736
|
+
# @option params [String] :stack_name
|
737
|
+
# If you specified the name of a change set, specify the stack name or
|
738
|
+
# ID (ARN) of the change set you want to describe.
|
739
|
+
# @option params [String] :next_token
|
740
|
+
# A string (provided by the DescribeChangeSet response output) that
|
741
|
+
# identifies the next page of information that you want to retrieve.
|
742
|
+
# @return [Types::DescribeChangeSetOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
743
|
+
#
|
744
|
+
# * {Types::DescribeChangeSetOutput#change_set_name #ChangeSetName} => String
|
745
|
+
# * {Types::DescribeChangeSetOutput#change_set_id #ChangeSetId} => String
|
746
|
+
# * {Types::DescribeChangeSetOutput#stack_id #StackId} => String
|
747
|
+
# * {Types::DescribeChangeSetOutput#stack_name #StackName} => String
|
748
|
+
# * {Types::DescribeChangeSetOutput#description #Description} => String
|
749
|
+
# * {Types::DescribeChangeSetOutput#parameters #Parameters} => Array<Types::Parameter>
|
750
|
+
# * {Types::DescribeChangeSetOutput#creation_time #CreationTime} => Time
|
751
|
+
# * {Types::DescribeChangeSetOutput#execution_status #ExecutionStatus} => String
|
752
|
+
# * {Types::DescribeChangeSetOutput#status #Status} => String
|
753
|
+
# * {Types::DescribeChangeSetOutput#status_reason #StatusReason} => String
|
754
|
+
# * {Types::DescribeChangeSetOutput#notification_arns #NotificationARNs} => Array<String>
|
755
|
+
# * {Types::DescribeChangeSetOutput#capabilities #Capabilities} => Array<String>
|
756
|
+
# * {Types::DescribeChangeSetOutput#tags #Tags} => Array<Types::Tag>
|
757
|
+
# * {Types::DescribeChangeSetOutput#changes #Changes} => Array<Types::Change>
|
758
|
+
# * {Types::DescribeChangeSetOutput#next_token #NextToken} => String
|
759
|
+
#
|
760
|
+
# @example Request syntax with placeholder values
|
761
|
+
# resp = client.describe_change_set({
|
762
|
+
# change_set_name: "ChangeSetNameOrId", # required
|
763
|
+
# stack_name: "StackNameOrId",
|
764
|
+
# next_token: "NextToken",
|
765
|
+
# })
|
766
|
+
#
|
767
|
+
# @example Response structure
|
768
|
+
# resp.change_set_name #=> String
|
769
|
+
# resp.change_set_id #=> String
|
770
|
+
# resp.stack_id #=> String
|
771
|
+
# resp.stack_name #=> String
|
772
|
+
# resp.description #=> String
|
773
|
+
# resp.parameters #=> Array
|
774
|
+
# resp.parameters[0].parameter_key #=> String
|
775
|
+
# resp.parameters[0].parameter_value #=> String
|
776
|
+
# resp.parameters[0].use_previous_value #=> Boolean
|
777
|
+
# resp.creation_time #=> Time
|
778
|
+
# resp.execution_status #=> String, one of "UNAVAILABLE", "AVAILABLE", "EXECUTE_IN_PROGRESS", "EXECUTE_COMPLETE", "EXECUTE_FAILED", "OBSOLETE"
|
779
|
+
# resp.status #=> String, one of "CREATE_PENDING", "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_COMPLETE", "FAILED"
|
780
|
+
# resp.status_reason #=> String
|
781
|
+
# resp.notification_arns #=> Array
|
782
|
+
# resp.notification_arns[0] #=> String
|
783
|
+
# resp.capabilities #=> Array
|
784
|
+
# resp.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"
|
785
|
+
# resp.tags #=> Array
|
786
|
+
# resp.tags[0].key #=> String
|
787
|
+
# resp.tags[0].value #=> String
|
788
|
+
# resp.changes #=> Array
|
789
|
+
# resp.changes[0].type #=> String, one of "Resource"
|
790
|
+
# resp.changes[0].resource_change.action #=> String, one of "Add", "Modify", "Remove"
|
791
|
+
# resp.changes[0].resource_change.logical_resource_id #=> String
|
792
|
+
# resp.changes[0].resource_change.physical_resource_id #=> String
|
793
|
+
# resp.changes[0].resource_change.resource_type #=> String
|
794
|
+
# resp.changes[0].resource_change.replacement #=> String, one of "True", "False", "Conditional"
|
795
|
+
# resp.changes[0].resource_change.scope #=> Array
|
796
|
+
# resp.changes[0].resource_change.scope[0] #=> String, one of "Properties", "Metadata", "CreationPolicy", "UpdatePolicy", "DeletionPolicy", "Tags"
|
797
|
+
# resp.changes[0].resource_change.details #=> Array
|
798
|
+
# resp.changes[0].resource_change.details[0].target.attribute #=> String, one of "Properties", "Metadata", "CreationPolicy", "UpdatePolicy", "DeletionPolicy", "Tags"
|
799
|
+
# resp.changes[0].resource_change.details[0].target.name #=> String
|
800
|
+
# resp.changes[0].resource_change.details[0].target.requires_recreation #=> String, one of "Never", "Conditionally", "Always"
|
801
|
+
# resp.changes[0].resource_change.details[0].evaluation #=> String, one of "Static", "Dynamic"
|
802
|
+
# resp.changes[0].resource_change.details[0].change_source #=> String, one of "ResourceReference", "ParameterReference", "ResourceAttribute", "DirectModification", "Automatic"
|
803
|
+
# resp.changes[0].resource_change.details[0].causing_entity #=> String
|
804
|
+
# resp.next_token #=> String
|
805
|
+
# @overload describe_change_set(params = {})
|
806
|
+
# @param [Hash] params ({})
|
807
|
+
def describe_change_set(params = {}, options = {})
|
808
|
+
req = build_request(:describe_change_set, params)
|
809
|
+
req.send_request(options)
|
810
|
+
end
|
811
|
+
|
812
|
+
# Returns all stack related events for a specified stack in reverse
|
813
|
+
# chronological order. For more information about a stack's event
|
814
|
+
# history, go to [Stacks][1] in the AWS CloudFormation User Guide.
|
815
|
+
#
|
816
|
+
# <note markdown="1"> You can list events for stacks that have failed to create or have been
|
817
|
+
# deleted by specifying the unique stack identifier (stack ID).
|
818
|
+
#
|
819
|
+
# </note>
|
820
|
+
#
|
821
|
+
#
|
822
|
+
#
|
823
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/concept-stack.html
|
824
|
+
# @option params [String] :stack_name
|
825
|
+
# The name or the unique stack ID that is associated with the stack,
|
826
|
+
# which are not always interchangeable:
|
827
|
+
#
|
828
|
+
# * Running stacks: You can specify either the stack's name or its
|
829
|
+
# unique stack ID.
|
830
|
+
#
|
831
|
+
# * Deleted stacks: You must specify the unique stack ID.
|
832
|
+
#
|
833
|
+
# Default: There is no default value.
|
834
|
+
# @option params [String] :next_token
|
835
|
+
# A string that identifies the next page of events that you want to
|
836
|
+
# retrieve.
|
837
|
+
# @return [Types::DescribeStackEventsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
838
|
+
#
|
839
|
+
# * {Types::DescribeStackEventsOutput#stack_events #StackEvents} => Array<Types::StackEvent>
|
840
|
+
# * {Types::DescribeStackEventsOutput#next_token #NextToken} => String
|
841
|
+
#
|
842
|
+
# @example Request syntax with placeholder values
|
843
|
+
# resp = client.describe_stack_events({
|
844
|
+
# stack_name: "StackName",
|
845
|
+
# next_token: "NextToken",
|
846
|
+
# })
|
847
|
+
#
|
848
|
+
# @example Response structure
|
849
|
+
# resp.stack_events #=> Array
|
850
|
+
# resp.stack_events[0].stack_id #=> String
|
851
|
+
# resp.stack_events[0].event_id #=> String
|
852
|
+
# resp.stack_events[0].stack_name #=> String
|
853
|
+
# resp.stack_events[0].logical_resource_id #=> String
|
854
|
+
# resp.stack_events[0].physical_resource_id #=> String
|
855
|
+
# resp.stack_events[0].resource_type #=> String
|
856
|
+
# resp.stack_events[0].timestamp #=> Time
|
857
|
+
# resp.stack_events[0].resource_status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "DELETE_SKIPPED", "UPDATE_IN_PROGRESS", "UPDATE_FAILED", "UPDATE_COMPLETE"
|
858
|
+
# resp.stack_events[0].resource_status_reason #=> String
|
859
|
+
# resp.stack_events[0].resource_properties #=> String
|
860
|
+
# resp.next_token #=> String
|
861
|
+
# @overload describe_stack_events(params = {})
|
862
|
+
# @param [Hash] params ({})
|
863
|
+
def describe_stack_events(params = {}, options = {})
|
864
|
+
req = build_request(:describe_stack_events, params)
|
865
|
+
req.send_request(options)
|
866
|
+
end
|
867
|
+
|
868
|
+
# Returns a description of the specified resource in the specified
|
869
|
+
# stack.
|
870
|
+
#
|
871
|
+
# For deleted stacks, DescribeStackResource returns resource information
|
872
|
+
# for up to 90 days after the stack has been deleted.
|
873
|
+
# @option params [required, String] :stack_name
|
874
|
+
# The name or the unique stack ID that is associated with the stack,
|
875
|
+
# which are not always interchangeable:
|
876
|
+
#
|
877
|
+
# * Running stacks: You can specify either the stack's name or its
|
878
|
+
# unique stack ID.
|
879
|
+
#
|
880
|
+
# * Deleted stacks: You must specify the unique stack ID.
|
881
|
+
#
|
882
|
+
# Default: There is no default value.
|
883
|
+
# @option params [required, String] :logical_resource_id
|
884
|
+
# The logical name of the resource as specified in the template.
|
885
|
+
#
|
886
|
+
# Default: There is no default value.
|
887
|
+
# @return [Types::DescribeStackResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
888
|
+
#
|
889
|
+
# * {Types::DescribeStackResourceOutput#stack_resource_detail #StackResourceDetail} => Types::StackResourceDetail
|
890
|
+
#
|
891
|
+
# @example Request syntax with placeholder values
|
892
|
+
# resp = client.describe_stack_resource({
|
893
|
+
# stack_name: "StackName", # required
|
894
|
+
# logical_resource_id: "LogicalResourceId", # required
|
895
|
+
# })
|
896
|
+
#
|
897
|
+
# @example Response structure
|
898
|
+
# resp.stack_resource_detail.stack_name #=> String
|
899
|
+
# resp.stack_resource_detail.stack_id #=> String
|
900
|
+
# resp.stack_resource_detail.logical_resource_id #=> String
|
901
|
+
# resp.stack_resource_detail.physical_resource_id #=> String
|
902
|
+
# resp.stack_resource_detail.resource_type #=> String
|
903
|
+
# resp.stack_resource_detail.last_updated_timestamp #=> Time
|
904
|
+
# resp.stack_resource_detail.resource_status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "DELETE_SKIPPED", "UPDATE_IN_PROGRESS", "UPDATE_FAILED", "UPDATE_COMPLETE"
|
905
|
+
# resp.stack_resource_detail.resource_status_reason #=> String
|
906
|
+
# resp.stack_resource_detail.description #=> String
|
907
|
+
# resp.stack_resource_detail.metadata #=> String
|
908
|
+
# @overload describe_stack_resource(params = {})
|
909
|
+
# @param [Hash] params ({})
|
910
|
+
def describe_stack_resource(params = {}, options = {})
|
911
|
+
req = build_request(:describe_stack_resource, params)
|
912
|
+
req.send_request(options)
|
913
|
+
end
|
914
|
+
|
915
|
+
# Returns AWS resource descriptions for running and deleted stacks. If
|
916
|
+
# `StackName` is specified, all the associated resources that are part
|
917
|
+
# of the stack are returned. If `PhysicalResourceId` is specified, the
|
918
|
+
# associated resources of the stack that the resource belongs to are
|
919
|
+
# returned.
|
920
|
+
#
|
921
|
+
# <note markdown="1"> Only the first 100 resources will be returned. If your stack has more
|
922
|
+
# resources than this, you should use `ListStackResources` instead.
|
923
|
+
#
|
924
|
+
# </note>
|
925
|
+
#
|
926
|
+
# For deleted stacks, `DescribeStackResources` returns resource
|
927
|
+
# information for up to 90 days after the stack has been deleted.
|
928
|
+
#
|
929
|
+
# You must specify either `StackName` or `PhysicalResourceId`, but not
|
930
|
+
# both. In addition, you can specify `LogicalResourceId` to filter the
|
931
|
+
# returned result. For more information about resources, the
|
932
|
+
# `LogicalResourceId` and `PhysicalResourceId`, go to the [AWS
|
933
|
+
# CloudFormation User Guide][1].
|
934
|
+
#
|
935
|
+
# <note markdown="1"> A `ValidationError` is returned if you specify both `StackName` and
|
936
|
+
# `PhysicalResourceId` in the same request.
|
937
|
+
#
|
938
|
+
# </note>
|
939
|
+
#
|
940
|
+
#
|
941
|
+
#
|
942
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/
|
943
|
+
# @option params [String] :stack_name
|
944
|
+
# The name or the unique stack ID that is associated with the stack,
|
945
|
+
# which are not always interchangeable:
|
946
|
+
#
|
947
|
+
# * Running stacks: You can specify either the stack's name or its
|
948
|
+
# unique stack ID.
|
949
|
+
#
|
950
|
+
# * Deleted stacks: You must specify the unique stack ID.
|
951
|
+
#
|
952
|
+
# Default: There is no default value.
|
953
|
+
#
|
954
|
+
# Required: Conditional. If you do not specify `StackName`, you must
|
955
|
+
# specify `PhysicalResourceId`.
|
956
|
+
# @option params [String] :logical_resource_id
|
957
|
+
# The logical name of the resource as specified in the template.
|
958
|
+
#
|
959
|
+
# Default: There is no default value.
|
960
|
+
# @option params [String] :physical_resource_id
|
961
|
+
# The name or unique identifier that corresponds to a physical instance
|
962
|
+
# ID of a resource supported by AWS CloudFormation.
|
963
|
+
#
|
964
|
+
# For example, for an Amazon Elastic Compute Cloud (EC2) instance,
|
965
|
+
# `PhysicalResourceId` corresponds to the `InstanceId`. You can pass the
|
966
|
+
# EC2 `InstanceId` to `DescribeStackResources` to find which stack the
|
967
|
+
# instance belongs to and what other resources are part of the stack.
|
968
|
+
#
|
969
|
+
# Required: Conditional. If you do not specify `PhysicalResourceId`, you
|
970
|
+
# must specify `StackName`.
|
971
|
+
#
|
972
|
+
# Default: There is no default value.
|
973
|
+
# @return [Types::DescribeStackResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
974
|
+
#
|
975
|
+
# * {Types::DescribeStackResourcesOutput#stack_resources #StackResources} => Array<Types::StackResource>
|
976
|
+
#
|
977
|
+
# @example Request syntax with placeholder values
|
978
|
+
# resp = client.describe_stack_resources({
|
979
|
+
# stack_name: "StackName",
|
980
|
+
# logical_resource_id: "LogicalResourceId",
|
981
|
+
# physical_resource_id: "PhysicalResourceId",
|
982
|
+
# })
|
983
|
+
#
|
984
|
+
# @example Response structure
|
985
|
+
# resp.stack_resources #=> Array
|
986
|
+
# resp.stack_resources[0].stack_name #=> String
|
987
|
+
# resp.stack_resources[0].stack_id #=> String
|
988
|
+
# resp.stack_resources[0].logical_resource_id #=> String
|
989
|
+
# resp.stack_resources[0].physical_resource_id #=> String
|
990
|
+
# resp.stack_resources[0].resource_type #=> String
|
991
|
+
# resp.stack_resources[0].timestamp #=> Time
|
992
|
+
# resp.stack_resources[0].resource_status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "DELETE_SKIPPED", "UPDATE_IN_PROGRESS", "UPDATE_FAILED", "UPDATE_COMPLETE"
|
993
|
+
# resp.stack_resources[0].resource_status_reason #=> String
|
994
|
+
# resp.stack_resources[0].description #=> String
|
995
|
+
# @overload describe_stack_resources(params = {})
|
996
|
+
# @param [Hash] params ({})
|
997
|
+
def describe_stack_resources(params = {}, options = {})
|
998
|
+
req = build_request(:describe_stack_resources, params)
|
999
|
+
req.send_request(options)
|
1000
|
+
end
|
1001
|
+
|
1002
|
+
# Returns the description for the specified stack; if no stack name was
|
1003
|
+
# specified, then it returns the description for all the stacks created.
|
1004
|
+
#
|
1005
|
+
# <note markdown="1"> If the stack does not exist, an `AmazonCloudFormationException` is
|
1006
|
+
# returned.
|
1007
|
+
#
|
1008
|
+
# </note>
|
1009
|
+
# @option params [String] :stack_name
|
1010
|
+
# The name or the unique stack ID that is associated with the stack,
|
1011
|
+
# which are not always interchangeable:
|
1012
|
+
#
|
1013
|
+
# * Running stacks: You can specify either the stack's name or its
|
1014
|
+
# unique stack ID.
|
1015
|
+
#
|
1016
|
+
# * Deleted stacks: You must specify the unique stack ID.
|
1017
|
+
#
|
1018
|
+
# Default: There is no default value.
|
1019
|
+
# @option params [String] :next_token
|
1020
|
+
# A string that identifies the next page of stacks that you want to
|
1021
|
+
# retrieve.
|
1022
|
+
# @return [Types::DescribeStacksOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1023
|
+
#
|
1024
|
+
# * {Types::DescribeStacksOutput#stacks #Stacks} => Array<Types::Stack>
|
1025
|
+
# * {Types::DescribeStacksOutput#next_token #NextToken} => String
|
1026
|
+
#
|
1027
|
+
# @example Request syntax with placeholder values
|
1028
|
+
# resp = client.describe_stacks({
|
1029
|
+
# stack_name: "StackName",
|
1030
|
+
# next_token: "NextToken",
|
1031
|
+
# })
|
1032
|
+
#
|
1033
|
+
# @example Response structure
|
1034
|
+
# resp.stacks #=> Array
|
1035
|
+
# resp.stacks[0].stack_id #=> String
|
1036
|
+
# resp.stacks[0].stack_name #=> String
|
1037
|
+
# resp.stacks[0].change_set_id #=> String
|
1038
|
+
# resp.stacks[0].description #=> String
|
1039
|
+
# resp.stacks[0].parameters #=> Array
|
1040
|
+
# resp.stacks[0].parameters[0].parameter_key #=> String
|
1041
|
+
# resp.stacks[0].parameters[0].parameter_value #=> String
|
1042
|
+
# resp.stacks[0].parameters[0].use_previous_value #=> Boolean
|
1043
|
+
# resp.stacks[0].creation_time #=> Time
|
1044
|
+
# resp.stacks[0].last_updated_time #=> Time
|
1045
|
+
# resp.stacks[0].stack_status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "ROLLBACK_IN_PROGRESS", "ROLLBACK_FAILED", "ROLLBACK_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "UPDATE_IN_PROGRESS", "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS", "UPDATE_COMPLETE", "UPDATE_ROLLBACK_IN_PROGRESS", "UPDATE_ROLLBACK_FAILED", "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", "UPDATE_ROLLBACK_COMPLETE", "REVIEW_IN_PROGRESS"
|
1046
|
+
# resp.stacks[0].stack_status_reason #=> String
|
1047
|
+
# resp.stacks[0].disable_rollback #=> Boolean
|
1048
|
+
# resp.stacks[0].notification_arns #=> Array
|
1049
|
+
# resp.stacks[0].notification_arns[0] #=> String
|
1050
|
+
# resp.stacks[0].timeout_in_minutes #=> Integer
|
1051
|
+
# resp.stacks[0].capabilities #=> Array
|
1052
|
+
# resp.stacks[0].capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"
|
1053
|
+
# resp.stacks[0].outputs #=> Array
|
1054
|
+
# resp.stacks[0].outputs[0].output_key #=> String
|
1055
|
+
# resp.stacks[0].outputs[0].output_value #=> String
|
1056
|
+
# resp.stacks[0].outputs[0].description #=> String
|
1057
|
+
# resp.stacks[0].role_arn #=> String
|
1058
|
+
# resp.stacks[0].tags #=> Array
|
1059
|
+
# resp.stacks[0].tags[0].key #=> String
|
1060
|
+
# resp.stacks[0].tags[0].value #=> String
|
1061
|
+
# resp.next_token #=> String
|
1062
|
+
# @overload describe_stacks(params = {})
|
1063
|
+
# @param [Hash] params ({})
|
1064
|
+
def describe_stacks(params = {}, options = {})
|
1065
|
+
req = build_request(:describe_stacks, params)
|
1066
|
+
req.send_request(options)
|
1067
|
+
end
|
1068
|
+
|
1069
|
+
# Returns the estimated monthly cost of a template. The return value is
|
1070
|
+
# an AWS Simple Monthly Calculator URL with a query string that
|
1071
|
+
# describes the resources required to run the template.
|
1072
|
+
# @option params [String] :template_body
|
1073
|
+
# Structure containing the template body with a minimum length of 1 byte
|
1074
|
+
# and a maximum length of 51,200 bytes. (For more information, go to
|
1075
|
+
# [Template Anatomy][1] in the AWS CloudFormation User Guide.)
|
1076
|
+
#
|
1077
|
+
# Conditional: You must pass `TemplateBody` or `TemplateURL`. If both
|
1078
|
+
# are passed, only `TemplateBody` is used.
|
1079
|
+
#
|
1080
|
+
#
|
1081
|
+
#
|
1082
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
1083
|
+
# @option params [String] :template_url
|
1084
|
+
# Location of file containing the template body. The URL must point to a
|
1085
|
+
# template that is located in an Amazon S3 bucket. For more information,
|
1086
|
+
# go to [Template Anatomy][1] in the AWS CloudFormation User Guide.
|
1087
|
+
#
|
1088
|
+
# Conditional: You must pass `TemplateURL` or `TemplateBody`. If both
|
1089
|
+
# are passed, only `TemplateBody` is used.
|
1090
|
+
#
|
1091
|
+
#
|
1092
|
+
#
|
1093
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
1094
|
+
# @option params [Array<Types::Parameter>] :parameters
|
1095
|
+
# A list of `Parameter` structures that specify input parameters.
|
1096
|
+
# @return [Types::EstimateTemplateCostOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1097
|
+
#
|
1098
|
+
# * {Types::EstimateTemplateCostOutput#url #Url} => String
|
1099
|
+
#
|
1100
|
+
# @example Request syntax with placeholder values
|
1101
|
+
# resp = client.estimate_template_cost({
|
1102
|
+
# template_body: "TemplateBody",
|
1103
|
+
# template_url: "TemplateURL",
|
1104
|
+
# parameters: [
|
1105
|
+
# {
|
1106
|
+
# parameter_key: "ParameterKey",
|
1107
|
+
# parameter_value: "ParameterValue",
|
1108
|
+
# use_previous_value: false,
|
1109
|
+
# },
|
1110
|
+
# ],
|
1111
|
+
# })
|
1112
|
+
#
|
1113
|
+
# @example Response structure
|
1114
|
+
# resp.url #=> String
|
1115
|
+
# @overload estimate_template_cost(params = {})
|
1116
|
+
# @param [Hash] params ({})
|
1117
|
+
def estimate_template_cost(params = {}, options = {})
|
1118
|
+
req = build_request(:estimate_template_cost, params)
|
1119
|
+
req.send_request(options)
|
1120
|
+
end
|
1121
|
+
|
1122
|
+
# Updates a stack using the input information that was provided when the
|
1123
|
+
# specified change set was created. After the call successfully
|
1124
|
+
# completes, AWS CloudFormation starts updating the stack. Use the
|
1125
|
+
# DescribeStacks action to view the status of the update.
|
1126
|
+
#
|
1127
|
+
# When you execute a change set, AWS CloudFormation deletes all other
|
1128
|
+
# change sets associated with the stack because they aren't valid for
|
1129
|
+
# the updated stack.
|
1130
|
+
#
|
1131
|
+
# If a stack policy is associated with the stack, AWS CloudFormation
|
1132
|
+
# enforces the policy during the update. You can't specify a temporary
|
1133
|
+
# stack policy that overrides the current policy.
|
1134
|
+
# @option params [required, String] :change_set_name
|
1135
|
+
# The name or ARN of the change set that you want use to update the
|
1136
|
+
# specified stack.
|
1137
|
+
# @option params [String] :stack_name
|
1138
|
+
# If you specified the name of a change set, specify the stack name or
|
1139
|
+
# ID (ARN) that is associated with the change set you want to execute.
|
1140
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1141
|
+
#
|
1142
|
+
# @example Request syntax with placeholder values
|
1143
|
+
# resp = client.execute_change_set({
|
1144
|
+
# change_set_name: "ChangeSetNameOrId", # required
|
1145
|
+
# stack_name: "StackNameOrId",
|
1146
|
+
# })
|
1147
|
+
# @overload execute_change_set(params = {})
|
1148
|
+
# @param [Hash] params ({})
|
1149
|
+
def execute_change_set(params = {}, options = {})
|
1150
|
+
req = build_request(:execute_change_set, params)
|
1151
|
+
req.send_request(options)
|
1152
|
+
end
|
1153
|
+
|
1154
|
+
# Returns the stack policy for a specified stack. If a stack doesn't
|
1155
|
+
# have a policy, a null value is returned.
|
1156
|
+
# @option params [required, String] :stack_name
|
1157
|
+
# The name or unique stack ID that is associated with the stack whose
|
1158
|
+
# policy you want to get.
|
1159
|
+
# @return [Types::GetStackPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1160
|
+
#
|
1161
|
+
# * {Types::GetStackPolicyOutput#stack_policy_body #StackPolicyBody} => String
|
1162
|
+
#
|
1163
|
+
# @example Request syntax with placeholder values
|
1164
|
+
# resp = client.get_stack_policy({
|
1165
|
+
# stack_name: "StackName", # required
|
1166
|
+
# })
|
1167
|
+
#
|
1168
|
+
# @example Response structure
|
1169
|
+
# resp.stack_policy_body #=> String
|
1170
|
+
# @overload get_stack_policy(params = {})
|
1171
|
+
# @param [Hash] params ({})
|
1172
|
+
def get_stack_policy(params = {}, options = {})
|
1173
|
+
req = build_request(:get_stack_policy, params)
|
1174
|
+
req.send_request(options)
|
1175
|
+
end
|
1176
|
+
|
1177
|
+
# Returns the template body for a specified stack. You can get the
|
1178
|
+
# template for running or deleted stacks.
|
1179
|
+
#
|
1180
|
+
# For deleted stacks, GetTemplate returns the template for up to 90 days
|
1181
|
+
# after the stack has been deleted.
|
1182
|
+
#
|
1183
|
+
# <note markdown="1"> If the template does not exist, a `ValidationError` is returned.
|
1184
|
+
#
|
1185
|
+
# </note>
|
1186
|
+
# @option params [String] :stack_name
|
1187
|
+
# The name or the unique stack ID that is associated with the stack,
|
1188
|
+
# which are not always interchangeable:
|
1189
|
+
#
|
1190
|
+
# * Running stacks: You can specify either the stack's name or its
|
1191
|
+
# unique stack ID.
|
1192
|
+
#
|
1193
|
+
# * Deleted stacks: You must specify the unique stack ID.
|
1194
|
+
#
|
1195
|
+
# Default: There is no default value.
|
1196
|
+
# @option params [String] :change_set_name
|
1197
|
+
# The name or Amazon Resource Name (ARN) of a change set for which AWS
|
1198
|
+
# CloudFormation returns the associated template. If you specify a name,
|
1199
|
+
# you must also specify the `StackName`.
|
1200
|
+
# @option params [String] :template_stage
|
1201
|
+
# For templates that include transforms, the stage of the template that
|
1202
|
+
# AWS CloudFormation returns. To get the user-submitted template,
|
1203
|
+
# specify `Original`. To get the template after AWS CloudFormation has
|
1204
|
+
# processed all transforms, specify `Processed`.
|
1205
|
+
#
|
1206
|
+
# If the template doesn't include transforms, `Original` and
|
1207
|
+
# `Processed` return the same template. By default, AWS CloudFormation
|
1208
|
+
# specifies `Original`.
|
1209
|
+
# @return [Types::GetTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1210
|
+
#
|
1211
|
+
# * {Types::GetTemplateOutput#template_body #TemplateBody} => String
|
1212
|
+
# * {Types::GetTemplateOutput#stages_available #StagesAvailable} => Array<String>
|
1213
|
+
#
|
1214
|
+
# @example Request syntax with placeholder values
|
1215
|
+
# resp = client.get_template({
|
1216
|
+
# stack_name: "StackName",
|
1217
|
+
# change_set_name: "ChangeSetNameOrId",
|
1218
|
+
# template_stage: "Original", # accepts Original, Processed
|
1219
|
+
# })
|
1220
|
+
#
|
1221
|
+
# @example Response structure
|
1222
|
+
# resp.template_body #=> String
|
1223
|
+
# resp.stages_available #=> Array
|
1224
|
+
# resp.stages_available[0] #=> String, one of "Original", "Processed"
|
1225
|
+
# @overload get_template(params = {})
|
1226
|
+
# @param [Hash] params ({})
|
1227
|
+
def get_template(params = {}, options = {})
|
1228
|
+
req = build_request(:get_template, params)
|
1229
|
+
req.send_request(options)
|
1230
|
+
end
|
1231
|
+
|
1232
|
+
# Returns information about a new or existing template. The
|
1233
|
+
# `GetTemplateSummary` action is useful for viewing parameter
|
1234
|
+
# information, such as default parameter values and parameter types,
|
1235
|
+
# before you create or update a stack.
|
1236
|
+
#
|
1237
|
+
# You can use the `GetTemplateSummary` action when you submit a
|
1238
|
+
# template, or you can get template information for a running or deleted
|
1239
|
+
# stack.
|
1240
|
+
#
|
1241
|
+
# For deleted stacks, `GetTemplateSummary` returns the template
|
1242
|
+
# information for up to 90 days after the stack has been deleted. If the
|
1243
|
+
# template does not exist, a `ValidationError` is returned.
|
1244
|
+
# @option params [String] :template_body
|
1245
|
+
# Structure containing the template body with a minimum length of 1 byte
|
1246
|
+
# and a maximum length of 51,200 bytes. For more information about
|
1247
|
+
# templates, see [Template Anatomy][1] in the AWS CloudFormation User
|
1248
|
+
# Guide.
|
1249
|
+
#
|
1250
|
+
# Conditional: You must specify only one of the following parameters:
|
1251
|
+
# `StackName`, `TemplateBody`, or `TemplateURL`.
|
1252
|
+
#
|
1253
|
+
#
|
1254
|
+
#
|
1255
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
1256
|
+
# @option params [String] :template_url
|
1257
|
+
# Location of file containing the template body. The URL must point to a
|
1258
|
+
# template (max size: 460,800 bytes) that is located in an Amazon S3
|
1259
|
+
# bucket. For more information about templates, see [Template
|
1260
|
+
# Anatomy][1] in the AWS CloudFormation User Guide.
|
1261
|
+
#
|
1262
|
+
# Conditional: You must specify only one of the following parameters:
|
1263
|
+
# `StackName`, `TemplateBody`, or `TemplateURL`.
|
1264
|
+
#
|
1265
|
+
#
|
1266
|
+
#
|
1267
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
1268
|
+
# @option params [String] :stack_name
|
1269
|
+
# The name or the stack ID that is associated with the stack, which are
|
1270
|
+
# not always interchangeable. For running stacks, you can specify either
|
1271
|
+
# the stack's name or its unique stack ID. For deleted stack, you must
|
1272
|
+
# specify the unique stack ID.
|
1273
|
+
#
|
1274
|
+
# Conditional: You must specify only one of the following parameters:
|
1275
|
+
# `StackName`, `TemplateBody`, or `TemplateURL`.
|
1276
|
+
# @return [Types::GetTemplateSummaryOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1277
|
+
#
|
1278
|
+
# * {Types::GetTemplateSummaryOutput#parameters #Parameters} => Array<Types::ParameterDeclaration>
|
1279
|
+
# * {Types::GetTemplateSummaryOutput#description #Description} => String
|
1280
|
+
# * {Types::GetTemplateSummaryOutput#capabilities #Capabilities} => Array<String>
|
1281
|
+
# * {Types::GetTemplateSummaryOutput#capabilities_reason #CapabilitiesReason} => String
|
1282
|
+
# * {Types::GetTemplateSummaryOutput#resource_types #ResourceTypes} => Array<String>
|
1283
|
+
# * {Types::GetTemplateSummaryOutput#version #Version} => String
|
1284
|
+
# * {Types::GetTemplateSummaryOutput#metadata #Metadata} => String
|
1285
|
+
# * {Types::GetTemplateSummaryOutput#declared_transforms #DeclaredTransforms} => Array<String>
|
1286
|
+
#
|
1287
|
+
# @example Request syntax with placeholder values
|
1288
|
+
# resp = client.get_template_summary({
|
1289
|
+
# template_body: "TemplateBody",
|
1290
|
+
# template_url: "TemplateURL",
|
1291
|
+
# stack_name: "StackNameOrId",
|
1292
|
+
# })
|
1293
|
+
#
|
1294
|
+
# @example Response structure
|
1295
|
+
# resp.parameters #=> Array
|
1296
|
+
# resp.parameters[0].parameter_key #=> String
|
1297
|
+
# resp.parameters[0].default_value #=> String
|
1298
|
+
# resp.parameters[0].parameter_type #=> String
|
1299
|
+
# resp.parameters[0].no_echo #=> Boolean
|
1300
|
+
# resp.parameters[0].description #=> String
|
1301
|
+
# resp.parameters[0].parameter_constraints.allowed_values #=> Array
|
1302
|
+
# resp.parameters[0].parameter_constraints.allowed_values[0] #=> String
|
1303
|
+
# resp.description #=> String
|
1304
|
+
# resp.capabilities #=> Array
|
1305
|
+
# resp.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"
|
1306
|
+
# resp.capabilities_reason #=> String
|
1307
|
+
# resp.resource_types #=> Array
|
1308
|
+
# resp.resource_types[0] #=> String
|
1309
|
+
# resp.version #=> String
|
1310
|
+
# resp.metadata #=> String
|
1311
|
+
# resp.declared_transforms #=> Array
|
1312
|
+
# resp.declared_transforms[0] #=> String
|
1313
|
+
# @overload get_template_summary(params = {})
|
1314
|
+
# @param [Hash] params ({})
|
1315
|
+
def get_template_summary(params = {}, options = {})
|
1316
|
+
req = build_request(:get_template_summary, params)
|
1317
|
+
req.send_request(options)
|
1318
|
+
end
|
1319
|
+
|
1320
|
+
# Returns the ID and status of each active change set for a stack. For
|
1321
|
+
# example, AWS CloudFormation lists change sets that are in the
|
1322
|
+
# `CREATE_IN_PROGRESS` or `CREATE_PENDING` state.
|
1323
|
+
# @option params [required, String] :stack_name
|
1324
|
+
# The name or the Amazon Resource Name (ARN) of the stack for which you
|
1325
|
+
# want to list change sets.
|
1326
|
+
# @option params [String] :next_token
|
1327
|
+
# A string (provided by the ListChangeSets response output) that
|
1328
|
+
# identifies the next page of change sets that you want to retrieve.
|
1329
|
+
# @return [Types::ListChangeSetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1330
|
+
#
|
1331
|
+
# * {Types::ListChangeSetsOutput#summaries #Summaries} => Array<Types::ChangeSetSummary>
|
1332
|
+
# * {Types::ListChangeSetsOutput#next_token #NextToken} => String
|
1333
|
+
#
|
1334
|
+
# @example Request syntax with placeholder values
|
1335
|
+
# resp = client.list_change_sets({
|
1336
|
+
# stack_name: "StackNameOrId", # required
|
1337
|
+
# next_token: "NextToken",
|
1338
|
+
# })
|
1339
|
+
#
|
1340
|
+
# @example Response structure
|
1341
|
+
# resp.summaries #=> Array
|
1342
|
+
# resp.summaries[0].stack_id #=> String
|
1343
|
+
# resp.summaries[0].stack_name #=> String
|
1344
|
+
# resp.summaries[0].change_set_id #=> String
|
1345
|
+
# resp.summaries[0].change_set_name #=> String
|
1346
|
+
# resp.summaries[0].execution_status #=> String, one of "UNAVAILABLE", "AVAILABLE", "EXECUTE_IN_PROGRESS", "EXECUTE_COMPLETE", "EXECUTE_FAILED", "OBSOLETE"
|
1347
|
+
# resp.summaries[0].status #=> String, one of "CREATE_PENDING", "CREATE_IN_PROGRESS", "CREATE_COMPLETE", "DELETE_COMPLETE", "FAILED"
|
1348
|
+
# resp.summaries[0].status_reason #=> String
|
1349
|
+
# resp.summaries[0].creation_time #=> Time
|
1350
|
+
# resp.summaries[0].description #=> String
|
1351
|
+
# resp.next_token #=> String
|
1352
|
+
# @overload list_change_sets(params = {})
|
1353
|
+
# @param [Hash] params ({})
|
1354
|
+
def list_change_sets(params = {}, options = {})
|
1355
|
+
req = build_request(:list_change_sets, params)
|
1356
|
+
req.send_request(options)
|
1357
|
+
end
|
1358
|
+
|
1359
|
+
# Lists all exported output values in the account and region in which
|
1360
|
+
# you call this action. Use this action to see the exported output
|
1361
|
+
# values that you can import into other stacks. To import values, use
|
1362
|
+
# the [ `Fn::ImportValue` ][1] function.
|
1363
|
+
#
|
1364
|
+
# For more information, see [ AWS CloudFormation Export Stack Output
|
1365
|
+
# Values][2].
|
1366
|
+
#
|
1367
|
+
#
|
1368
|
+
#
|
1369
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html
|
1370
|
+
# [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-exports.html
|
1371
|
+
# @option params [String] :next_token
|
1372
|
+
# A string (provided by the ListExports response output) that identifies
|
1373
|
+
# the next page of exported output values that you asked to retrieve.
|
1374
|
+
# @return [Types::ListExportsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1375
|
+
#
|
1376
|
+
# * {Types::ListExportsOutput#exports #Exports} => Array<Types::Export>
|
1377
|
+
# * {Types::ListExportsOutput#next_token #NextToken} => String
|
1378
|
+
#
|
1379
|
+
# @example Request syntax with placeholder values
|
1380
|
+
# resp = client.list_exports({
|
1381
|
+
# next_token: "NextToken",
|
1382
|
+
# })
|
1383
|
+
#
|
1384
|
+
# @example Response structure
|
1385
|
+
# resp.exports #=> Array
|
1386
|
+
# resp.exports[0].exporting_stack_id #=> String
|
1387
|
+
# resp.exports[0].name #=> String
|
1388
|
+
# resp.exports[0].value #=> String
|
1389
|
+
# resp.next_token #=> String
|
1390
|
+
# @overload list_exports(params = {})
|
1391
|
+
# @param [Hash] params ({})
|
1392
|
+
def list_exports(params = {}, options = {})
|
1393
|
+
req = build_request(:list_exports, params)
|
1394
|
+
req.send_request(options)
|
1395
|
+
end
|
1396
|
+
|
1397
|
+
# Lists all stacks that are importing an exported output value. To
|
1398
|
+
# modify or remove an exported output value, first use this action to
|
1399
|
+
# see which stacks are using it. To see the exported output values in
|
1400
|
+
# your account, see ListExports.
|
1401
|
+
#
|
1402
|
+
# For more information about importing an exported output value, see the
|
1403
|
+
# [ `Fn::ImportValue` ][1] function.
|
1404
|
+
#
|
1405
|
+
#
|
1406
|
+
#
|
1407
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html
|
1408
|
+
# @option params [required, String] :export_name
|
1409
|
+
# The name of the exported output value. AWS CloudFormation returns the
|
1410
|
+
# stack names that are importing this value.
|
1411
|
+
# @option params [String] :next_token
|
1412
|
+
# A string (provided by the ListImports response output) that identifies
|
1413
|
+
# the next page of stacks that are importing the specified exported
|
1414
|
+
# output value.
|
1415
|
+
# @return [Types::ListImportsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1416
|
+
#
|
1417
|
+
# * {Types::ListImportsOutput#imports #Imports} => Array<String>
|
1418
|
+
# * {Types::ListImportsOutput#next_token #NextToken} => String
|
1419
|
+
#
|
1420
|
+
# @example Request syntax with placeholder values
|
1421
|
+
# resp = client.list_imports({
|
1422
|
+
# export_name: "ExportName", # required
|
1423
|
+
# next_token: "NextToken",
|
1424
|
+
# })
|
1425
|
+
#
|
1426
|
+
# @example Response structure
|
1427
|
+
# resp.imports #=> Array
|
1428
|
+
# resp.imports[0] #=> String
|
1429
|
+
# resp.next_token #=> String
|
1430
|
+
# @overload list_imports(params = {})
|
1431
|
+
# @param [Hash] params ({})
|
1432
|
+
def list_imports(params = {}, options = {})
|
1433
|
+
req = build_request(:list_imports, params)
|
1434
|
+
req.send_request(options)
|
1435
|
+
end
|
1436
|
+
|
1437
|
+
# Returns descriptions of all resources of the specified stack.
|
1438
|
+
#
|
1439
|
+
# For deleted stacks, ListStackResources returns resource information
|
1440
|
+
# for up to 90 days after the stack has been deleted.
|
1441
|
+
# @option params [required, String] :stack_name
|
1442
|
+
# The name or the unique stack ID that is associated with the stack,
|
1443
|
+
# which are not always interchangeable:
|
1444
|
+
#
|
1445
|
+
# * Running stacks: You can specify either the stack's name or its
|
1446
|
+
# unique stack ID.
|
1447
|
+
#
|
1448
|
+
# * Deleted stacks: You must specify the unique stack ID.
|
1449
|
+
#
|
1450
|
+
# Default: There is no default value.
|
1451
|
+
# @option params [String] :next_token
|
1452
|
+
# A string that identifies the next page of stack resources that you
|
1453
|
+
# want to retrieve.
|
1454
|
+
# @return [Types::ListStackResourcesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1455
|
+
#
|
1456
|
+
# * {Types::ListStackResourcesOutput#stack_resource_summaries #StackResourceSummaries} => Array<Types::StackResourceSummary>
|
1457
|
+
# * {Types::ListStackResourcesOutput#next_token #NextToken} => String
|
1458
|
+
#
|
1459
|
+
# @example Request syntax with placeholder values
|
1460
|
+
# resp = client.list_stack_resources({
|
1461
|
+
# stack_name: "StackName", # required
|
1462
|
+
# next_token: "NextToken",
|
1463
|
+
# })
|
1464
|
+
#
|
1465
|
+
# @example Response structure
|
1466
|
+
# resp.stack_resource_summaries #=> Array
|
1467
|
+
# resp.stack_resource_summaries[0].logical_resource_id #=> String
|
1468
|
+
# resp.stack_resource_summaries[0].physical_resource_id #=> String
|
1469
|
+
# resp.stack_resource_summaries[0].resource_type #=> String
|
1470
|
+
# resp.stack_resource_summaries[0].last_updated_timestamp #=> Time
|
1471
|
+
# resp.stack_resource_summaries[0].resource_status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "DELETE_SKIPPED", "UPDATE_IN_PROGRESS", "UPDATE_FAILED", "UPDATE_COMPLETE"
|
1472
|
+
# resp.stack_resource_summaries[0].resource_status_reason #=> String
|
1473
|
+
# resp.next_token #=> String
|
1474
|
+
# @overload list_stack_resources(params = {})
|
1475
|
+
# @param [Hash] params ({})
|
1476
|
+
def list_stack_resources(params = {}, options = {})
|
1477
|
+
req = build_request(:list_stack_resources, params)
|
1478
|
+
req.send_request(options)
|
1479
|
+
end
|
1480
|
+
|
1481
|
+
# Returns the summary information for stacks whose status matches the
|
1482
|
+
# specified StackStatusFilter. Summary information for stacks that have
|
1483
|
+
# been deleted is kept for 90 days after the stack is deleted. If no
|
1484
|
+
# StackStatusFilter is specified, summary information for all stacks is
|
1485
|
+
# returned (including existing stacks and stacks that have been
|
1486
|
+
# deleted).
|
1487
|
+
# @option params [String] :next_token
|
1488
|
+
# A string that identifies the next page of stacks that you want to
|
1489
|
+
# retrieve.
|
1490
|
+
# @option params [Array<String>] :stack_status_filter
|
1491
|
+
# Stack status to use as a filter. Specify one or more stack status
|
1492
|
+
# codes to list only stacks with the specified status codes. For a
|
1493
|
+
# complete list of stack status codes, see the `StackStatus` parameter
|
1494
|
+
# of the Stack data type.
|
1495
|
+
# @return [Types::ListStacksOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1496
|
+
#
|
1497
|
+
# * {Types::ListStacksOutput#stack_summaries #StackSummaries} => Array<Types::StackSummary>
|
1498
|
+
# * {Types::ListStacksOutput#next_token #NextToken} => String
|
1499
|
+
#
|
1500
|
+
# @example Request syntax with placeholder values
|
1501
|
+
# resp = client.list_stacks({
|
1502
|
+
# next_token: "NextToken",
|
1503
|
+
# stack_status_filter: ["CREATE_IN_PROGRESS"], # accepts CREATE_IN_PROGRESS, CREATE_FAILED, CREATE_COMPLETE, ROLLBACK_IN_PROGRESS, ROLLBACK_FAILED, ROLLBACK_COMPLETE, DELETE_IN_PROGRESS, DELETE_FAILED, DELETE_COMPLETE, UPDATE_IN_PROGRESS, UPDATE_COMPLETE_CLEANUP_IN_PROGRESS, UPDATE_COMPLETE, UPDATE_ROLLBACK_IN_PROGRESS, UPDATE_ROLLBACK_FAILED, UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS, UPDATE_ROLLBACK_COMPLETE, REVIEW_IN_PROGRESS
|
1504
|
+
# })
|
1505
|
+
#
|
1506
|
+
# @example Response structure
|
1507
|
+
# resp.stack_summaries #=> Array
|
1508
|
+
# resp.stack_summaries[0].stack_id #=> String
|
1509
|
+
# resp.stack_summaries[0].stack_name #=> String
|
1510
|
+
# resp.stack_summaries[0].template_description #=> String
|
1511
|
+
# resp.stack_summaries[0].creation_time #=> Time
|
1512
|
+
# resp.stack_summaries[0].last_updated_time #=> Time
|
1513
|
+
# resp.stack_summaries[0].deletion_time #=> Time
|
1514
|
+
# resp.stack_summaries[0].stack_status #=> String, one of "CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "ROLLBACK_IN_PROGRESS", "ROLLBACK_FAILED", "ROLLBACK_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "UPDATE_IN_PROGRESS", "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS", "UPDATE_COMPLETE", "UPDATE_ROLLBACK_IN_PROGRESS", "UPDATE_ROLLBACK_FAILED", "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", "UPDATE_ROLLBACK_COMPLETE", "REVIEW_IN_PROGRESS"
|
1515
|
+
# resp.stack_summaries[0].stack_status_reason #=> String
|
1516
|
+
# resp.next_token #=> String
|
1517
|
+
# @overload list_stacks(params = {})
|
1518
|
+
# @param [Hash] params ({})
|
1519
|
+
def list_stacks(params = {}, options = {})
|
1520
|
+
req = build_request(:list_stacks, params)
|
1521
|
+
req.send_request(options)
|
1522
|
+
end
|
1523
|
+
|
1524
|
+
# Sets a stack policy for a specified stack.
|
1525
|
+
# @option params [required, String] :stack_name
|
1526
|
+
# The name or unique stack ID that you want to associate a policy with.
|
1527
|
+
# @option params [String] :stack_policy_body
|
1528
|
+
# Structure containing the stack policy body. For more information, go
|
1529
|
+
# to [ Prevent Updates to Stack Resources][1] in the AWS CloudFormation
|
1530
|
+
# User Guide. You can specify either the `StackPolicyBody` or the
|
1531
|
+
# `StackPolicyURL` parameter, but not both.
|
1532
|
+
#
|
1533
|
+
#
|
1534
|
+
#
|
1535
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html
|
1536
|
+
# @option params [String] :stack_policy_url
|
1537
|
+
# Location of a file containing the stack policy. The URL must point to
|
1538
|
+
# a policy (maximum size: 16 KB) located in an S3 bucket in the same
|
1539
|
+
# region as the stack. You can specify either the `StackPolicyBody` or
|
1540
|
+
# the `StackPolicyURL` parameter, but not both.
|
1541
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1542
|
+
#
|
1543
|
+
# @example Request syntax with placeholder values
|
1544
|
+
# resp = client.set_stack_policy({
|
1545
|
+
# stack_name: "StackName", # required
|
1546
|
+
# stack_policy_body: "StackPolicyBody",
|
1547
|
+
# stack_policy_url: "StackPolicyURL",
|
1548
|
+
# })
|
1549
|
+
# @overload set_stack_policy(params = {})
|
1550
|
+
# @param [Hash] params ({})
|
1551
|
+
def set_stack_policy(params = {}, options = {})
|
1552
|
+
req = build_request(:set_stack_policy, params)
|
1553
|
+
req.send_request(options)
|
1554
|
+
end
|
1555
|
+
|
1556
|
+
# Sends a signal to the specified resource with a success or failure
|
1557
|
+
# status. You can use the SignalResource API in conjunction with a
|
1558
|
+
# creation policy or update policy. AWS CloudFormation doesn't proceed
|
1559
|
+
# with a stack creation or update until resources receive the required
|
1560
|
+
# number of signals or the timeout period is exceeded. The
|
1561
|
+
# SignalResource API is useful in cases where you want to send signals
|
1562
|
+
# from anywhere other than an Amazon EC2 instance.
|
1563
|
+
# @option params [required, String] :stack_name
|
1564
|
+
# The stack name or unique stack ID that includes the resource that you
|
1565
|
+
# want to signal.
|
1566
|
+
# @option params [required, String] :logical_resource_id
|
1567
|
+
# The logical ID of the resource that you want to signal. The logical ID
|
1568
|
+
# is the name of the resource that given in the template.
|
1569
|
+
# @option params [required, String] :unique_id
|
1570
|
+
# A unique ID of the signal. When you signal Amazon EC2 instances or
|
1571
|
+
# Auto Scaling groups, specify the instance ID that you are signaling as
|
1572
|
+
# the unique ID. If you send multiple signals to a single resource (such
|
1573
|
+
# as signaling a wait condition), each signal requires a different
|
1574
|
+
# unique ID.
|
1575
|
+
# @option params [required, String] :status
|
1576
|
+
# The status of the signal, which is either success or failure. A
|
1577
|
+
# failure signal causes AWS CloudFormation to immediately fail the stack
|
1578
|
+
# creation or update.
|
1579
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
1580
|
+
#
|
1581
|
+
# @example Request syntax with placeholder values
|
1582
|
+
# resp = client.signal_resource({
|
1583
|
+
# stack_name: "StackNameOrId", # required
|
1584
|
+
# logical_resource_id: "LogicalResourceId", # required
|
1585
|
+
# unique_id: "ResourceSignalUniqueId", # required
|
1586
|
+
# status: "SUCCESS", # required, accepts SUCCESS, FAILURE
|
1587
|
+
# })
|
1588
|
+
# @overload signal_resource(params = {})
|
1589
|
+
# @param [Hash] params ({})
|
1590
|
+
def signal_resource(params = {}, options = {})
|
1591
|
+
req = build_request(:signal_resource, params)
|
1592
|
+
req.send_request(options)
|
1593
|
+
end
|
1594
|
+
|
1595
|
+
# Updates a stack as specified in the template. After the call completes
|
1596
|
+
# successfully, the stack update starts. You can check the status of the
|
1597
|
+
# stack via the DescribeStacks action.
|
1598
|
+
#
|
1599
|
+
# To get a copy of the template for an existing stack, you can use the
|
1600
|
+
# GetTemplate action.
|
1601
|
+
#
|
1602
|
+
# For more information about creating an update template, updating a
|
1603
|
+
# stack, and monitoring the progress of the update, see [Updating a
|
1604
|
+
# Stack][1].
|
1605
|
+
#
|
1606
|
+
#
|
1607
|
+
#
|
1608
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html
|
1609
|
+
# @option params [required, String] :stack_name
|
1610
|
+
# The name or unique stack ID of the stack to update.
|
1611
|
+
# @option params [String] :template_body
|
1612
|
+
# Structure containing the template body with a minimum length of 1 byte
|
1613
|
+
# and a maximum length of 51,200 bytes. (For more information, go to
|
1614
|
+
# [Template Anatomy][1] in the AWS CloudFormation User Guide.)
|
1615
|
+
#
|
1616
|
+
# Conditional: You must specify either the `TemplateBody` or the
|
1617
|
+
# `TemplateURL` parameter, but not both.
|
1618
|
+
#
|
1619
|
+
#
|
1620
|
+
#
|
1621
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
1622
|
+
# @option params [String] :template_url
|
1623
|
+
# Location of file containing the template body. The URL must point to a
|
1624
|
+
# template that is located in an Amazon S3 bucket. For more information,
|
1625
|
+
# go to [Template Anatomy][1] in the AWS CloudFormation User Guide.
|
1626
|
+
#
|
1627
|
+
# Conditional: You must specify either the `TemplateBody` or the
|
1628
|
+
# `TemplateURL` parameter, but not both.
|
1629
|
+
#
|
1630
|
+
#
|
1631
|
+
#
|
1632
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
1633
|
+
# @option params [Boolean] :use_previous_template
|
1634
|
+
# Reuse the existing template that is associated with the stack that you
|
1635
|
+
# are updating.
|
1636
|
+
# @option params [String] :stack_policy_during_update_body
|
1637
|
+
# Structure containing the temporary overriding stack policy body. You
|
1638
|
+
# can specify either the `StackPolicyDuringUpdateBody` or the
|
1639
|
+
# `StackPolicyDuringUpdateURL` parameter, but not both.
|
1640
|
+
#
|
1641
|
+
# If you want to update protected resources, specify a temporary
|
1642
|
+
# overriding stack policy during this update. If you do not specify a
|
1643
|
+
# stack policy, the current policy that is associated with the stack
|
1644
|
+
# will be used.
|
1645
|
+
# @option params [String] :stack_policy_during_update_url
|
1646
|
+
# Location of a file containing the temporary overriding stack policy.
|
1647
|
+
# The URL must point to a policy (max size: 16KB) located in an S3
|
1648
|
+
# bucket in the same region as the stack. You can specify either the
|
1649
|
+
# `StackPolicyDuringUpdateBody` or the `StackPolicyDuringUpdateURL`
|
1650
|
+
# parameter, but not both.
|
1651
|
+
#
|
1652
|
+
# If you want to update protected resources, specify a temporary
|
1653
|
+
# overriding stack policy during this update. If you do not specify a
|
1654
|
+
# stack policy, the current policy that is associated with the stack
|
1655
|
+
# will be used.
|
1656
|
+
# @option params [Array<Types::Parameter>] :parameters
|
1657
|
+
# A list of `Parameter` structures that specify input parameters for the
|
1658
|
+
# stack. For more information, see the [Parameter][1] data type.
|
1659
|
+
#
|
1660
|
+
#
|
1661
|
+
#
|
1662
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
|
1663
|
+
# @option params [Array<String>] :capabilities
|
1664
|
+
# A list of values that you must specify before AWS CloudFormation can
|
1665
|
+
# update certain stacks. Some stack templates might include resources
|
1666
|
+
# that can affect permissions in your AWS account, for example, by
|
1667
|
+
# creating new AWS Identity and Access Management (IAM) users. For those
|
1668
|
+
# stacks, you must explicitly acknowledge their capabilities by
|
1669
|
+
# specifying this parameter.
|
1670
|
+
#
|
1671
|
+
# The only valid values are `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`.
|
1672
|
+
# The following resources require you to specify this parameter: [
|
1673
|
+
# AWS::IAM::AccessKey][1], [ AWS::IAM::Group][2], [
|
1674
|
+
# AWS::IAM::InstanceProfile][3], [ AWS::IAM::Policy][4], [
|
1675
|
+
# AWS::IAM::Role][5], [ AWS::IAM::User][6], and [
|
1676
|
+
# AWS::IAM::UserToGroupAddition][7]. If your stack template contains
|
1677
|
+
# these resources, we recommend that you review all permissions
|
1678
|
+
# associated with them and edit their permissions if necessary.
|
1679
|
+
#
|
1680
|
+
# If you have IAM resources, you can specify either capability. If you
|
1681
|
+
# have IAM resources with custom names, you must specify
|
1682
|
+
# `CAPABILITY_NAMED_IAM`. If you don't specify this parameter, this
|
1683
|
+
# action returns an `InsufficientCapabilities` error.
|
1684
|
+
#
|
1685
|
+
# For more information, see [Acknowledging IAM Resources in AWS
|
1686
|
+
# CloudFormation Templates][8].
|
1687
|
+
#
|
1688
|
+
#
|
1689
|
+
#
|
1690
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
|
1691
|
+
# [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html
|
1692
|
+
# [3]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html
|
1693
|
+
# [4]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html
|
1694
|
+
# [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
|
1695
|
+
# [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
|
1696
|
+
# [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
|
1697
|
+
# [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
|
1698
|
+
# @option params [Array<String>] :resource_types
|
1699
|
+
# The template resource types that you have permissions to work with for
|
1700
|
+
# this update stack action, such as `AWS::EC2::Instance`, `AWS::EC2::*`,
|
1701
|
+
# or `Custom::MyCustomInstance`.
|
1702
|
+
#
|
1703
|
+
# If the list of resource types doesn't include a resource that you're
|
1704
|
+
# updating, the stack update fails. By default, AWS CloudFormation
|
1705
|
+
# grants permissions to all resource types. AWS Identity and Access
|
1706
|
+
# Management (IAM) uses this parameter for AWS CloudFormation-specific
|
1707
|
+
# condition keys in IAM policies. For more information, see [Controlling
|
1708
|
+
# Access with AWS Identity and Access Management][1].
|
1709
|
+
#
|
1710
|
+
#
|
1711
|
+
#
|
1712
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html
|
1713
|
+
# @option params [String] :role_arn
|
1714
|
+
# The Amazon Resource Name (ARN) of an AWS Identity and Access
|
1715
|
+
# Management (IAM) role that AWS CloudFormation assumes to update the
|
1716
|
+
# stack. AWS CloudFormation uses the role's credentials to make calls
|
1717
|
+
# on your behalf. AWS CloudFormation always uses this role for all
|
1718
|
+
# future operations on the stack. As long as users have permission to
|
1719
|
+
# operate on the stack, AWS CloudFormation uses this role even if the
|
1720
|
+
# users don't have permission to pass it. Ensure that the role grants
|
1721
|
+
# least privilege.
|
1722
|
+
#
|
1723
|
+
# If you don't specify a value, AWS CloudFormation uses the role that
|
1724
|
+
# was previously associated with the stack. If no role is available, AWS
|
1725
|
+
# CloudFormation uses a temporary session that is generated from your
|
1726
|
+
# user credentials.
|
1727
|
+
# @option params [String] :stack_policy_body
|
1728
|
+
# Structure containing a new stack policy body. You can specify either
|
1729
|
+
# the `StackPolicyBody` or the `StackPolicyURL` parameter, but not both.
|
1730
|
+
#
|
1731
|
+
# You might update the stack policy, for example, in order to protect a
|
1732
|
+
# new resource that you created during a stack update. If you do not
|
1733
|
+
# specify a stack policy, the current policy that is associated with the
|
1734
|
+
# stack is unchanged.
|
1735
|
+
# @option params [String] :stack_policy_url
|
1736
|
+
# Location of a file containing the updated stack policy. The URL must
|
1737
|
+
# point to a policy (max size: 16KB) located in an S3 bucket in the same
|
1738
|
+
# region as the stack. You can specify either the `StackPolicyBody` or
|
1739
|
+
# the `StackPolicyURL` parameter, but not both.
|
1740
|
+
#
|
1741
|
+
# You might update the stack policy, for example, in order to protect a
|
1742
|
+
# new resource that you created during a stack update. If you do not
|
1743
|
+
# specify a stack policy, the current policy that is associated with the
|
1744
|
+
# stack is unchanged.
|
1745
|
+
# @option params [Array<String>] :notification_arns
|
1746
|
+
# Amazon Simple Notification Service topic Amazon Resource Names (ARNs)
|
1747
|
+
# that AWS CloudFormation associates with the stack. Specify an empty
|
1748
|
+
# list to remove all notification topics.
|
1749
|
+
# @option params [Array<Types::Tag>] :tags
|
1750
|
+
# Key-value pairs to associate with this stack. AWS CloudFormation also
|
1751
|
+
# propagates these tags to supported resources in the stack. You can
|
1752
|
+
# specify a maximum number of 10 tags.
|
1753
|
+
#
|
1754
|
+
# If you don't specify this parameter, AWS CloudFormation doesn't
|
1755
|
+
# modify the stack's tags. If you specify an empty value, AWS
|
1756
|
+
# CloudFormation removes all associated tags.
|
1757
|
+
# @return [Types::UpdateStackOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1758
|
+
#
|
1759
|
+
# * {Types::UpdateStackOutput#stack_id #StackId} => String
|
1760
|
+
#
|
1761
|
+
# @example Request syntax with placeholder values
|
1762
|
+
# resp = client.update_stack({
|
1763
|
+
# stack_name: "StackName", # required
|
1764
|
+
# template_body: "TemplateBody",
|
1765
|
+
# template_url: "TemplateURL",
|
1766
|
+
# use_previous_template: false,
|
1767
|
+
# stack_policy_during_update_body: "StackPolicyDuringUpdateBody",
|
1768
|
+
# stack_policy_during_update_url: "StackPolicyDuringUpdateURL",
|
1769
|
+
# parameters: [
|
1770
|
+
# {
|
1771
|
+
# parameter_key: "ParameterKey",
|
1772
|
+
# parameter_value: "ParameterValue",
|
1773
|
+
# use_previous_value: false,
|
1774
|
+
# },
|
1775
|
+
# ],
|
1776
|
+
# capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
|
1777
|
+
# resource_types: ["ResourceType"],
|
1778
|
+
# role_arn: "RoleARN",
|
1779
|
+
# stack_policy_body: "StackPolicyBody",
|
1780
|
+
# stack_policy_url: "StackPolicyURL",
|
1781
|
+
# notification_arns: ["NotificationARN"],
|
1782
|
+
# tags: [
|
1783
|
+
# {
|
1784
|
+
# key: "TagKey",
|
1785
|
+
# value: "TagValue",
|
1786
|
+
# },
|
1787
|
+
# ],
|
1788
|
+
# })
|
1789
|
+
#
|
1790
|
+
# @example Response structure
|
1791
|
+
# resp.stack_id #=> String
|
1792
|
+
# @overload update_stack(params = {})
|
1793
|
+
# @param [Hash] params ({})
|
1794
|
+
def update_stack(params = {}, options = {})
|
1795
|
+
req = build_request(:update_stack, params)
|
1796
|
+
req.send_request(options)
|
1797
|
+
end
|
1798
|
+
|
1799
|
+
# Validates a specified template. AWS CloudFormation first checks if the
|
1800
|
+
# template is valid JSON. If it isn't, AWS CloudFormation checks if the
|
1801
|
+
# template is valid YAML. If both these checks fail, AWS CloudFormation
|
1802
|
+
# returns a template validation error.
|
1803
|
+
# @option params [String] :template_body
|
1804
|
+
# Structure containing the template body with a minimum length of 1 byte
|
1805
|
+
# and a maximum length of 51,200 bytes. For more information, go to
|
1806
|
+
# [Template Anatomy][1] in the AWS CloudFormation User Guide.
|
1807
|
+
#
|
1808
|
+
# Conditional: You must pass `TemplateURL` or `TemplateBody`. If both
|
1809
|
+
# are passed, only `TemplateBody` is used.
|
1810
|
+
#
|
1811
|
+
#
|
1812
|
+
#
|
1813
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
1814
|
+
# @option params [String] :template_url
|
1815
|
+
# Location of file containing the template body. The URL must point to a
|
1816
|
+
# template (max size: 460,800 bytes) that is located in an Amazon S3
|
1817
|
+
# bucket. For more information, go to [Template Anatomy][1] in the AWS
|
1818
|
+
# CloudFormation User Guide.
|
1819
|
+
#
|
1820
|
+
# Conditional: You must pass `TemplateURL` or `TemplateBody`. If both
|
1821
|
+
# are passed, only `TemplateBody` is used.
|
1822
|
+
#
|
1823
|
+
#
|
1824
|
+
#
|
1825
|
+
# [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
|
1826
|
+
# @return [Types::ValidateTemplateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1827
|
+
#
|
1828
|
+
# * {Types::ValidateTemplateOutput#parameters #Parameters} => Array<Types::TemplateParameter>
|
1829
|
+
# * {Types::ValidateTemplateOutput#description #Description} => String
|
1830
|
+
# * {Types::ValidateTemplateOutput#capabilities #Capabilities} => Array<String>
|
1831
|
+
# * {Types::ValidateTemplateOutput#capabilities_reason #CapabilitiesReason} => String
|
1832
|
+
# * {Types::ValidateTemplateOutput#declared_transforms #DeclaredTransforms} => Array<String>
|
1833
|
+
#
|
1834
|
+
# @example Request syntax with placeholder values
|
1835
|
+
# resp = client.validate_template({
|
1836
|
+
# template_body: "TemplateBody",
|
1837
|
+
# template_url: "TemplateURL",
|
1838
|
+
# })
|
1839
|
+
#
|
1840
|
+
# @example Response structure
|
1841
|
+
# resp.parameters #=> Array
|
1842
|
+
# resp.parameters[0].parameter_key #=> String
|
1843
|
+
# resp.parameters[0].default_value #=> String
|
1844
|
+
# resp.parameters[0].no_echo #=> Boolean
|
1845
|
+
# resp.parameters[0].description #=> String
|
1846
|
+
# resp.description #=> String
|
1847
|
+
# resp.capabilities #=> Array
|
1848
|
+
# resp.capabilities[0] #=> String, one of "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"
|
1849
|
+
# resp.capabilities_reason #=> String
|
1850
|
+
# resp.declared_transforms #=> Array
|
1851
|
+
# resp.declared_transforms[0] #=> String
|
1852
|
+
# @overload validate_template(params = {})
|
1853
|
+
# @param [Hash] params ({})
|
1854
|
+
def validate_template(params = {}, options = {})
|
1855
|
+
req = build_request(:validate_template, params)
|
1856
|
+
req.send_request(options)
|
1857
|
+
end
|
1858
|
+
|
1859
|
+
# @!endgroup
|
1860
|
+
|
1861
|
+
# @param params ({})
|
1862
|
+
# @api private
|
1863
|
+
def build_request(operation_name, params = {})
|
1864
|
+
handlers = @handlers.for(operation_name)
|
1865
|
+
context = Seahorse::Client::RequestContext.new(
|
1866
|
+
operation_name: operation_name,
|
1867
|
+
operation: config.api.operation(operation_name),
|
1868
|
+
client: self,
|
1869
|
+
params: params,
|
1870
|
+
config: config)
|
1871
|
+
context[:gem_name] = 'aws-sdk-cloudformation'
|
1872
|
+
context[:gem_version] = '1.0.0.rc1'
|
1873
|
+
Seahorse::Client::Request.new(handlers, context)
|
1874
|
+
end
|
1875
|
+
|
1876
|
+
# Polls an API operation until a resource enters a desired state.
|
1877
|
+
#
|
1878
|
+
# ## Basic Usage
|
1879
|
+
#
|
1880
|
+
# A waiter will call an API operation until:
|
1881
|
+
#
|
1882
|
+
# * It is successful
|
1883
|
+
# * It enters a terminal state
|
1884
|
+
# * It makes the maximum number of attempts
|
1885
|
+
#
|
1886
|
+
# In between attempts, the waiter will sleep.
|
1887
|
+
#
|
1888
|
+
# # polls in a loop, sleeping between attempts
|
1889
|
+
# client.waiter_until(waiter_name, params)
|
1890
|
+
#
|
1891
|
+
# ## Configuration
|
1892
|
+
#
|
1893
|
+
# You can configure the maximum number of polling attempts, and the
|
1894
|
+
# delay (in seconds) between each polling attempt. You can pass
|
1895
|
+
# configuration as the final arguments hash.
|
1896
|
+
#
|
1897
|
+
# # poll for ~25 seconds
|
1898
|
+
# client.wait_until(waiter_name, params, {
|
1899
|
+
# max_attempts: 5,
|
1900
|
+
# delay: 5,
|
1901
|
+
# })
|
1902
|
+
#
|
1903
|
+
# ## Callbacks
|
1904
|
+
#
|
1905
|
+
# You can be notified before each polling attempt and before each
|
1906
|
+
# delay. If you throw `:success` or `:failure` from these callbacks,
|
1907
|
+
# it will terminate the waiter.
|
1908
|
+
#
|
1909
|
+
# started_at = Time.now
|
1910
|
+
# client.wait_until(waiter_name, params, {
|
1911
|
+
#
|
1912
|
+
# # disable max attempts
|
1913
|
+
# max_attempts: nil,
|
1914
|
+
#
|
1915
|
+
# # poll for 1 hour, instead of a number of attempts
|
1916
|
+
# before_wait: -> (attempts, response) do
|
1917
|
+
# throw :failure if Time.now - started_at > 3600
|
1918
|
+
# end
|
1919
|
+
# })
|
1920
|
+
#
|
1921
|
+
# ## Handling Errors
|
1922
|
+
#
|
1923
|
+
# When a waiter is unsuccessful, it will raise an error.
|
1924
|
+
# All of the failure errors extend from
|
1925
|
+
# {Aws::Waiters::Errors::WaiterFailed}.
|
1926
|
+
#
|
1927
|
+
# begin
|
1928
|
+
# client.wait_until(...)
|
1929
|
+
# rescue Aws::Waiters::Errors::WaiterFailed
|
1930
|
+
# # resource did not enter the desired state in time
|
1931
|
+
# end
|
1932
|
+
#
|
1933
|
+
# ## Valid Waiters
|
1934
|
+
#
|
1935
|
+
# The following table lists the valid waiter names, the operations they call,
|
1936
|
+
# and the default `:delay` and `:max_attempts` values.
|
1937
|
+
#
|
1938
|
+
# | waiter_name | params | :delay | :max_attempts |
|
1939
|
+
# | --------------------- | ------------------ | -------- | ------------- |
|
1940
|
+
# | stack_create_complete | {#describe_stacks} | 30 | 120 |
|
1941
|
+
# | stack_delete_complete | {#describe_stacks} | 30 | 120 |
|
1942
|
+
# | stack_exists | {#describe_stacks} | 5 | 20 |
|
1943
|
+
# | stack_update_complete | {#describe_stacks} | 30 | 120 |
|
1944
|
+
#
|
1945
|
+
# @raise [Errors::FailureStateError] Raised when the waiter terminates
|
1946
|
+
# because the waiter has entered a state that it will not transition
|
1947
|
+
# out of, preventing success.
|
1948
|
+
#
|
1949
|
+
# @raise [Errors::TooManyAttemptsError] Raised when the configured
|
1950
|
+
# maximum number of attempts have been made, and the waiter is not
|
1951
|
+
# yet successful.
|
1952
|
+
#
|
1953
|
+
# @raise [Errors::UnexpectedError] Raised when an error is encounted
|
1954
|
+
# while polling for a resource that is not expected.
|
1955
|
+
#
|
1956
|
+
# @raise [Errors::NoSuchWaiterError] Raised when you request to wait
|
1957
|
+
# for an unknown state.
|
1958
|
+
#
|
1959
|
+
# @return [Boolean] Returns `true` if the waiter was successful.
|
1960
|
+
# @param [Symbol] waiter_name
|
1961
|
+
# @param [Hash] params ({})
|
1962
|
+
# @param [Hash] options ({})
|
1963
|
+
# @option options [Integer] :max_attempts
|
1964
|
+
# @option options [Integer] :delay
|
1965
|
+
# @option options [Proc] :before_attempt
|
1966
|
+
# @option options [Proc] :before_wait
|
1967
|
+
def wait_until(waiter_name, params = {}, options = {})
|
1968
|
+
w = waiter(waiter_name, options)
|
1969
|
+
yield(w.waiter) if block_given? # deprecated
|
1970
|
+
w.wait(params)
|
1971
|
+
end
|
1972
|
+
|
1973
|
+
# @api private
|
1974
|
+
# @deprecated
|
1975
|
+
def waiter_names
|
1976
|
+
waiters.keys
|
1977
|
+
end
|
1978
|
+
|
1979
|
+
private
|
1980
|
+
|
1981
|
+
# @param [Symbol] waiter_name
|
1982
|
+
# @param [Hash] options ({})
|
1983
|
+
def waiter(waiter_name, options = {})
|
1984
|
+
waiter_class = waiters[waiter_name]
|
1985
|
+
if waiter_class
|
1986
|
+
waiter_class.new(options.merge(client: self))
|
1987
|
+
else
|
1988
|
+
raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
|
1989
|
+
end
|
1990
|
+
end
|
1991
|
+
|
1992
|
+
def waiters
|
1993
|
+
{
|
1994
|
+
stack_exists: Waiters::StackExists,
|
1995
|
+
stack_create_complete: Waiters::StackCreateComplete,
|
1996
|
+
stack_delete_complete: Waiters::StackDeleteComplete,
|
1997
|
+
stack_update_complete: Waiters::StackUpdateComplete
|
1998
|
+
}
|
1999
|
+
end
|
2000
|
+
|
2001
|
+
class << self
|
2002
|
+
|
2003
|
+
# @api private
|
2004
|
+
attr_reader :identifier
|
2005
|
+
|
2006
|
+
# @api private
|
2007
|
+
def errors_module
|
2008
|
+
Errors
|
2009
|
+
end
|
2010
|
+
|
2011
|
+
end
|
2012
|
+
end
|
2013
|
+
end
|
2014
|
+
end
|