【问题标题】:Lookup same keys in multiple hiera files in puppet using lookup command使用查找命令在 puppet 中的多个 hiera 文件中查找相同的键
【发布时间】:2018-11-12 10:07:43
【问题描述】:

我正在尝试读取多个 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 dictionary is: ${keyDico}": }

dict-1.yaml 和 dict-2.yaml 中都存在关键的“字典”。但是,它总是从第一个匹配的 hiera 文件中读取并打印密钥。
我尝试将查找函数参数中的“哈希”更改为“唯一”或“深度”。但它没有用。

出现错误: Error: Evaluation Error: Resource type not found: DeepError: Evaluation Error: Resource type not found: Unique
有什么办法可以做到吗?

提前致谢。

【问题讨论】:

    标签: puppet


    【解决方案1】:

    如果您查看用于指定合并行为的文档 (ref),您会看到您需要为 lookup 指定可选的第三个参数,并且您会收到该错误,因为“唯一”被解释为数据类型。

    试试:

    lookup(dictionaries, Hash, 'unique')
    

    lookup(dictionaries, Hash, {'strategy' => 'unique'})
    

    根据您认为更具可读性的内容。

    【讨论】:

      猜你喜欢
      • 2023-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-26
      • 1970-01-01
      相关资源
      最近更新 更多