class StackMaster::Commands::Init
Public Class Methods
new(options, region, stack_name)
click to toggle source
Calls superclass method
StackMaster::Command::new
# File lib/stack_master/commands/init.rb, line 8 def initialize(options, region, stack_name) super(nil, nil, options) @region = region @stack_name = stack_name end
Public Instance Methods
perform()
click to toggle source
# File lib/stack_master/commands/init.rb, line 14 def perform if check_files create_stack_master_yml create_stack_json_yml create_parameters_yml end end
Private Instance Methods
check_files()
click to toggle source
# File lib/stack_master/commands/init.rb, line 24 def check_files @stack_master_filename = "stack_master.yml" @stack_json_filename = "templates/#{@stack_name}.json" @parameters_filename = File.join("parameters", "#{@stack_name}.yml") @region_parameters_filename = File.join("parameters", @region, "#{@stack_name}.yml") if !@options.overwrite [@stack_master_filename, @stack_json_filename, @parameters_filename, @region_parameters_filename].each do |filename| if File.exists?(filename) StackMaster.stderr.puts("Aborting: #{filename} already exists. Use --overwrite to force overwriting file.") return false end end end true end
create_parameters_yml()
click to toggle source
# File lib/stack_master/commands/init.rb, line 68 def create_parameters_yml StackMaster.stdout.puts "Writing #{@parameters_filename}" StackMaster.stdout.puts "Writing #{@region_parameters_filename}" FileUtils.mkdir_p("parameters/#{@region}") IO.write(@parameters_filename, parameter_stack_name_yml_output) IO.write(@region_parameters_filename, parameter_region_yml_output) end
create_stack_json_yml()
click to toggle source
# File lib/stack_master/commands/init.rb, line 41 def create_stack_json_yml StackMaster.stdout.puts "Writing #{@stack_json_filename}" FileUtils.mkdir_p(File.dirname(@stack_json_filename)) IO.write(@stack_json_filename, stack_json_output) end
create_stack_master_yml()
click to toggle source
# File lib/stack_master/commands/init.rb, line 55 def create_stack_master_yml StackMaster.stdout.puts "Writing #{@stack_master_filename}" IO.write("#{@stack_master_filename}", stack_master_yml_output) end
parameter_region_template()
click to toggle source
# File lib/stack_master/commands/init.rb, line 88 def parameter_region_template File.join(StackMaster.base_dir, "stacktemplates", "parameter_region.yml") end
parameter_region_yml_output()
click to toggle source
# File lib/stack_master/commands/init.rb, line 80 def parameter_region_yml_output File.read(parameter_region_template) end
parameter_stack_name_template()
click to toggle source
# File lib/stack_master/commands/init.rb, line 84 def parameter_stack_name_template File.join(StackMaster.base_dir, "stacktemplates", "parameter_stack_name.yml") end
parameter_stack_name_yml_output()
click to toggle source
# File lib/stack_master/commands/init.rb, line 76 def parameter_stack_name_yml_output File.read(parameter_stack_name_template) end
render(renderer)
click to toggle source
# File lib/stack_master/commands/init.rb, line 92 def render(renderer) binding = InitBinding.new(region: @region, stack_name: @stack_name).get_binding renderer.result(binding) end
stack_json_output()
click to toggle source
# File lib/stack_master/commands/init.rb, line 47 def stack_json_output render ERB.new(File.read(stack_json_template)) end
stack_json_template()
click to toggle source
# File lib/stack_master/commands/init.rb, line 51 def stack_json_template File.join(StackMaster.base_dir, "stacktemplates", "stack.json.erb") end
stack_master_template()
click to toggle source
# File lib/stack_master/commands/init.rb, line 64 def stack_master_template File.join(StackMaster.base_dir, "stacktemplates", "stack_master.yml.erb") end
stack_master_yml_output()
click to toggle source
# File lib/stack_master/commands/init.rb, line 60 def stack_master_yml_output render ERB.new(File.read(stack_master_template)) end