Helm Notable Values: Difference between revisions
Jump to navigation
Jump to search
(8 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
* [[Helm_Template_If/Else#Numeric_Zero|If/Else]] | * [[Helm_Template_If/Else#Numeric_Zero|If/Else]] | ||
* [[Helm_Template_Function_empty#Numeric_Zero|empty()]] | * [[Helm_Template_Function_empty#Numeric_Zero|empty()]] | ||
* [[Helm_Templates#Helm_Template_Function_Reference|Functions]] | |||
=Numeric Zero= | =Numeric Zero= | ||
Line 22: | 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 36: | Line 57: | ||
{{ printf "%T" .Values.myValue }} | {{ printf "%T" .Values.myValue }} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
returns | returns <code><nil></code> | ||
<syntaxhighlight lang='yaml'> | |||
{{ typeOf .Values.myValue }} | |||
</syntaxhighlight> | |||
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: