# Macro to convert camelCase dictionary keys to snake_case keys {%- macro convert_keys(mydict) %} {% for key in mydict.keys() -%} {% set key_split = key.split('_') -%} {% set new_key = key_split[0] + key_split[1:]|map('capitalize')|join -%} {% set value = mydict.pop(key) -%} {{ mydict.__setitem__(new_key, value) -}} {{ convert_keys(value) if value is mapping else None -}} {% endfor -%} {% endmacro -%} --- apiVersion: v1 kind: ConfigMap metadata: name: local-volume-provisioner namespace: {{ local_volume_provisioner_namespace }} data: storageClassMap: | {% for class_name, storage_class in local_volume_provisioner_storage_classes.iteritems() %} {{ class_name }}: {{- convert_keys(storage_class) }} {{ storage_class | to_nice_yaml(indent=2) | indent(6) }} {%- endfor %}