Я хотел бы установить значение, используемое повторно несколькими классами и ресурсами из Hiera. Другими словами, установите глобальный параметр через Hiera. Итак, в соответствующем файле yaml у меня есть:
myvarr: 'foo'
Потом в манифестах попробовал:
if $myvar == 'foo'
так же как
if $::myvar == 'foo'
но безрезультатно. Как это сделать? Просмотр документации Puppet не очень помог, все, что я видел, это примеры на основе классов.
Из puppet 3
марионетка делает hiera
автоматический поиск, но если у вас много модулей или классов, выполнение автоматического поиска для каждого модуля или переменной класса увеличивает время компиляции каталога для отключения автоматического поиска
data_binding_terminus = none
Я предпочитаю делать явный вызов, только там, где мне нужно получить данные из hiera
:
$var = hiera('foo')
Хиера вводит переменную в класс. Итак, вам нужно определить класс my class и в вашем hiera использовать myclass :: var: foo. Это сделает var = foo внутри myclass.
Кроме того, hiera следует использовать для перезаписи значений по умолчанию, а не для установки значений по умолчанию.