Назад | Перейти на главную страницу

Как дополнительно включить параметр в экземпляр класса 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.