Class: Aws::CloudFormation::Waiters::StackDeleteComplete

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

Overview

Wait until stack status is DELETE_COMPLETE.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ StackDeleteComplete

Returns a new instance of StackDeleteComplete.

Parameters:

  • options (Hash)

Options Hash (options):

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


264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 264

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" => "DELETE_COMPLETE",
          "matcher" => "pathAll",
          "state" => "success"
        },
        {
          "expected" => "ValidationError",
          "matcher" => "error",
          "state" => "success"
        },
        {
          "argument" => "stacks[].stack_status",
          "expected" => "DELETE_FAILED",
          "matcher" => "pathAny",
          "state" => "failure"
        },
        {
          "argument" => "stacks[].stack_status",
          "expected" => "CREATE_FAILED",
          "matcher" => "pathAny",
          "state" => "failure"
        },
        {
          "argument" => "stacks[].stack_status",
          "expected" => "ROLLBACK_FAILED",
          "matcher" => "pathAny",
          "state" => "failure"
        },
        {
          "argument" => "stacks[].stack_status",
          "expected" => "UPDATE_ROLLBACK_IN_PROGRESS",
          "matcher" => "pathAny",
          "state" => "failure"
        },
        {
          "argument" => "stacks[].stack_status",
          "expected" => "UPDATE_ROLLBACK_FAILED",
          "matcher" => "pathAny",
          "state" => "failure"
        },
        {
          "argument" => "stacks[].stack_status",
          "expected" => "UPDATE_ROLLBACK_COMPLETE",
          "matcher" => "pathAny",
          "state" => "failure"
        },
        {
          "argument" => "stacks[].stack_status",
          "expected" => "UPDATE_COMPLETE",
          "matcher" => "pathAny",
          "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.



337
338
339
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 337

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:



332
333
334
# File 'lib/aws-sdk-cloudformation/waiters.rb', line 332

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