如何在Puppet中重用Hiera数组?

时间:2015-07-31 07:45:16

标签: arrays puppet hiera

目标

目标是重用hiera数组以避免代码重复。

尝试

在hiera.yaml文件中定义了以下数组:

hiera_array: 
  - host1
  - host2
  - host3

为了重用它,hiera_array设置为由另一个hiera数组使用:

reuse::hiera_array:
  - "%{hiera('hiera_array')}"

预期结果

如果调用hiera_arrayreuse::hiera_array,则文件之间不应存在差异:

filename.erb

<%= scope.function_hiera(['reuse::hiera_array']).join("\n") %>

/路径/到/文件名

host1
host2
host3

当前结果

然而,调用该数组的filename.erb模板返回:

/路径/到/文件名

-host1
-host2
-host3
+["host1, host2, host3"]

从模板中删除join表示查找的hiera数组看起来不同:

["[\"host1\", \"host2\", \"host3\"]"]["host1", "host2", "host3"]

讨论

看起来hiera_array可以重用,因为["host1, host2, host3"]被返回并且看起来像一个数组。但是hiera或erb函数<%= scope.function_hiera(['reuse::hiera_array']).join("\n") %>将其解释为字符串。

问题

如何在Puppet中重用Hiera数组?

0 个答案:

没有答案