class StackMaster::Commands::Delete
Public Class Methods
new(region, stack_name, options)
click to toggle source
Calls superclass method
StackMaster::Command::new
# File lib/stack_master/commands/delete.rb, line 7 def initialize(region, stack_name, options) super(nil, nil, options) @region = region @stack_name = stack_name @from_time = Time.now end
Public Instance Methods
perform()
click to toggle source
# File lib/stack_master/commands/delete.rb, line 14 def perform return unless check_exists unless ask?("Really delete stack #{@stack_name} (y/n)? ") StackMaster.stdout.puts "Stack update aborted" return end delete_stack tail_stack_events unless StackMaster.quiet? end
Private Instance Methods
cf()
click to toggle source
# File lib/stack_master/commands/delete.rb, line 41 def cf StackMaster.cloud_formation_driver end
check_exists()
click to toggle source
# File lib/stack_master/commands/delete.rb, line 33 def check_exists cf.describe_stacks({stack_name: @stack_name}) true rescue Aws::CloudFormation::Errors::ValidationError failed("Stack does not exist") false end
delete_stack()
click to toggle source
# File lib/stack_master/commands/delete.rb, line 29 def delete_stack cf.delete_stack({stack_name: @stack_name}) end
tail_stack_events()
click to toggle source
# File lib/stack_master/commands/delete.rb, line 45 def tail_stack_events StackEvents::Streamer.stream(@stack_name, @region, io: StackMaster.stdout, from: @from_time) StackMaster.stdout.puts "Stack deleted" rescue Aws::CloudFormation::Errors::ValidationError # Unfortunately the stack as a tendency of going away before we get the final delete event. StackMaster.stdout.puts "Stack deleted" end