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.
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
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
@private
# File lib/aws/cloud_formation/stack_summary_collection.rb, line 55 def initialize options = {} @filters = options[:filters] super end
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
# 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