{% set indent_increment = 4 %} {%- macro nginx_block(value, key=None, operator=' ', delim=';', ind=0) -%} {%- if value != None -%} {%- if value is number or value is string -%} {{ key|indent(ind, True) }}{{ operator }}{{ value }}{{ delim }} {%- elif value is mapping -%} {{ key|indent(ind, True) }}{{ operator }}{{ '{' }} {%- for k, v in value.items() %} {%- if k != 'include' %} {{ nginx_block(v, k, operator, delim, (ind + indent_increment)) }} {%- endif %} {%- endfor %} {%- if 'include' in value.keys() %} {{ nginx_block(value['include'], 'include', operator, delim, (ind + indent_increment)) }} {%- endif %} {{ '}'|indent(ind, True) }} {%- elif value is iterable -%} {%- for v in value %} {{ nginx_block(v, key, operator, delim, ind) }} {%- endfor -%} {%- else -%} {{ key|indent(ind, True) }}{{ operator }}{{ value }}{{ delim }} {%- endif -%} {%- else -%} {%- endif -%} {%- endmacro -%} # Default nginx server configuration # # **** DO NOT EDIT THIS FILE **** # # This file is managed by Salt. {% if 'include' in config.keys() %} {{ nginx_block(config.pop('include'), 'include') }} {%- endif -%} {% for key, value in config.items() %} {{ nginx_block(value, key) }} {%- endfor -%}