Sha256: 1bdcfbfbe564f9a39cbaf0c7135974007efeb4a1328f9ca248cd5ebff18ac99d

Contents?: true

Size: 1.24 KB

Versions: 5

Compression:

Stored size: 1.24 KB

Contents

class Inventory::Cfn < Inventory::Base
  ALL_STATUSES = %w[
    REVIEW_IN_PROGRESS
    CREATE_FAILED
    UPDATE_ROLLBACK_FAILED
    UPDATE_ROLLBACK_IN_PROGRESS
    CREATE_IN_PROGRESS
    UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS
    ROLLBACK_IN_PROGRESS
    DELETE_COMPLETE
    UPDATE_COMPLETE
    UPDATE_IN_PROGRESS
    DELETE_FAILED
    DELETE_IN_PROGRESS
    ROLLBACK_COMPLETE
    ROLLBACK_FAILED
    UPDATE_COMPLETE_CLEANUP_IN_PROGRESS
    CREATE_COMPLETE
    UPDATE_ROLLBACK_COMPLETE
  ]
  ACTIVE_STATUSES = ALL_STATUSES - %w[DELETE_COMPLETE]

  def header
    ["Stack Name", "Description"]
  end

  def data
    stack_summaries.map do |summary|
      [summary.stack_name, summary.template_description]
    end
  end

  def stack_summaries
    @stack_summaries ||= cfn.list_stacks(stack_status_filter: ACTIVE_STATUSES).stack_summaries
  end

  # unused right now but leaving around to later figure out how to integrate
  def text_table
    stack_summaries.each do |summary|
      table.rows << [summary.stack_name, summary.template_description]
    end

    table = Text::Table.new
    table.head = %w[Name Description]
    stack_summaries.each do |summary|
      table.rows << [summary.stack_name, summary.template_description]
    end
    puts table
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
aws-inventory-0.3.2 lib/inventory/cfn.rb
aws-inventory-0.3.1 lib/inventory/cfn.rb
aws-inventory-0.3.0 lib/inventory/cfn.rb
aws-inventory-0.2.1 lib/inventory/cfn.rb
aws-inventory-0.2.0 lib/inventory/cfn.rb