使用Terraform的helm_release,如何设置数组或列表值?

问题描述 投票:0回答:2

例如,根据 Drupalhelm 图表文档,

accessModes
的默认值是
["ReadWriteOnce"]
,在 YAML 中转换为以下内容:

...
accessModes
- ReadWriteOnce

使用 Terraform helm_release 资源时,以下内容不起作用,并且 yaml 文件始终显示上面的默认值:

  set {
    name  = "persistence.accessModes"
    value = "ReadWriteMany"
  }
  set {
    name  = "persistence.accessModes"
    value = "[\"ReadWriteMany\"]"
  }
  set {
    name  = "persistence.accessModes"
    value = "- ReadWriteMany"
  }
terraform kubernetes-helm terraform-provider-azure
2个回答
10
投票

您可以按照与 helm CLI --set 标志相同的方式设置它。例如,使用索引符号。

从 Helm 2.5.0 开始,可以使用数组索引语法访问列表项。例如,--setservers[0].port=80

set {
  name  = "persistence.accessModes[0]"
  value = "ReadWriteMany"
}

替代语法是使用花括号。您可以在其中添加列表项,并在大括号之间用逗号分隔。

列表可以通过将值括在 { 和 } 中来表达。例如,--set name={a, b, c}

set {
  name  = "persistence.accessModes"
  value = "{ReadWriteMany}"
}

0
投票

您可以使用set_list

例如:

set_list {
  name  = "persistence.accessModes"
  value = ["ReadWriteMany"]
}
© www.soinside.com 2019 - 2024. All rights reserved.