用2维数组填充模板的木偶迭代

时间:2014-12-01 05:26:23

标签: puppet

我想将ip地址,端口值存储在二维数组中。

192.168.1.156, 4100
192.168.1.157, 4000

使用已定义的数组,我想填写以下模板结构。

<members>
   <%- if @members -%>
   <%- @members.each_pair do |hostname,port| -%>
      <member>
           <hostName><%= hostname %></hostName>
           <port><%= port %></port>
      </member>
   <%- end -%>
   <%- end -%>
</members>

如何在setup.pp或init.pp文件中构建二维数组?

1 个答案:

答案 0 :(得分:1)

以哈希形式声明数据对您来说是最有意义的。在Hiera中,您可以使用YAML

members:
  192.168.1.156: 4100
  192.168.1.157: 4000

或JSON

{ members: { '192.168.1.156': '4100', '192.168.1.157': '4000' } }

如果您不想使用Hiera,您可以在清单中声明数据。

$members = { '192.168.1.156' => '4100',
             '192.168.1.157' => '4000' }