Vagrant 如何覆盖provisioner的默认值?

Vagrant 如何覆盖provisioner的默认值?,vagrant,puppet,Vagrant,Puppet,我有一个流浪者文件,其中包含多个条款块,如下所示: 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

我有一个流浪者文件,其中包含多个条款块,如下所示:

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\u path
puppet.module\u path

好吧,它走路像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
请注意,您可以指定要使用的清单目录,而不是单个文件