木偶stdlib'成员"功能不起作用

时间:2016-09-07 14:29:27

标签: ruby puppet

尝试使用puppet stdlib模块的成员函数:

有效地:

$myvariable = 'FOO'

然后使用成员函数时:

member(['FOO','BAR'], $myvariable)

我不断收到错误消息:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Function 'member' must be the value of a statement at /etc/puppet/modules/mymodule/manifests/init.pp:###  

1 个答案:

答案 0 :(得分:2)

查看成员的stdlib文档,我们看到该成员是一个右值。这意味着在此上下文中您需要分配其输出。这就是must be the value of a statement的错误消息所暗示的内容。请注意有关l值和r值https://en.wikipedia.org/wiki/Value_(computer_science)#lrvalue的有用维基百科文章。

例如,如果将member(['FOO','BAR'], $myvariable)的输出分配给变量或资源属性,则代码将起作用。

例如:

$myvariable = 'FOO'
$variable = member(['FOO','BAR'], $myvariable)
notify { $variable: }

会导致通知真实'在编译期间。