web-dev-qa-db-ja.com

Helm yamlファイルでOR演算子を使用できますか

Helm yamlsでこのようなことができますか?

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

チェックを1回行うことができることを理解しています。しかし、複数の条件をどのように確認しますか? ORおよびANDに相当する演算子がありますか?

12
James Isaac

演算子に関するヘルムのドキュメント で示されているように:

テンプレートの場合、演算子(eqneltgtandorなど)はすべて関数として実装されます。パイプラインでは、操作を括弧((、および))。

それはあなたが使用できることを意味します

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

さらに、 if/else構造 に記載されているとおり:

値が次の場合、パイプラインはfalseと評価されます。

  • ブールfalse
  • 数値ゼロ
  • 空の文字列
  • nil(空またはヌル)
  • 空のコレクション(マップ、スライス、タプル、辞書、配列)

他のすべての条件下では、条件は真です。

プロパティ(isCarおよびisBus)がブール値の場合、等しいチェックをスキップできます。

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