openstack-helm/helm-toolkit/templates/utils/_to_kv_list.tpl
Madhukar Nayakbomman 468e0815ac to_kv_list util handles value with slice/list type
Previously to_kv_list assumes that all values happen to be string type. In this
commit we are taking care of values which are also type list/slice. In future
commits we will have to take care of values which are also of type dicts

Change-Id: Ie670c91d9880638d04cadf2acc32e7aa0400ca2c
2018-01-28 20:52:36 -08:00

43 lines
1.3 KiB
Smarty

{{/*
Copyright 2017 The Openstack-Helm Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/}}
# This function returns key value pair in the INI format (key = value)
# as needed by openstack config files
#
# Sample key value pair format:
# conf:
# libvirt:
# log_level: 3
# Usage:
# { include "helm-toolkit.utils.to_kv_list" .Values.conf.libvirt }
# returns: log_level = 3
{{- define "helm-toolkit.utils.to_kv_list" -}}
{{- range $key, $value := . -}}
{{- if kindIs "slice" $value }}
{{ $key }} = {{ include "helm-toolkit.utils.joinListWithComma" $value | quote }}
{{- else if kindIs "string" $value }}
{{- if regexMatch "^[0-9]+$" $value }}
{{ $key }} = {{ $value }}
{{- else }}
{{ $key }} = {{ $value | quote }}
{{- end }}
{{- else }}
{{ $key }} = {{ $value }}
{{- end }}
{{- end -}}
{{- end -}}