簡體   English   中英

我可以根據p中hiera.yaml文件中的名稱選擇層次結構嗎?

[英]Can I select hierarchy based on it's name in hiera.yaml file in puppet?

我正在使用hiera5,我想根據其名稱從其中一個組中讀取層次結構。 例如,目前我有:

version: 5
defaults:
  datadir: "/"
  data_hash: yaml_data
hierarchy:
  - name: "ABC"
    paths:
      - "env/env-data1.yaml"
      - "env/env-data2.yaml"
      - "env/env-data3.yaml"

我想添加多個層次結構,如下所示:

hierarchy:
  - name: "ABC"
    paths:
      - "env/env-data1.yaml"
      - "env/env-data2.yaml"
      - "env/env-data3.yaml"
  - name: "DEF"
    paths:
      - "env/env-data4.yaml"
      - "env/env-data5.yaml"
      - "env/env-data6.yaml"
  - name: "GHI"
    paths:
      - "env/env-data7.yaml"
      - "env/env-data8.yaml"
      - "env/env-data9.yaml"

一次只讀取其中一組的文件,可以說是“ ABC”。

有沒有一種方法可以在調用p腳本時將層次結構名稱作為參數傳遞?

附加信息:
我正在從jenkins運行shell腳本,該腳本會觸發人偶腳本。

puppet apply --hiera_config=${WORKSPACE}/hiera.yaml ${WORKSPACE}/puppet-script.pp

提前致謝!

我想添加多個這樣的層次結構:[...]

語法很好,但是它沒有描述多個層次結構。 它描述了一個多層次的層次結構(實際上是通常的情況)。 具有多個級別才使其具有層次結構-這是Hiera與Puppet擁有的其他外部數據機制相比的顯着特征。

一次只讀取其中一組的文件,可以說是“ ABC”。

不,沒有發生。 希拉不是那樣的。

有沒有一種方法可以在調用p腳本時將層次結構名稱作為參數傳遞?

不,但是您可以指定其他hiera.yaml配置文件,如您已經演示的那樣。 如果要為不同的運行使用不同的層次結構,請在其自己的(完整)配置文件中定義每個層次結構,然后為每種用途選擇合適的配置文件。

暫無
暫無

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

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