У меня есть конфиг марионетки, который правильно устанавливает файл. Я хочу, чтобы он установил несколько файлов. Конфиг выглядит примерно так (в той части, которая здесь актуальна):
$stuff = hiera('stuff')
$site_filename = $stuff['site_file']
file { "/path/to/my/file/called/$site_filename":
ensure => present,
owner => 'the-owner',
group => 'the-group',
mode => 644,
source => "puppet:///modules/this-module/$site_filename",
require => [Package['something'],
User['someone']]
}
file { "/path/to/my/symlink/called/$site_filename":
ensure => 'link',
target => "/path/to/my/file/called/$site_filename",
require => Package['something'],
}
Работает отлично, нужный файл установлен на правильный хост. Но теперь я хотел бы установить переменное количество (очень похожих) файлов, количество которых будет разным на каждом хосте.
Мои файлы hiera в настоящее время выглядят так:
stuff:
site_file: "hey-i-am-the-site-file-on-host-awesomeness"
В принципе, я хочу сказать примерно следующее:
stuff:
site_file: ["hey-i-am-the-site-file-on-host-awesomeness",
"i-am-also-a-site-file-for-awesomeness",
"do-not-forget-me-too",
"someday-you-will-want-me-as-well"]
И здесь я достиг предела своих знаний о марионетках и иерах. Я понимаю, что, когда я думаю, что должен повторить в марионетке, я, вероятно, ошибаюсь, но я немного запутался, как это сделать.
Любые указатели на то, как это сделать или что прочитать, чтобы узнать?