class Awful::Changesets

Constants

COLORS

Public Instance Methods

cf() click to toggle source
# File lib/awful/changesets.rb, line 29
def cf
  @cf ||= Aws::CloudFormation::Client.new
end
changes(stack_name, change_set_name) click to toggle source
# File lib/awful/changesets.rb, line 69
def changes(stack_name, change_set_name)
  cf.describe_change_set(stack_name: stack_name, change_set_name: change_set_name).tap do |set|
    print_table set.changes.map { |change|
      rc = change.resource_change
      [
        color(rc.action),
        rc.logical_resource_id,
        rc.physical_resource_id,
        rc.resource_type,
        rc.replacement
      ]
    }
  end
end
color(string) click to toggle source
# File lib/awful/changesets.rb, line 33
def color(string)
  set_color(string, COLORS.fetch(string.downcase.to_sym, :blue))
end
list(stack_name, change_set_name = nil) click to toggle source
# File lib/awful/changesets.rb, line 42
def list(stack_name, change_set_name = nil)
  if change_set_name
    changes(stack_name, change_set_name)
  else
    ls(stack_name)
  end
end
ls(stack_name) click to toggle source
# File lib/awful/changesets.rb, line 52
def ls(stack_name)
  cf.list_change_sets(stack_name: stack_name).summaries.tap do |list|
    if options[:long]
      print_table list.map { |cs|
        [
          cs.change_set_name,
          color(cs.status),
          cs.creation_time
        ]
      }
    else
      puts list.map(&:change_set_name)
    end
  end
end