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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml 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