从嵌入式循环返回唯一值

问题描述 投票:0回答:1

我正在使用人偶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
1个回答
0
投票

Puppet的内置unique()功能似乎很自然。例如:

unique()
© www.soinside.com 2019 - 2024. All rights reserved.