Saltstack遍历二级支柱数据

我可能会错过一些东西,或者这可能是错误的布局支柱数据的方式。

我想通过第二层次的支柱数据。

支柱例子:

repo: Option1: version1: display_name: "abcde" version2: display_name: "fghij" Option2: version1: display_name: "klmn"` 

SLS:

 {% for version, versioninfo in salt['pillar.get']('repo', {}).iteritems() %} {{ versioninfo[] }}{{ versioninfo[]['display_name'] }} {% endfor %}` 

我想要返回每个版本和显示名称,有效地忽略了第一级的支柱数据。 显然上面的忍者不行,但是有没有办法做到这一点?

你需要两个级别的迭代。 .iteritems()返回该键的键和值(项目)。 您的第一次迭代将使您可以访问选项名称和版本。 你的第二次迭代会给你显示名称。

 {% for option, versions in salt['pillar.get']('repo', {}).iteritems() %} {% for version, info in versions.iteritems() %} {{ version }}:{{ info['display_name'] }} {% endfor %} {% endfor %} 

或者你可以这样做:

 {% for option, versions in salt['pillar.get']('repo', {}).iteritems() %} {% for version in versions %} {{ version }}:{{ versions[version]['display_name'] }} {% endfor %} {% endfor %}