我正在使用人偶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中提取值,但是无论如何我通常都会得到相同的结果。
Puppet的内置unique()
功能似乎很自然。例如:
unique()