如何覆盖供应商的默认值?

时间:2014-11-21 08:28:12

标签: vagrant puppet

我有一个包含多个配置块的Vagrant文​​件,如下所示:

config.vm.provision "puppet" do |puppet|
    puppet.manifests_path = "puppet/manifests"
    puppet.module_path = "puppet/modules"
    puppet.manifest_file = "first.pp"
end

config.vm.provision "puppet" do |puppet|
    puppet.manifests_path = "puppet/manifests"
    puppet.module_path = "puppet/modules"
    puppet.manifest_file = "second.pp"
end

config.vm.provision "puppet" do |puppet|
    puppet.manifests_path = "puppet/manifests"
    puppet.module_path = "puppet/modules"
    puppet.manifest_file = "third.pp"
end

如何消除多余的puppet.manifest_pathpuppet.module_path

1 个答案:

答案 0 :(得分:3)

嗯,它像Ruby一样走路并像Ruby一样谈论,所以很有可能

%w{first second third}.each do |manifest|
  config.vm.provision "puppet" do |puppet|
    puppet.manifests_path = "puppet/manifests"
    puppet.module_path    = "puppet/modules"
    puppet.manifest_file  = "#{manifest}.pp"
  end
end

请注意,您可以指定要使用的清单目录,而不是单个文件。