使用简单的模板块,有没有办法将templates/default/SubDir/
(templates/default/SubDir/*
)中的所有模板文件复制到一个位置(/tmp/
)?
这是一个示例块:
template '/tmp/...' do
source 'default/SubDir/...'
owner node['attribute']['os_user']
group node['attribute']['os_group']
mode '0755'
end
编辑:这些都是xml文件,我认为我不会将.erb
扩展名添加到模板文件中,因为这需要我提及每个模板文件名,以便我可以将它们还原为.xml(用于递归地将模板复制到服务器)。
注意:如果不支持,那么是否有任何建议的方法需要strait ruby代码?
编辑:我将尝试制作一个模板文件,如果我要将整个数组复制到节点,看看是否可行。
答案 0 :(得分:0)
不,不支持。一些额外的角色,因为SO迫使我。
答案 1 :(得分:0)
我通过创建一个包含我需要复制到服务器的对象(模板)的数组来解决这个问题..它看起来像这样:
auth_schemas = ['file1.xml','file2.xml','file3.xml','file4.xml','file5.xml','file6.xml','file7.xml','file8.xml','file9.xml','file10.xml']
auth_schemas.each do |schemaFile|
template "/tmp/#{schemaFile}" do
source "path/to/SubDir/#{schemaFile}"
owner node['attribute']['os_user']
group node['attribute']['os_group']
mode '0755'
end
end
像魅力一样工作!