我想使用 AND 运算符检查多个条件并生成布尔值作为值,而无需使用 if 语句。
# template.yaml
- name: VARIABLE_NAME
value: {{ and (.Values.boolValue) (.Values.stringValue) }}
# values.yaml
boolValue: true
stringValue: "value"
上面的示例生成以下模板。
- name: VARIABLE_NAME
value: "value"
是否可以将返回值转换为布尔值,以便结果如下?
- name:
value: true
逻辑运算符不会将非布尔值转换为布尔值。如果没有 if 语句,非布尔值将传递到结果。具体来说,可以使用 empty 函数将字符串转换为布尔值,该函数将检查
null
和空字符串。
# template.yaml
- name: VARIABLE_NAME
value: {{ and (.Values.boolValue) (not (.Values.stringValue | empty)) }}