aws-sdk-cloudformation 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,188 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module CloudFormation
10
+ class StackResource
11
+
12
+ extend Aws::Deprecations
13
+
14
+ # @overload def initialize(stack_name, logical_id, options = {})
15
+ # @param [String] stack_name
16
+ # @param [String] logical_id
17
+ # @option options [Client] :client
18
+ # @overload def initialize(options = {})
19
+ # @option options [required, String] :stack_name
20
+ # @option options [required, String] :logical_id
21
+ # @option options [Client] :client
22
+ def initialize(*args)
23
+ options = Hash === args.last ? args.pop.dup : {}
24
+ @stack_name = extract_stack_name(args, options)
25
+ @logical_id = extract_logical_id(args, options)
26
+ @data = options.delete(:data)
27
+ @client = options.delete(:client) || Client.new(options)
28
+ end
29
+
30
+ # @!group Read-Only Attributes
31
+
32
+ # @return [String]
33
+ def stack_name
34
+ @stack_name
35
+ end
36
+
37
+ # @return [String]
38
+ def logical_id
39
+ @logical_id
40
+ end
41
+ alias :logical_resource_id :logical_id
42
+
43
+ # Unique identifier of the stack.
44
+ # @return [String]
45
+ def stack_id
46
+ data.stack_id
47
+ end
48
+
49
+ # The name or unique identifier that corresponds to a physical instance
50
+ # ID of a resource supported by AWS CloudFormation.
51
+ # @return [String]
52
+ def physical_resource_id
53
+ data.physical_resource_id
54
+ end
55
+
56
+ # Type of resource. ((For more information, go to [ AWS Resource Types
57
+ # Reference][1] in the AWS CloudFormation User Guide.)
58
+ #
59
+ #
60
+ #
61
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
62
+ # @return [String]
63
+ def resource_type
64
+ data.resource_type
65
+ end
66
+
67
+ # Time the status was updated.
68
+ # @return [Time]
69
+ def last_updated_timestamp
70
+ data.last_updated_timestamp
71
+ end
72
+
73
+ # Current status of the resource.
74
+ # @return [String]
75
+ def resource_status
76
+ data.resource_status
77
+ end
78
+
79
+ # Success/failure message associated with the resource.
80
+ # @return [String]
81
+ def resource_status_reason
82
+ data.resource_status_reason
83
+ end
84
+
85
+ # User defined description associated with the resource.
86
+ # @return [String]
87
+ def description
88
+ data.description
89
+ end
90
+
91
+ # The content of the `Metadata` attribute declared for the resource. For
92
+ # more information, see [Metadata Attribute][1] in the AWS
93
+ # CloudFormation User Guide.
94
+ #
95
+ #
96
+ #
97
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html
98
+ # @return [String]
99
+ def metadata
100
+ data.metadata
101
+ end
102
+
103
+ # @!endgroup
104
+
105
+ # @return [Client]
106
+ def client
107
+ @client
108
+ end
109
+
110
+ # Loads, or reloads {#data} for the current {StackResource}.
111
+ # Returns `self` making it possible to chain methods.
112
+ #
113
+ # stack_resource.reload.data
114
+ #
115
+ # @return [self]
116
+ def load
117
+ resp = @client.describe_stack_resource(
118
+ logical_resource_id: @logical_id,
119
+ stack_name: @stack_name
120
+ )
121
+ @data = resp.stackresourcedetail
122
+ self
123
+ end
124
+ alias :reload :load
125
+
126
+ # @return [Types::StackResourceDetail]
127
+ # Returns the data for this {StackResource}. Calls
128
+ # {Client#describe_stack_resource} if {#data_loaded?} is `false`.
129
+ def data
130
+ load unless @data
131
+ @data
132
+ end
133
+
134
+ # @return [Boolean]
135
+ # Returns `true` if this resource is loaded. Accessing attributes or
136
+ # {#data} on an unloaded resource will trigger a call to {#load}.
137
+ def data_loaded?
138
+ !!@data
139
+ end
140
+
141
+ # @!group Associations
142
+
143
+ # @return [Stack]
144
+ def stack
145
+ Stack.new(
146
+ name: @stack_name,
147
+ client: @client
148
+ )
149
+ end
150
+
151
+ # @deprecated
152
+ # @api private
153
+ def identifiers
154
+ {
155
+ stack_name: @stack_name,
156
+ logical_id: @logical_id
157
+ }
158
+ end
159
+ deprecated(:identifiers)
160
+
161
+ private
162
+
163
+ def extract_stack_name(args, options)
164
+ value = args[0] || options.delete(:stack_name)
165
+ case value
166
+ when String then value
167
+ when nil then raise ArgumentError, "missing required option :stack_name"
168
+ else
169
+ msg = "expected :stack_name to be a String, got #{value.class}"
170
+ raise ArgumentError, msg
171
+ end
172
+ end
173
+
174
+ def extract_logical_id(args, options)
175
+ value = args[1] || options.delete(:logical_id)
176
+ case value
177
+ when String then value
178
+ when nil then raise ArgumentError, "missing required option :logical_id"
179
+ else
180
+ msg = "expected :logical_id to be a String, got #{value.class}"
181
+ raise ArgumentError, msg
182
+ end
183
+ end
184
+
185
+ class Collection < Aws::Resources::Collection; end
186
+ end
187
+ end
188
+ end
@@ -0,0 +1,157 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module CloudFormation
10
+ class StackResourceSummary
11
+
12
+ extend Aws::Deprecations
13
+
14
+ # @overload def initialize(stack_name, logical_id, options = {})
15
+ # @param [String] stack_name
16
+ # @param [String] logical_id
17
+ # @option options [Client] :client
18
+ # @overload def initialize(options = {})
19
+ # @option options [required, String] :stack_name
20
+ # @option options [required, String] :logical_id
21
+ # @option options [Client] :client
22
+ def initialize(*args)
23
+ options = Hash === args.last ? args.pop.dup : {}
24
+ @stack_name = extract_stack_name(args, options)
25
+ @logical_id = extract_logical_id(args, options)
26
+ @data = options.delete(:data)
27
+ @client = options.delete(:client) || Client.new(options)
28
+ end
29
+
30
+ # @!group Read-Only Attributes
31
+
32
+ # @return [String]
33
+ def stack_name
34
+ @stack_name
35
+ end
36
+
37
+ # @return [String]
38
+ def logical_id
39
+ @logical_id
40
+ end
41
+ alias :logical_resource_id :logical_id
42
+
43
+ # The name or unique identifier that corresponds to a physical instance
44
+ # ID of the resource.
45
+ # @return [String]
46
+ def physical_resource_id
47
+ data.physical_resource_id
48
+ end
49
+
50
+ # Type of resource. (For more information, go to [ AWS Resource Types
51
+ # Reference][1] in the AWS CloudFormation User Guide.)
52
+ #
53
+ #
54
+ #
55
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
56
+ # @return [String]
57
+ def resource_type
58
+ data.resource_type
59
+ end
60
+
61
+ # Time the status was updated.
62
+ # @return [Time]
63
+ def last_updated_timestamp
64
+ data.last_updated_timestamp
65
+ end
66
+
67
+ # Current status of the resource.
68
+ # @return [String]
69
+ def resource_status
70
+ data.resource_status
71
+ end
72
+
73
+ # Success/failure message associated with the resource.
74
+ # @return [String]
75
+ def resource_status_reason
76
+ data.resource_status_reason
77
+ end
78
+
79
+ # @!endgroup
80
+
81
+ # @return [Client]
82
+ def client
83
+ @client
84
+ end
85
+
86
+ # @raise [Errors::ResourceNotLoadable]
87
+ # @api private
88
+ def load
89
+ msg = "#load is not implemented, data only available via enumeration"
90
+ raise Errors::ResourceNotLoadable, msg
91
+ end
92
+ alias :reload :load
93
+
94
+ # @raise [Errors::ResourceNotLoadableError] Raises when {#data_loaded?} is `false`.
95
+ # @return [Types::StackResourceSummary]
96
+ # Returns the data for this {StackResourceSummary}.
97
+ def data
98
+ load unless @data
99
+ @data
100
+ end
101
+
102
+ # @return [Boolean]
103
+ # Returns `true` if this resource is loaded. Accessing attributes or
104
+ # {#data} on an unloaded resource will trigger a call to {#load}.
105
+ def data_loaded?
106
+ !!@data
107
+ end
108
+
109
+ # @!group Associations
110
+
111
+ # @return [StackResource]
112
+ def resource
113
+ StackResource.new(
114
+ logical_id: @logical_id,
115
+ stack_name: @stack_name,
116
+ client: @client
117
+ )
118
+ end
119
+
120
+ # @deprecated
121
+ # @api private
122
+ def identifiers
123
+ {
124
+ stack_name: @stack_name,
125
+ logical_id: @logical_id
126
+ }
127
+ end
128
+ deprecated(:identifiers)
129
+
130
+ private
131
+
132
+ def extract_stack_name(args, options)
133
+ value = args[0] || options.delete(:stack_name)
134
+ case value
135
+ when String then value
136
+ when nil then raise ArgumentError, "missing required option :stack_name"
137
+ else
138
+ msg = "expected :stack_name to be a String, got #{value.class}"
139
+ raise ArgumentError, msg
140
+ end
141
+ end
142
+
143
+ def extract_logical_id(args, options)
144
+ value = args[1] || options.delete(:logical_id)
145
+ case value
146
+ when String then value
147
+ when nil then raise ArgumentError, "missing required option :logical_id"
148
+ else
149
+ msg = "expected :logical_id to be a String, got #{value.class}"
150
+ raise ArgumentError, msg
151
+ end
152
+ end
153
+
154
+ class Collection < Aws::Resources::Collection; end
155
+ end
156
+ end
157
+ end
@@ -0,0 +1,2684 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module CloudFormation
10
+ module Types
11
+
12
+ # The AccountLimit data type.
13
+ # @!attribute [rw] name
14
+ # The name of the account limit. Currently, the only account limit is
15
+ # `StackLimit`.
16
+ # @return [String]
17
+ #
18
+ # @!attribute [rw] value
19
+ # The value that is associated with the account limit name.
20
+ # @return [Integer]
21
+ class AccountLimit < Struct.new(
22
+ :name,
23
+ :value)
24
+ include Aws::Structure
25
+ end
26
+
27
+ # The input for the CancelUpdateStack action.
28
+ # @note When making an API call, pass CancelUpdateStackInput
29
+ # data as a hash:
30
+ #
31
+ # {
32
+ # stack_name: "StackName", # required
33
+ # }
34
+ # @!attribute [rw] stack_name
35
+ # The name or the unique stack ID that is associated with the stack.
36
+ # @return [String]
37
+ class CancelUpdateStackInput < Struct.new(
38
+ :stack_name)
39
+ include Aws::Structure
40
+ end
41
+
42
+ # The `Change` structure describes the changes AWS CloudFormation will
43
+ # perform if you execute the change set.
44
+ # @!attribute [rw] type
45
+ # The type of entity that AWS CloudFormation changes. Currently, the
46
+ # only entity type is `Resource`.
47
+ # @return [String]
48
+ #
49
+ # @!attribute [rw] resource_change
50
+ # A `ResourceChange` structure that describes the resource and action
51
+ # that AWS CloudFormation will perform.
52
+ # @return [Types::ResourceChange]
53
+ class Change < Struct.new(
54
+ :type,
55
+ :resource_change)
56
+ include Aws::Structure
57
+ end
58
+
59
+ # The `ChangeSetSummary` structure describes a change set, its status,
60
+ # and the stack with which it's associated.
61
+ # @!attribute [rw] stack_id
62
+ # The ID of the stack with which the change set is associated.
63
+ # @return [String]
64
+ #
65
+ # @!attribute [rw] stack_name
66
+ # The name of the stack with which the change set is associated.
67
+ # @return [String]
68
+ #
69
+ # @!attribute [rw] change_set_id
70
+ # The ID of the change set.
71
+ # @return [String]
72
+ #
73
+ # @!attribute [rw] change_set_name
74
+ # The name of the change set.
75
+ # @return [String]
76
+ #
77
+ # @!attribute [rw] execution_status
78
+ # If the change set execution status is `AVAILABLE`, you can execute
79
+ # the change set. If you can’t execute the change set, the status
80
+ # indicates why. For example, a change set might be in an
81
+ # `UNAVAILABLE` state because AWS CloudFormation is still creating it
82
+ # or in an `OBSOLETE` state because the stack was already updated.
83
+ # @return [String]
84
+ #
85
+ # @!attribute [rw] status
86
+ # The state of the change set, such as `CREATE_IN_PROGRESS`,
87
+ # `CREATE_COMPLETE`, or `FAILED`.
88
+ # @return [String]
89
+ #
90
+ # @!attribute [rw] status_reason
91
+ # A description of the change set's status. For example, if your
92
+ # change set is in the `FAILED` state, AWS CloudFormation shows the
93
+ # error message.
94
+ # @return [String]
95
+ #
96
+ # @!attribute [rw] creation_time
97
+ # The start time when the change set was created, in UTC.
98
+ # @return [Time]
99
+ #
100
+ # @!attribute [rw] description
101
+ # Descriptive information about the change set.
102
+ # @return [String]
103
+ class ChangeSetSummary < Struct.new(
104
+ :stack_id,
105
+ :stack_name,
106
+ :change_set_id,
107
+ :change_set_name,
108
+ :execution_status,
109
+ :status,
110
+ :status_reason,
111
+ :creation_time,
112
+ :description)
113
+ include Aws::Structure
114
+ end
115
+
116
+ # The input for the ContinueUpdateRollback action.
117
+ # @note When making an API call, pass ContinueUpdateRollbackInput
118
+ # data as a hash:
119
+ #
120
+ # {
121
+ # stack_name: "StackNameOrId", # required
122
+ # role_arn: "RoleARN",
123
+ # resources_to_skip: ["ResourceToSkip"],
124
+ # }
125
+ # @!attribute [rw] stack_name
126
+ # The name or the unique ID of the stack that you want to continue
127
+ # rolling back.
128
+ #
129
+ # <note markdown="1"> Don't specify the name of a nested stack (a stack that was created
130
+ # by using the `AWS::CloudFormation::Stack` resource). Instead, use
131
+ # this operation on the parent stack (the stack that contains the
132
+ # `AWS::CloudFormation::Stack` resource).
133
+ #
134
+ # </note>
135
+ # @return [String]
136
+ #
137
+ # @!attribute [rw] role_arn
138
+ # The Amazon Resource Name (ARN) of an AWS Identity and Access
139
+ # Management (IAM) role that AWS CloudFormation assumes to roll back
140
+ # the stack. AWS CloudFormation uses the role's credentials to make
141
+ # calls on your behalf. AWS CloudFormation always uses this role for
142
+ # all future operations on the stack. As long as users have permission
143
+ # to operate on the stack, AWS CloudFormation uses this role even if
144
+ # the users don't have permission to pass it. Ensure that the role
145
+ # grants least privilege.
146
+ #
147
+ # If you don't specify a value, AWS CloudFormation uses the role that
148
+ # was previously associated with the stack. If no role is available,
149
+ # AWS CloudFormation uses a temporary session that is generated from
150
+ # your user credentials.
151
+ # @return [String]
152
+ #
153
+ # @!attribute [rw] resources_to_skip
154
+ # A list of the logical IDs of the resources that AWS CloudFormation
155
+ # skips during the continue update rollback operation. You can specify
156
+ # only resources that are in the `UPDATE_FAILED` state because a
157
+ # rollback failed. You can't specify resources that are in the
158
+ # `UPDATE_FAILED` state for other reasons, for example, because an
159
+ # update was canceled. To check why a resource update failed, use the
160
+ # DescribeStackResources action, and view the resource status reason.
161
+ #
162
+ # Specify this property to skip rolling back resources that AWS
163
+ # CloudFormation can't successfully roll back. We recommend that you
164
+ # [ troubleshoot][1] resources before skipping them. AWS
165
+ # CloudFormation sets the status of the specified resources to
166
+ # `UPDATE_COMPLETE` and continues to roll back the stack. After the
167
+ # rollback is complete, the state of the skipped resources will be
168
+ # inconsistent with the state of the resources in the stack template.
169
+ # Before performing another stack update, you must update the stack or
170
+ # resources to be consistent with each other. If you don't,
171
+ # subsequent stack updates might fail, and the stack will become
172
+ # unrecoverable.
173
+ #
174
+ # Specify the minimum number of resources required to successfully
175
+ # roll back your stack. For example, a failed resource update might
176
+ # cause dependent resources to fail. In this case, it might not be
177
+ # necessary to skip the dependent resources.
178
+ #
179
+ # To specify resources in a nested stack, use the following format:
180
+ # `NestedStackName.ResourceLogicalID`. You can specify a nested stack
181
+ # resource (the logical ID of an `AWS::CloudFormation::Stack`
182
+ # resource) only if it's in one of the following states:
183
+ # `DELETE_IN_PROGRESS`, `DELETE_COMPLETE`, or `DELETE_FAILED`.
184
+ #
185
+ #
186
+ #
187
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed
188
+ # @return [Array<String>]
189
+ class ContinueUpdateRollbackInput < Struct.new(
190
+ :stack_name,
191
+ :role_arn,
192
+ :resources_to_skip)
193
+ include Aws::Structure
194
+ end
195
+
196
+ # The output for a ContinueUpdateRollback action.
197
+ class ContinueUpdateRollbackOutput < Aws::EmptyStructure; end
198
+
199
+ # The input for the CreateChangeSet action.
200
+ # @note When making an API call, pass CreateChangeSetInput
201
+ # data as a hash:
202
+ #
203
+ # {
204
+ # stack_name: "StackNameOrId", # required
205
+ # template_body: "TemplateBody",
206
+ # template_url: "TemplateURL",
207
+ # use_previous_template: false,
208
+ # parameters: [
209
+ # {
210
+ # parameter_key: "ParameterKey",
211
+ # parameter_value: "ParameterValue",
212
+ # use_previous_value: false,
213
+ # },
214
+ # ],
215
+ # capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
216
+ # resource_types: ["ResourceType"],
217
+ # role_arn: "RoleARN",
218
+ # notification_arns: ["NotificationARN"],
219
+ # tags: [
220
+ # {
221
+ # key: "TagKey",
222
+ # value: "TagValue",
223
+ # },
224
+ # ],
225
+ # change_set_name: "ChangeSetName", # required
226
+ # client_token: "ClientToken",
227
+ # description: "Description",
228
+ # change_set_type: "CREATE", # accepts CREATE, UPDATE
229
+ # }
230
+ # @!attribute [rw] stack_name
231
+ # The name or the unique ID of the stack for which you are creating a
232
+ # change set. AWS CloudFormation generates the change set by comparing
233
+ # this stack's information with the information that you submit, such
234
+ # as a modified template or different parameter input values.
235
+ # @return [String]
236
+ #
237
+ # @!attribute [rw] template_body
238
+ # A structure that contains the body of the revised template, with a
239
+ # minimum length of 1 byte and a maximum length of 51,200 bytes. AWS
240
+ # CloudFormation generates the change set by comparing this template
241
+ # with the template of the stack that you specified.
242
+ #
243
+ # Conditional: You must specify only `TemplateBody` or `TemplateURL`.
244
+ # @return [String]
245
+ #
246
+ # @!attribute [rw] template_url
247
+ # The location of the file that contains the revised template. The URL
248
+ # must point to a template (max size: 460,800 bytes) that is located
249
+ # in an S3 bucket. AWS CloudFormation generates the change set by
250
+ # comparing this template with the stack that you specified.
251
+ #
252
+ # Conditional: You must specify only `TemplateBody` or `TemplateURL`.
253
+ # @return [String]
254
+ #
255
+ # @!attribute [rw] use_previous_template
256
+ # Whether to reuse the template that is associated with the stack to
257
+ # create the change set.
258
+ # @return [Boolean]
259
+ #
260
+ # @!attribute [rw] parameters
261
+ # A list of `Parameter` structures that specify input parameters for
262
+ # the change set. For more information, see the [Parameter][1] data
263
+ # type.
264
+ #
265
+ #
266
+ #
267
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
268
+ # @return [Array<Types::Parameter>]
269
+ #
270
+ # @!attribute [rw] capabilities
271
+ # A list of values that you must specify before AWS CloudFormation can
272
+ # update certain stacks. Some stack templates might include resources
273
+ # that can affect permissions in your AWS account, for example, by
274
+ # creating new AWS Identity and Access Management (IAM) users. For
275
+ # those stacks, you must explicitly acknowledge their capabilities by
276
+ # specifying this parameter.
277
+ #
278
+ # The only valid values are `CAPABILITY_IAM` and
279
+ # `CAPABILITY_NAMED_IAM`. The following resources require you to
280
+ # specify this parameter: [ AWS::IAM::AccessKey][1], [
281
+ # AWS::IAM::Group][2], [ AWS::IAM::InstanceProfile][3], [
282
+ # AWS::IAM::Policy][4], [ AWS::IAM::Role][5], [ AWS::IAM::User][6],
283
+ # and [ AWS::IAM::UserToGroupAddition][7]. If your stack template
284
+ # contains these resources, we recommend that you review all
285
+ # permissions associated with them and edit their permissions if
286
+ # necessary.
287
+ #
288
+ # If you have IAM resources, you can specify either capability. If you
289
+ # have IAM resources with custom names, you must specify
290
+ # `CAPABILITY_NAMED_IAM`. If you don't specify this parameter, this
291
+ # action returns an `InsufficientCapabilities` error.
292
+ #
293
+ # For more information, see [Acknowledging IAM Resources in AWS
294
+ # CloudFormation Templates][8].
295
+ #
296
+ #
297
+ #
298
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
299
+ # [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html
300
+ # [3]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html
301
+ # [4]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html
302
+ # [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
303
+ # [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
304
+ # [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
305
+ # [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
306
+ # @return [Array<String>]
307
+ #
308
+ # @!attribute [rw] resource_types
309
+ # The template resource types that you have permissions to work with
310
+ # if you execute this change set, such as `AWS::EC2::Instance`,
311
+ # `AWS::EC2::*`, or `Custom::MyCustomInstance`.
312
+ #
313
+ # If the list of resource types doesn't include a resource type that
314
+ # you're updating, the stack update fails. By default, AWS
315
+ # CloudFormation grants permissions to all resource types. AWS
316
+ # Identity and Access Management (IAM) uses this parameter for
317
+ # condition keys in IAM policies for AWS CloudFormation. For more
318
+ # information, see [Controlling Access with AWS Identity and Access
319
+ # Management][1] in the AWS CloudFormation User Guide.
320
+ #
321
+ #
322
+ #
323
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html
324
+ # @return [Array<String>]
325
+ #
326
+ # @!attribute [rw] role_arn
327
+ # The Amazon Resource Name (ARN) of an AWS Identity and Access
328
+ # Management (IAM) role that AWS CloudFormation assumes when executing
329
+ # the change set. AWS CloudFormation uses the role's credentials to
330
+ # make calls on your behalf. AWS CloudFormation uses this role for all
331
+ # future operations on the stack. As long as users have permission to
332
+ # operate on the stack, AWS CloudFormation uses this role even if the
333
+ # users don't have permission to pass it. Ensure that the role grants
334
+ # least privilege.
335
+ #
336
+ # If you don't specify a value, AWS CloudFormation uses the role that
337
+ # was previously associated with the stack. If no role is available,
338
+ # AWS CloudFormation uses a temporary session that is generated from
339
+ # your user credentials.
340
+ # @return [String]
341
+ #
342
+ # @!attribute [rw] notification_arns
343
+ # The Amazon Resource Names (ARNs) of Amazon Simple Notification
344
+ # Service (Amazon SNS) topics that AWS CloudFormation associates with
345
+ # the stack. To remove all associated notification topics, specify an
346
+ # empty list.
347
+ # @return [Array<String>]
348
+ #
349
+ # @!attribute [rw] tags
350
+ # Key-value pairs to associate with this stack. AWS CloudFormation
351
+ # also propagates these tags to resources in the stack. You can
352
+ # specify a maximum of 10 tags.
353
+ # @return [Array<Types::Tag>]
354
+ #
355
+ # @!attribute [rw] change_set_name
356
+ # The name of the change set. The name must be unique among all change
357
+ # sets that are associated with the specified stack.
358
+ #
359
+ # A change set name can contain only alphanumeric, case sensitive
360
+ # characters and hyphens. It must start with an alphabetic character
361
+ # and cannot exceed 128 characters.
362
+ # @return [String]
363
+ #
364
+ # @!attribute [rw] client_token
365
+ # A unique identifier for this `CreateChangeSet` request. Specify this
366
+ # token if you plan to retry requests so that AWS CloudFormation knows
367
+ # that you're not attempting to create another change set with the
368
+ # same name. You might retry `CreateChangeSet` requests to ensure that
369
+ # AWS CloudFormation successfully received them.
370
+ # @return [String]
371
+ #
372
+ # @!attribute [rw] description
373
+ # A description to help you identify this change set.
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] change_set_type
377
+ # The type of change set operation. To create a change set for a new
378
+ # stack, specify `CREATE`. To create a change set for an existing
379
+ # stack, specify `UPDATE`.
380
+ #
381
+ # If you create a change set for a new stack, AWS Cloudformation
382
+ # creates a stack with a unique stack ID, but no template or
383
+ # resources. The stack will be in the [ `REVIEW_IN_PROGRESS` ][1]
384
+ # state until you execute the change set.
385
+ #
386
+ # By default, AWS CloudFormation specifies `UPDATE`. You can't use
387
+ # the `UPDATE` type to create a change set for a new stack or the
388
+ # `CREATE` type to create a change set for an existing stack.
389
+ #
390
+ #
391
+ #
392
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html#d0e11995
393
+ # @return [String]
394
+ class CreateChangeSetInput < Struct.new(
395
+ :stack_name,
396
+ :template_body,
397
+ :template_url,
398
+ :use_previous_template,
399
+ :parameters,
400
+ :capabilities,
401
+ :resource_types,
402
+ :role_arn,
403
+ :notification_arns,
404
+ :tags,
405
+ :change_set_name,
406
+ :client_token,
407
+ :description,
408
+ :change_set_type)
409
+ include Aws::Structure
410
+ end
411
+
412
+ # The output for the CreateChangeSet action.
413
+ # @!attribute [rw] id
414
+ # The Amazon Resource Name (ARN) of the change set.
415
+ # @return [String]
416
+ #
417
+ # @!attribute [rw] stack_id
418
+ # The unique ID of the stack.
419
+ # @return [String]
420
+ class CreateChangeSetOutput < Struct.new(
421
+ :id,
422
+ :stack_id)
423
+ include Aws::Structure
424
+ end
425
+
426
+ # The input for CreateStack action.
427
+ # @note When making an API call, pass CreateStackInput
428
+ # data as a hash:
429
+ #
430
+ # {
431
+ # stack_name: "StackName", # required
432
+ # template_body: "TemplateBody",
433
+ # template_url: "TemplateURL",
434
+ # parameters: [
435
+ # {
436
+ # parameter_key: "ParameterKey",
437
+ # parameter_value: "ParameterValue",
438
+ # use_previous_value: false,
439
+ # },
440
+ # ],
441
+ # disable_rollback: false,
442
+ # timeout_in_minutes: 1,
443
+ # notification_arns: ["NotificationARN"],
444
+ # capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
445
+ # resource_types: ["ResourceType"],
446
+ # role_arn: "RoleARN",
447
+ # on_failure: "DO_NOTHING", # accepts DO_NOTHING, ROLLBACK, DELETE
448
+ # stack_policy_body: "StackPolicyBody",
449
+ # stack_policy_url: "StackPolicyURL",
450
+ # tags: [
451
+ # {
452
+ # key: "TagKey",
453
+ # value: "TagValue",
454
+ # },
455
+ # ],
456
+ # }
457
+ # @!attribute [rw] stack_name
458
+ # The name that is associated with the stack. The name must be unique
459
+ # in the region in which you are creating the stack.
460
+ #
461
+ # <note markdown="1"> A stack name can contain only alphanumeric characters (case
462
+ # sensitive) and hyphens. It must start with an alphabetic character
463
+ # and cannot be longer than 128 characters.
464
+ #
465
+ # </note>
466
+ # @return [String]
467
+ #
468
+ # @!attribute [rw] template_body
469
+ # Structure containing the template body with a minimum length of 1
470
+ # byte and a maximum length of 51,200 bytes. For more information, go
471
+ # to [Template Anatomy][1] in the AWS CloudFormation User Guide.
472
+ #
473
+ # Conditional: You must specify either the `TemplateBody` or the
474
+ # `TemplateURL` parameter, but not both.
475
+ #
476
+ #
477
+ #
478
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
479
+ # @return [String]
480
+ #
481
+ # @!attribute [rw] template_url
482
+ # Location of file containing the template body. The URL must point to
483
+ # a template (max size: 460,800 bytes) that is located in an Amazon S3
484
+ # bucket. For more information, go to the [Template Anatomy][1] in the
485
+ # AWS CloudFormation User Guide.
486
+ #
487
+ # Conditional: You must specify either the `TemplateBody` or the
488
+ # `TemplateURL` parameter, but not both.
489
+ #
490
+ #
491
+ #
492
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
493
+ # @return [String]
494
+ #
495
+ # @!attribute [rw] parameters
496
+ # A list of `Parameter` structures that specify input parameters for
497
+ # the stack. For more information, see the [Parameter][1] data type.
498
+ #
499
+ #
500
+ #
501
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
502
+ # @return [Array<Types::Parameter>]
503
+ #
504
+ # @!attribute [rw] disable_rollback
505
+ # Set to `true` to disable rollback of the stack if stack creation
506
+ # failed. You can specify either `DisableRollback` or `OnFailure`, but
507
+ # not both.
508
+ #
509
+ # Default: `false`
510
+ # @return [Boolean]
511
+ #
512
+ # @!attribute [rw] timeout_in_minutes
513
+ # The amount of time that can pass before the stack status becomes
514
+ # CREATE\_FAILED; if `DisableRollback` is not set or is set to
515
+ # `false`, the stack will be rolled back.
516
+ # @return [Integer]
517
+ #
518
+ # @!attribute [rw] notification_arns
519
+ # The Simple Notification Service (SNS) topic ARNs to publish stack
520
+ # related events. You can find your SNS topic ARNs using the [SNS
521
+ # console][1] or your Command Line Interface (CLI).
522
+ #
523
+ #
524
+ #
525
+ # [1]: https://console.aws.amazon.com/sns
526
+ # @return [Array<String>]
527
+ #
528
+ # @!attribute [rw] capabilities
529
+ # A list of values that you must specify before AWS CloudFormation can
530
+ # create certain stacks. Some stack templates might include resources
531
+ # that can affect permissions in your AWS account, for example, by
532
+ # creating new AWS Identity and Access Management (IAM) users. For
533
+ # those stacks, you must explicitly acknowledge their capabilities by
534
+ # specifying this parameter.
535
+ #
536
+ # The only valid values are `CAPABILITY_IAM` and
537
+ # `CAPABILITY_NAMED_IAM`. The following resources require you to
538
+ # specify this parameter: [ AWS::IAM::AccessKey][1], [
539
+ # AWS::IAM::Group][2], [ AWS::IAM::InstanceProfile][3], [
540
+ # AWS::IAM::Policy][4], [ AWS::IAM::Role][5], [ AWS::IAM::User][6],
541
+ # and [ AWS::IAM::UserToGroupAddition][7]. If your stack template
542
+ # contains these resources, we recommend that you review all
543
+ # permissions associated with them and edit their permissions if
544
+ # necessary.
545
+ #
546
+ # If you have IAM resources, you can specify either capability. If you
547
+ # have IAM resources with custom names, you must specify
548
+ # `CAPABILITY_NAMED_IAM`. If you don't specify this parameter, this
549
+ # action returns an `InsufficientCapabilities` error.
550
+ #
551
+ # For more information, see [Acknowledging IAM Resources in AWS
552
+ # CloudFormation Templates][8].
553
+ #
554
+ #
555
+ #
556
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
557
+ # [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html
558
+ # [3]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html
559
+ # [4]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html
560
+ # [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
561
+ # [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
562
+ # [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
563
+ # [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
564
+ # @return [Array<String>]
565
+ #
566
+ # @!attribute [rw] resource_types
567
+ # The template resource types that you have permissions to work with
568
+ # for this create stack action, such as `AWS::EC2::Instance`,
569
+ # `AWS::EC2::*`, or `Custom::MyCustomInstance`. Use the following
570
+ # syntax to describe template resource types: `AWS::*` (for all AWS
571
+ # resource), `Custom::*` (for all custom resources),
572
+ # `Custom::logical_ID ` (for a specific custom resource),
573
+ # `AWS::service_name::*` (for all resources of a particular AWS
574
+ # service), and `AWS::service_name::resource_logical_ID ` (for a
575
+ # specific AWS resource).
576
+ #
577
+ # If the list of resource types doesn't include a resource that
578
+ # you're creating, the stack creation fails. By default, AWS
579
+ # CloudFormation grants permissions to all resource types. AWS
580
+ # Identity and Access Management (IAM) uses this parameter for AWS
581
+ # CloudFormation-specific condition keys in IAM policies. For more
582
+ # information, see [Controlling Access with AWS Identity and Access
583
+ # Management][1].
584
+ #
585
+ #
586
+ #
587
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html
588
+ # @return [Array<String>]
589
+ #
590
+ # @!attribute [rw] role_arn
591
+ # The Amazon Resource Name (ARN) of an AWS Identity and Access
592
+ # Management (IAM) role that AWS CloudFormation assumes to create the
593
+ # stack. AWS CloudFormation uses the role's credentials to make calls
594
+ # on your behalf. AWS CloudFormation always uses this role for all
595
+ # future operations on the stack. As long as users have permission to
596
+ # operate on the stack, AWS CloudFormation uses this role even if the
597
+ # users don't have permission to pass it. Ensure that the role grants
598
+ # least privilege.
599
+ #
600
+ # If you don't specify a value, AWS CloudFormation uses the role that
601
+ # was previously associated with the stack. If no role is available,
602
+ # AWS CloudFormation uses a temporary session that is generated from
603
+ # your user credentials.
604
+ # @return [String]
605
+ #
606
+ # @!attribute [rw] on_failure
607
+ # Determines what action will be taken if stack creation fails. This
608
+ # must be one of: DO\_NOTHING, ROLLBACK, or DELETE. You can specify
609
+ # either `OnFailure` or `DisableRollback`, but not both.
610
+ #
611
+ # Default: `ROLLBACK`
612
+ # @return [String]
613
+ #
614
+ # @!attribute [rw] stack_policy_body
615
+ # Structure containing the stack policy body. For more information, go
616
+ # to [ Prevent Updates to Stack Resources][1] in the *AWS
617
+ # CloudFormation User Guide*. You can specify either the
618
+ # `StackPolicyBody` or the `StackPolicyURL` parameter, but not both.
619
+ #
620
+ #
621
+ #
622
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html
623
+ # @return [String]
624
+ #
625
+ # @!attribute [rw] stack_policy_url
626
+ # Location of a file containing the stack policy. The URL must point
627
+ # to a policy (maximum size: 16 KB) located in an S3 bucket in the
628
+ # same region as the stack. You can specify either the
629
+ # `StackPolicyBody` or the `StackPolicyURL` parameter, but not both.
630
+ # @return [String]
631
+ #
632
+ # @!attribute [rw] tags
633
+ # Key-value pairs to associate with this stack. AWS CloudFormation
634
+ # also propagates these tags to the resources created in the stack. A
635
+ # maximum number of 10 tags can be specified.
636
+ # @return [Array<Types::Tag>]
637
+ class CreateStackInput < Struct.new(
638
+ :stack_name,
639
+ :template_body,
640
+ :template_url,
641
+ :parameters,
642
+ :disable_rollback,
643
+ :timeout_in_minutes,
644
+ :notification_arns,
645
+ :capabilities,
646
+ :resource_types,
647
+ :role_arn,
648
+ :on_failure,
649
+ :stack_policy_body,
650
+ :stack_policy_url,
651
+ :tags)
652
+ include Aws::Structure
653
+ end
654
+
655
+ # The output for a CreateStack action.
656
+ # @!attribute [rw] stack_id
657
+ # Unique identifier of the stack.
658
+ # @return [String]
659
+ class CreateStackOutput < Struct.new(
660
+ :stack_id)
661
+ include Aws::Structure
662
+ end
663
+
664
+ # The input for the DeleteChangeSet action.
665
+ # @note When making an API call, pass DeleteChangeSetInput
666
+ # data as a hash:
667
+ #
668
+ # {
669
+ # change_set_name: "ChangeSetNameOrId", # required
670
+ # stack_name: "StackNameOrId",
671
+ # }
672
+ # @!attribute [rw] change_set_name
673
+ # The name or Amazon Resource Name (ARN) of the change set that you
674
+ # want to delete.
675
+ # @return [String]
676
+ #
677
+ # @!attribute [rw] stack_name
678
+ # If you specified the name of a change set to delete, specify the
679
+ # stack name or ID (ARN) that is associated with it.
680
+ # @return [String]
681
+ class DeleteChangeSetInput < Struct.new(
682
+ :change_set_name,
683
+ :stack_name)
684
+ include Aws::Structure
685
+ end
686
+
687
+ # The output for the DeleteChangeSet action.
688
+ class DeleteChangeSetOutput < Aws::EmptyStructure; end
689
+
690
+ # The input for DeleteStack action.
691
+ # @note When making an API call, pass DeleteStackInput
692
+ # data as a hash:
693
+ #
694
+ # {
695
+ # stack_name: "StackName", # required
696
+ # retain_resources: ["LogicalResourceId"],
697
+ # role_arn: "RoleARN",
698
+ # }
699
+ # @!attribute [rw] stack_name
700
+ # The name or the unique stack ID that is associated with the stack.
701
+ # @return [String]
702
+ #
703
+ # @!attribute [rw] retain_resources
704
+ # For stacks in the `DELETE_FAILED` state, a list of resource logical
705
+ # IDs that are associated with the resources you want to retain.
706
+ # During deletion, AWS CloudFormation deletes the stack but does not
707
+ # delete the retained resources.
708
+ #
709
+ # Retaining resources is useful when you cannot delete a resource,
710
+ # such as a non-empty S3 bucket, but you want to delete the stack.
711
+ # @return [Array<String>]
712
+ #
713
+ # @!attribute [rw] role_arn
714
+ # The Amazon Resource Name (ARN) of an AWS Identity and Access
715
+ # Management (IAM) role that AWS CloudFormation assumes to delete the
716
+ # stack. AWS CloudFormation uses the role's credentials to make calls
717
+ # on your behalf.
718
+ #
719
+ # If you don't specify a value, AWS CloudFormation uses the role that
720
+ # was previously associated with the stack. If no role is available,
721
+ # AWS CloudFormation uses a temporary session that is generated from
722
+ # your user credentials.
723
+ # @return [String]
724
+ class DeleteStackInput < Struct.new(
725
+ :stack_name,
726
+ :retain_resources,
727
+ :role_arn)
728
+ include Aws::Structure
729
+ end
730
+
731
+ # The input for the DescribeAccountLimits action.
732
+ # @note When making an API call, pass DescribeAccountLimitsInput
733
+ # data as a hash:
734
+ #
735
+ # {
736
+ # next_token: "NextToken",
737
+ # }
738
+ # @!attribute [rw] next_token
739
+ # A string that identifies the next page of limits that you want to
740
+ # retrieve.
741
+ # @return [String]
742
+ class DescribeAccountLimitsInput < Struct.new(
743
+ :next_token)
744
+ include Aws::Structure
745
+ end
746
+
747
+ # The output for the DescribeAccountLimits action.
748
+ # @!attribute [rw] account_limits
749
+ # An account limit structure that contain a list of AWS CloudFormation
750
+ # account limits and their values.
751
+ # @return [Array<Types::AccountLimit>]
752
+ #
753
+ # @!attribute [rw] next_token
754
+ # If the output exceeds 1 MB in size, a string that identifies the
755
+ # next page of limits. If no additional page exists, this value is
756
+ # null.
757
+ # @return [String]
758
+ class DescribeAccountLimitsOutput < Struct.new(
759
+ :account_limits,
760
+ :next_token)
761
+ include Aws::Structure
762
+ end
763
+
764
+ # The input for the DescribeChangeSet action.
765
+ # @note When making an API call, pass DescribeChangeSetInput
766
+ # data as a hash:
767
+ #
768
+ # {
769
+ # change_set_name: "ChangeSetNameOrId", # required
770
+ # stack_name: "StackNameOrId",
771
+ # next_token: "NextToken",
772
+ # }
773
+ # @!attribute [rw] change_set_name
774
+ # The name or Amazon Resource Name (ARN) of the change set that you
775
+ # want to describe.
776
+ # @return [String]
777
+ #
778
+ # @!attribute [rw] stack_name
779
+ # If you specified the name of a change set, specify the stack name or
780
+ # ID (ARN) of the change set you want to describe.
781
+ # @return [String]
782
+ #
783
+ # @!attribute [rw] next_token
784
+ # A string (provided by the DescribeChangeSet response output) that
785
+ # identifies the next page of information that you want to retrieve.
786
+ # @return [String]
787
+ class DescribeChangeSetInput < Struct.new(
788
+ :change_set_name,
789
+ :stack_name,
790
+ :next_token)
791
+ include Aws::Structure
792
+ end
793
+
794
+ # The output for the DescribeChangeSet action.
795
+ # @!attribute [rw] change_set_name
796
+ # The name of the change set.
797
+ # @return [String]
798
+ #
799
+ # @!attribute [rw] change_set_id
800
+ # The ARN of the change set.
801
+ # @return [String]
802
+ #
803
+ # @!attribute [rw] stack_id
804
+ # The ARN of the stack that is associated with the change set.
805
+ # @return [String]
806
+ #
807
+ # @!attribute [rw] stack_name
808
+ # The name of the stack that is associated with the change set.
809
+ # @return [String]
810
+ #
811
+ # @!attribute [rw] description
812
+ # Information about the change set.
813
+ # @return [String]
814
+ #
815
+ # @!attribute [rw] parameters
816
+ # A list of `Parameter` structures that describes the input parameters
817
+ # and their values used to create the change set. For more
818
+ # information, see the [Parameter][1] data type.
819
+ #
820
+ #
821
+ #
822
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
823
+ # @return [Array<Types::Parameter>]
824
+ #
825
+ # @!attribute [rw] creation_time
826
+ # The start time when the change set was created, in UTC.
827
+ # @return [Time]
828
+ #
829
+ # @!attribute [rw] execution_status
830
+ # If the change set execution status is `AVAILABLE`, you can execute
831
+ # the change set. If you can’t execute the change set, the status
832
+ # indicates why. For example, a change set might be in an
833
+ # `UNAVAILABLE` state because AWS CloudFormation is still creating it
834
+ # or in an `OBSOLETE` state because the stack was already updated.
835
+ # @return [String]
836
+ #
837
+ # @!attribute [rw] status
838
+ # The current status of the change set, such as `CREATE_IN_PROGRESS`,
839
+ # `CREATE_COMPLETE`, or `FAILED`.
840
+ # @return [String]
841
+ #
842
+ # @!attribute [rw] status_reason
843
+ # A description of the change set's status. For example, if your
844
+ # attempt to create a change set failed, AWS CloudFormation shows the
845
+ # error message.
846
+ # @return [String]
847
+ #
848
+ # @!attribute [rw] notification_arns
849
+ # The ARNs of the Amazon Simple Notification Service (Amazon SNS)
850
+ # topics that will be associated with the stack if you execute the
851
+ # change set.
852
+ # @return [Array<String>]
853
+ #
854
+ # @!attribute [rw] capabilities
855
+ # If you execute the change set, the list of capabilities that were
856
+ # explicitly acknowledged when the change set was created.
857
+ # @return [Array<String>]
858
+ #
859
+ # @!attribute [rw] tags
860
+ # If you execute the change set, the tags that will be associated with
861
+ # the stack.
862
+ # @return [Array<Types::Tag>]
863
+ #
864
+ # @!attribute [rw] changes
865
+ # A list of `Change` structures that describes the resources AWS
866
+ # CloudFormation changes if you execute the change set.
867
+ # @return [Array<Types::Change>]
868
+ #
869
+ # @!attribute [rw] next_token
870
+ # If the output exceeds 1 MB, a string that identifies the next page
871
+ # of changes. If there is no additional page, this value is null.
872
+ # @return [String]
873
+ class DescribeChangeSetOutput < Struct.new(
874
+ :change_set_name,
875
+ :change_set_id,
876
+ :stack_id,
877
+ :stack_name,
878
+ :description,
879
+ :parameters,
880
+ :creation_time,
881
+ :execution_status,
882
+ :status,
883
+ :status_reason,
884
+ :notification_arns,
885
+ :capabilities,
886
+ :tags,
887
+ :changes,
888
+ :next_token)
889
+ include Aws::Structure
890
+ end
891
+
892
+ # The input for DescribeStackEvents action.
893
+ # @note When making an API call, pass DescribeStackEventsInput
894
+ # data as a hash:
895
+ #
896
+ # {
897
+ # stack_name: "StackName",
898
+ # next_token: "NextToken",
899
+ # }
900
+ # @!attribute [rw] stack_name
901
+ # The name or the unique stack ID that is associated with the stack,
902
+ # which are not always interchangeable:
903
+ #
904
+ # * Running stacks: You can specify either the stack's name or its
905
+ # unique stack ID.
906
+ #
907
+ # * Deleted stacks: You must specify the unique stack ID.
908
+ #
909
+ # Default: There is no default value.
910
+ # @return [String]
911
+ #
912
+ # @!attribute [rw] next_token
913
+ # A string that identifies the next page of events that you want to
914
+ # retrieve.
915
+ # @return [String]
916
+ class DescribeStackEventsInput < Struct.new(
917
+ :stack_name,
918
+ :next_token)
919
+ include Aws::Structure
920
+ end
921
+
922
+ # The output for a DescribeStackEvents action.
923
+ # @!attribute [rw] stack_events
924
+ # A list of `StackEvents` structures.
925
+ # @return [Array<Types::StackEvent>]
926
+ #
927
+ # @!attribute [rw] next_token
928
+ # If the output exceeds 1 MB in size, a string that identifies the
929
+ # next page of events. If no additional page exists, this value is
930
+ # null.
931
+ # @return [String]
932
+ class DescribeStackEventsOutput < Struct.new(
933
+ :stack_events,
934
+ :next_token)
935
+ include Aws::Structure
936
+ end
937
+
938
+ # The input for DescribeStackResource action.
939
+ # @note When making an API call, pass DescribeStackResourceInput
940
+ # data as a hash:
941
+ #
942
+ # {
943
+ # stack_name: "StackName", # required
944
+ # logical_resource_id: "LogicalResourceId", # required
945
+ # }
946
+ # @!attribute [rw] stack_name
947
+ # The name or the unique stack ID that is associated with the stack,
948
+ # which are not always interchangeable:
949
+ #
950
+ # * Running stacks: You can specify either the stack's name or its
951
+ # unique stack ID.
952
+ #
953
+ # * Deleted stacks: You must specify the unique stack ID.
954
+ #
955
+ # Default: There is no default value.
956
+ # @return [String]
957
+ #
958
+ # @!attribute [rw] logical_resource_id
959
+ # The logical name of the resource as specified in the template.
960
+ #
961
+ # Default: There is no default value.
962
+ # @return [String]
963
+ class DescribeStackResourceInput < Struct.new(
964
+ :stack_name,
965
+ :logical_resource_id)
966
+ include Aws::Structure
967
+ end
968
+
969
+ # The output for a DescribeStackResource action.
970
+ # @!attribute [rw] stack_resource_detail
971
+ # A `StackResourceDetail` structure containing the description of the
972
+ # specified resource in the specified stack.
973
+ # @return [Types::StackResourceDetail]
974
+ class DescribeStackResourceOutput < Struct.new(
975
+ :stack_resource_detail)
976
+ include Aws::Structure
977
+ end
978
+
979
+ # The input for DescribeStackResources action.
980
+ # @note When making an API call, pass DescribeStackResourcesInput
981
+ # data as a hash:
982
+ #
983
+ # {
984
+ # stack_name: "StackName",
985
+ # logical_resource_id: "LogicalResourceId",
986
+ # physical_resource_id: "PhysicalResourceId",
987
+ # }
988
+ # @!attribute [rw] stack_name
989
+ # The name or the unique stack ID that is associated with the stack,
990
+ # which are not always interchangeable:
991
+ #
992
+ # * Running stacks: You can specify either the stack's name or its
993
+ # unique stack ID.
994
+ #
995
+ # * Deleted stacks: You must specify the unique stack ID.
996
+ #
997
+ # Default: There is no default value.
998
+ #
999
+ # Required: Conditional. If you do not specify `StackName`, you must
1000
+ # specify `PhysicalResourceId`.
1001
+ # @return [String]
1002
+ #
1003
+ # @!attribute [rw] logical_resource_id
1004
+ # The logical name of the resource as specified in the template.
1005
+ #
1006
+ # Default: There is no default value.
1007
+ # @return [String]
1008
+ #
1009
+ # @!attribute [rw] physical_resource_id
1010
+ # The name or unique identifier that corresponds to a physical
1011
+ # instance ID of a resource supported by AWS CloudFormation.
1012
+ #
1013
+ # For example, for an Amazon Elastic Compute Cloud (EC2) instance,
1014
+ # `PhysicalResourceId` corresponds to the `InstanceId`. You can pass
1015
+ # the EC2 `InstanceId` to `DescribeStackResources` to find which stack
1016
+ # the instance belongs to and what other resources are part of the
1017
+ # stack.
1018
+ #
1019
+ # Required: Conditional. If you do not specify `PhysicalResourceId`,
1020
+ # you must specify `StackName`.
1021
+ #
1022
+ # Default: There is no default value.
1023
+ # @return [String]
1024
+ class DescribeStackResourcesInput < Struct.new(
1025
+ :stack_name,
1026
+ :logical_resource_id,
1027
+ :physical_resource_id)
1028
+ include Aws::Structure
1029
+ end
1030
+
1031
+ # The output for a DescribeStackResources action.
1032
+ # @!attribute [rw] stack_resources
1033
+ # A list of `StackResource` structures.
1034
+ # @return [Array<Types::StackResource>]
1035
+ class DescribeStackResourcesOutput < Struct.new(
1036
+ :stack_resources)
1037
+ include Aws::Structure
1038
+ end
1039
+
1040
+ # The input for DescribeStacks action.
1041
+ # @note When making an API call, pass DescribeStacksInput
1042
+ # data as a hash:
1043
+ #
1044
+ # {
1045
+ # stack_name: "StackName",
1046
+ # next_token: "NextToken",
1047
+ # }
1048
+ # @!attribute [rw] stack_name
1049
+ # The name or the unique stack ID that is associated with the stack,
1050
+ # which are not always interchangeable:
1051
+ #
1052
+ # * Running stacks: You can specify either the stack's name or its
1053
+ # unique stack ID.
1054
+ #
1055
+ # * Deleted stacks: You must specify the unique stack ID.
1056
+ #
1057
+ # Default: There is no default value.
1058
+ # @return [String]
1059
+ #
1060
+ # @!attribute [rw] next_token
1061
+ # A string that identifies the next page of stacks that you want to
1062
+ # retrieve.
1063
+ # @return [String]
1064
+ class DescribeStacksInput < Struct.new(
1065
+ :stack_name,
1066
+ :next_token)
1067
+ include Aws::Structure
1068
+ end
1069
+
1070
+ # The output for a DescribeStacks action.
1071
+ # @!attribute [rw] stacks
1072
+ # A list of stack structures.
1073
+ # @return [Array<Types::Stack>]
1074
+ #
1075
+ # @!attribute [rw] next_token
1076
+ # If the output exceeds 1 MB in size, a string that identifies the
1077
+ # next page of stacks. If no additional page exists, this value is
1078
+ # null.
1079
+ # @return [String]
1080
+ class DescribeStacksOutput < Struct.new(
1081
+ :stacks,
1082
+ :next_token)
1083
+ include Aws::Structure
1084
+ end
1085
+
1086
+ # The input for an EstimateTemplateCost action.
1087
+ # @note When making an API call, pass EstimateTemplateCostInput
1088
+ # data as a hash:
1089
+ #
1090
+ # {
1091
+ # template_body: "TemplateBody",
1092
+ # template_url: "TemplateURL",
1093
+ # parameters: [
1094
+ # {
1095
+ # parameter_key: "ParameterKey",
1096
+ # parameter_value: "ParameterValue",
1097
+ # use_previous_value: false,
1098
+ # },
1099
+ # ],
1100
+ # }
1101
+ # @!attribute [rw] template_body
1102
+ # Structure containing the template body with a minimum length of 1
1103
+ # byte and a maximum length of 51,200 bytes. (For more information, go
1104
+ # to [Template Anatomy][1] in the AWS CloudFormation User Guide.)
1105
+ #
1106
+ # Conditional: You must pass `TemplateBody` or `TemplateURL`. If both
1107
+ # are passed, only `TemplateBody` is used.
1108
+ #
1109
+ #
1110
+ #
1111
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
1112
+ # @return [String]
1113
+ #
1114
+ # @!attribute [rw] template_url
1115
+ # Location of file containing the template body. The URL must point to
1116
+ # a template that is located in an Amazon S3 bucket. For more
1117
+ # information, go to [Template Anatomy][1] in the AWS CloudFormation
1118
+ # User Guide.
1119
+ #
1120
+ # Conditional: You must pass `TemplateURL` or `TemplateBody`. If both
1121
+ # are passed, only `TemplateBody` is used.
1122
+ #
1123
+ #
1124
+ #
1125
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
1126
+ # @return [String]
1127
+ #
1128
+ # @!attribute [rw] parameters
1129
+ # A list of `Parameter` structures that specify input parameters.
1130
+ # @return [Array<Types::Parameter>]
1131
+ class EstimateTemplateCostInput < Struct.new(
1132
+ :template_body,
1133
+ :template_url,
1134
+ :parameters)
1135
+ include Aws::Structure
1136
+ end
1137
+
1138
+ # The output for a EstimateTemplateCost action.
1139
+ # @!attribute [rw] url
1140
+ # An AWS Simple Monthly Calculator URL with a query string that
1141
+ # describes the resources required to run the template.
1142
+ # @return [String]
1143
+ class EstimateTemplateCostOutput < Struct.new(
1144
+ :url)
1145
+ include Aws::Structure
1146
+ end
1147
+
1148
+ # The input for the ExecuteChangeSet action.
1149
+ # @note When making an API call, pass ExecuteChangeSetInput
1150
+ # data as a hash:
1151
+ #
1152
+ # {
1153
+ # change_set_name: "ChangeSetNameOrId", # required
1154
+ # stack_name: "StackNameOrId",
1155
+ # }
1156
+ # @!attribute [rw] change_set_name
1157
+ # The name or ARN of the change set that you want use to update the
1158
+ # specified stack.
1159
+ # @return [String]
1160
+ #
1161
+ # @!attribute [rw] stack_name
1162
+ # If you specified the name of a change set, specify the stack name or
1163
+ # ID (ARN) that is associated with the change set you want to execute.
1164
+ # @return [String]
1165
+ class ExecuteChangeSetInput < Struct.new(
1166
+ :change_set_name,
1167
+ :stack_name)
1168
+ include Aws::Structure
1169
+ end
1170
+
1171
+ # The output for the ExecuteChangeSet action.
1172
+ class ExecuteChangeSetOutput < Aws::EmptyStructure; end
1173
+
1174
+ # The `Export` structure describes the exported output values for a
1175
+ # stack.
1176
+ # @!attribute [rw] exporting_stack_id
1177
+ # The stack that contains the exported output name and value.
1178
+ # @return [String]
1179
+ #
1180
+ # @!attribute [rw] name
1181
+ # The name of exported output value. Use this name and the
1182
+ # `Fn::ImportValue` function to import the associated value into other
1183
+ # stacks. The name is defined in the `Export` field in the associated
1184
+ # stack's `Outputs` section.
1185
+ # @return [String]
1186
+ #
1187
+ # @!attribute [rw] value
1188
+ # The value of the exported output, such as a resource physical ID.
1189
+ # This value is defined in the `Export` field in the associated
1190
+ # stack's `Outputs` section.
1191
+ # @return [String]
1192
+ class Export < Struct.new(
1193
+ :exporting_stack_id,
1194
+ :name,
1195
+ :value)
1196
+ include Aws::Structure
1197
+ end
1198
+
1199
+ # The input for the GetStackPolicy action.
1200
+ # @note When making an API call, pass GetStackPolicyInput
1201
+ # data as a hash:
1202
+ #
1203
+ # {
1204
+ # stack_name: "StackName", # required
1205
+ # }
1206
+ # @!attribute [rw] stack_name
1207
+ # The name or unique stack ID that is associated with the stack whose
1208
+ # policy you want to get.
1209
+ # @return [String]
1210
+ class GetStackPolicyInput < Struct.new(
1211
+ :stack_name)
1212
+ include Aws::Structure
1213
+ end
1214
+
1215
+ # The output for the GetStackPolicy action.
1216
+ # @!attribute [rw] stack_policy_body
1217
+ # Structure containing the stack policy body. (For more information,
1218
+ # go to [ Prevent Updates to Stack Resources][1] in the AWS
1219
+ # CloudFormation User Guide.)
1220
+ #
1221
+ #
1222
+ #
1223
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html
1224
+ # @return [String]
1225
+ class GetStackPolicyOutput < Struct.new(
1226
+ :stack_policy_body)
1227
+ include Aws::Structure
1228
+ end
1229
+
1230
+ # The input for a GetTemplate action.
1231
+ # @note When making an API call, pass GetTemplateInput
1232
+ # data as a hash:
1233
+ #
1234
+ # {
1235
+ # stack_name: "StackName",
1236
+ # change_set_name: "ChangeSetNameOrId",
1237
+ # template_stage: "Original", # accepts Original, Processed
1238
+ # }
1239
+ # @!attribute [rw] stack_name
1240
+ # The name or the unique stack ID that is associated with the stack,
1241
+ # which are not always interchangeable:
1242
+ #
1243
+ # * Running stacks: You can specify either the stack's name or its
1244
+ # unique stack ID.
1245
+ #
1246
+ # * Deleted stacks: You must specify the unique stack ID.
1247
+ #
1248
+ # Default: There is no default value.
1249
+ # @return [String]
1250
+ #
1251
+ # @!attribute [rw] change_set_name
1252
+ # The name or Amazon Resource Name (ARN) of a change set for which AWS
1253
+ # CloudFormation returns the associated template. If you specify a
1254
+ # name, you must also specify the `StackName`.
1255
+ # @return [String]
1256
+ #
1257
+ # @!attribute [rw] template_stage
1258
+ # For templates that include transforms, the stage of the template
1259
+ # that AWS CloudFormation returns. To get the user-submitted template,
1260
+ # specify `Original`. To get the template after AWS CloudFormation has
1261
+ # processed all transforms, specify `Processed`.
1262
+ #
1263
+ # If the template doesn't include transforms, `Original` and
1264
+ # `Processed` return the same template. By default, AWS CloudFormation
1265
+ # specifies `Original`.
1266
+ # @return [String]
1267
+ class GetTemplateInput < Struct.new(
1268
+ :stack_name,
1269
+ :change_set_name,
1270
+ :template_stage)
1271
+ include Aws::Structure
1272
+ end
1273
+
1274
+ # The output for GetTemplate action.
1275
+ # @!attribute [rw] template_body
1276
+ # Structure containing the template body. (For more information, go to
1277
+ # [Template Anatomy][1] in the AWS CloudFormation User Guide.)
1278
+ #
1279
+ # AWS CloudFormation returns the same template that was used when the
1280
+ # stack was created.
1281
+ #
1282
+ #
1283
+ #
1284
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
1285
+ # @return [String]
1286
+ #
1287
+ # @!attribute [rw] stages_available
1288
+ # The stage of the template that you can retrieve. For stacks, the
1289
+ # `Original` and `Processed` templates are always available. For
1290
+ # change sets, the `Original` template is always available. After AWS
1291
+ # CloudFormation finishes creating the change set, the `Processed`
1292
+ # template becomes available.
1293
+ # @return [Array<String>]
1294
+ class GetTemplateOutput < Struct.new(
1295
+ :template_body,
1296
+ :stages_available)
1297
+ include Aws::Structure
1298
+ end
1299
+
1300
+ # The input for the GetTemplateSummary action.
1301
+ # @note When making an API call, pass GetTemplateSummaryInput
1302
+ # data as a hash:
1303
+ #
1304
+ # {
1305
+ # template_body: "TemplateBody",
1306
+ # template_url: "TemplateURL",
1307
+ # stack_name: "StackNameOrId",
1308
+ # }
1309
+ # @!attribute [rw] template_body
1310
+ # Structure containing the template body with a minimum length of 1
1311
+ # byte and a maximum length of 51,200 bytes. For more information
1312
+ # about templates, see [Template Anatomy][1] in the AWS CloudFormation
1313
+ # User Guide.
1314
+ #
1315
+ # Conditional: You must specify only one of the following parameters:
1316
+ # `StackName`, `TemplateBody`, or `TemplateURL`.
1317
+ #
1318
+ #
1319
+ #
1320
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
1321
+ # @return [String]
1322
+ #
1323
+ # @!attribute [rw] template_url
1324
+ # Location of file containing the template body. The URL must point to
1325
+ # a template (max size: 460,800 bytes) that is located in an Amazon S3
1326
+ # bucket. For more information about templates, see [Template
1327
+ # Anatomy][1] in the AWS CloudFormation User Guide.
1328
+ #
1329
+ # Conditional: You must specify only one of the following parameters:
1330
+ # `StackName`, `TemplateBody`, or `TemplateURL`.
1331
+ #
1332
+ #
1333
+ #
1334
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
1335
+ # @return [String]
1336
+ #
1337
+ # @!attribute [rw] stack_name
1338
+ # The name or the stack ID that is associated with the stack, which
1339
+ # are not always interchangeable. For running stacks, you can specify
1340
+ # either the stack's name or its unique stack ID. For deleted stack,
1341
+ # you must specify the unique stack ID.
1342
+ #
1343
+ # Conditional: You must specify only one of the following parameters:
1344
+ # `StackName`, `TemplateBody`, or `TemplateURL`.
1345
+ # @return [String]
1346
+ class GetTemplateSummaryInput < Struct.new(
1347
+ :template_body,
1348
+ :template_url,
1349
+ :stack_name)
1350
+ include Aws::Structure
1351
+ end
1352
+
1353
+ # The output for the GetTemplateSummary action.
1354
+ # @!attribute [rw] parameters
1355
+ # A list of parameter declarations that describe various properties
1356
+ # for each parameter.
1357
+ # @return [Array<Types::ParameterDeclaration>]
1358
+ #
1359
+ # @!attribute [rw] description
1360
+ # The value that is defined in the `Description` property of the
1361
+ # template.
1362
+ # @return [String]
1363
+ #
1364
+ # @!attribute [rw] capabilities
1365
+ # The capabilities found within the template. If your template
1366
+ # contains IAM resources, you must specify the CAPABILITY\_IAM or
1367
+ # CAPABILITY\_NAMED\_IAM value for this parameter when you use the
1368
+ # CreateStack or UpdateStack actions with your template; otherwise,
1369
+ # those actions return an InsufficientCapabilities error.
1370
+ #
1371
+ # For more information, see [Acknowledging IAM Resources in AWS
1372
+ # CloudFormation Templates][1].
1373
+ #
1374
+ #
1375
+ #
1376
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
1377
+ # @return [Array<String>]
1378
+ #
1379
+ # @!attribute [rw] capabilities_reason
1380
+ # The list of resources that generated the values in the
1381
+ # `Capabilities` response element.
1382
+ # @return [String]
1383
+ #
1384
+ # @!attribute [rw] resource_types
1385
+ # A list of all the template resource types that are defined in the
1386
+ # template, such as `AWS::EC2::Instance`, `AWS::Dynamo::Table`, and
1387
+ # `Custom::MyCustomInstance`.
1388
+ # @return [Array<String>]
1389
+ #
1390
+ # @!attribute [rw] version
1391
+ # The AWS template format version, which identifies the capabilities
1392
+ # of the template.
1393
+ # @return [String]
1394
+ #
1395
+ # @!attribute [rw] metadata
1396
+ # The value that is defined for the `Metadata` property of the
1397
+ # template.
1398
+ # @return [String]
1399
+ #
1400
+ # @!attribute [rw] declared_transforms
1401
+ # A list of the transforms that are declared in the template.
1402
+ # @return [Array<String>]
1403
+ class GetTemplateSummaryOutput < Struct.new(
1404
+ :parameters,
1405
+ :description,
1406
+ :capabilities,
1407
+ :capabilities_reason,
1408
+ :resource_types,
1409
+ :version,
1410
+ :metadata,
1411
+ :declared_transforms)
1412
+ include Aws::Structure
1413
+ end
1414
+
1415
+ # The input for the ListChangeSets action.
1416
+ # @note When making an API call, pass ListChangeSetsInput
1417
+ # data as a hash:
1418
+ #
1419
+ # {
1420
+ # stack_name: "StackNameOrId", # required
1421
+ # next_token: "NextToken",
1422
+ # }
1423
+ # @!attribute [rw] stack_name
1424
+ # The name or the Amazon Resource Name (ARN) of the stack for which
1425
+ # you want to list change sets.
1426
+ # @return [String]
1427
+ #
1428
+ # @!attribute [rw] next_token
1429
+ # A string (provided by the ListChangeSets response output) that
1430
+ # identifies the next page of change sets that you want to retrieve.
1431
+ # @return [String]
1432
+ class ListChangeSetsInput < Struct.new(
1433
+ :stack_name,
1434
+ :next_token)
1435
+ include Aws::Structure
1436
+ end
1437
+
1438
+ # The output for the ListChangeSets action.
1439
+ # @!attribute [rw] summaries
1440
+ # A list of `ChangeSetSummary` structures that provides the ID and
1441
+ # status of each change set for the specified stack.
1442
+ # @return [Array<Types::ChangeSetSummary>]
1443
+ #
1444
+ # @!attribute [rw] next_token
1445
+ # If the output exceeds 1 MB, a string that identifies the next page
1446
+ # of change sets. If there is no additional page, this value is null.
1447
+ # @return [String]
1448
+ class ListChangeSetsOutput < Struct.new(
1449
+ :summaries,
1450
+ :next_token)
1451
+ include Aws::Structure
1452
+ end
1453
+
1454
+ # @note When making an API call, pass ListExportsInput
1455
+ # data as a hash:
1456
+ #
1457
+ # {
1458
+ # next_token: "NextToken",
1459
+ # }
1460
+ # @!attribute [rw] next_token
1461
+ # A string (provided by the ListExports response output) that
1462
+ # identifies the next page of exported output values that you asked to
1463
+ # retrieve.
1464
+ # @return [String]
1465
+ class ListExportsInput < Struct.new(
1466
+ :next_token)
1467
+ include Aws::Structure
1468
+ end
1469
+
1470
+ # @!attribute [rw] exports
1471
+ # The output for the ListExports action.
1472
+ # @return [Array<Types::Export>]
1473
+ #
1474
+ # @!attribute [rw] next_token
1475
+ # If the output exceeds 100 exported output values, a string that
1476
+ # identifies the next page of exports. If there is no additional page,
1477
+ # this value is null.
1478
+ # @return [String]
1479
+ class ListExportsOutput < Struct.new(
1480
+ :exports,
1481
+ :next_token)
1482
+ include Aws::Structure
1483
+ end
1484
+
1485
+ # @note When making an API call, pass ListImportsInput
1486
+ # data as a hash:
1487
+ #
1488
+ # {
1489
+ # export_name: "ExportName", # required
1490
+ # next_token: "NextToken",
1491
+ # }
1492
+ # @!attribute [rw] export_name
1493
+ # The name of the exported output value. AWS CloudFormation returns
1494
+ # the stack names that are importing this value.
1495
+ # @return [String]
1496
+ #
1497
+ # @!attribute [rw] next_token
1498
+ # A string (provided by the ListImports response output) that
1499
+ # identifies the next page of stacks that are importing the specified
1500
+ # exported output value.
1501
+ # @return [String]
1502
+ class ListImportsInput < Struct.new(
1503
+ :export_name,
1504
+ :next_token)
1505
+ include Aws::Structure
1506
+ end
1507
+
1508
+ # @!attribute [rw] imports
1509
+ # A list of stack names that are importing the specified exported
1510
+ # output value.
1511
+ # @return [Array<String>]
1512
+ #
1513
+ # @!attribute [rw] next_token
1514
+ # A string that identifies the next page of exports. If there is no
1515
+ # additional page, this value is null.
1516
+ # @return [String]
1517
+ class ListImportsOutput < Struct.new(
1518
+ :imports,
1519
+ :next_token)
1520
+ include Aws::Structure
1521
+ end
1522
+
1523
+ # The input for the ListStackResource action.
1524
+ # @note When making an API call, pass ListStackResourcesInput
1525
+ # data as a hash:
1526
+ #
1527
+ # {
1528
+ # stack_name: "StackName", # required
1529
+ # next_token: "NextToken",
1530
+ # }
1531
+ # @!attribute [rw] stack_name
1532
+ # The name or the unique stack ID that is associated with the stack,
1533
+ # which are not always interchangeable:
1534
+ #
1535
+ # * Running stacks: You can specify either the stack's name or its
1536
+ # unique stack ID.
1537
+ #
1538
+ # * Deleted stacks: You must specify the unique stack ID.
1539
+ #
1540
+ # Default: There is no default value.
1541
+ # @return [String]
1542
+ #
1543
+ # @!attribute [rw] next_token
1544
+ # A string that identifies the next page of stack resources that you
1545
+ # want to retrieve.
1546
+ # @return [String]
1547
+ class ListStackResourcesInput < Struct.new(
1548
+ :stack_name,
1549
+ :next_token)
1550
+ include Aws::Structure
1551
+ end
1552
+
1553
+ # The output for a ListStackResources action.
1554
+ # @!attribute [rw] stack_resource_summaries
1555
+ # A list of `StackResourceSummary` structures.
1556
+ # @return [Array<Types::StackResourceSummary>]
1557
+ #
1558
+ # @!attribute [rw] next_token
1559
+ # If the output exceeds 1 MB, a string that identifies the next page
1560
+ # of stack resources. If no additional page exists, this value is
1561
+ # null.
1562
+ # @return [String]
1563
+ class ListStackResourcesOutput < Struct.new(
1564
+ :stack_resource_summaries,
1565
+ :next_token)
1566
+ include Aws::Structure
1567
+ end
1568
+
1569
+ # The input for ListStacks action.
1570
+ # @note When making an API call, pass ListStacksInput
1571
+ # data as a hash:
1572
+ #
1573
+ # {
1574
+ # next_token: "NextToken",
1575
+ # 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
1576
+ # }
1577
+ # @!attribute [rw] next_token
1578
+ # A string that identifies the next page of stacks that you want to
1579
+ # retrieve.
1580
+ # @return [String]
1581
+ #
1582
+ # @!attribute [rw] stack_status_filter
1583
+ # Stack status to use as a filter. Specify one or more stack status
1584
+ # codes to list only stacks with the specified status codes. For a
1585
+ # complete list of stack status codes, see the `StackStatus` parameter
1586
+ # of the Stack data type.
1587
+ # @return [Array<String>]
1588
+ class ListStacksInput < Struct.new(
1589
+ :next_token,
1590
+ :stack_status_filter)
1591
+ include Aws::Structure
1592
+ end
1593
+
1594
+ # The output for ListStacks action.
1595
+ # @!attribute [rw] stack_summaries
1596
+ # A list of `StackSummary` structures containing information about the
1597
+ # specified stacks.
1598
+ # @return [Array<Types::StackSummary>]
1599
+ #
1600
+ # @!attribute [rw] next_token
1601
+ # If the output exceeds 1 MB in size, a string that identifies the
1602
+ # next page of stacks. If no additional page exists, this value is
1603
+ # null.
1604
+ # @return [String]
1605
+ class ListStacksOutput < Struct.new(
1606
+ :stack_summaries,
1607
+ :next_token)
1608
+ include Aws::Structure
1609
+ end
1610
+
1611
+ # The Output data type.
1612
+ # @!attribute [rw] output_key
1613
+ # The key associated with the output.
1614
+ # @return [String]
1615
+ #
1616
+ # @!attribute [rw] output_value
1617
+ # The value associated with the output.
1618
+ # @return [String]
1619
+ #
1620
+ # @!attribute [rw] description
1621
+ # User defined description associated with the output.
1622
+ # @return [String]
1623
+ class Output < Struct.new(
1624
+ :output_key,
1625
+ :output_value,
1626
+ :description)
1627
+ include Aws::Structure
1628
+ end
1629
+
1630
+ # The Parameter data type.
1631
+ # @note When making an API call, pass Parameter
1632
+ # data as a hash:
1633
+ #
1634
+ # {
1635
+ # parameter_key: "ParameterKey",
1636
+ # parameter_value: "ParameterValue",
1637
+ # use_previous_value: false,
1638
+ # }
1639
+ # @!attribute [rw] parameter_key
1640
+ # The key associated with the parameter. If you don't specify a key
1641
+ # and value for a particular parameter, AWS CloudFormation uses the
1642
+ # default value that is specified in your template.
1643
+ # @return [String]
1644
+ #
1645
+ # @!attribute [rw] parameter_value
1646
+ # The value associated with the parameter.
1647
+ # @return [String]
1648
+ #
1649
+ # @!attribute [rw] use_previous_value
1650
+ # During a stack update, use the existing parameter value that the
1651
+ # stack is using for a given parameter key. If you specify `true`, do
1652
+ # not specify a parameter value.
1653
+ # @return [Boolean]
1654
+ class Parameter < Struct.new(
1655
+ :parameter_key,
1656
+ :parameter_value,
1657
+ :use_previous_value)
1658
+ include Aws::Structure
1659
+ end
1660
+
1661
+ # A set of criteria that AWS CloudFormation uses to validate parameter
1662
+ # values. Although other constraints might be defined in the stack
1663
+ # template, AWS CloudFormation returns only the `AllowedValues`
1664
+ # property.
1665
+ # @!attribute [rw] allowed_values
1666
+ # A list of values that are permitted for a parameter.
1667
+ # @return [Array<String>]
1668
+ class ParameterConstraints < Struct.new(
1669
+ :allowed_values)
1670
+ include Aws::Structure
1671
+ end
1672
+
1673
+ # The ParameterDeclaration data type.
1674
+ # @!attribute [rw] parameter_key
1675
+ # The name that is associated with the parameter.
1676
+ # @return [String]
1677
+ #
1678
+ # @!attribute [rw] default_value
1679
+ # The default value of the parameter.
1680
+ # @return [String]
1681
+ #
1682
+ # @!attribute [rw] parameter_type
1683
+ # The type of parameter.
1684
+ # @return [String]
1685
+ #
1686
+ # @!attribute [rw] no_echo
1687
+ # Flag that indicates whether the parameter value is shown as plain
1688
+ # text in logs and in the AWS Management Console.
1689
+ # @return [Boolean]
1690
+ #
1691
+ # @!attribute [rw] description
1692
+ # The description that is associate with the parameter.
1693
+ # @return [String]
1694
+ #
1695
+ # @!attribute [rw] parameter_constraints
1696
+ # The criteria that AWS CloudFormation uses to validate parameter
1697
+ # values.
1698
+ # @return [Types::ParameterConstraints]
1699
+ class ParameterDeclaration < Struct.new(
1700
+ :parameter_key,
1701
+ :default_value,
1702
+ :parameter_type,
1703
+ :no_echo,
1704
+ :description,
1705
+ :parameter_constraints)
1706
+ include Aws::Structure
1707
+ end
1708
+
1709
+ # The `ResourceChange` structure describes the resource and the action
1710
+ # that AWS CloudFormation will perform on it if you execute this change
1711
+ # set.
1712
+ # @!attribute [rw] action
1713
+ # The action that AWS CloudFormation takes on the resource, such as
1714
+ # `Add` (adds a new resource), `Modify` (changes a resource), or
1715
+ # `Remove` (deletes a resource).
1716
+ # @return [String]
1717
+ #
1718
+ # @!attribute [rw] logical_resource_id
1719
+ # The resource's logical ID, which is defined in the stack's
1720
+ # template.
1721
+ # @return [String]
1722
+ #
1723
+ # @!attribute [rw] physical_resource_id
1724
+ # The resource's physical ID (resource name). Resources that you are
1725
+ # adding don't have physical IDs because they haven't been created.
1726
+ # @return [String]
1727
+ #
1728
+ # @!attribute [rw] resource_type
1729
+ # The type of AWS CloudFormation resource, such as `AWS::S3::Bucket`.
1730
+ # @return [String]
1731
+ #
1732
+ # @!attribute [rw] replacement
1733
+ # For the `Modify` action, indicates whether AWS CloudFormation will
1734
+ # replace the resource by creating a new one and deleting the old one.
1735
+ # This value depends on the value of the `RequiresRecreation` property
1736
+ # in the `ResourceTargetDefinition` structure. For example, if the
1737
+ # `RequiresRecreation` field is `Always` and the `Evaluation` field is
1738
+ # `Static`, `Replacement` is `True`. If the `RequiresRecreation` field
1739
+ # is `Always` and the `Evaluation` field is `Dynamic`, `Replacement`
1740
+ # is `Conditionally`.
1741
+ #
1742
+ # If you have multiple changes with different `RequiresRecreation`
1743
+ # values, the `Replacement` value depends on the change with the most
1744
+ # impact. A `RequiresRecreation` value of `Always` has the most
1745
+ # impact, followed by `Conditionally`, and then `Never`.
1746
+ # @return [String]
1747
+ #
1748
+ # @!attribute [rw] scope
1749
+ # For the `Modify` action, indicates which resource attribute is
1750
+ # triggering this update, such as a change in the resource
1751
+ # attribute's `Metadata`, `Properties`, or `Tags`.
1752
+ # @return [Array<String>]
1753
+ #
1754
+ # @!attribute [rw] details
1755
+ # For the `Modify` action, a list of `ResourceChangeDetail` structures
1756
+ # that describes the changes that AWS CloudFormation will make to the
1757
+ # resource.
1758
+ # @return [Array<Types::ResourceChangeDetail>]
1759
+ class ResourceChange < Struct.new(
1760
+ :action,
1761
+ :logical_resource_id,
1762
+ :physical_resource_id,
1763
+ :resource_type,
1764
+ :replacement,
1765
+ :scope,
1766
+ :details)
1767
+ include Aws::Structure
1768
+ end
1769
+
1770
+ # For a resource with `Modify` as the action, the `ResourceChange`
1771
+ # structure describes the changes AWS CloudFormation will make to that
1772
+ # resource.
1773
+ # @!attribute [rw] target
1774
+ # A `ResourceTargetDefinition` structure that describes the field that
1775
+ # AWS CloudFormation will change and whether the resource will be
1776
+ # recreated.
1777
+ # @return [Types::ResourceTargetDefinition]
1778
+ #
1779
+ # @!attribute [rw] evaluation
1780
+ # Indicates whether AWS CloudFormation can determine the target value,
1781
+ # and whether the target value will change before you execute a change
1782
+ # set.
1783
+ #
1784
+ # For `Static` evaluations, AWS CloudFormation can determine that the
1785
+ # target value will change, and its value. For example, if you
1786
+ # directly modify the `InstanceType` property of an EC2 instance, AWS
1787
+ # CloudFormation knows that this property value will change, and its
1788
+ # value, so this is a `Static` evaluation.
1789
+ #
1790
+ # For `Dynamic` evaluations, cannot determine the target value because
1791
+ # it depends on the result of an intrinsic function, such as a `Ref`
1792
+ # or `Fn::GetAtt` intrinsic function, when the stack is updated. For
1793
+ # example, if your template includes a reference to a resource that is
1794
+ # conditionally recreated, the value of the reference (the physical ID
1795
+ # of the resource) might change, depending on if the resource is
1796
+ # recreated. If the resource is recreated, it will have a new physical
1797
+ # ID, so all references to that resource will also be updated.
1798
+ # @return [String]
1799
+ #
1800
+ # @!attribute [rw] change_source
1801
+ # The group to which the `CausingEntity` value belongs. There are five
1802
+ # entity groups:
1803
+ #
1804
+ # * `ResourceReference` entities are `Ref` intrinsic functions that
1805
+ # refer to resources in the template, such as `\{ "Ref" :
1806
+ # "MyEC2InstanceResource" \}`.
1807
+ #
1808
+ # * `ParameterReference` entities are `Ref` intrinsic functions that
1809
+ # get template parameter values, such as `\{ "Ref" :
1810
+ # "MyPasswordParameter" \}`.
1811
+ #
1812
+ # * `ResourceAttribute` entities are `Fn::GetAtt` intrinsic functions
1813
+ # that get resource attribute values, such as `\{ "Fn::GetAtt" : [
1814
+ # "MyEC2InstanceResource", "PublicDnsName" ] \}`.
1815
+ #
1816
+ # * `DirectModification` entities are changes that are made directly
1817
+ # to the template.
1818
+ #
1819
+ # * `Automatic` entities are `AWS::CloudFormation::Stack` resource
1820
+ # types, which are also known as nested stacks. If you made no
1821
+ # changes to the `AWS::CloudFormation::Stack` resource, AWS
1822
+ # CloudFormation sets the `ChangeSource` to `Automatic` because the
1823
+ # nested stack's template might have changed. Changes to a nested
1824
+ # stack's template aren't visible to AWS CloudFormation until you
1825
+ # run an update on the parent stack.
1826
+ # @return [String]
1827
+ #
1828
+ # @!attribute [rw] causing_entity
1829
+ # The identity of the entity that triggered this change. This entity
1830
+ # is a member of the group that is specified by the `ChangeSource`
1831
+ # field. For example, if you modified the value of the `KeyPairName`
1832
+ # parameter, the `CausingEntity` is the name of the parameter
1833
+ # (`KeyPairName`).
1834
+ #
1835
+ # If the `ChangeSource` value is `DirectModification`, no value is
1836
+ # given for `CausingEntity`.
1837
+ # @return [String]
1838
+ class ResourceChangeDetail < Struct.new(
1839
+ :target,
1840
+ :evaluation,
1841
+ :change_source,
1842
+ :causing_entity)
1843
+ include Aws::Structure
1844
+ end
1845
+
1846
+ # The field that AWS CloudFormation will change, such as the name of a
1847
+ # resource's property, and whether the resource will be recreated.
1848
+ # @!attribute [rw] attribute
1849
+ # Indicates which resource attribute is triggering this update, such
1850
+ # as a change in the resource attribute's `Metadata`, `Properties`,
1851
+ # or `Tags`.
1852
+ # @return [String]
1853
+ #
1854
+ # @!attribute [rw] name
1855
+ # If the `Attribute` value is `Properties`, the name of the property.
1856
+ # For all other attributes, the value is null.
1857
+ # @return [String]
1858
+ #
1859
+ # @!attribute [rw] requires_recreation
1860
+ # If the `Attribute` value is `Properties`, indicates whether a change
1861
+ # to this property causes the resource to be recreated. The value can
1862
+ # be `Never`, `Always`, or `Conditionally`. To determine the
1863
+ # conditions for a `Conditionally` recreation, see the update behavior
1864
+ # for that [property][1] in the AWS CloudFormation User Guide.
1865
+ #
1866
+ #
1867
+ #
1868
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
1869
+ # @return [String]
1870
+ class ResourceTargetDefinition < Struct.new(
1871
+ :attribute,
1872
+ :name,
1873
+ :requires_recreation)
1874
+ include Aws::Structure
1875
+ end
1876
+
1877
+ # The input for the SetStackPolicy action.
1878
+ # @note When making an API call, pass SetStackPolicyInput
1879
+ # data as a hash:
1880
+ #
1881
+ # {
1882
+ # stack_name: "StackName", # required
1883
+ # stack_policy_body: "StackPolicyBody",
1884
+ # stack_policy_url: "StackPolicyURL",
1885
+ # }
1886
+ # @!attribute [rw] stack_name
1887
+ # The name or unique stack ID that you want to associate a policy
1888
+ # with.
1889
+ # @return [String]
1890
+ #
1891
+ # @!attribute [rw] stack_policy_body
1892
+ # Structure containing the stack policy body. For more information, go
1893
+ # to [ Prevent Updates to Stack Resources][1] in the AWS
1894
+ # CloudFormation User Guide. You can specify either the
1895
+ # `StackPolicyBody` or the `StackPolicyURL` parameter, but not both.
1896
+ #
1897
+ #
1898
+ #
1899
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html
1900
+ # @return [String]
1901
+ #
1902
+ # @!attribute [rw] stack_policy_url
1903
+ # Location of a file containing the stack policy. The URL must point
1904
+ # to a policy (maximum size: 16 KB) located in an S3 bucket in the
1905
+ # same region as the stack. You can specify either the
1906
+ # `StackPolicyBody` or the `StackPolicyURL` parameter, but not both.
1907
+ # @return [String]
1908
+ class SetStackPolicyInput < Struct.new(
1909
+ :stack_name,
1910
+ :stack_policy_body,
1911
+ :stack_policy_url)
1912
+ include Aws::Structure
1913
+ end
1914
+
1915
+ # The input for the SignalResource action.
1916
+ # @note When making an API call, pass SignalResourceInput
1917
+ # data as a hash:
1918
+ #
1919
+ # {
1920
+ # stack_name: "StackNameOrId", # required
1921
+ # logical_resource_id: "LogicalResourceId", # required
1922
+ # unique_id: "ResourceSignalUniqueId", # required
1923
+ # status: "SUCCESS", # required, accepts SUCCESS, FAILURE
1924
+ # }
1925
+ # @!attribute [rw] stack_name
1926
+ # The stack name or unique stack ID that includes the resource that
1927
+ # you want to signal.
1928
+ # @return [String]
1929
+ #
1930
+ # @!attribute [rw] logical_resource_id
1931
+ # The logical ID of the resource that you want to signal. The logical
1932
+ # ID is the name of the resource that given in the template.
1933
+ # @return [String]
1934
+ #
1935
+ # @!attribute [rw] unique_id
1936
+ # A unique ID of the signal. When you signal Amazon EC2 instances or
1937
+ # Auto Scaling groups, specify the instance ID that you are signaling
1938
+ # as the unique ID. If you send multiple signals to a single resource
1939
+ # (such as signaling a wait condition), each signal requires a
1940
+ # different unique ID.
1941
+ # @return [String]
1942
+ #
1943
+ # @!attribute [rw] status
1944
+ # The status of the signal, which is either success or failure. A
1945
+ # failure signal causes AWS CloudFormation to immediately fail the
1946
+ # stack creation or update.
1947
+ # @return [String]
1948
+ class SignalResourceInput < Struct.new(
1949
+ :stack_name,
1950
+ :logical_resource_id,
1951
+ :unique_id,
1952
+ :status)
1953
+ include Aws::Structure
1954
+ end
1955
+
1956
+ # The Stack data type.
1957
+ # @!attribute [rw] stack_id
1958
+ # Unique identifier of the stack.
1959
+ # @return [String]
1960
+ #
1961
+ # @!attribute [rw] stack_name
1962
+ # The name associated with the stack.
1963
+ # @return [String]
1964
+ #
1965
+ # @!attribute [rw] change_set_id
1966
+ # The unique ID of the change set.
1967
+ # @return [String]
1968
+ #
1969
+ # @!attribute [rw] description
1970
+ # A user-defined description associated with the stack.
1971
+ # @return [String]
1972
+ #
1973
+ # @!attribute [rw] parameters
1974
+ # A list of `Parameter` structures.
1975
+ # @return [Array<Types::Parameter>]
1976
+ #
1977
+ # @!attribute [rw] creation_time
1978
+ # The time at which the stack was created.
1979
+ # @return [Time]
1980
+ #
1981
+ # @!attribute [rw] last_updated_time
1982
+ # The time the stack was last updated. This field will only be
1983
+ # returned if the stack has been updated at least once.
1984
+ # @return [Time]
1985
+ #
1986
+ # @!attribute [rw] stack_status
1987
+ # Current status of the stack.
1988
+ # @return [String]
1989
+ #
1990
+ # @!attribute [rw] stack_status_reason
1991
+ # Success/failure message associated with the stack status.
1992
+ # @return [String]
1993
+ #
1994
+ # @!attribute [rw] disable_rollback
1995
+ # Boolean to enable or disable rollback on stack creation failures:
1996
+ #
1997
+ # * `true`\: disable rollback
1998
+ #
1999
+ # * `false`\: enable rollback
2000
+ # @return [Boolean]
2001
+ #
2002
+ # @!attribute [rw] notification_arns
2003
+ # SNS topic ARNs to which stack related events are published.
2004
+ # @return [Array<String>]
2005
+ #
2006
+ # @!attribute [rw] timeout_in_minutes
2007
+ # The amount of time within which stack creation should complete.
2008
+ # @return [Integer]
2009
+ #
2010
+ # @!attribute [rw] capabilities
2011
+ # The capabilities allowed in the stack.
2012
+ # @return [Array<String>]
2013
+ #
2014
+ # @!attribute [rw] outputs
2015
+ # A list of output structures.
2016
+ # @return [Array<Types::Output>]
2017
+ #
2018
+ # @!attribute [rw] role_arn
2019
+ # The Amazon Resource Name (ARN) of an AWS Identity and Access
2020
+ # Management (IAM) role that is associated with the stack. During a
2021
+ # stack operation, AWS CloudFormation uses this role's credentials to
2022
+ # make calls on your behalf.
2023
+ # @return [String]
2024
+ #
2025
+ # @!attribute [rw] tags
2026
+ # A list of `Tag`s that specify information about the stack.
2027
+ # @return [Array<Types::Tag>]
2028
+ class Stack < Struct.new(
2029
+ :stack_id,
2030
+ :stack_name,
2031
+ :change_set_id,
2032
+ :description,
2033
+ :parameters,
2034
+ :creation_time,
2035
+ :last_updated_time,
2036
+ :stack_status,
2037
+ :stack_status_reason,
2038
+ :disable_rollback,
2039
+ :notification_arns,
2040
+ :timeout_in_minutes,
2041
+ :capabilities,
2042
+ :outputs,
2043
+ :role_arn,
2044
+ :tags)
2045
+ include Aws::Structure
2046
+ end
2047
+
2048
+ # The StackEvent data type.
2049
+ # @!attribute [rw] stack_id
2050
+ # The unique ID name of the instance of the stack.
2051
+ # @return [String]
2052
+ #
2053
+ # @!attribute [rw] event_id
2054
+ # The unique ID of this event.
2055
+ # @return [String]
2056
+ #
2057
+ # @!attribute [rw] stack_name
2058
+ # The name associated with a stack.
2059
+ # @return [String]
2060
+ #
2061
+ # @!attribute [rw] logical_resource_id
2062
+ # The logical name of the resource specified in the template.
2063
+ # @return [String]
2064
+ #
2065
+ # @!attribute [rw] physical_resource_id
2066
+ # The name or unique identifier associated with the physical instance
2067
+ # of the resource.
2068
+ # @return [String]
2069
+ #
2070
+ # @!attribute [rw] resource_type
2071
+ # Type of resource. (For more information, go to [ AWS Resource Types
2072
+ # Reference][1] in the AWS CloudFormation User Guide.)
2073
+ #
2074
+ #
2075
+ #
2076
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
2077
+ # @return [String]
2078
+ #
2079
+ # @!attribute [rw] timestamp
2080
+ # Time the status was updated.
2081
+ # @return [Time]
2082
+ #
2083
+ # @!attribute [rw] resource_status
2084
+ # Current status of the resource.
2085
+ # @return [String]
2086
+ #
2087
+ # @!attribute [rw] resource_status_reason
2088
+ # Success/failure message associated with the resource.
2089
+ # @return [String]
2090
+ #
2091
+ # @!attribute [rw] resource_properties
2092
+ # BLOB of the properties used to create the resource.
2093
+ # @return [String]
2094
+ class StackEvent < Struct.new(
2095
+ :stack_id,
2096
+ :event_id,
2097
+ :stack_name,
2098
+ :logical_resource_id,
2099
+ :physical_resource_id,
2100
+ :resource_type,
2101
+ :timestamp,
2102
+ :resource_status,
2103
+ :resource_status_reason,
2104
+ :resource_properties)
2105
+ include Aws::Structure
2106
+ end
2107
+
2108
+ # The StackResource data type.
2109
+ # @!attribute [rw] stack_name
2110
+ # The name associated with the stack.
2111
+ # @return [String]
2112
+ #
2113
+ # @!attribute [rw] stack_id
2114
+ # Unique identifier of the stack.
2115
+ # @return [String]
2116
+ #
2117
+ # @!attribute [rw] logical_resource_id
2118
+ # The logical name of the resource specified in the template.
2119
+ # @return [String]
2120
+ #
2121
+ # @!attribute [rw] physical_resource_id
2122
+ # The name or unique identifier that corresponds to a physical
2123
+ # instance ID of a resource supported by AWS CloudFormation.
2124
+ # @return [String]
2125
+ #
2126
+ # @!attribute [rw] resource_type
2127
+ # Type of resource. (For more information, go to [ AWS Resource Types
2128
+ # Reference][1] in the AWS CloudFormation User Guide.)
2129
+ #
2130
+ #
2131
+ #
2132
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
2133
+ # @return [String]
2134
+ #
2135
+ # @!attribute [rw] timestamp
2136
+ # Time the status was updated.
2137
+ # @return [Time]
2138
+ #
2139
+ # @!attribute [rw] resource_status
2140
+ # Current status of the resource.
2141
+ # @return [String]
2142
+ #
2143
+ # @!attribute [rw] resource_status_reason
2144
+ # Success/failure message associated with the resource.
2145
+ # @return [String]
2146
+ #
2147
+ # @!attribute [rw] description
2148
+ # User defined description associated with the resource.
2149
+ # @return [String]
2150
+ class StackResource < Struct.new(
2151
+ :stack_name,
2152
+ :stack_id,
2153
+ :logical_resource_id,
2154
+ :physical_resource_id,
2155
+ :resource_type,
2156
+ :timestamp,
2157
+ :resource_status,
2158
+ :resource_status_reason,
2159
+ :description)
2160
+ include Aws::Structure
2161
+ end
2162
+
2163
+ # Contains detailed information about the specified stack resource.
2164
+ # @!attribute [rw] stack_name
2165
+ # The name associated with the stack.
2166
+ # @return [String]
2167
+ #
2168
+ # @!attribute [rw] stack_id
2169
+ # Unique identifier of the stack.
2170
+ # @return [String]
2171
+ #
2172
+ # @!attribute [rw] logical_resource_id
2173
+ # The logical name of the resource specified in the template.
2174
+ # @return [String]
2175
+ #
2176
+ # @!attribute [rw] physical_resource_id
2177
+ # The name or unique identifier that corresponds to a physical
2178
+ # instance ID of a resource supported by AWS CloudFormation.
2179
+ # @return [String]
2180
+ #
2181
+ # @!attribute [rw] resource_type
2182
+ # Type of resource. ((For more information, go to [ AWS Resource Types
2183
+ # Reference][1] in the AWS CloudFormation User Guide.)
2184
+ #
2185
+ #
2186
+ #
2187
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
2188
+ # @return [String]
2189
+ #
2190
+ # @!attribute [rw] last_updated_timestamp
2191
+ # Time the status was updated.
2192
+ # @return [Time]
2193
+ #
2194
+ # @!attribute [rw] resource_status
2195
+ # Current status of the resource.
2196
+ # @return [String]
2197
+ #
2198
+ # @!attribute [rw] resource_status_reason
2199
+ # Success/failure message associated with the resource.
2200
+ # @return [String]
2201
+ #
2202
+ # @!attribute [rw] description
2203
+ # User defined description associated with the resource.
2204
+ # @return [String]
2205
+ #
2206
+ # @!attribute [rw] metadata
2207
+ # The content of the `Metadata` attribute declared for the resource.
2208
+ # For more information, see [Metadata Attribute][1] in the AWS
2209
+ # CloudFormation User Guide.
2210
+ #
2211
+ #
2212
+ #
2213
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html
2214
+ # @return [String]
2215
+ class StackResourceDetail < Struct.new(
2216
+ :stack_name,
2217
+ :stack_id,
2218
+ :logical_resource_id,
2219
+ :physical_resource_id,
2220
+ :resource_type,
2221
+ :last_updated_timestamp,
2222
+ :resource_status,
2223
+ :resource_status_reason,
2224
+ :description,
2225
+ :metadata)
2226
+ include Aws::Structure
2227
+ end
2228
+
2229
+ # Contains high-level information about the specified stack resource.
2230
+ # @!attribute [rw] logical_resource_id
2231
+ # The logical name of the resource specified in the template.
2232
+ # @return [String]
2233
+ #
2234
+ # @!attribute [rw] physical_resource_id
2235
+ # The name or unique identifier that corresponds to a physical
2236
+ # instance ID of the resource.
2237
+ # @return [String]
2238
+ #
2239
+ # @!attribute [rw] resource_type
2240
+ # Type of resource. (For more information, go to [ AWS Resource Types
2241
+ # Reference][1] in the AWS CloudFormation User Guide.)
2242
+ #
2243
+ #
2244
+ #
2245
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
2246
+ # @return [String]
2247
+ #
2248
+ # @!attribute [rw] last_updated_timestamp
2249
+ # Time the status was updated.
2250
+ # @return [Time]
2251
+ #
2252
+ # @!attribute [rw] resource_status
2253
+ # Current status of the resource.
2254
+ # @return [String]
2255
+ #
2256
+ # @!attribute [rw] resource_status_reason
2257
+ # Success/failure message associated with the resource.
2258
+ # @return [String]
2259
+ class StackResourceSummary < Struct.new(
2260
+ :logical_resource_id,
2261
+ :physical_resource_id,
2262
+ :resource_type,
2263
+ :last_updated_timestamp,
2264
+ :resource_status,
2265
+ :resource_status_reason)
2266
+ include Aws::Structure
2267
+ end
2268
+
2269
+ # The StackSummary Data Type
2270
+ # @!attribute [rw] stack_id
2271
+ # Unique stack identifier.
2272
+ # @return [String]
2273
+ #
2274
+ # @!attribute [rw] stack_name
2275
+ # The name associated with the stack.
2276
+ # @return [String]
2277
+ #
2278
+ # @!attribute [rw] template_description
2279
+ # The template description of the template used to create the stack.
2280
+ # @return [String]
2281
+ #
2282
+ # @!attribute [rw] creation_time
2283
+ # The time the stack was created.
2284
+ # @return [Time]
2285
+ #
2286
+ # @!attribute [rw] last_updated_time
2287
+ # The time the stack was last updated. This field will only be
2288
+ # returned if the stack has been updated at least once.
2289
+ # @return [Time]
2290
+ #
2291
+ # @!attribute [rw] deletion_time
2292
+ # The time the stack was deleted.
2293
+ # @return [Time]
2294
+ #
2295
+ # @!attribute [rw] stack_status
2296
+ # The current status of the stack.
2297
+ # @return [String]
2298
+ #
2299
+ # @!attribute [rw] stack_status_reason
2300
+ # Success/Failure message associated with the stack status.
2301
+ # @return [String]
2302
+ class StackSummary < Struct.new(
2303
+ :stack_id,
2304
+ :stack_name,
2305
+ :template_description,
2306
+ :creation_time,
2307
+ :last_updated_time,
2308
+ :deletion_time,
2309
+ :stack_status,
2310
+ :stack_status_reason)
2311
+ include Aws::Structure
2312
+ end
2313
+
2314
+ # The Tag type enables you to specify a key-value pair that can be used
2315
+ # to store information about an AWS CloudFormation stack.
2316
+ # @note When making an API call, pass Tag
2317
+ # data as a hash:
2318
+ #
2319
+ # {
2320
+ # key: "TagKey",
2321
+ # value: "TagValue",
2322
+ # }
2323
+ # @!attribute [rw] key
2324
+ # *Required*. A string used to identify this tag. You can specify a
2325
+ # maximum of 128 characters for a tag key. Tags owned by Amazon Web
2326
+ # Services (AWS) have the reserved prefix: `aws:`.
2327
+ # @return [String]
2328
+ #
2329
+ # @!attribute [rw] value
2330
+ # *Required*. A string containing the value for this tag. You can
2331
+ # specify a maximum of 256 characters for a tag value.
2332
+ # @return [String]
2333
+ class Tag < Struct.new(
2334
+ :key,
2335
+ :value)
2336
+ include Aws::Structure
2337
+ end
2338
+
2339
+ # The TemplateParameter data type.
2340
+ # @!attribute [rw] parameter_key
2341
+ # The name associated with the parameter.
2342
+ # @return [String]
2343
+ #
2344
+ # @!attribute [rw] default_value
2345
+ # The default value associated with the parameter.
2346
+ # @return [String]
2347
+ #
2348
+ # @!attribute [rw] no_echo
2349
+ # Flag indicating whether the parameter should be displayed as plain
2350
+ # text in logs and UIs.
2351
+ # @return [Boolean]
2352
+ #
2353
+ # @!attribute [rw] description
2354
+ # User defined description associated with the parameter.
2355
+ # @return [String]
2356
+ class TemplateParameter < Struct.new(
2357
+ :parameter_key,
2358
+ :default_value,
2359
+ :no_echo,
2360
+ :description)
2361
+ include Aws::Structure
2362
+ end
2363
+
2364
+ # The input for an UpdateStack action.
2365
+ # @note When making an API call, pass UpdateStackInput
2366
+ # data as a hash:
2367
+ #
2368
+ # {
2369
+ # stack_name: "StackName", # required
2370
+ # template_body: "TemplateBody",
2371
+ # template_url: "TemplateURL",
2372
+ # use_previous_template: false,
2373
+ # stack_policy_during_update_body: "StackPolicyDuringUpdateBody",
2374
+ # stack_policy_during_update_url: "StackPolicyDuringUpdateURL",
2375
+ # parameters: [
2376
+ # {
2377
+ # parameter_key: "ParameterKey",
2378
+ # parameter_value: "ParameterValue",
2379
+ # use_previous_value: false,
2380
+ # },
2381
+ # ],
2382
+ # capabilities: ["CAPABILITY_IAM"], # accepts CAPABILITY_IAM, CAPABILITY_NAMED_IAM
2383
+ # resource_types: ["ResourceType"],
2384
+ # role_arn: "RoleARN",
2385
+ # stack_policy_body: "StackPolicyBody",
2386
+ # stack_policy_url: "StackPolicyURL",
2387
+ # notification_arns: ["NotificationARN"],
2388
+ # tags: [
2389
+ # {
2390
+ # key: "TagKey",
2391
+ # value: "TagValue",
2392
+ # },
2393
+ # ],
2394
+ # }
2395
+ # @!attribute [rw] stack_name
2396
+ # The name or unique stack ID of the stack to update.
2397
+ # @return [String]
2398
+ #
2399
+ # @!attribute [rw] template_body
2400
+ # Structure containing the template body with a minimum length of 1
2401
+ # byte and a maximum length of 51,200 bytes. (For more information, go
2402
+ # to [Template Anatomy][1] in the AWS CloudFormation User Guide.)
2403
+ #
2404
+ # Conditional: You must specify either the `TemplateBody` or the
2405
+ # `TemplateURL` parameter, but not both.
2406
+ #
2407
+ #
2408
+ #
2409
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
2410
+ # @return [String]
2411
+ #
2412
+ # @!attribute [rw] template_url
2413
+ # Location of file containing the template body. The URL must point to
2414
+ # a template that is located in an Amazon S3 bucket. For more
2415
+ # information, go to [Template Anatomy][1] in the AWS CloudFormation
2416
+ # User Guide.
2417
+ #
2418
+ # Conditional: You must specify either the `TemplateBody` or the
2419
+ # `TemplateURL` parameter, but not both.
2420
+ #
2421
+ #
2422
+ #
2423
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
2424
+ # @return [String]
2425
+ #
2426
+ # @!attribute [rw] use_previous_template
2427
+ # Reuse the existing template that is associated with the stack that
2428
+ # you are updating.
2429
+ # @return [Boolean]
2430
+ #
2431
+ # @!attribute [rw] stack_policy_during_update_body
2432
+ # Structure containing the temporary overriding stack policy body. You
2433
+ # can specify either the `StackPolicyDuringUpdateBody` or the
2434
+ # `StackPolicyDuringUpdateURL` parameter, but not both.
2435
+ #
2436
+ # If you want to update protected resources, specify a temporary
2437
+ # overriding stack policy during this update. If you do not specify a
2438
+ # stack policy, the current policy that is associated with the stack
2439
+ # will be used.
2440
+ # @return [String]
2441
+ #
2442
+ # @!attribute [rw] stack_policy_during_update_url
2443
+ # Location of a file containing the temporary overriding stack policy.
2444
+ # The URL must point to a policy (max size: 16KB) located in an S3
2445
+ # bucket in the same region as the stack. You can specify either the
2446
+ # `StackPolicyDuringUpdateBody` or the `StackPolicyDuringUpdateURL`
2447
+ # parameter, but not both.
2448
+ #
2449
+ # If you want to update protected resources, specify a temporary
2450
+ # overriding stack policy during this update. If you do not specify a
2451
+ # stack policy, the current policy that is associated with the stack
2452
+ # will be used.
2453
+ # @return [String]
2454
+ #
2455
+ # @!attribute [rw] parameters
2456
+ # A list of `Parameter` structures that specify input parameters for
2457
+ # the stack. For more information, see the [Parameter][1] data type.
2458
+ #
2459
+ #
2460
+ #
2461
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
2462
+ # @return [Array<Types::Parameter>]
2463
+ #
2464
+ # @!attribute [rw] capabilities
2465
+ # A list of values that you must specify before AWS CloudFormation can
2466
+ # update certain stacks. Some stack templates might include resources
2467
+ # that can affect permissions in your AWS account, for example, by
2468
+ # creating new AWS Identity and Access Management (IAM) users. For
2469
+ # those stacks, you must explicitly acknowledge their capabilities by
2470
+ # specifying this parameter.
2471
+ #
2472
+ # The only valid values are `CAPABILITY_IAM` and
2473
+ # `CAPABILITY_NAMED_IAM`. The following resources require you to
2474
+ # specify this parameter: [ AWS::IAM::AccessKey][1], [
2475
+ # AWS::IAM::Group][2], [ AWS::IAM::InstanceProfile][3], [
2476
+ # AWS::IAM::Policy][4], [ AWS::IAM::Role][5], [ AWS::IAM::User][6],
2477
+ # and [ AWS::IAM::UserToGroupAddition][7]. If your stack template
2478
+ # contains these resources, we recommend that you review all
2479
+ # permissions associated with them and edit their permissions if
2480
+ # necessary.
2481
+ #
2482
+ # If you have IAM resources, you can specify either capability. If you
2483
+ # have IAM resources with custom names, you must specify
2484
+ # `CAPABILITY_NAMED_IAM`. If you don't specify this parameter, this
2485
+ # action returns an `InsufficientCapabilities` error.
2486
+ #
2487
+ # For more information, see [Acknowledging IAM Resources in AWS
2488
+ # CloudFormation Templates][8].
2489
+ #
2490
+ #
2491
+ #
2492
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
2493
+ # [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html
2494
+ # [3]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html
2495
+ # [4]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html
2496
+ # [5]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
2497
+ # [6]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
2498
+ # [7]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
2499
+ # [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
2500
+ # @return [Array<String>]
2501
+ #
2502
+ # @!attribute [rw] resource_types
2503
+ # The template resource types that you have permissions to work with
2504
+ # for this update stack action, such as `AWS::EC2::Instance`,
2505
+ # `AWS::EC2::*`, or `Custom::MyCustomInstance`.
2506
+ #
2507
+ # If the list of resource types doesn't include a resource that
2508
+ # you're updating, the stack update fails. By default, AWS
2509
+ # CloudFormation grants permissions to all resource types. AWS
2510
+ # Identity and Access Management (IAM) uses this parameter for AWS
2511
+ # CloudFormation-specific condition keys in IAM policies. For more
2512
+ # information, see [Controlling Access with AWS Identity and Access
2513
+ # Management][1].
2514
+ #
2515
+ #
2516
+ #
2517
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html
2518
+ # @return [Array<String>]
2519
+ #
2520
+ # @!attribute [rw] role_arn
2521
+ # The Amazon Resource Name (ARN) of an AWS Identity and Access
2522
+ # Management (IAM) role that AWS CloudFormation assumes to update the
2523
+ # stack. AWS CloudFormation uses the role's credentials to make calls
2524
+ # on your behalf. AWS CloudFormation always uses this role for all
2525
+ # future operations on the stack. As long as users have permission to
2526
+ # operate on the stack, AWS CloudFormation uses this role even if the
2527
+ # users don't have permission to pass it. Ensure that the role grants
2528
+ # least privilege.
2529
+ #
2530
+ # If you don't specify a value, AWS CloudFormation uses the role that
2531
+ # was previously associated with the stack. If no role is available,
2532
+ # AWS CloudFormation uses a temporary session that is generated from
2533
+ # your user credentials.
2534
+ # @return [String]
2535
+ #
2536
+ # @!attribute [rw] stack_policy_body
2537
+ # Structure containing a new stack policy body. You can specify either
2538
+ # the `StackPolicyBody` or the `StackPolicyURL` parameter, but not
2539
+ # both.
2540
+ #
2541
+ # You might update the stack policy, for example, in order to protect
2542
+ # a new resource that you created during a stack update. If you do not
2543
+ # specify a stack policy, the current policy that is associated with
2544
+ # the stack is unchanged.
2545
+ # @return [String]
2546
+ #
2547
+ # @!attribute [rw] stack_policy_url
2548
+ # Location of a file containing the updated stack policy. The URL must
2549
+ # point to a policy (max size: 16KB) located in an S3 bucket in the
2550
+ # same region as the stack. You can specify either the
2551
+ # `StackPolicyBody` or the `StackPolicyURL` parameter, but not both.
2552
+ #
2553
+ # You might update the stack policy, for example, in order to protect
2554
+ # a new resource that you created during a stack update. If you do not
2555
+ # specify a stack policy, the current policy that is associated with
2556
+ # the stack is unchanged.
2557
+ # @return [String]
2558
+ #
2559
+ # @!attribute [rw] notification_arns
2560
+ # Amazon Simple Notification Service topic Amazon Resource Names
2561
+ # (ARNs) that AWS CloudFormation associates with the stack. Specify an
2562
+ # empty list to remove all notification topics.
2563
+ # @return [Array<String>]
2564
+ #
2565
+ # @!attribute [rw] tags
2566
+ # Key-value pairs to associate with this stack. AWS CloudFormation
2567
+ # also propagates these tags to supported resources in the stack. You
2568
+ # can specify a maximum number of 10 tags.
2569
+ #
2570
+ # If you don't specify this parameter, AWS CloudFormation doesn't
2571
+ # modify the stack's tags. If you specify an empty value, AWS
2572
+ # CloudFormation removes all associated tags.
2573
+ # @return [Array<Types::Tag>]
2574
+ class UpdateStackInput < Struct.new(
2575
+ :stack_name,
2576
+ :template_body,
2577
+ :template_url,
2578
+ :use_previous_template,
2579
+ :stack_policy_during_update_body,
2580
+ :stack_policy_during_update_url,
2581
+ :parameters,
2582
+ :capabilities,
2583
+ :resource_types,
2584
+ :role_arn,
2585
+ :stack_policy_body,
2586
+ :stack_policy_url,
2587
+ :notification_arns,
2588
+ :tags)
2589
+ include Aws::Structure
2590
+ end
2591
+
2592
+ # The output for an UpdateStack action.
2593
+ # @!attribute [rw] stack_id
2594
+ # Unique identifier of the stack.
2595
+ # @return [String]
2596
+ class UpdateStackOutput < Struct.new(
2597
+ :stack_id)
2598
+ include Aws::Structure
2599
+ end
2600
+
2601
+ # The input for ValidateTemplate action.
2602
+ # @note When making an API call, pass ValidateTemplateInput
2603
+ # data as a hash:
2604
+ #
2605
+ # {
2606
+ # template_body: "TemplateBody",
2607
+ # template_url: "TemplateURL",
2608
+ # }
2609
+ # @!attribute [rw] template_body
2610
+ # Structure containing the template body with a minimum length of 1
2611
+ # byte and a maximum length of 51,200 bytes. For more information, go
2612
+ # to [Template Anatomy][1] in the AWS CloudFormation User Guide.
2613
+ #
2614
+ # Conditional: You must pass `TemplateURL` or `TemplateBody`. If both
2615
+ # are passed, only `TemplateBody` is used.
2616
+ #
2617
+ #
2618
+ #
2619
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
2620
+ # @return [String]
2621
+ #
2622
+ # @!attribute [rw] template_url
2623
+ # Location of file containing the template body. The URL must point to
2624
+ # a template (max size: 460,800 bytes) that is located in an Amazon S3
2625
+ # bucket. For more information, go to [Template Anatomy][1] in the AWS
2626
+ # CloudFormation User Guide.
2627
+ #
2628
+ # Conditional: You must pass `TemplateURL` or `TemplateBody`. If both
2629
+ # are passed, only `TemplateBody` is used.
2630
+ #
2631
+ #
2632
+ #
2633
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
2634
+ # @return [String]
2635
+ class ValidateTemplateInput < Struct.new(
2636
+ :template_body,
2637
+ :template_url)
2638
+ include Aws::Structure
2639
+ end
2640
+
2641
+ # The output for ValidateTemplate action.
2642
+ # @!attribute [rw] parameters
2643
+ # A list of `TemplateParameter` structures.
2644
+ # @return [Array<Types::TemplateParameter>]
2645
+ #
2646
+ # @!attribute [rw] description
2647
+ # The description found within the template.
2648
+ # @return [String]
2649
+ #
2650
+ # @!attribute [rw] capabilities
2651
+ # The capabilities found within the template. If your template
2652
+ # contains IAM resources, you must specify the CAPABILITY\_IAM or
2653
+ # CAPABILITY\_NAMED\_IAM value for this parameter when you use the
2654
+ # CreateStack or UpdateStack actions with your template; otherwise,
2655
+ # those actions return an InsufficientCapabilities error.
2656
+ #
2657
+ # For more information, see [Acknowledging IAM Resources in AWS
2658
+ # CloudFormation Templates][1].
2659
+ #
2660
+ #
2661
+ #
2662
+ # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
2663
+ # @return [Array<String>]
2664
+ #
2665
+ # @!attribute [rw] capabilities_reason
2666
+ # The list of resources that generated the values in the
2667
+ # `Capabilities` response element.
2668
+ # @return [String]
2669
+ #
2670
+ # @!attribute [rw] declared_transforms
2671
+ # A list of the transforms that are declared in the template.
2672
+ # @return [Array<String>]
2673
+ class ValidateTemplateOutput < Struct.new(
2674
+ :parameters,
2675
+ :description,
2676
+ :capabilities,
2677
+ :capabilities_reason,
2678
+ :declared_transforms)
2679
+ include Aws::Structure
2680
+ end
2681
+
2682
+ end
2683
+ end
2684
+ end