k8s-sig-cluster-lifecycleawskubesprayhigh-availabilityansiblekubernetes-clustergcekubernetesbare-metal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
822 B
24 lines
822 B
# Macro to convert camelCase dictionary keys to snake_case keys
|
|
{% macro convert_keys(mydict) -%}
|
|
{% for key in mydict.keys()|list -%}
|
|
{% 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.items() %}
|
|
{{ class_name }}:
|
|
{{- convert_keys(storage_class) }}
|
|
{{ storage_class | to_nice_yaml(indent=2) | indent(6) }}
|
|
{%- endfor %}
|