簡體   English   中英

使用lookup命令在puppet中的多個hiera文件中查找相同的鍵

[英]Lookup same keys in multiple hiera files in puppet using lookup command

我試圖讀取多個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文件中讀取並打印Key。
我嘗試將查找函數的參數中的'Hash'更改為'Unique'或'Deep'。 但它沒有用。

獲取錯誤: Error: Evaluation Error: Resource type not found: DeepError: Evaluation Error: Resource type not found: Unique
有沒有辦法實現這個目標?

提前致謝。

如果查看用於指定合並行為( ref )的文檔,您可以看到需要指定要lookup的可選第三個參數,並且您將獲得該錯誤,因為“unique”被解釋為數據類型。

嘗試:

lookup(dictionaries, Hash, 'unique')

要么

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

根據你發現的更具可讀性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM