Browse Source

Handle pillar params with child params. (#372)

master
Matthew Richardson 6 years ago
parent
commit
1a5027ef8c
2 changed files with 22 additions and 0 deletions
  1. +11
    -0
      salt/files/master.d/f_defaults.conf
  2. +11
    -0
      salt/files/minion.d/f_defaults.conf

+ 11
- 0
salt/files/master.d/f_defaults.conf View File

{%- elif pillar[key] is iterable and 'dict' not in pillar[key].__class__.__name__ %} {%- elif pillar[key] is iterable and 'dict' not in pillar[key].__class__.__name__ %}
- {{ key }}: - {{ key }}:
{%- for parameter in pillar[key] %} {%- for parameter in pillar[key] %}
{%- if parameter is iterable and parameter is not string %}
{%- for param, children in parameter.items() %}
- {{ param }}:
{%- for child in children %}
{%- for key, value in child.items() %}
- {{ key }}: {{ value }}
{%- endfor -%}
{%- endfor -%}
{%- endfor -%}
{%- else %}
- {{ parameter }} - {{ parameter }}
{%- endif %}
{%- endfor -%} {%- endfor -%}
{#- Workaround for missing `is mapping` on CentOS 6, see #193: #} {#- Workaround for missing `is mapping` on CentOS 6, see #193: #}
{%- elif 'dict' in pillar[key].__class__.__name__ and pillar[key] is not string %} {%- elif 'dict' in pillar[key].__class__.__name__ and pillar[key] is not string %}

+ 11
- 0
salt/files/minion.d/f_defaults.conf View File

{%- elif pillar[key] is iterable and 'dict' not in pillar[key].__class__.__name__ %} {%- elif pillar[key] is iterable and 'dict' not in pillar[key].__class__.__name__ %}
- {{ key }}: - {{ key }}:
{%- for parameter in pillar[key] %} {%- for parameter in pillar[key] %}
{%- if parameter is iterable and parameter is not string %}
{%- for param, children in parameter.items() %}
- {{ param }}:
{%- for child in children %}
{%- for key, value in child.items() %}
- {{ key }}: {{ value }}
{%- endfor -%}
{%- endfor -%}
{%- endfor -%}
{%- else %}
- {{ parameter }} - {{ parameter }}
{%- endif %}
{%- endfor -%} {%- endfor -%}
{#- Workaround for missing `is mapping` on CentOS 6, see #193: #} {#- Workaround for missing `is mapping` on CentOS 6, see #193: #}
{%- elif 'dict' in pillar[key].__class__.__name__ and pillar[key] is not string %} {%- elif 'dict' in pillar[key].__class__.__name__ and pillar[key] is not string %}

Loading…
Cancel
Save