diff --git a/templates/config.j2 b/templates/config.j2 index 16c9dc6..144bee7 100644 --- a/templates/config.j2 +++ b/templates/config.j2 @@ -1,31 +1,30 @@ +{# If value is a list, expand it by printing several (key, value) pairs. #} +{# Otherwise, just print the (key, value) pair unchanged. #} +{% macro expand_list(key, value) -%} +{% if value is string or value is number %} + {{ key }}: "{{ value }}" +{% else %} +{% for subvalue in value %} + {{ key }}: "{{ subvalue }}" +{% endfor %} +{% endif %} +{%- endmacro %} # NSD configuration, automatically generated by Ansible. # Do not edit by hand! server: {% if nsd_common_config is defined %} # Common configuration -{% for key, value in nsd_common_config.iteritems() %} -{% if value is string or value is number %} - {{ key }}: "{{ value }}" -{% else %} -{% for subvalue in value %} - {{ key }}: "{{ subvalue }}" -{% endfor %} -{% endif %} -{% endfor %} +{% for key, value in nsd_common_config.iteritems() -%} +{{ expand_list(key, value) }} +{%- endfor %} {% endif %} {% if nsd_local_config is defined %} # Local configuration -{% for key, value in nsd_local_config.iteritems() %} -{% if value is string or value is number %} - {{ key }}: "{{ value }}" -{% else %} -{% for subvalue in value %} - {{ key }}: "{{ subvalue }}" -{% endfor %} -{% endif %} -{% endfor %} +{% for key, value in nsd_local_config.iteritems() -%} +{{ expand_list(key, value) }} +{%- endfor %} {% endif %}