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

Используете $ server в шаблоне Puppet?

Я пытаюсь использовать сервер Puppet в качестве переменной в моем шаблоне марионетки следующим образом: <%= $settings::server %>. Но получаю ошибку:

undefined method `server' for nil:NilClass

Как я могу использовать настроенный сервер Puppet в качестве переменной в моих шаблонах?

Вы пытаетесь использовать поиск переменных синтаксиса Puppet в ERB, и это не сработает. ERB - это не Puppet, и эти два синтаксиса несовместимы. Вместо этого вы хотите присвоить значение простой переменной (без пространства имен) в своем манифесте, а затем использовать который переменная в вашем ERB. Вы жестяная банка использовать scope, как предлагает Кашани, но никто другой (или вы через 6 месяцев) не узнает, что вы делаете и почему это важно.

Попробуйте следующее. Он немного многословен, но должен быть самым надежным. FWIW, удаление $ также должно работать, но может не работать после Puppet 2.7.

<%= scope.lookupvar('settings::server') %>