我有一个文件,我想用于几个不同的目的。 该文件是90%相同的使用,只是轻微的差异。 我宁愿不将内容复制到傀儡中的多个文件中,所以有办法做类似的事情
file { "/tmp/file1" : content => template("module/template.erb") } file { "/tmp/file2" : content => template("module/template.erb") }
并在模板中:
Jack John James <% if file == "/tmp/file2" %> Jim <% end %>
你应该使用一个定义或参数化的类,这样你可以得到你喜欢的name (恕我直言,应该是一个定义):
define filename($template = "mytemplate.erb") { file { $name: content => template($template) } } node 'host' { filename { "/tmp/file1": } filename { "/tmp/file2": } }
并更正您的模板:
Jack John James <% if name == "/tmp/file2" %> Jim <% end %>
这听起来像你想从碎片构buildconfiguration文件?
http://projects.puppetlabs.com/projects/puppet/wiki/Generating_a_config_file_from_fragments
我还没有尝试过,但我想。 让我知道这是怎么回事,如果你试试这个。