{% set ind_increment = 4 %} {%- macro vhost_config(values, key='', ind=0, lb='\n', delim=';', operator=' ') -%} {%- for value in values -%} {%- if value is number or value is string -%} {{ lb }}{{ key|indent(ind, True) }}{{ operator }}{{ value }}{{ delim }} {%- elif value is mapping -%} {%- for k, v in value.items() -%} {%- if v is number or v is string -%} {{ vhost_config([v], k, ind) }} {%- elif v|length() > 0 and (v[0] is number or v[0] is string) -%} {{ lb }}{{ k|indent(ind,True) }}{{ vhost_config(v,'', 0, '', '')}}{{ delim }} {%- else %} {{ lb }}{{ k|indent(ind, True) }} {{ '{' }} {{- vhost_config(v, '', ind + ind_increment) }} {{ '}'|indent(ind, True) }} {%- endif -%} {%- endfor -%} {%- elif value is iterable -%} {{ vhost_config(value, ind + ind_increment, delim, operator) }} {%- endif -%} {%- endfor -%} {%- endmacro -%} # Nginx vhost configuration # # **** DO NOT EDIT THIS FILE **** # # This file is managed by Salt. {{ vhost_config(config) }}