如何选择性地在 Puppet 类实例中包含参数

如何选择性地在 Puppet 类实例中包含参数

我正在尝试在 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,其中只有pathensure参数是必需的,而所有其他参数都是可选的。

答案1

解决方案是使用/undef而不是。nilnull

相关内容