Class: Aws::CloudFormation::Waiters::StackExists

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ StackExists

Returns a new instance of StackExists.

Parameters:

  • options (Hash)

Options Hash (options):

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


349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 349

def initialize(options)
  @client = options.fetch(:client)
  @waiter = Aws::Waiters::Waiter.new({
    max_attempts: 20,
    delay: 5,
    poller: Aws::Waiters::Poller.new(
      operation_name: :describe_stacks,
      acceptors: [
        {
          "matcher" => "status",
          "expected" => 200,
          "state" => "success"
        },
        {
          "matcher" => "error",
          "expected" => "ValidationError",
          "state" => "retry"
        }
      ]
    )
  }.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.



379
380
381
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 379

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:



374
375
376
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 374

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