为了账号安全,请及时绑定邮箱和手机立即绑定

Helm sprig 模板管道和/或否定

Helm sprig 模板管道和/或否定

Go
千万里不及你 2022-06-21 16:49:48
我正在尝试使用以下代码在 helm 中创建我的配置映射: api: "{{ .Values.global.api }}", demo: {{ .Values.global.api | contains "demo" }}, other: ....,other如果 Values.global.api 不包含“demo”和“prod”,我想设置为 true。就像是other: {{ .Values.global.api | NOT (contains "demo" AND contains "prod") }},
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

在 Gotext/template语言中,管道和函数调用是等价的,您可以在任一方向上自由替换


{{ x | f a b }}

{{ f a b (x) }}

您不能像您在这里建议的那样在多个函数之间分配参数;您需要重复它(或将其放入局部变量中)。查看Sprig函数的目录,我不确定是否有任何特定的函数可以满足您的需求,从而使这变得更简单。你必须把它拼出来:


demo: {{ not (and (contains "demo" .Values.global.api) (contains "prod" .Values.global.api)) }}

正如我在括号中建议的那样,您可以使用局部变量来缩短一点:


{{- $api := .Values.global.api }}

api: {{ quote $api }}

demo: {{ not (and (contains "demo" $api) (contains "prod" $api)) }}


查看完整回答
反对 回复 2022-06-21
  • 1 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号