Templates 在头盔模板中,语法“default(dict).Values.outer.inner”是什么意思?

Templates 在头盔模板中,语法“default(dict).Values.outer.inner”是什么意思?,templates,kubernetes-helm,sprig-template-functions,Templates,Kubernetes Helm,Sprig Template Functions,给定值.yaml: helm模板文件中的以下语法是什么意思 {{- if index (default (dict) .Values.outer.inner) "someKey" }} {{- .... }} {{- end }} 从上下文中,我可以推断出它应该做什么:检查指定的键是否存在于指定的位置 但是默认命令在哪里。。。语法来自哪里?小枝我在以下任何地方都找不到记录: 它实际上意味着什么?如果外部值:{…}不包含内部键,则此特定代码可避免失败 dict是创建新词典的工具。可以

给定值.yaml:

helm模板文件中的以下语法是什么意思

  {{- if index (default (dict) .Values.outer.inner) "someKey" }}
  {{- .... }}
  {{- end }}
从上下文中,我可以推断出它应该做什么:检查指定的键是否存在于指定的位置

但是默认命令在哪里。。。语法来自哪里?小枝我在以下任何地方都找不到记录:


它实际上意味着什么?

如果外部值:{…}不包含内部键,则此特定代码可避免失败

dict是创建新词典的工具。可以使用任意偶数个参数调用它;不带参数的dict创建一个空字典

默认x y与y |默认x相同,并调用

重要的是,它试图防止if.Values.outer中没有内部键。如果发生这种情况,.Values.outer.inner将为零,.Values.outer.inner.someKey将产生错误;默认dict块用空字典替换nil,空字典可与索引和类似模板代码一起使用

我经常一次编写一层类似的模板块:

{{- $outer := .Values.outer | default dict -}}
{{- $inner := $outer.inner | default dict -}}
{{- if $inner.someKey }}
...
{{- end }}

如果值outer:{…}中不包含内键,则此特定代码可避免失败

dict是创建新词典的工具。可以使用任意偶数个参数调用它;不带参数的dict创建一个空字典

默认x y与y |默认x相同,并调用

重要的是,它试图防止if.Values.outer中没有内部键。如果发生这种情况,.Values.outer.inner将为零,.Values.outer.inner.someKey将产生错误;默认dict块用空字典替换nil,空字典可与索引和类似模板代码一起使用

我经常一次编写一层类似的模板块:

{{- $outer := .Values.outer | default dict -}}
{{- $inner := $outer.inner | default dict -}}
{{- if $inner.someKey }}
...
{{- end }}