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

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

Overview

Wait until stack status is DELETE_COMPLETE.

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 'gems/aws-sdk-cloudformation/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 Method Details

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

Returns a response object which responds to the following methods:

Parameters:

  • params (Hash) (defaults to: {})

    a customizable set of options

Options Hash (params):

  • :stack_name (String)

    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//" }] }

    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 'gems/aws-sdk-cloudformation/lib/aws-sdk-cloudformation/waiters.rb', line 332

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