如何在 puppet ERB 模板中处理 yaml 数组?
How do I process an yaml array in puppet ERB template?
我有一些像这样的 hiera 数据:
netapp_nfs_shares:
- 10.199.1.34:/os_cloud
- 127.0.0.2:/example
这作为参数传递给我的 class 并在如下所示的 erb 模板文件中使用:
# This file was generated from nfs-shares.conf.erb by puppet
<% Array(@netapp_nfs_shares).each do |line| -%>
<%= line %>
<% end -%>
但是当我运行 Puppet 代理时,我得到一个如下所示的文件:
# 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
我怀疑是我写的模板有问题。我做错了什么?
应该这样做:
<% @netapp_nfs_shares.each do |line| -%>
<%= line %>
<% end -%>
我怀疑通过使用 Array(),您将数组包装在另一个数组中。
我有一些像这样的 hiera 数据:
netapp_nfs_shares:
- 10.199.1.34:/os_cloud
- 127.0.0.2:/example
这作为参数传递给我的 class 并在如下所示的 erb 模板文件中使用:
# This file was generated from nfs-shares.conf.erb by puppet
<% Array(@netapp_nfs_shares).each do |line| -%>
<%= line %>
<% end -%>
但是当我运行 Puppet 代理时,我得到一个如下所示的文件:
# 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
我怀疑是我写的模板有问题。我做错了什么?
应该这样做:
<% @netapp_nfs_shares.each do |line| -%>
<%= line %>
<% end -%>
我怀疑通过使用 Array(),您将数组包装在另一个数组中。