Helm Notable Values: Difference between revisions
Jump to navigation
Jump to search
(6 intermediate revisions by the same user not shown) | |||
Line 23: | Line 23: | ||
{{ if empty .Values.myValue }} | {{ if empty .Values.myValue }} | ||
{{ if (eq 0 (int .Values.myValue)) }} | {{ if (eq 0 (int .Values.myValue)) }} | ||
</syntaxhighlight> | |||
<syntaxhighlight lang='yaml'> | |||
{{ printf "%T" .Values.myValue }} | |||
</syntaxhighlight> | |||
returns <code>float64</code> | |||
<syntaxhighlight lang='yaml'> | |||
{{ typeOf .Values.myValue }} | |||
</syntaxhighlight> | |||
returns <code>float64</code> | |||
==Distinguishing between Zero and Empty String== | |||
<syntaxhighlight lang='yaml'> | |||
{{- if kindIs "float64" .Values.myValue -}} | |||
{{- if .Values.myValue -}} | |||
{{- .Values.myValue -}} | |||
{{- else -}} | |||
0 | |||
{{- end -}} | |||
{{- end -}} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 37: | Line 57: | ||
{{ printf "%T" .Values.myValue }} | {{ printf "%T" .Values.myValue }} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
returns <code><nil></code> | returns <code><nil></code> | ||
<syntaxhighlight lang='yaml'> | <syntaxhighlight lang='yaml'> | ||
{{ typeOf .Values.myValue }} | {{ typeOf .Values.myValue }} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
returns <code><nil></code> | returns <code><nil></code> | ||
=Empty String= | =Empty String= | ||
=Missing YAML Path Elements= | |||
See: {{Internal|Helm_Template_If/Else#nil_pointer_evaluating_interface|if/else, nil pointer evaluating interface}} |
Latest revision as of 02:04, 9 February 2022
Internal
Numeric Zero
For a numeric zero declared as:
myValue: 0
the following expressions evaluate to false:
Evaluates to false:
{{ if .Values.myValue }}
the following expressions evaluate to true:
{{ if empty .Values.myValue }}
{{ if (eq 0 (int .Values.myValue)) }}
{{ printf "%T" .Values.myValue }}
returns float64
{{ typeOf .Values.myValue }}
returns float64
Distinguishing between Zero and Empty String
{{- if kindIs "float64" .Values.myValue -}}
{{- if .Values.myValue -}}
{{- .Values.myValue -}}
{{- else -}}
0
{{- end -}}
{{- end -}}
Boolean True
Boolean False
Empty Value (nil)
myValue:
{{ printf "%T" .Values.myValue }}
returns <nil>
{{ typeOf .Values.myValue }}
returns <nil>
Empty String
Missing YAML Path Elements
See: