我正在尝试在puppet中进行循环,我将此代码放在manifests / site.pp中
class ubuntu_fw {
ufw::allow { "allow-ssh-from-all":
port => 22,
}
$trustips = ["1.1.1.1", "2.2.2.2"]
$trustips.each |$trustip| {
ufw::allow { "allow-all-from-trusted-$trustip":
from => $trustip,
}
}
}
但是我得到了这个错误
“无法解析环境生成:在/opt/puppet/manifests/site.pp:13上的'。';期望'}'语法错误”
使用木偶3.4.3
正如Evgeny所说,Puppet 4中提供了循环,迭代等功能。(此处记录的新功能:https://docs.puppetlabs.com/references/4.0.0/function.html)
您可以将主要版本设置为4.0或在Puppet> 3.7.3中启用Future解析器来模拟较新的语法。
您可以使用以下内容执行此操作:
--parser future
添加到cliparser = future
添加到main
的puppet.conf
配置部分您可以使用以下Puppet代码更改puppet.conf
augeas { 'puppet.conf':
context => '/files/etc/puppet/puppet.conf',
changes => [
'set main/parser future',
],
}