如何在 Chef 中重用 Vagrant 参数
How to reuse Vagrant parameter in Chef
我很难理解如何将当前的 vagrant 配置传递给 chef。
例如,在 Vagrant 配置期间我有这样的配置:
config.vm.provider :aws do |aws, override|
override.ssh.username = "ubuntu"
...
end
...
config.vm.provision :chef_solo do |chef|
chef.json = {
username: "ubuntu"
}
...
end
现在如何在 chef-solo 配置中重用 ssh username
?
我希望能够写出这样的东西:
config.vm.provision :chef_solo do |chef|
chef.json = {
username: config.ssh.username
}
end
非常感谢任何帮助:)
这个解决方案对我来说似乎非常有效:
username = "ubuntu"
config.vm.provider :aws do |aws, override|
override.ssh.username = "#{username}"
...
end
...
config.vm.provision :chef_solo do |chef|
chef.json = {
username: "#{username}"
}
...
end
(感谢 Alvaro Miranda Aguilera 如何在 Vagrant forum 中建议这段代码)
我很难理解如何将当前的 vagrant 配置传递给 chef。
例如,在 Vagrant 配置期间我有这样的配置:
config.vm.provider :aws do |aws, override|
override.ssh.username = "ubuntu"
...
end
...
config.vm.provision :chef_solo do |chef|
chef.json = {
username: "ubuntu"
}
...
end
现在如何在 chef-solo 配置中重用 ssh username
?
我希望能够写出这样的东西:
config.vm.provision :chef_solo do |chef|
chef.json = {
username: config.ssh.username
}
end
非常感谢任何帮助:)
这个解决方案对我来说似乎非常有效:
username = "ubuntu"
config.vm.provider :aws do |aws, override|
override.ssh.username = "#{username}"
...
end
...
config.vm.provision :chef_solo do |chef|
chef.json = {
username: "#{username}"
}
...
end
(感谢 Alvaro Miranda Aguilera 如何在 Vagrant forum 中建议这段代码)