我试图在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参数是必需的,其他所有可选。
解决方法是使用undef而不是nil / null 。