class Chef::Knife::HitoriConfig

Constants

CHEF_DIR
EC2_FILE
KNIFE_FILE

Public Instance Methods

base_dir() click to toggle source
# File lib/chef/knife/hitori_config.rb, line 36
def base_dir
  config[:base_dir]
end
chef_dir() click to toggle source
# File lib/chef/knife/hitori_config.rb, line 40
def chef_dir
  "#{base_dir}/#{CHEF_DIR}"
end
create_knife_ec2_ruby(conf) click to toggle source
# File lib/chef/knife/hitori_config.rb, line 61
def create_knife_ec2_ruby(conf)
  knife_ec2_ruby = "#{chef_dir}/#{EC2_FILE}"
  template = KnifeHitori::resource('knife_ec2.erb')
  erubis = Erubis::Eruby.new(::File.read(template))
  ::File.write(knife_ec2_ruby, erubis.result(config: conf))
  ui.info ui.color("save settings in #{knife_ec2_ruby}", :green)
end
create_knife_ruby() click to toggle source
# File lib/chef/knife/hitori_config.rb, line 44
def create_knife_ruby
  knife_ruby = "#{chef_dir}/#{KNIFE_FILE}"
  FileUtils.makedirs(chef_dir) unless ::Dir.exists?(chef_dir)
  if ::File.exists?(knife_ruby)
    yes_no = input_arg("overwrite knife.rb (#{knife_ruby}) [y/n] ?", 'N') {|x| x =~ /^[yn]$/i}
    if yes_no.downcase != 'y'
      ui.info ui.color('cancel overwrite knife.rb', :yellow)
      return
    end
  end

  template = KnifeHitori::resource('knife.erb')
  erubis = Erubis::Eruby.new(::File.read(template))
  ::File.write(knife_ruby, erubis.result({}))
  ui.info ui.color("write knife.rb in #{knife_ruby}", :green)
end
run() click to toggle source
# File lib/chef/knife/hitori_config.rb, line 28
def run
  create_knife_ruby
  conf = ask_ec2_config_all(Chef::Config.knife)
  conf[:template_file] = KnifeHitori::resource('centos_bootstrap.erb')
  conf[:ssh_port] = 22
  create_knife_ec2_ruby(conf)
end