gpt4 book ai didi

amazon-ec2 - vagrant 和 ec2 之间的 Puppet 条件检查

转载 作者:行者123 更新时间:2023-12-04 21:59:33 25 4
gpt4 key购买 nike

我查看了 puppet variables 的文档并且似乎无法理解如何将其应用于以下情况:

if vagrant (local machine)

phpfpm::nginx::vhost { 'vhost_name':
server_name => 'dev.demo.com',
root => '/vagrant/public',
}

else if aws ec2 (remote machine)

phpfpm::nginx::vhost { 'vhost_name':
server_name => 'demo.com',
root => '/home/ubuntu/demo.com/public',
}

谢谢

最佳答案

尝试在您的 vagrant 主机和 EC2 实例上运行 factorer,并寻找差异。我怀疑两台主机之间的“虚拟事实”可能不同,或者 EC2 可能会返回一堆 ec2_ 事实,而这些 ec2_ 事实不会出现在 Vagrant 主机上。

然后你可以使用这个事实作为顶级变量,如下所示。我也切换到 case 语句,因为维护 IMHO 更容易一些,而且您可以使用默认块进行错误检查。

case $::virtual {
'whatever vagrant returns' : {
<vagrant specific provisionin>
}
'whatever the EC2 instance returns' : {
<EC2 specific provisioning>
}
default : {
fail("Unexpected virtual value of $::virtual")
}
}

关于amazon-ec2 - vagrant 和 ec2 之间的 Puppet 条件检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11359990/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com