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

@private

# File lib/aws/cloud_formation/stack_summary_collection.rb, line 55
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(options = {}) { |to_hash| ... } click to toggle source
# File lib/aws/cloud_formation/stack_summary_collection.rb, line 107
def _each_item options = {}
  next_token = nil
  begin
    
    client_opts = {}
    client_opts[:next_token] = next_token if next_token
    client_opts[:stack_status_filter] = @filters if @filters
    resp = client.list_stacks(client_opts)

    resp.stack_summaries.each do |summary|
      yield(summary.to_hash)
    end

    next_token = resp.data[:next_token]

  end while next_token
end