- # -*- coding: utf-8 -*-
- # vim: ft=jinja
- {# Returns a generic block of values suitable for inclusion in most states #}
- {% macro sls_block(dict, ind=4) %}
- {% for key, value in dict.items() %}
- {{ '-'|indent(ind, True) }} {{ key }}: {{ value|json() }}
- {% endfor %}
- {% endmacro %}
-
- {# Serializes dicts into sequenced data #}
- {%- macro serialize(data) -%}
- {%- if data is mapping -%}
- {%- set ret = [] -%}
- {%- for key, value in data.items() -%}
- {%- set value = serialize(value)|load_json() -%}
- {%- do ret.append({key: value}) -%}
- {%- endfor -%}
- {%- elif data is iterable and data is not string -%}
- {%- set ret = [] -%}
- {%- for value in data -%}
- {%- set value = serialize(value)|load_json() -%}
- {%- do ret.append(value) -%}
- {%- endfor -%}
- {%- else -%}
- {% set ret = data %}
- {%- endif -%}
-
- {{ ret|json() }}
- {%- endmacro -%}
|