|
- {% 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 'load_module' in config.keys() %}
- {{ nginx_block(config.pop('load_module'), 'load_module') }}
- {%- endif -%}
-
- {% if 'include' in config.keys() %}
- {{ nginx_block(config.pop('include'), 'include') }}
- {%- endif -%}
-
- {% for key, value in config.items() %}
- {{ nginx_block(value, key) }}
- {%- endfor -%}
|