传递一个数组与facter

时间:2014-04-09 10:17:37

标签: puppet facter

让我们说我有一系列值

["node1.example.org", "node2.example.org"]

我想用facter传递它,并在这样的木偶中使用它:

host {
  $nodes:
     ...
}

我该怎么做?

1 个答案:

答案 0 :(得分:4)

Facter 1.x无法将结构化数据作为事实值传递。所有事实都将被强制转换为String格式。对于数组而言,这尤其令人遗憾,因为它们的元素将在没有连接标记的情况下连接在一起。

建议您将事实返回[逗号]分隔列表,例如而不是返回Array result,执行

result * ","

在你的清单中,将其转回数组

$nodes_array = split($nodes, ',')
host { $nodes_array: }

请参阅Puppet function reference和Ruby的Array methods

Facter 2确实支持布尔,哈希和数组事实,但这可能还不是很容易获得。