在Puppet中连接任意数量的模板

我想使用template()连接一些文件。 我读了这个问题 ,如果你确切地知道你想要连接多less个文件,这是很好的。 如果我只是有一个input文件名称的数组呢?

 $files = ['mymod/a.erb', 'mymod/b.erb', 'mymod/c.erb'] file { "/var/foo/final": content => template ($files) # <-- error, can't convert Array to String } 

我想避免编写一个parsing器函数。

目前这是不可能的。 提交了一个Puppet问题 ,并提出了一个修复scheme,但似乎并没有急于实施的问题。

作为一种可能的解决方法,您可以使用一个模板包含其他模板:

 <% @template_array.each do |val| -%> <% scope.function_template(val) %> <% end -%> 

预警,我没有testing过,但我相信它应该工作。