Я пытаюсь при желании включить параметр в экземпляр класса марионетки. Если указано значение, параметр должен быть передан в класс, а если он пуст, его не должно быть.
Это код, который у меня есть:
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
.