Class: Aws::CloudFormation::Waiters::StackUpdateComplete

Inherits:
Object
  • Object
show all
Defined in:
lib/aws-sdk-cloudformation/waiters.rb

Overview

Wait until stack status is UPDATE_COMPLETE.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ StackUpdateComplete

Returns a new instance of StackUpdateComplete.

Parameters:

  • options (Hash)

Options Hash (options):

  • :client (required, Client)
  • :max_attempts (Integer) — default: 120
  • :delay (Integer) — default: 30
  • :before_attempt (Proc)
  • :before_wait (Proc)


636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 636

def initialize(options)
  @client = options.fetch(:client)
  @waiter = Aws::Waiters::Waiter.new({
    max_attempts: 120,
    delay: 30,
    poller: Aws::Waiters::Poller.new(
      operation_name: :describe_stacks,
      acceptors: [
        {
          "argument" => "stacks[].stack_status",
          "expected" => "UPDATE_COMPLETE",
          "matcher" => "pathAll",
          "state" => "success"
        },
        {
          "expected" => "UPDATE_FAILED",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "stacks[].stack_status"
        },
        {
          "argument" => "stacks[].stack_status",
          "expected" => "UPDATE_ROLLBACK_FAILED",
          "matcher" => "pathAny",
          "state" => "failure"
        },
        {
          "expected" => "UPDATE_ROLLBACK_COMPLETE",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "stacks[].stack_status"
        },
        {
          "expected" => "ValidationError",
          "matcher" => "error",
          "state" => "failure"
        }
      ]
    )
  }.merge(options))
end

Instance Attribute Details

#waiterObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



685
686
687
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 685

def waiter
  @waiter
end

Instance Method Details

#wait(params = {}) ⇒ Types::DescribeStacksOutput

Returns a response object which responds to the following methods:

Options Hash (params):

  • :stack_name (String)

    <note markdown=“1”> If you don’t pass a parameter to ‘StackName`, the API returns a response that describes all resources in the account, which can impact performance. This requires `ListStacks` and `DescribeStacks` permissions.

    Consider using the ListStacks API if you're not passing a parameter
    

    to ‘StackName`.

    The IAM policy below can be added to IAM policies when you want to
    

    limit resource-level permissions and avoid returning a response when no parameter is sent in the request:

    \{ "Version": "2012-10-17", "Statement": \[\{ "Effect":
    

    “Deny”, “Action”: “cloudformation:DescribeStacks”, “NotResource”: “arn:aws:cloudformation:::stack//” }] }

    </note>
    

    The name or the unique stack ID that’s associated with the stack, which aren’t always interchangeable:

    • Running stacks: You can specify either the stack’s name or its unique stack ID.

    • Deleted stacks: You must specify the unique stack ID.

    Default: There is no default value.

  • :next_token (String)

    A string that identifies the next page of stacks that you want to retrieve.

Returns:



680
681
682
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 680

def wait(params = {})
  @waiter.wait(client: @client, params: params)
end