我正在尝试在 Puppet 类实例中选择性地包含一个参数。如果提供了值,则应将参数传递给该类,如果为空,则不应传递该参数。
这是我目前拥有的代码:
class vcs (
$path,
$ensure,
$provider,
$source = '',
$revision = '',
$user = ''
)
{
vcsrepo { $path:
ensure => $ensure,
provider => $provider,
source => $source ? {
'' => nil,
default => $source
}
}
}
我试图将source
参数的值设置为,以防nil
未设置,但 Puppet 似乎既不理解nil
也不理解null
。(我收到fatal: repository 'null' does not exist
错误)
基本上,我希望能够调用该类vcs
,其中只有path
和ensure
参数是必需的,而所有其他参数都是可选的。
答案1
解决方案是使用/undef
而不是。nil
null