class Lono::Sets::Base
Public Class Methods
new(options={})
click to toggle source
Calls superclass method
Lono::AbstractBase::new
# File lib/lono/sets/base.rb, line 3 def initialize(options={}) options[:iam] = true # easy to forget the --iam option. Default to turning it on for StackSets super end
Public Instance Methods
build_options()
click to toggle source
# File lib/lono/sets/base.rb, line 26 def build_options parameters = generate_all options = { stack_set_name: @stack, parameters: parameters, capabilities: capabilities, # ["CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"] } options[:tags] = tags unless tags.empty? options[:operation_preferences] = operation_preferences unless operation_preferences.empty? options.reject! {|k, v| v.nil? } set_template_url!(options) options end
exit_unless_updatable!()
click to toggle source
# File lib/lono/sets/base.rb, line 13 def exit_unless_updatable! return true if ENV['LONO_ENV'] return false if @options[:noop] status = Status.new(@options) # using status for completed? return if status.stack_instances.empty? completed = status.completed?(status.stack_set_status) unless completed puts "Cannot update stack set because #{@stack} is not in an updatable state. Stack set status: #{status.stack_set_status}".color(:red) quit(1) end end
operation_preferences()
click to toggle source
# File lib/lono/sets/base.rb, line 40 def operation_preferences o = {} o[:failure_tolerance_count] = @options[:failure_tolerance_count] o[:failure_tolerance_percentage] = @options[:failure_tolerance_percentage] o[:max_concurrent_count] = @options[:max_concurrent_count] o[:max_concurrent_percentage] = @options[:max_concurrent_percentage] o.reject! {|k, v| v.nil? } o end
run()
click to toggle source
# File lib/lono/sets/base.rb, line 8 def run generate_all save end