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

Использование Hiera для установки глобальных переменных

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