aws-sdk-cloudformation 1.0.0.rc1

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