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

Объедините произвольное количество шаблонов в Puppet

Я бы хотел использовать template() для объединения некоторых файлов. Я читаю этот вопрос, что нормально, если вы точно знаете, сколько файлов хотите объединить. Что, если у меня есть только массив имен входных файлов?

$files = ['mymod/a.erb', 'mymod/b.erb', 'mymod/c.erb']

file { "/var/foo/final":
  content => template ($files)  # <-- error, can't convert Array to String
}

Я бы не хотел писать функцию парсера.

На данный момент это невозможно. Был Кукольный выпуск представлен для этого и предложенное исправление но, похоже, нет особой спешки его реализовать.

В качестве возможного обходного пути вы можете включить в один шаблон другие:

<% @template_array.each do |val| -%>
<% scope.function_template(val) %>
<% end -%>

Предупреждаю, я не тестировал это, но считаю, что это должно работать.