使用Lookup命令在puppet中的多个hiera文件中查找相同的键
我试图读取多个hiera文件中的密钥并合并这些值。 我的hiera文件包含:使用Lookup命令在puppet中的多个hiera文件中查找相同的键,puppet,Puppet,我试图读取多个hiera文件中的密钥并合并这些值。 我的hiera文件包含: hierarchy: - name: "Per-env secrets" paths: - "puppet/hiera/dict-1.yaml" - "puppet/hiera/dict-2.yaml" lookup(dictionaries,Hash).each |String $keyDico, Hash $valueDico| { notify{"The value of
hierarchy:
- name: "Per-env secrets"
paths:
- "puppet/hiera/dict-1.yaml"
- "puppet/hiera/dict-2.yaml"
lookup(dictionaries,Hash).each |String $keyDico, Hash $valueDico| {
notify{"The value of dictionary is: ${keyDico}": }
我的木偶剧本包括:
hierarchy:
- name: "Per-env secrets"
paths:
- "puppet/hiera/dict-1.yaml"
- "puppet/hiera/dict-2.yaml"
lookup(dictionaries,Hash).each |String $keyDico, Hash $valueDico| {
notify{"The value of dictionary is: ${keyDico}": }
dict-1.yaml和dict-2.yaml中都有关键的“词典”。但是,它总是从第一个匹配的hiera文件读取并打印密钥。
我尝试将查找函数参数中的“Hash”更改为“Unique”或“Deep”。但它不起作用。
获取错误:
错误:评估错误:未找到资源类型:Deep
和错误:评估错误:未找到资源类型:Unique
有没有办法做到这一点
提前感谢。如果您查看用于指定合并行为()的文档,您会发现需要为
查找指定可选的第三个参数,并且您会收到该错误,因为“unique”被解释为数据类型
尝试以下任一方法:
lookup(dictionaries, Hash, 'unique')
或
根据你觉得更可读的