class AWS::CloudFormation::StackSummaryCollection

# Stack Summaries

Stack summaries contain information about CloudFormation stacks. You can filter the stacks you want summary information for by one or more statuses. You can even get information about deleted stacks for up to 90 days.

## Enumerating Stack Summaries

You can enumerate all available summaries using enumerable methods. Yielded summaries are simple hashes.

cfm = AWS::CloudFormation.new
cfm.stack_summaries.each do |summary|
  puts summary.to_yaml
end

## Filtering Stack Summaries

You can optionally provide one or more stack stasus values to filter the results by. Only stacks with the given status(es) will be enumerated.

cfm.stack_summaries.with_status(:create_failed).each do |summary|
  # ...
end

# enumerate stacks with various delete statuses
statuses = %w(delete_in_progress delete_failed delete_complete)
cf.stack_summaries.with_status(statuses).each do |summary|
  # ...
end

Public Class Methods

new(options = {}) click to toggle source

@api private

Calls superclass method
# File lib/aws/cloud_formation/stack_summary_collection.rb, line 54
def initialize options = {}
  @filters = options[:filters]
  super
end

Public Instance Methods

with_status(*status_filters) click to toggle source

Limits the stacks summaries that are enumerated.

cfm.stack_summaries.with_status(:create_complete).each do |summary|
  puts summary[:stack_name]
end

You can provide multiple statuses:

statuses = [:create_failed, :rollback_failed]
cfm.stack_summaries.with_status(statuses).each do |summary|
  puts summary[:stack_name]
end

Status names may be symbolized (snake-cased) or upper-cased strings (e.g. :create_in_progress, ‘CREATE_IN_PROGRESS’).

@param [Symbol,String] status_filters One or more statuses to filter

stacks with. Valid values include:

  * `:create_in_progress`
  * `:create_failed`
  * `:create_complete`
  * `:rollback_in_progress`
  * `:rollback_failed`
  * `:rollback_complete`
  * `:delete_in_progress`
  * `:delete_failed`
  * `:delete_complete`
  * `:update_in_progress`
  * `:update_complete_cleanup_in_progress`
  * `:update_complete`
  * `:update_rollback_in_progress`
  * `:update_rollback_failed`
  * `:update_rollback_complete_cleanup_in_progress`
  * `:update_rollback_complete`

@return [StackSummaryCollection] Returns a new stack summary

collection that restricts what stack summariess will be
enumerated.
# File lib/aws/cloud_formation/stack_summary_collection.rb, line 99
def with_status *status_filters
  StackSummaryCollection.new(
    :filters => status_filters.flatten.map(&:to_s).map(&:upcase),
    :config => config)
end

Protected Instance Methods

_each_item(next_token, options = {}) { |summary| ... } click to toggle source
# File lib/aws/cloud_formation/stack_summary_collection.rb, line 107
def _each_item next_token, options = {}, &block

  options[:next_token] = next_token if next_token
  options[:stack_status_filter] = @filters if @filters

  resp = client.list_stacks(options)
  resp.data[:stack_summaries].each do |summary|
    yield(summary)
  end

  resp.data[:next_token]

end