我正在使用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”。
有没有一种方法可以在调用script脚本时将层次结构名称作为参数传递?
其他信息:
我正在从jenkins运行一个shell脚本,该脚本会触发人偶脚本。
puppet apply --hiera_config=${WORKSPACE}/hiera.yaml ${WORKSPACE}/puppet-script.pp
谢谢!
答案 0 :(得分:1)
我想添加多个这样的层次结构:[...]
语法很好,但是它没有描述多个层次结构。它描述了一个多层层次结构(实际上是通常的情况)。具有多个级别才使其具有层次结构-这是Hiera与Puppet拥有的其他外部数据机制相比的显着特征。
并且一次只读取其中一个组的文件,可以说“ ABC”。
没有,没有发生。希拉不是那样的。
有没有一种方法可以在调用script脚本时将层次结构名称作为参数传递?
否,但是您可以指定另一个hiera.yaml
配置文件,如您已经演示的那样。如果要为不同的运行使用不同的层次结构,请在其自己的(完整)配置文件中定义每个层次结构,然后为每种用途选择合适的配置文件。