Saltstack 迭代第二级支柱数据

Saltstack 迭代第二级支柱数据

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

我想遍历第二级支柱数据。

支柱示例:

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

注释:

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

我想返回每个版本和显示名称,有效地忽略第一级支柱数据。显然上面的 jinja 不起作用,但是有办法做到这一点吗?

答案1

您需要两级迭代。.iteritems()返回该键的键和值(项)。第一次迭代将使您能够访问选项名称和版本。第二次迭代将为您提供 display_name。

{% 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 %}

相关内容