【问题标题】:Helm using ternary with condition checking if list is emptyHelm 使用三元和条件检查列表是否为空
【发布时间】:2022-08-16 00:33:45
【问题描述】:

我正在使用三元操作数将值设置为我的 helm 模板中的变量。我无法获得检查列表是否已定义的条件。

{{- $environment_names:= ternary $service.environments $.Values.default.environment_names $service.environments }}

在 <$service.environments> 处执行 \"root-app/templates/applications.yaml\":值的类型错误;预期的布尔值;得到接口{}

是否有可能将此地图转换为布尔值?我尝试了 boollength,它们不是 helm 中的函数。

    标签: kubernetes-helm


    【解决方案1】:

    似乎您可以在这里使用default 模板函数:如果定义了$service.environments,则使用它的值,但如果没有(如果它为零、nil、空字符串或其他“假”)使用默认值。

    {{- $environment_names := $service.environments | default $.Values.default.environment_names }}
    

    【讨论】:

      【解决方案2】:

      我想出了如何让它工作

      {{- $environment_names:= ternary $service.environments $.Values.default.environment_names (hasKey $service "environments") }} 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-07
        • 1970-01-01
        • 2017-09-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-08
        相关资源
        最近更新 更多