Шаблоны кукол и неопределенные / нулевые переменные

Я часто хочу включить значения по умолчанию в шаблонах Puppet. Я надеялся, что учитывая такой класс:

class myclass ($a_variable=undef) {
  file { '/tmp/myfile':
    content => template('myclass/myfile.erb'),
  }
}

Я мог бы сделать шаблон как это:

a_variable = <%= a_variable || "a default value" %>

К несчастью, undef в Puppet не переводится на Ruby nil значение в контексте шаблона, так что это на самом деле не работает. Каков канонический способ обработки значений по умолчанию в шаблонах Puppet?

Я могу установить значение по умолчанию для пустой строки, а затем использовать empty? тестовое задание...

a variable = <%= a_variable.empty? ? "a default value" : a_variable %>

... но это кажется немного неуклюжим.

1 ответ

Не могли бы вы просто установить значение по умолчанию в определении класса?

class myclass ($a_variable = "a default value") {
Другие вопросы по тегам