Шаблон кукол со строкой вместо массива - PullRequest
0 голосов
/ 20 марта 2019

Я использую шаблон erb в Puppet для создания файла конфигурации.Я использую следующий код:

databasename = <%= @db_name %>

переменная db_name определена в следующем формате yaml:

databases::db_name:
- DB_PLACEHOLDER

Проблема заключается в том, что при создании файла из шаблона, Puppet ставит квадратные скобки вокруг моей замены переменных, как показано ниже.Я не хочу квадратных скобок?

["DB_PLACEHOLDER"]

1 Ответ

2 голосов
/ 20 марта 2019

["DB_PLACEHOLDER"] в Puppet и Ruby (поскольку вы используете ERB) - это синтаксически массив с одним элементом: "DB_PLACEHOLDER". Если вы не хотите, чтобы databases::db_name был массивом, то вам нужно указать его как строку, а не как массив в вашем yaml, из которого Hiera смотрит.

В приведенном ниже примере в качестве массива указано databases::db_name.

databases::db_name:
- DB_PLACEHOLDER

Вы можете изменить тип databases::db_name на строку, используя соответствующий синтаксис yaml:

databases::db_name: DB_PLACEHOLDER

Если вывод типа во время поиска в Hiera из yaml не приведен к строке, вы всегда можете явно указать значение в виде строки в yaml:

databases::db_name: 'DB_PLACEHOLDER'
...