include: - openssh {%- from "openssh/map.jinja" import openssh with context -%} {%- set openssh_pillar = pillar.get('openssh', {}) -%} {%- set auth = openssh_pillar.get('auth', {}) -%} {%- for user,keys in auth.items() -%} {%- for key in keys -%} {% if 'present' in key and key['present'] %} {{ key['name'] }}: ssh_auth.present: - user: {{ user }} {%- if 'source' in key %} - source: {{ key['source'] }} {%- else %} {%- if 'enc' in key %} - enc: {{ key['enc'] }} {%- endif -%} {%- if 'comment' in key %} - comment: {{ key['comment'] }} {%- endif -%} {%- if 'options' in key %} - options: {{ key['options'] }} {%- endif -%} {%- endif %} - require: - service: {{ openssh.service }} {%- else %} {{ key['name'] }}: ssh_auth.absent: - user: {{ user }} {%- if 'enc' in key %} - enc: {{ key['enc'] }} {%- endif -%} {%- if 'comment' in key %} - comment: {{ key['comment'] }} {%- endif -%} {%- if 'options' in key %} - options: {{ key['options'] }} {%- endif -%} {%- endif -%} {%- endfor -%} {%- endfor -%}