class Cloudformer::Tasks
CloudFormer Rake Tasks
Attributes
capabilities[RW]
disable_rollback[RW]
notify[RW]
parameters[RW]
retry_delete[RW]
template[RW]
Public Class Methods
new(stack_name) { |self| ... }
click to toggle source
# File lib/cloudformer/tasks.rb, line 8 def initialize(stack_name) @stack_name = stack_name @stack = Stack.new(stack_name) if block_given? yield self define_tasks end end
Private Instance Methods
define_create_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 34 def define_create_task desc "Apply Stack with Cloudformation script and parameters." task :apply do retry_delete && @stack.delete result = @stack.apply(template, parameters, disable_rollback, capabilities, notify, tags) result == :Failed && exit(1) result == :NoUpdates && exit(0) end end
define_delete_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 44 def define_delete_task desc "Delete stack from CloudFormation" task :delete do begin exit 1 unless @stack.delete rescue puts "Stack deleted successfully." end end end
define_delete_with_stop_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 55 def define_delete_with_stop_task desc "Delete stack after stopping all instances" task :force_delete do begin @stack.stop_instances exit 1 unless @stack.delete rescue => e puts "Stack delete message - #{e.message}" end end end
define_events_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 74 def define_events_task desc "Get the recent events from the stack." task :events do @stack.events end end
define_outputs_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 81 def define_outputs_task desc "Get the outputs of stack." task :outputs do @stack.outputs end end
define_recreate_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 88 def define_recreate_task desc "Recreate stack." task :recreate => %i[delete apply outputs] end
define_start_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 100 def define_start_task desc "Start EC2 instances in stack." task :start do @stack.start_instances end end
define_status_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 67 def define_status_task desc "Get the deployed app status." task :status do @stack.status end end
define_stop_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 93 def define_stop_task desc "Stop EC2 instances in stack." task :stop do @stack.stop_instances end end
define_tasks()
click to toggle source
# File lib/cloudformer/tasks.rb, line 21 def define_tasks define_create_task define_validate_task define_delete_task define_delete_with_stop_task define_events_task define_status_task define_outputs_task define_recreate_task define_stop_task define_start_task end
define_validate_task()
click to toggle source
# File lib/cloudformer/tasks.rb, line 107 def define_validate_task desc "Validate the Stack." task :validate do @stack.validate(template) end end