Я использую Puppet 5 и пишу модуль, который ссылается на некоторую иерархию, в которой есть некоторое дублирование (пример ниже - см. Gpgkey):
profile::example1:
repo1:
descr: Centos repo
gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
repo2:
descr: Centos repo
gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
repo3:
descr: puppet repo
gpgkey: http://puppet.repo/GPG-KEY
Мне успешно удалось получить репоимена (repo1, repo2 и repo3 в этом примере). Далее я хотел бы запустить exec для импорта gpgkey, однако это приводит к ошибке объявления дубликата (я полагаю, потому что gpgkey дублирован в hiera). Любые идеи или помощь о том, как это сделать? Вот поиск:
$repo_name = lookup('profile::example1', Hash, 'deep')
$repo_name.each | $name, Hash $config_hash | {
notify { "${name}": }
}
Я смотрел на встраивание другого цикла для извлечения значений из $ config_hash, но я обычно получаю один и тот же результат независимо от этого.