gpt4 book ai didi

kubernetes - Helm Chart模板错误地评估了表达式

转载 作者:行者123 更新时间:2023-12-02 11:41:10 25 4
gpt4 key购买 nike

我正在基于某些标志的值在configmap中设置一些属性。为此,我在configmap.yaml中使用“if / else”条件。但是,如果“if”块中只有一个表达式,但对于多个表达式中包含“or”和“and”的表达式,则这些“if”条件工作正常。

configmap.yaml:

{{- else if (eq .Values.A "oracle") and (eq .Values.B "true") or (eq .Values.A "postgresql") }}

上面的条件被评估为false,但是由于最后一个条件为true,因此应将其评估为true。
MYPROP1 = {{ (eq .Values.A"oracle") and (eq .Values.B "true") or (eq .Values.databaseType "postgresql") }} ==>printing false
MYPROP2 = {{ (eq .Values.A"oracle") and (eq .Values.B "true") }} ==>printing false
MYPROP3 = {{ (eq .Values.A"postgresql") }} ===> printing true

最佳答案

该表达式从左到右求值,并且一旦and运算符被评估为false就会退出。 or表达式将永远不会被求值。

使用括号时,可以实现预期的行为:

((eq .Values.A "oracle") and (eq .Values.B "true")) or (eq .Values.A "postgresql")

关于kubernetes - Helm Chart模板错误地评估了表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48787251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com