def generate_node_config
if node_config.exist?
Chef::Log.debug "Node config '#{node_config}' already exists"
else
ui.msg "Generating node config '#{node_config}'..."
FileUtils.mkdir_p(node_config.dirname)
File.open(node_config, 'w') do |f|
attributes = config[:json_attributes] || config[:first_boot_attributes] || {}
run_list = { :run_list => config[:run_list] || [] }
environment = config[:environment] ? { :environment => config[:environment] } : {}
automatic = host ? { :automatic => { :ipaddress => host } } : {}
f.print JSON.pretty_generate(attributes.merge(run_list).merge(environment).merge(automatic))
end
end
end