aws-sdk-cloudformation 1.0.0.rc1 → 1.0.0.rc2

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