def export_files
progress 'Writing converted files'
@modules.each do |mname, files|
info "Found module #{mname}"
dsl = ''
module_dir = File.join(option_working_directory, mname)
fdir = File.join(module_dir, 'files')
Dir.mkdir(fdir)
tdir = File.join(module_dir, 'templates')
Dir.mkdir(tdir)
class_name = mname.partition('-').last
files.each do |a_file|
debug "...file #{a_file['name']}"
dsl += "file { '#{a_file['name']}':\n"
dsl += " path => '#{a_file['path']}',\n"
case a_file['file_type']
when 'file'
write_file(fdir, a_file['name'], a_file['contents'])
dsl += " source => 'puppet:///modules/#{mname}/#{a_file['name']}',\n"
dsl += " group => '#{a_file['groupname']}',\n"
dsl += " owner => '#{a_file['username']}',\n"
dsl += " ensure => 'file',\n"
dsl += " mode => '#{a_file['filemode']}',\n"
dsl += "}\n\n"
when 'template'
write_file(tdir, a_file['name'] + '.erb', a_file['contents'])
dsl += " group => '#{a_file['groupname']}',\n"
dsl += " owner => '#{a_file['username']}',\n"
dsl += " ensure => 'file',\n"
dsl += " mode => '#{a_file['filemode']}',\n"
dsl += " content => template('#{mname}/#{a_file['name']}.erb'),\n"
dsl += "}\n\n"
when 'directory'
dsl += " group => '#{a_file['groupname']}',\n"
dsl += " owner => '#{a_file['username']}',\n"
dsl += " ensure => 'directory',\n"
dsl += " mode => '#{a_file['filemode']}',\n"
dsl += "}\n\n"
when'symlink'
dsl += " target => '#{a_file['symbolic_link']}',\n"
dsl += " ensure => 'link',\n"
dsl += "}\n\n"
else
end
report_summary :wrote, :puppet_files
end
export_manifest(mname, class_name, dsl)
end
end