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)


528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 528

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.



577
578
579
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 577

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:



572
573
574
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 572

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