如何在puppet ERB模板中处理yaml数组?

时间:2016-06-14 22:16:19

标签: yaml puppet erb hiera

我有一些看起来像这样的hiera数据:

netapp_nfs_shares:
  - 10.199.1.34:/os_cloud
  - 127.0.0.2:/example

这将作为参数传递给我的类,并在erb模板文件中使用,如下所示:

# This file was generated from nfs-shares.conf.erb by puppet
<% Array(@netapp_nfs_shares).each do |line| -%>
<%= line %>
<% end -%>

但是当我的木偶代理运行时,我得到一个看起来像这样的文件:

# This file was generated from nfs-shares.conf.erb by puppet
["10.199.1.34:/os_cloud", "127.0.0.2:/example"]

我希望我能得到一个看起来像这样的文件:

# This file was generated from nfs-shares.conf.erb by puppet
10.199.1.34:/os_cloud
127.0.0.2:/example

我怀疑我写的模板有问题。我做错了什么?

1 个答案:

答案 0 :(得分:2)

这样的事情应该这样做:

<% @netapp_nfs_shares.each do |line| -%>
<%= line %>
<% end -%>

我怀疑使用Array()将数组包装在另一个数组中。