postgres-formula/postgres/macros.jinja
2020-07-27 11:14:24 +11:00

34 lines
912 B
Django/Jinja

{%- from "postgres/map.jinja" import postgres with context -%}
{%- macro format_kwargs(kwarg) -%}
{%- filter indent(4) %}
{%- for k, v in kwarg|dictsort() %}
- {{ k }}: {{ v|yaml_dquote if v is string else v }}
{%- endfor %}
{%- endfilter %}
{%- endmacro %}
{%- macro format_state(name, state, kwarg) %}
{%- if 'name' not in kwarg %}
{%- do kwarg.update({'name': name}) %}
{%- endif %}
{%- if 'ensure' in kwarg %}
{%- set ensure = kwarg.pop('ensure') %}
{%- endif %}
{%- set user_available = not (state == 'postgres_schema' and grains.saltversioninfo < [2018, 3]) %}
{%- if 'user' not in kwarg and user_available %}
{%- do kwarg.update({'user': postgres.user}) %}
{%- endif -%}
{{ state }}-{{ name }}:
{{ state }}.{{ ensure|default('present') }}:
{{- format_kwargs(kwarg) }}
- onchanges:
- test: postgres-reload-modules
{%- endmacro %}
# vim: ft=sls