访问 Foreman 的 yaml 的第一个元素

Access to the first element of a Foreman's yaml

我试图从来自 Foreman 的 yaml 结构中获取一个元素,yaml 是这样的:

nodes:
   host1:
      ip: xxx.xxx.xxx
      cdir: bbb.bbb.bbb
      interface: aaa
   host2:
      ip: yyy.yyy.yyy
      cdir: bbb.bbb.bbb
      interface: aaa

这个 yaml 在工头上声明,并在模板中使用:

<%= @nodes[0][name] %> IPaddr2::<%= @nodes[0]['ip'] %>/<%= @nodes[0]['cidr'] %>/<%= @nodes[0]['interface'] -%>

它在清单上定义:

class heartbeat {
   template_resources => 'site/heartbeat/resources.erb'
}

在这种情况下,我只需要应用第一个元素。感谢您的快速回答。

干杯

我找到了答案,

<% key = @nodes.keys[0] -%>
<%= key %> IPaddr2::<%= @nodes[key]['ip'] %>/<%= @nodes[key]['cidr'] %>/<%= @nodes[key]['interface'] %>

干杯