gpt4 book ai didi

syntax-error - puppet : Syntax error with '$x.each…'

转载 作者:行者123 更新时间:2023-12-03 08:00:27 24 4
gpt4 key购买 nike

我有下面的代码:

define keepalived::vrrp_instance(
$state,
$interface,
$virtual_addresses,
$virtual_router_id,
$priority = $::keepalived::params::priority,
$advert_int = $::keepalived::params::advert_int,
$password = $::keepalived::params::password,
$notify_master = $::keepalived::params::notify_master,
$notify_backup = $::keepalived::params::notify_backup,
$notify_fault = $::keepalived::params::notify_fault,
$notify_all = $::keepalived::params::notify_all,
$smtp_alert = $::keepalived::params::smtp_alert,
) {
...
$virtual_addresses.each |$address| {
$splitted_address = split($address,' ')
if !is_ip_address($splitted_address[0]) {
fail("Error virtual_address Value: \"${address}\" not an ip address!")
}
}
...
}

$ virtual_addresses类似于['127.0.0.1 dev eth0','fd00::1 dev eth0']

运行代码,我得到以下错误:
Syntax error at '.'; expected '}' at /etc/puppet/environments/ip6_dev/modules_custom/keepalived/manifests/vrrp_instance.pp:136 on node

第136行是“$ virtual_addresses.each | $ address | {”

我找不到错误( https://docs.puppetlabs.com/references/3.stable/function.html#each)

我正在使用Puppet 3.3.2

最佳答案

"note requires parser = future"



确保在p中使用将来的解析器。
parser = future文件中设置 puppet.conf或添加命令行开关 --parser=future
更新:
包装验证功能:
define verify::wrapper ()
{
$ip_address = split($name,' ')
if !is_ip_address("${ip_address[0]}") {
fail("Error virtual_address Value: \"${ip_address[0]}\" not an ip address!")
}
}

接下来使用它:
define keepalived::vrrp_instance(...)
{
...
verify::wrapper{ $virtual_addresses : }
...
}

关于syntax-error - puppet : Syntax error with '$x.each…' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31242451/

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