aws-sdk-cloudformation 1.41.0 → 1.131.0

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.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -78,7 +78,7 @@ module Aws::CloudFormation
78
78
  data[:last_updated_time]
79
79
  end
80
80
 
81
- # The rollback triggers for AWS CloudFormation to monitor during stack
81
+ # The rollback triggers for CloudFormation to monitor during stack
82
82
  # creation and updating operations, and for the specified monitoring
83
83
  # period afterwards.
84
84
  # @return [Types::RollbackConfiguration]
@@ -100,15 +100,16 @@ module Aws::CloudFormation
100
100
 
101
101
  # Boolean to enable or disable rollback on stack creation failures:
102
102
  #
103
- # * `true`\: disable rollback
103
+ # * `true`: disable rollback.
104
104
  #
105
- # * `false`\: enable rollback
105
+ # * `false`: enable rollback.
106
106
  # @return [Boolean]
107
107
  def disable_rollback
108
108
  data[:disable_rollback]
109
109
  end
110
110
 
111
- # SNS topic ARNs to which stack related events are published.
111
+ # Amazon SNS topic Amazon Resource Names (ARNs) to which stack related
112
+ # events are published.
112
113
  # @return [Array<String>]
113
114
  def notification_arns
114
115
  data[:notification_arns]
@@ -132,10 +133,9 @@ module Aws::CloudFormation
132
133
  data[:outputs]
133
134
  end
134
135
 
135
- # The Amazon Resource Name (ARN) of an AWS Identity and Access
136
- # Management (IAM) role that is associated with the stack. During a
137
- # stack operation, AWS CloudFormation uses this role's credentials to
138
- # make calls on your behalf.
136
+ # The Amazon Resource Name (ARN) of an IAM role that's associated with
137
+ # the stack. During a stack operation, CloudFormation uses this role's
138
+ # credentials to make calls on your behalf.
139
139
  # @return [String]
140
140
  def role_arn
141
141
  data[:role_arn]
@@ -150,14 +150,14 @@ module Aws::CloudFormation
150
150
  # Whether termination protection is enabled for the stack.
151
151
  #
152
152
  # For [nested stacks][1], termination protection is set on the root
153
- # stack and cannot be changed directly on the nested stack. For more
154
- # information, see [Protecting a Stack From Being Deleted][2] in the
155
- # *AWS CloudFormation User Guide*.
153
+ # stack and can't be changed directly on the nested stack. For more
154
+ # information, see [Protect a CloudFormation stack from being
155
+ # deleted][2] in the *CloudFormation User Guide*.
156
156
  #
157
157
  #
158
158
  #
159
- # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
160
- # [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html
159
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
160
+ # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html
161
161
  # @return [Boolean]
162
162
  def enable_termination_protection
163
163
  data[:enable_termination_protection]
@@ -167,12 +167,12 @@ module Aws::CloudFormation
167
167
  # stack ID of the direct parent of this stack. For the first level of
168
168
  # nested stacks, the root stack is also the parent stack.
169
169
  #
170
- # For more information, see [Working with Nested Stacks][1] in the *AWS
171
- # CloudFormation User Guide*.
170
+ # For more information, see [Embed stacks within other stacks using
171
+ # nested stacks][1] in the *CloudFormation User Guide*.
172
172
  #
173
173
  #
174
174
  #
175
- # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
175
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
176
176
  # @return [String]
177
177
  def parent_id
178
178
  data[:parent_id]
@@ -182,31 +182,69 @@ module Aws::CloudFormation
182
182
  # stack ID of the top-level stack to which the nested stack ultimately
183
183
  # belongs.
184
184
  #
185
- # For more information, see [Working with Nested Stacks][1] in the *AWS
186
- # CloudFormation User Guide*.
185
+ # For more information, see [Embed stacks within other stacks using
186
+ # nested stacks][1] in the *CloudFormation User Guide*.
187
187
  #
188
188
  #
189
189
  #
190
- # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
190
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
191
191
  # @return [String]
192
192
  def root_id
193
193
  data[:root_id]
194
194
  end
195
195
 
196
- # Information on whether a stack's actual configuration differs, or has
197
- # *drifted*, from it's expected configuration, as defined in the stack
198
- # template and any values specified as template parameters. For more
199
- # information, see [Detecting Unregulated Configuration Changes to
200
- # Stacks and Resources][1].
196
+ # Information about whether a stack's actual configuration differs, or
197
+ # has *drifted*, from its expected configuration, as defined in the
198
+ # stack template and any values specified as template parameters. For
199
+ # more information, see [Detect unmanaged configuration changes to
200
+ # stacks and resources with drift detection][1].
201
201
  #
202
202
  #
203
203
  #
204
- # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
204
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html
205
205
  # @return [Types::StackDriftInformation]
206
206
  def drift_information
207
207
  data[:drift_information]
208
208
  end
209
209
 
210
+ # When set to `true`, newly created resources are deleted when the
211
+ # operation rolls back. This includes newly created resources marked
212
+ # with a deletion policy of `Retain`.
213
+ #
214
+ # Default: `false`
215
+ # @return [Boolean]
216
+ def retain_except_on_create
217
+ data[:retain_except_on_create]
218
+ end
219
+
220
+ # Specifies the deletion mode for the stack. Possible values are:
221
+ #
222
+ # * `STANDARD` - Use the standard behavior. Specifying this value is the
223
+ # same as not specifying this parameter.
224
+ #
225
+ # * `FORCE_DELETE_STACK` - Delete the stack if it's stuck in a
226
+ # `DELETE_FAILED` state due to resource deletion failure.
227
+ # @return [String]
228
+ def deletion_mode
229
+ data[:deletion_mode]
230
+ end
231
+
232
+ # The detailed status of the resource or stack. If
233
+ # `CONFIGURATION_COMPLETE` is present, the resource or resource
234
+ # configuration phase has completed and the stabilization of the
235
+ # resources is in progress. The stack sets `CONFIGURATION_COMPLETE` when
236
+ # all of the resources in the stack have reached that event. For more
237
+ # information, see [Understand CloudFormation stack creation events][1]
238
+ # in the *CloudFormation User Guide*.
239
+ #
240
+ #
241
+ #
242
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stack-resource-configuration-complete.html
243
+ # @return [String]
244
+ def detailed_status
245
+ data[:detailed_status]
246
+ end
247
+
210
248
  # @!endgroup
211
249
 
212
250
  # @return [Client]
@@ -221,7 +259,9 @@ module Aws::CloudFormation
221
259
  #
222
260
  # @return [self]
223
261
  def load
224
- resp = @client.describe_stacks(stack_name: @name)
262
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
263
+ @client.describe_stacks(stack_name: @name)
264
+ end
225
265
  @data = resp.stacks[0]
226
266
  self
227
267
  end
@@ -266,7 +306,9 @@ module Aws::CloudFormation
266
306
  options, params = separate_params_and_options(options)
267
307
  waiter = Waiters::StackExists.new(options)
268
308
  yield_waiter_and_warn(waiter, &block) if block_given?
269
- waiter.wait(params.merge(stack_name: @name))
309
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
310
+ waiter.wait(params.merge(stack_name: @name))
311
+ end
270
312
  Stack.new({
271
313
  name: @name,
272
314
  client: @client
@@ -367,7 +409,9 @@ module Aws::CloudFormation
367
409
  :retry
368
410
  end
369
411
  end
370
- Aws::Waiters::Waiter.new(options).wait({})
412
+ Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
413
+ Aws::Waiters::Waiter.new(options).wait({})
414
+ end
371
415
  end
372
416
 
373
417
  # @!group Actions
@@ -380,14 +424,16 @@ module Aws::CloudFormation
380
424
  # @param [Hash] options ({})
381
425
  # @option options [String] :client_request_token
382
426
  # A unique identifier for this `CancelUpdateStack` request. Specify this
383
- # token if you plan to retry requests so that AWS CloudFormation knows
384
- # that you're not attempting to cancel an update on a stack with the
385
- # same name. You might retry `CancelUpdateStack` requests to ensure that
386
- # AWS CloudFormation successfully received them.
427
+ # token if you plan to retry requests so that CloudFormation knows that
428
+ # you're not attempting to cancel an update on a stack with the same
429
+ # name. You might retry `CancelUpdateStack` requests to ensure that
430
+ # CloudFormation successfully received them.
387
431
  # @return [EmptyStructure]
388
432
  def cancel_update(options = {})
389
433
  options = options.merge(stack_name: @name)
390
- resp = @client.cancel_update_stack(options)
434
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
435
+ @client.cancel_update_stack(options)
436
+ end
391
437
  resp.data
392
438
  end
393
439
 
@@ -430,31 +476,23 @@ module Aws::CloudFormation
430
476
  # ],
431
477
  # client_request_token: "ClientRequestToken",
432
478
  # enable_termination_protection: false,
479
+ # retain_except_on_create: false,
433
480
  # })
434
481
  # @param [Hash] options ({})
435
482
  # @option options [String] :template_body
436
483
  # Structure containing the template body with a minimum length of 1 byte
437
- # and a maximum length of 51,200 bytes. For more information, go to
438
- # [Template Anatomy][1] in the AWS CloudFormation User Guide.
484
+ # and a maximum length of 51,200 bytes.
439
485
  #
440
486
  # Conditional: You must specify either the `TemplateBody` or the
441
487
  # `TemplateURL` parameter, but not both.
442
- #
443
- #
444
- #
445
- # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
446
488
  # @option options [String] :template_url
447
- # Location of file containing the template body. The URL must point to a
448
- # template (max size: 460,800 bytes) that is located in an Amazon S3
449
- # bucket. For more information, go to the [Template Anatomy][1] in the
450
- # AWS CloudFormation User Guide.
489
+ # The URL of a file containing the template body. The URL must point to
490
+ # a template (max size: 1 MB) that's located in an Amazon S3 bucket or
491
+ # a Systems Manager document. The location for an Amazon S3 bucket must
492
+ # start with `https://`.
451
493
  #
452
494
  # Conditional: You must specify either the `TemplateBody` or the
453
495
  # `TemplateURL` parameter, but not both.
454
- #
455
- #
456
- #
457
- # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
458
496
  # @option options [Array<Types::Parameter>] :parameters
459
497
  # A list of `Parameter` structures that specify input parameters for the
460
498
  # stack. For more information, see the [Parameter][1] data type.
@@ -469,29 +507,28 @@ module Aws::CloudFormation
469
507
  #
470
508
  # Default: `false`
471
509
  # @option options [Types::RollbackConfiguration] :rollback_configuration
472
- # The rollback triggers for AWS CloudFormation to monitor during stack
510
+ # The rollback triggers for CloudFormation to monitor during stack
473
511
  # creation and updating operations, and for the specified monitoring
474
512
  # period afterwards.
475
513
  # @option options [Integer] :timeout_in_minutes
476
514
  # The amount of time that can pass before the stack status becomes
477
- # CREATE\_FAILED; if `DisableRollback` is not set or is set to `false`,
515
+ # `CREATE_FAILED`; if `DisableRollback` is not set or is set to `false`,
478
516
  # the stack will be rolled back.
479
517
  # @option options [Array<String>] :notification_arns
480
- # The Simple Notification Service (SNS) topic ARNs to publish stack
481
- # related events. You can find your SNS topic ARNs using the SNS console
482
- # or your Command Line Interface (CLI).
518
+ # The Amazon SNS topic ARNs to publish stack related events. You can
519
+ # find your Amazon SNS topic ARNs using the Amazon SNS console or your
520
+ # Command Line Interface (CLI).
483
521
  # @option options [Array<String>] :capabilities
484
522
  # In some cases, you must explicitly acknowledge that your stack
485
- # template contains certain capabilities in order for AWS CloudFormation
486
- # to create the stack.
523
+ # template contains certain capabilities in order for CloudFormation to
524
+ # create the stack.
487
525
  #
488
526
  # * `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`
489
527
  #
490
528
  # Some stack templates might include resources that can affect
491
- # permissions in your AWS account; for example, by creating new AWS
492
- # Identity and Access Management (IAM) users. For those stacks, you
493
- # must explicitly acknowledge this by specifying one of these
494
- # capabilities.
529
+ # permissions in your Amazon Web Services account; for example, by
530
+ # creating new IAM users. For those stacks, you must explicitly
531
+ # acknowledge this by specifying one of these capabilities.
495
532
  #
496
533
  # The following IAM resources require you to specify either the
497
534
  # `CAPABILITY_IAM` or `CAPABILITY_NAMED_IAM` capability.
@@ -501,29 +538,29 @@ module Aws::CloudFormation
501
538
  # * If you have IAM resources with custom names, you *must* specify
502
539
  # `CAPABILITY_NAMED_IAM`.
503
540
  #
504
- # * If you don't specify either of these capabilities, AWS
505
- # CloudFormation returns an `InsufficientCapabilities` error.
506
- #
541
+ # * If you don't specify either of these capabilities, CloudFormation
542
+ # returns an `InsufficientCapabilities` error.
507
543
  # If your stack template contains these resources, we recommend that
508
544
  # you review all permissions associated with them and edit their
509
545
  # permissions if necessary.
510
546
  #
511
- # * [ AWS::IAM::AccessKey][1]
547
+ # * [AWS::IAM::AccessKey][1]
512
548
  #
513
- # * [ AWS::IAM::Group][2]
549
+ # * [AWS::IAM::Group][2]
514
550
  #
515
- # * [ AWS::IAM::InstanceProfile][3]
551
+ # * [AWS::IAM::InstanceProfile][3]
516
552
  #
517
- # * [ AWS::IAM::Policy][4]
553
+ # * [ AWS::IAM::ManagedPolicy][4]
518
554
  #
519
- # * [ AWS::IAM::Role][5]
555
+ # * [AWS::IAM::Policy][5]
520
556
  #
521
- # * [ AWS::IAM::User][6]
557
+ # * [AWS::IAM::Role][6]
522
558
  #
523
- # * [ AWS::IAM::UserToGroupAddition][7]
559
+ # * [AWS::IAM::User][7]
524
560
  #
525
- # For more information, see [Acknowledging IAM Resources in AWS
526
- # CloudFormation Templates][8].
561
+ # * [AWS::IAM::UserToGroupAddition][8]
562
+ # For more information, see [Acknowledging IAM resources in
563
+ # CloudFormation templates][9].
527
564
  #
528
565
  # * `CAPABILITY_AUTO_EXPAND`
529
566
  #
@@ -536,83 +573,93 @@ module Aws::CloudFormation
536
573
  # your stack template contains one or more macros, and you choose to
537
574
  # create a stack directly from the processed template, without first
538
575
  # reviewing the resulting changes in a change set, you must
539
- # acknowledge this capability. This includes the [AWS::Include][9] and
540
- # [AWS::Serverless][10] transforms, which are macros hosted by AWS
576
+ # acknowledge this capability. This includes the [AWS::Include][10]
577
+ # and [AWS::Serverless][11] transforms, which are macros hosted by
541
578
  # CloudFormation.
542
579
  #
543
- # Change sets do not currently support nested stacks. If you want to
544
- # create a stack from a stack template that contains macros *and*
545
- # nested stacks, you must create the stack directly from the template
546
- # using this capability.
580
+ # If you want to create a stack from a stack template that contains
581
+ # macros *and* nested stacks, you must create the stack directly from
582
+ # the template using this capability.
547
583
  #
548
584
  # You should only create stacks directly from a stack template that
549
585
  # contains macros if you know what processing the macro performs.
550
586
  #
551
587
  # Each macro relies on an underlying Lambda service function for
552
588
  # processing stack templates. Be aware that the Lambda function owner
553
- # can update the function operation without AWS CloudFormation being
589
+ # can update the function operation without CloudFormation being
554
590
  # notified.
555
591
  #
556
- # For more information, see [Using AWS CloudFormation Macros to
557
- # Perform Custom Processing on Templates][11].
592
+ # For more information, see [Perform custom processing on
593
+ # CloudFormation templates with template macros][12].
594
+ #
595
+ # <note markdown="1"> Only one of the `Capabilities` and `ResourceType` parameters can be
596
+ # specified.
558
597
  #
598
+ # </note>
559
599
  #
560
600
  #
561
- # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
562
- # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html
601
+ #
602
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html
603
+ # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html
563
604
  # [3]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html
564
- # [4]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html
565
- # [5]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
566
- # [6]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
567
- # [7]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
568
- # [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
569
- # [9]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html
570
- # [10]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
571
- # [11]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
605
+ # [4]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html
606
+ # [5]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html
607
+ # [6]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
608
+ # [7]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html
609
+ # [8]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html
610
+ # [9]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities
611
+ # [10]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-include.html
612
+ # [11]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
613
+ # [12]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
572
614
  # @option options [Array<String>] :resource_types
573
615
  # The template resource types that you have permissions to work with for
574
616
  # this create stack action, such as `AWS::EC2::Instance`, `AWS::EC2::*`,
575
617
  # or `Custom::MyCustomInstance`. Use the following syntax to describe
576
- # template resource types: `AWS::*` (for all AWS resource), `Custom::*`
577
- # (for all custom resources), `Custom::logical_ID ` (for a specific
578
- # custom resource), `AWS::service_name::*` (for all resources of a
579
- # particular AWS service), and `AWS::service_name::resource_logical_ID `
580
- # (for a specific AWS resource).
618
+ # template resource types: `AWS::*` (for all Amazon Web Services
619
+ # resources), `Custom::*` (for all custom resources),
620
+ # `Custom::logical_ID ` (for a specific custom resource),
621
+ # `AWS::service_name::*` (for all resources of a particular Amazon Web
622
+ # Services service), and `AWS::service_name::resource_logical_ID ` (for
623
+ # a specific Amazon Web Services resource).
581
624
  #
582
625
  # If the list of resource types doesn't include a resource that you're
583
- # creating, the stack creation fails. By default, AWS CloudFormation
584
- # grants permissions to all resource types. AWS Identity and Access
585
- # Management (IAM) uses this parameter for AWS CloudFormation-specific
586
- # condition keys in IAM policies. For more information, see [Controlling
587
- # Access with AWS Identity and Access Management][1].
626
+ # creating, the stack creation fails. By default, CloudFormation grants
627
+ # permissions to all resource types. IAM uses this parameter for
628
+ # CloudFormation-specific condition keys in IAM policies. For more
629
+ # information, see [Control access with Identity and Access
630
+ # Management][1].
631
+ #
632
+ # <note markdown="1"> Only one of the `Capabilities` and `ResourceType` parameters can be
633
+ # specified.
588
634
  #
635
+ # </note>
589
636
  #
590
637
  #
591
- # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html
638
+ #
639
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html
592
640
  # @option options [String] :role_arn
593
- # The Amazon Resource Name (ARN) of an AWS Identity and Access
594
- # Management (IAM) role that AWS CloudFormation assumes to create the
595
- # stack. AWS CloudFormation uses the role's credentials to make calls
596
- # on your behalf. AWS CloudFormation always uses this role for all
597
- # future operations on the stack. As long as users have permission to
598
- # operate on the stack, AWS CloudFormation uses this role even if the
599
- # users don't have permission to pass it. Ensure that the role grants
600
- # least privilege.
601
- #
602
- # If you don't specify a value, AWS CloudFormation uses the role that
603
- # was previously associated with the stack. If no role is available, AWS
604
- # CloudFormation uses a temporary session that is generated from your
641
+ # The Amazon Resource Name (ARN) of an IAM role that CloudFormation
642
+ # assumes to create the stack. CloudFormation uses the role's
643
+ # credentials to make calls on your behalf. CloudFormation always uses
644
+ # this role for all future operations on the stack. Provided that users
645
+ # have permission to operate on the stack, CloudFormation uses this role
646
+ # even if the users don't have permission to pass it. Ensure that the
647
+ # role grants least privilege.
648
+ #
649
+ # If you don't specify a value, CloudFormation uses the role that was
650
+ # previously associated with the stack. If no role is available,
651
+ # CloudFormation uses a temporary session that's generated from your
605
652
  # user credentials.
606
653
  # @option options [String] :on_failure
607
654
  # Determines what action will be taken if stack creation fails. This
608
- # must be one of: DO\_NOTHING, ROLLBACK, or DELETE. You can specify
655
+ # must be one of: `DO_NOTHING`, `ROLLBACK`, or `DELETE`. You can specify
609
656
  # either `OnFailure` or `DisableRollback`, but not both.
610
657
  #
611
658
  # Default: `ROLLBACK`
612
659
  # @option options [String] :stack_policy_body
613
- # Structure containing the stack policy body. For more information, go
614
- # to [ Prevent Updates to Stack Resources][1] in the *AWS CloudFormation
615
- # User Guide*. You can specify either the `StackPolicyBody` or the
660
+ # Structure containing the stack policy body. For more information, see
661
+ # [Prevent updates to stack resources][1] in the *CloudFormation User
662
+ # Guide*. You can specify either the `StackPolicyBody` or the
616
663
  # `StackPolicyURL` parameter, but not both.
617
664
  #
618
665
  #
@@ -621,20 +668,21 @@ module Aws::CloudFormation
621
668
  # @option options [String] :stack_policy_url
622
669
  # Location of a file containing the stack policy. The URL must point to
623
670
  # a policy (maximum size: 16 KB) located in an S3 bucket in the same
624
- # Region as the stack. You can specify either the `StackPolicyBody` or
625
- # the `StackPolicyURL` parameter, but not both.
671
+ # Region as the stack. The location for an Amazon S3 bucket must start
672
+ # with `https://`. You can specify either the `StackPolicyBody` or the
673
+ # `StackPolicyURL` parameter, but not both.
626
674
  # @option options [Array<Types::Tag>] :tags
627
- # Key-value pairs to associate with this stack. AWS CloudFormation also
675
+ # Key-value pairs to associate with this stack. CloudFormation also
628
676
  # propagates these tags to the resources created in the stack. A maximum
629
677
  # number of 50 tags can be specified.
630
678
  # @option options [String] :client_request_token
631
679
  # A unique identifier for this `CreateStack` request. Specify this token
632
- # if you plan to retry requests so that AWS CloudFormation knows that
680
+ # if you plan to retry requests so that CloudFormation knows that
633
681
  # you're not attempting to create a stack with the same name. You might
634
- # retry `CreateStack` requests to ensure that AWS CloudFormation
682
+ # retry `CreateStack` requests to ensure that CloudFormation
635
683
  # successfully received them.
636
684
  #
637
- # All events triggered by a given stack operation are assigned the same
685
+ # All events initiated by a given stack operation are assigned the same
638
686
  # client request token, which you can use to track operations. For
639
687
  # example, if you execute a `CreateStack` operation with the token
640
688
  # `token1`, then all the `StackEvents` generated by that operation will
@@ -651,21 +699,29 @@ module Aws::CloudFormation
651
699
  # Whether to enable termination protection on the specified stack. If a
652
700
  # user attempts to delete a stack with termination protection enabled,
653
701
  # the operation fails and the stack remains unchanged. For more
654
- # information, see [Protecting a Stack From Being Deleted][1] in the
655
- # *AWS CloudFormation User Guide*. Termination protection is disabled on
656
- # stacks by default.
702
+ # information, see [Protect CloudFormation stacks from being deleted][1]
703
+ # in the *CloudFormation User Guide*. Termination protection is
704
+ # deactivated on stacks by default.
657
705
  #
658
706
  # For [nested stacks][2], termination protection is set on the root
659
- # stack and cannot be changed directly on the nested stack.
707
+ # stack and can't be changed directly on the nested stack.
660
708
  #
661
709
  #
662
710
  #
663
- # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html
664
- # [2]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
711
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html
712
+ # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html
713
+ # @option options [Boolean] :retain_except_on_create
714
+ # When set to `true`, newly created resources are deleted when the
715
+ # operation rolls back. This includes newly created resources marked
716
+ # with a deletion policy of `Retain`.
717
+ #
718
+ # Default: `false`
665
719
  # @return [Types::CreateStackOutput]
666
720
  def create(options = {})
667
721
  options = options.merge(stack_name: @name)
668
- resp = @client.create_stack(options)
722
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
723
+ @client.create_stack(options)
724
+ end
669
725
  resp.data
670
726
  end
671
727
 
@@ -675,34 +731,34 @@ module Aws::CloudFormation
675
731
  # retain_resources: ["LogicalResourceId"],
676
732
  # role_arn: "RoleARN",
677
733
  # client_request_token: "ClientRequestToken",
734
+ # deletion_mode: "STANDARD", # accepts STANDARD, FORCE_DELETE_STACK
678
735
  # })
679
736
  # @param [Hash] options ({})
680
737
  # @option options [Array<String>] :retain_resources
681
738
  # For stacks in the `DELETE_FAILED` state, a list of resource logical
682
739
  # IDs that are associated with the resources you want to retain. During
683
- # deletion, AWS CloudFormation deletes the stack but does not delete the
740
+ # deletion, CloudFormation deletes the stack but doesn't delete the
684
741
  # retained resources.
685
742
  #
686
- # Retaining resources is useful when you cannot delete a resource, such
743
+ # Retaining resources is useful when you can't delete a resource, such
687
744
  # as a non-empty S3 bucket, but you want to delete the stack.
688
745
  # @option options [String] :role_arn
689
- # The Amazon Resource Name (ARN) of an AWS Identity and Access
690
- # Management (IAM) role that AWS CloudFormation assumes to delete the
691
- # stack. AWS CloudFormation uses the role's credentials to make calls
692
- # on your behalf.
746
+ # The Amazon Resource Name (ARN) of an IAM role that CloudFormation
747
+ # assumes to delete the stack. CloudFormation uses the role's
748
+ # credentials to make calls on your behalf.
693
749
  #
694
- # If you don't specify a value, AWS CloudFormation uses the role that
695
- # was previously associated with the stack. If no role is available, AWS
696
- # CloudFormation uses a temporary session that is generated from your
750
+ # If you don't specify a value, CloudFormation uses the role that was
751
+ # previously associated with the stack. If no role is available,
752
+ # CloudFormation uses a temporary session that's generated from your
697
753
  # user credentials.
698
754
  # @option options [String] :client_request_token
699
755
  # A unique identifier for this `DeleteStack` request. Specify this token
700
- # if you plan to retry requests so that AWS CloudFormation knows that
756
+ # if you plan to retry requests so that CloudFormation knows that
701
757
  # you're not attempting to delete a stack with the same name. You might
702
- # retry `DeleteStack` requests to ensure that AWS CloudFormation
758
+ # retry `DeleteStack` requests to ensure that CloudFormation
703
759
  # successfully received them.
704
760
  #
705
- # All events triggered by a given stack operation are assigned the same
761
+ # All events initiated by a given stack operation are assigned the same
706
762
  # client request token, which you can use to track operations. For
707
763
  # example, if you execute a `CreateStack` operation with the token
708
764
  # `token1`, then all the `StackEvents` generated by that operation will
@@ -715,10 +771,20 @@ module Aws::CloudFormation
715
771
  # stack using the console, each stack event would be assigned the same
716
772
  # token in the following format:
717
773
  # `Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002`.
774
+ # @option options [String] :deletion_mode
775
+ # Specifies the deletion mode for the stack. Possible values are:
776
+ #
777
+ # * `STANDARD` - Use the standard behavior. Specifying this value is the
778
+ # same as not specifying this parameter.
779
+ #
780
+ # * `FORCE_DELETE_STACK` - Delete the stack if it's stuck in a
781
+ # `DELETE_FAILED` state due to resource deletion failure.
718
782
  # @return [EmptyStructure]
719
783
  def delete(options = {})
720
784
  options = options.merge(stack_name: @name)
721
- resp = @client.delete_stack(options)
785
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
786
+ @client.delete_stack(options)
787
+ end
722
788
  resp.data
723
789
  end
724
790
 
@@ -759,33 +825,27 @@ module Aws::CloudFormation
759
825
  # value: "TagValue", # required
760
826
  # },
761
827
  # ],
828
+ # disable_rollback: false,
762
829
  # client_request_token: "ClientRequestToken",
830
+ # retain_except_on_create: false,
763
831
  # })
764
832
  # @param [Hash] options ({})
765
833
  # @option options [String] :template_body
766
834
  # Structure containing the template body with a minimum length of 1 byte
767
- # and a maximum length of 51,200 bytes. (For more information, go to
768
- # [Template Anatomy][1] in the AWS CloudFormation User Guide.)
835
+ # and a maximum length of 51,200 bytes.
769
836
  #
770
837
  # Conditional: You must specify only one of the following parameters:
771
838
  # `TemplateBody`, `TemplateURL`, or set the `UsePreviousTemplate` to
772
839
  # `true`.
773
- #
774
- #
775
- #
776
- # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
777
840
  # @option options [String] :template_url
778
- # Location of file containing the template body. The URL must point to a
779
- # template that is located in an Amazon S3 bucket. For more information,
780
- # go to [Template Anatomy][1] in the AWS CloudFormation User Guide.
841
+ # The URL of a file containing the template body. The URL must point to
842
+ # a template that's located in an Amazon S3 bucket or a Systems Manager
843
+ # document. The location for an Amazon S3 bucket must start with
844
+ # `https://`.
781
845
  #
782
846
  # Conditional: You must specify only one of the following parameters:
783
847
  # `TemplateBody`, `TemplateURL`, or set the `UsePreviousTemplate` to
784
848
  # `true`.
785
- #
786
- #
787
- #
788
- # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html
789
849
  # @option options [Boolean] :use_previous_template
790
850
  # Reuse the existing template that is associated with the stack that you
791
851
  # are updating.
@@ -799,18 +859,19 @@ module Aws::CloudFormation
799
859
  # `StackPolicyDuringUpdateURL` parameter, but not both.
800
860
  #
801
861
  # If you want to update protected resources, specify a temporary
802
- # overriding stack policy during this update. If you do not specify a
862
+ # overriding stack policy during this update. If you don't specify a
803
863
  # stack policy, the current policy that is associated with the stack
804
864
  # will be used.
805
865
  # @option options [String] :stack_policy_during_update_url
806
866
  # Location of a file containing the temporary overriding stack policy.
807
867
  # The URL must point to a policy (max size: 16KB) located in an S3
808
- # bucket in the same Region as the stack. You can specify either the
868
+ # bucket in the same Region as the stack. The location for an Amazon S3
869
+ # bucket must start with `https://`. You can specify either the
809
870
  # `StackPolicyDuringUpdateBody` or the `StackPolicyDuringUpdateURL`
810
871
  # parameter, but not both.
811
872
  #
812
873
  # If you want to update protected resources, specify a temporary
813
- # overriding stack policy during this update. If you do not specify a
874
+ # overriding stack policy during this update. If you don't specify a
814
875
  # stack policy, the current policy that is associated with the stack
815
876
  # will be used.
816
877
  # @option options [Array<Types::Parameter>] :parameters
@@ -822,16 +883,15 @@ module Aws::CloudFormation
822
883
  # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Parameter.html
823
884
  # @option options [Array<String>] :capabilities
824
885
  # In some cases, you must explicitly acknowledge that your stack
825
- # template contains certain capabilities in order for AWS CloudFormation
826
- # to update the stack.
886
+ # template contains certain capabilities in order for CloudFormation to
887
+ # update the stack.
827
888
  #
828
889
  # * `CAPABILITY_IAM` and `CAPABILITY_NAMED_IAM`
829
890
  #
830
891
  # Some stack templates might include resources that can affect
831
- # permissions in your AWS account; for example, by creating new AWS
832
- # Identity and Access Management (IAM) users. For those stacks, you
833
- # must explicitly acknowledge this by specifying one of these
834
- # capabilities.
892
+ # permissions in your Amazon Web Services account, for example, by
893
+ # creating new IAM users. For those stacks, you must explicitly
894
+ # acknowledge this by specifying one of these capabilities.
835
895
  #
836
896
  # The following IAM resources require you to specify either the
837
897
  # `CAPABILITY_IAM` or `CAPABILITY_NAMED_IAM` capability.
@@ -841,29 +901,29 @@ module Aws::CloudFormation
841
901
  # * If you have IAM resources with custom names, you *must* specify
842
902
  # `CAPABILITY_NAMED_IAM`.
843
903
  #
844
- # * If you don't specify either of these capabilities, AWS
845
- # CloudFormation returns an `InsufficientCapabilities` error.
846
- #
847
- # If your stack template contains these resources, we recommend that
848
- # you review all permissions associated with them and edit their
904
+ # * If you don't specify either of these capabilities, CloudFormation
905
+ # returns an `InsufficientCapabilities` error.
906
+ # If your stack template contains these resources, we suggest that you
907
+ # review all permissions associated with them and edit their
849
908
  # permissions if necessary.
850
909
  #
851
910
  # * [ AWS::IAM::AccessKey][1]
852
911
  #
853
912
  # * [ AWS::IAM::Group][2]
854
913
  #
855
- # * [ AWS::IAM::InstanceProfile][3]
914
+ # * [AWS::IAM::InstanceProfile][3]
856
915
  #
857
- # * [ AWS::IAM::Policy][4]
916
+ # * [ AWS::IAM::ManagedPolicy][4]
858
917
  #
859
- # * [ AWS::IAM::Role][5]
918
+ # * [AWS::IAM::Policy][5]
860
919
  #
861
- # * [ AWS::IAM::User][6]
920
+ # * [ AWS::IAM::Role][6]
862
921
  #
863
- # * [ AWS::IAM::UserToGroupAddition][7]
922
+ # * [ AWS::IAM::User][7]
864
923
  #
865
- # For more information, see [Acknowledging IAM Resources in AWS
866
- # CloudFormation Templates][8].
924
+ # * [AWS::IAM::UserToGroupAddition][8]
925
+ # For more information, see [Acknowledging IAM resources in
926
+ # CloudFormation templates][9].
867
927
  #
868
928
  # * `CAPABILITY_AUTO_EXPAND`
869
929
  #
@@ -876,70 +936,79 @@ module Aws::CloudFormation
876
936
  # your stack template contains one or more macros, and you choose to
877
937
  # update a stack directly from the processed template, without first
878
938
  # reviewing the resulting changes in a change set, you must
879
- # acknowledge this capability. This includes the [AWS::Include][9] and
880
- # [AWS::Serverless][10] transforms, which are macros hosted by AWS
939
+ # acknowledge this capability. This includes the [AWS::Include][10]
940
+ # and [AWS::Serverless][11] transforms, which are macros hosted by
881
941
  # CloudFormation.
882
942
  #
883
- # Change sets do not currently support nested stacks. If you want to
884
- # update a stack from a stack template that contains macros *and*
885
- # nested stacks, you must update the stack directly from the template
886
- # using this capability.
943
+ # If you want to update a stack from a stack template that contains
944
+ # macros *and* nested stacks, you must update the stack directly from
945
+ # the template using this capability.
887
946
  #
888
947
  # You should only update stacks directly from a stack template that
889
948
  # contains macros if you know what processing the macro performs.
890
949
  #
891
950
  # Each macro relies on an underlying Lambda service function for
892
951
  # processing stack templates. Be aware that the Lambda function owner
893
- # can update the function operation without AWS CloudFormation being
952
+ # can update the function operation without CloudFormation being
894
953
  # notified.
895
954
  #
896
- # For more information, see [Using AWS CloudFormation Macros to
897
- # Perform Custom Processing on Templates][11].
955
+ # For more information, see [Perform custom processing on
956
+ # CloudFormation templates with template macros][12].
898
957
  #
958
+ # <note markdown="1"> Only one of the `Capabilities` and `ResourceType` parameters can be
959
+ # specified.
899
960
  #
961
+ # </note>
900
962
  #
901
- # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-accesskey.html
902
- # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html
963
+ #
964
+ #
965
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-accesskey.html
966
+ # [2]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-group.html
903
967
  # [3]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html
904
- # [4]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html
905
- # [5]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
906
- # [6]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user.html
907
- # [7]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html
908
- # [8]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities
909
- # [9]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html
910
- # [10]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
911
- # [11]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
968
+ # [4]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-managedpolicy.html
969
+ # [5]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html
970
+ # [6]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
971
+ # [7]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html
972
+ # [8]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-usertogroupaddition.html
973
+ # [9]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html#using-iam-capabilities
974
+ # [10]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-include.html
975
+ # [11]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html
976
+ # [12]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html
912
977
  # @option options [Array<String>] :resource_types
913
978
  # The template resource types that you have permissions to work with for
914
979
  # this update stack action, such as `AWS::EC2::Instance`, `AWS::EC2::*`,
915
980
  # or `Custom::MyCustomInstance`.
916
981
  #
917
982
  # If the list of resource types doesn't include a resource that you're
918
- # updating, the stack update fails. By default, AWS CloudFormation
919
- # grants permissions to all resource types. AWS Identity and Access
920
- # Management (IAM) uses this parameter for AWS CloudFormation-specific
921
- # condition keys in IAM policies. For more information, see [Controlling
922
- # Access with AWS Identity and Access Management][1].
983
+ # updating, the stack update fails. By default, CloudFormation grants
984
+ # permissions to all resource types. IAM uses this parameter for
985
+ # CloudFormation-specific condition keys in IAM policies. For more
986
+ # information, see [Control access with Identity and Access
987
+ # Management][1].
988
+ #
989
+ # <note markdown="1"> Only one of the `Capabilities` and `ResourceType` parameters can be
990
+ # specified.
991
+ #
992
+ # </note>
923
993
  #
924
994
  #
925
995
  #
926
- # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html
996
+ # [1]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/control-access-with-iam.html
927
997
  # @option options [String] :role_arn
928
- # The Amazon Resource Name (ARN) of an AWS Identity and Access
929
- # Management (IAM) role that AWS CloudFormation assumes to update the
930
- # stack. AWS CloudFormation uses the role's credentials to make calls
931
- # on your behalf. AWS CloudFormation always uses this role for all
932
- # future operations on the stack. As long as users have permission to
933
- # operate on the stack, AWS CloudFormation uses this role even if the
934
- # users don't have permission to pass it. Ensure that the role grants
935
- # least privilege.
936
- #
937
- # If you don't specify a value, AWS CloudFormation uses the role that
938
- # was previously associated with the stack. If no role is available, AWS
998
+ # The Amazon Resource Name (ARN) of an IAM role that CloudFormation
999
+ # assumes to update the stack. CloudFormation uses the role's
1000
+ # credentials to make calls on your behalf. CloudFormation always uses
1001
+ # this role for all future operations on the stack. Provided that users
1002
+ # have permission to operate on the stack, CloudFormation uses this role
1003
+ # even if the users don't have permission to pass it. Ensure that the
1004
+ # role grants least privilege.
1005
+ #
1006
+ # If you don't specify a value, CloudFormation uses the role that was
1007
+ # previously associated with the stack. If no role is available,
939
1008
  # CloudFormation uses a temporary session that is generated from your
940
1009
  # user credentials.
941
1010
  # @option options [Types::RollbackConfiguration] :rollback_configuration
942
- # The rollback triggers for AWS CloudFormation to monitor during stack
1011
+ # The rollback triggers for CloudFormation to monitor during stack
943
1012
  # creation and updating operations, and for the specified monitoring
944
1013
  # period afterwards.
945
1014
  # @option options [String] :stack_policy_body
@@ -947,36 +1016,42 @@ module Aws::CloudFormation
947
1016
  # the `StackPolicyBody` or the `StackPolicyURL` parameter, but not both.
948
1017
  #
949
1018
  # You might update the stack policy, for example, in order to protect a
950
- # new resource that you created during a stack update. If you do not
1019
+ # new resource that you created during a stack update. If you don't
951
1020
  # specify a stack policy, the current policy that is associated with the
952
1021
  # stack is unchanged.
953
1022
  # @option options [String] :stack_policy_url
954
1023
  # Location of a file containing the updated stack policy. The URL must
955
1024
  # point to a policy (max size: 16KB) located in an S3 bucket in the same
956
- # Region as the stack. You can specify either the `StackPolicyBody` or
957
- # the `StackPolicyURL` parameter, but not both.
1025
+ # Region as the stack. The location for an Amazon S3 bucket must start
1026
+ # with `https://`. You can specify either the `StackPolicyBody` or the
1027
+ # `StackPolicyURL` parameter, but not both.
958
1028
  #
959
1029
  # You might update the stack policy, for example, in order to protect a
960
- # new resource that you created during a stack update. If you do not
1030
+ # new resource that you created during a stack update. If you don't
961
1031
  # specify a stack policy, the current policy that is associated with the
962
1032
  # stack is unchanged.
963
1033
  # @option options [Array<String>] :notification_arns
964
1034
  # Amazon Simple Notification Service topic Amazon Resource Names (ARNs)
965
- # that AWS CloudFormation associates with the stack. Specify an empty
966
- # list to remove all notification topics.
1035
+ # that CloudFormation associates with the stack. Specify an empty list
1036
+ # to remove all notification topics.
967
1037
  # @option options [Array<Types::Tag>] :tags
968
- # Key-value pairs to associate with this stack. AWS CloudFormation also
1038
+ # Key-value pairs to associate with this stack. CloudFormation also
969
1039
  # propagates these tags to supported resources in the stack. You can
970
1040
  # specify a maximum number of 50 tags.
971
1041
  #
972
- # If you don't specify this parameter, AWS CloudFormation doesn't
973
- # modify the stack's tags. If you specify an empty value, AWS
974
- # CloudFormation removes all associated tags.
1042
+ # If you don't specify this parameter, CloudFormation doesn't modify
1043
+ # the stack's tags. If you specify an empty value, CloudFormation
1044
+ # removes all associated tags.
1045
+ # @option options [Boolean] :disable_rollback
1046
+ # Preserve the state of previously provisioned resources when an
1047
+ # operation fails.
1048
+ #
1049
+ # Default: `False`
975
1050
  # @option options [String] :client_request_token
976
1051
  # A unique identifier for this `UpdateStack` request. Specify this token
977
- # if you plan to retry requests so that AWS CloudFormation knows that
1052
+ # if you plan to retry requests so that CloudFormation knows that
978
1053
  # you're not attempting to update a stack with the same name. You might
979
- # retry `UpdateStack` requests to ensure that AWS CloudFormation
1054
+ # retry `UpdateStack` requests to ensure that CloudFormation
980
1055
  # successfully received them.
981
1056
  #
982
1057
  # All events triggered by a given stack operation are assigned the same
@@ -992,10 +1067,18 @@ module Aws::CloudFormation
992
1067
  # stack using the console, each stack event would be assigned the same
993
1068
  # token in the following format:
994
1069
  # `Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002`.
1070
+ # @option options [Boolean] :retain_except_on_create
1071
+ # When set to `true`, newly created resources are deleted when the
1072
+ # operation rolls back. This includes newly created resources marked
1073
+ # with a deletion policy of `Retain`.
1074
+ #
1075
+ # Default: `false`
995
1076
  # @return [Types::UpdateStackOutput]
996
1077
  def update(options = {})
997
1078
  options = options.merge(stack_name: @name)
998
- resp = @client.update_stack(options)
1079
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1080
+ @client.update_stack(options)
1081
+ end
999
1082
  resp.data
1000
1083
  end
1001
1084
 
@@ -1009,7 +1092,9 @@ module Aws::CloudFormation
1009
1092
  def events(options = {})
1010
1093
  batches = Enumerator.new do |y|
1011
1094
  options = options.merge(stack_name: @name)
1012
- resp = @client.describe_stack_events(options)
1095
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1096
+ @client.describe_stack_events(options)
1097
+ end
1013
1098
  resp.each_page do |page|
1014
1099
  batch = []
1015
1100
  page.data.stack_events.each do |s|
@@ -1043,7 +1128,9 @@ module Aws::CloudFormation
1043
1128
  def resource_summaries(options = {})
1044
1129
  batches = Enumerator.new do |y|
1045
1130
  options = options.merge(stack_name: @name)
1046
- resp = @client.list_stack_resources(options)
1131
+ resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
1132
+ @client.list_stack_resources(options)
1133
+ end
1047
1134
  resp.each_page do |page|
1048
1135
  batch = []
1049
1136
  page.data.stack_resource_summaries.each do |s|