Class: Chef::Knife::HitoriConfig
Constant Summary
collapse
- CHEF_DIR =
'.chef'
- KNIFE_FILE =
'knife.rb'
- EC2_FILE =
'ec2.rb'
Instance Method Summary
collapse
#ask_ec2_config_all, #input_arg
Methods included from HitoriBase
#update_environment
Instance Method Details
#base_dir ⇒ Object
36
37
38
|
# File 'lib/chef/knife/hitori_config.rb', line 36
def base_dir
config[:base_dir]
end
|
#chef_dir ⇒ Object
40
41
42
|
# File 'lib/chef/knife/hitori_config.rb', line 40
def chef_dir
"#{base_dir}/#{CHEF_DIR}"
end
|
#create_knife_ec2_ruby(conf) ⇒ Object
61
62
63
64
65
66
67
|
# 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 ⇒ Object
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# 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 ⇒ Object
28
29
30
31
32
33
34
|
# 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
|