Я пытаюсь использовать сервер 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') %>