我正在使用带有 YAML 后端的 hiera 来管理我的 Puppet 配置,我想将一些值附加到数组中。
我有一个配置文件,看起来有点像这样:
---
some_config:
- one
- two
- three
some_more_config:
- one
- two
- three
- four
哪里
some_more_config
总是 some_config
的超集.我想改进此文件以删除重复项,但我还没有弄清楚是否可行或语法是什么:
---
some_config:
- one
- two
- three
some_more_config:
- "%{::some_config}"
- four
用文字而不是代码,
some_more_config
是some_config
的全部内容加上一个附加值。
最佳答案
我认为您不能在 Hiera 中做到这一点,因为它只能插入基于字符串的信息(数字转换为字符串),而不能插入数组或散列。
来自 Hiera 3: Interpolation Tokens, Variables, and Lookup Functions :
Hiera can interpolate values of any of Puppet’s data types, but the value will be converted to a string.
不过,您仍然可以通过 Puppet DSL 执行此操作。这里有几个选项:
hiera_array()
将它们合并在一起。方法。考虑到您的层次结构是如何设置的,某些主机可以获得较小的列表,而某些主机可以获得较大的列表。 关于arrays - 我可以将 hiera 与 YAML 后端一起使用来组合数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30823309/