我们可以在Helm yaml文件中使用OR运算符吗?

时间:2018-04-12 06:52:58

标签: kubernetes-helm

我可以在Helm yamls中做这样的事情:

{{- if eq .Values.isCar true }} OR {{- if eq .Values.isBus true }}
# do something
{{- end }}

我知道如果检查我们可以做一个。但是我如何检查多种情况?是否有一些运算符等效于OR和AND?

1 个答案:

答案 0 :(得分:24)

Helm documentation on operators

所示
  

对于模板,运算符(eqneltgtandor等等都是作为功​​能实现。在管道中,可以使用括号(())对操作进行分组。

这意味着您可以使用

{{- if or (eq .Values.isCar true) (eq .Values.isBus true) }}

此外,正如if/else structure

中所述
  

如果值为:

,则管道被评估为false      
      
  • 布尔值假
  •   
  • 数字零
  •   
  • 一个空字符串
  •   
  • 一个零(空或空)
  •   
  • 一个空集合(map,slice,tuple,dict,array)
  •   
     

在所有其他条件下,条件为真。

如果您的属性(isCarisBus)是布尔值,则可以跳过同等检查:

{{- if or .Values.isCar .Values.isBus }}