class StackMaster::StackStatus

Attributes

stack_definition[R]

Public Class Methods

new(config, stack_definition) click to toggle source
# File lib/stack_master/stack_status.rb, line 3
def initialize(config, stack_definition)
  @config = config
  @stack_definition = stack_definition
end

Public Instance Methods

body_changed?() click to toggle source
# File lib/stack_master/stack_status.rb, line 26
def body_changed?
  stack.nil? || differ.body_different?
end
changed?() click to toggle source
# File lib/stack_master/stack_status.rb, line 18
def changed?
  stack.nil? || body_changed? || parameters_changed?
end
changed_message() click to toggle source
# File lib/stack_master/stack_status.rb, line 8
def changed_message
  if changed?
    'Yes'
  elsif no_echo_params?
    'No *'
  else
    'No'
  end
end
no_echo_params?() click to toggle source
# File lib/stack_master/stack_status.rb, line 34
def no_echo_params?
  !differ.noecho_keys.empty?
end
parameters_changed?() click to toggle source
# File lib/stack_master/stack_status.rb, line 30
def parameters_changed?
  stack.nil? || differ.params_different?
end
status() click to toggle source
# File lib/stack_master/stack_status.rb, line 22
def status
  stack ? stack.stack_status : nil
end

Private Instance Methods

differ() click to toggle source
# File lib/stack_master/stack_status.rb, line 51
def differ
  @differ ||= StackMaster::StackDiffer.new(proposed_stack, stack)
end
find_stack() click to toggle source
# File lib/stack_master/stack_status.rb, line 46
def find_stack
  Stack.find(stack_definition.region, stack_definition.stack_name)
rescue Aws::CloudFormation::Errors::ValidationError
end
proposed_stack() click to toggle source
# File lib/stack_master/stack_status.rb, line 55
def proposed_stack
  @proposed_stack ||= Stack.generate(stack_definition, @config)
end
stack() click to toggle source
# File lib/stack_master/stack_status.rb, line 40
def stack
  return @stack if defined?(@stack)
  StackMaster.cloud_formation_driver.set_region(stack_definition.region)
  @stack = find_stack
end