尝试使用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:###
答案 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: }
会导致通知真实'在编译期间。