A solução foi usar undef
em vez de nil
/ null
.
Estou tentando incluir, opcionalmente, um parâmetro em uma instância de classe de marionetes. Se um valor for fornecido, o parâmetro deve ser passado para a classe e, se estiver vazio, não deve ser.
Esse é o código que eu tenho até agora:
class vcs (
$path,
$ensure,
$provider,
$source = '',
$revision = '',
$user = ''
)
{
vcsrepo { $path:
ensure => $ensure,
provider => $provider,
source => $source ? {
'' => nil,
default => $source
}
}
}
Eu tentei definir o valor do parâmetro source
como nil
caso ele não esteja definido, mas o Puppet não parece entender nem nil
nem null
. (Recebo um erro fatal: repository 'null' does not exist
)
Basicamente, quero poder chamar a classe vcs
, com apenas os parâmetros path
e ensure
a serem exigidos e todos os outros como opcionais.
Tags puppet