Puis-je faire quelque chose comme ça dans Helm yamls:
{{- if eq .Values.isCar true }} OR {{- if eq .Values.isBus true }}
# do something
{{- end }}
Je comprends que nous pouvons faire un seul si vérifier. Mais comment pourrais-je vérifier plusieurs conditions? Y a-t-il des opérateurs équivalents à OR et AND?
Comme indiqué dans la documentation Helm sur les opérateurs :
Pour les modèles, les opérateurs (
eq
,ne
,lt
,gt
,and
,or
et ainsi de suite ) sont tous implémentés en tant que fonctions. Dans les pipelines, les opérations peuvent être regroupées entre parenthèses ((
, et)
).
Cela signifie que vous pouvez utiliser
{{- if or (eq .Values.isCar true) (eq .Values.isBus true) }}
De plus, comme indiqué dans la structure if/else :
Un pipeline est évalué comme faux si la valeur est:
- un faux booléen
- un zéro numérique
- une chaîne vide
- un nul (vide ou nul)
- une collection vide (map, slice, Tuple, dict, array)
Dans toutes les autres conditions, la condition est vraie.
Si vos propriétés (isCar
et isBus
) sont des booléens, vous pouvez alors ignorer la vérification égale:
{{- if or .Values.isCar .Values.isBus }}