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
This commit is contained in:
Madhukar Nayakbomman 2018-01-26 14:11:13 -08:00
parent 7e630ad8ea
commit 468e0815ac

View File

@ -14,12 +14,29 @@ See the License for the specific language governing permissions and
limitations under the License. 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" -}} {{- define "helm-toolkit.utils.to_kv_list" -}}
{{- range $key, $value := . -}} {{- 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 }} {{- if regexMatch "^[0-9]+$" $value }}
{{ $key }} = {{ $value }} {{ $key }} = {{ $value }}
{{- else }} {{- else }}
{{ $key }} = {{ $value | quote }} {{ $key }} = {{ $value | quote }}
{{- end }} {{- end }}
{{- else }}
{{ $key }} = {{ $value }}
{{- end }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}