是否可以在 Hiera 或 Puppet 中使用类似连接的函数?

Is it possible to use a join-like function either in Hiera or Puppet?

我在 yaml 文件中得到了 IP 列表:

---
ips:
  1.1.1.1
  2.2.2.2
  3.3.3.3

此外,在另一个变量中使用(内插)IP

params:
  value: "%{hiera('ips')}"

到目前为止这有效。内容为1.1.1.1 2.2.2.2 3.3.3.3

在一个模块中,我需要用逗号连接每个 ip,因此它看起来像这样:

1.1.1.1,2.2.2.2,3.3.3.3

我尝试用 mapeach 来做到这一点,但我不太确定如何正确应用它。

如果您在 hiera 中的 ip 是 array,那么您可以使用 stdlib 中的 join 函数。例如:

---
ips:
  - 1.1.1.1
  - 2.2.2.2
  - 3.3.3.3

在您的清单中:

$joined = join(hiera('ips'), ",")    

希望这对您有所帮助