{% if pillar.designate.files is defined %}
{%- for file_full_path, file_mode in pillar.designate.files.iteritems() %}
{{ file_full_path }}_permissions:
  file.managed:
    - name: {{ file_full_path }}
    - mode: {{ file_mode.get('mode', '0640') }}
    - user: {{ file_mode.get('user', 'root') }}
    - group: {{ file_mode.get('group', 'designate') }}
    - replace: false
{%- endfor %}
{% endif %}

{% if pillar.designate.directories is defined %}
{%- for directory_path, directory_mode in pillar.designate.directories.iteritems() %}
{{ directory_path }}_permissions:
  file.directory:
    - name: {{ directory_path }}
    - mode: {{ directory_mode.get('mode', '0750') }}
    - user: {{ directory_mode.get('user', 'root') }}
    - group: {{ directory_mode.get('group', 'designate') }}
{%- endfor %}
{% endif %}
