当我从 TF 代码中为 helm_release 资源设置数组值时,如下所示:
set {
name = "ObjectIds"
value = "{${join(",", local.rbac_config.group_oid_list)}}"
}
Run Code Online (Sandbox Code Playgroud)
我的 TF 计划显示正在传递的值,如下所示:
+ set {
+ name = "ObjectIds"
+ value = "{"Id1-xxxxxxxxxxx,Id2-yyyyyyyyyyyyyyyyyyy,Id3-zzzzzzzzzzzzzzzz"}"
}
Run Code Online (Sandbox Code Playgroud)
为什么我需要这样的格式?
当使用 手动从命令行安装 helm 图表时helm install
,如果我指定,它会抛出错误--set ObjectIds={Id1-xxxxxxxx,Id2-yyyyyyyy,Id3-zzzzzz}
头盔错误:Error: This command needs 2 arguments: release name, chart path
修复:当我指定 时它工作得很好--set ObjectIds={"Id1-xxxxxxxx,Id2-yyyyyyyy,Id3-zzzzzz"}
。所以我希望 Terraform 代码将值解析为value = "{"Id1-xxxxxxxx,Id2-yyyyyyyy,Id3-zzzzzz"}"
而不是value = "{Id1-xxxxxxxx,Id2-yyyyyyyy,Id3-zzzzzz}"
我尝试过的事情:
1. 不起作用:
set {
name = "ObjectIds"
value = "{\"${join(",", local.rbac_config.group_oid_list)}\"}"
} …
Run Code Online (Sandbox Code Playgroud)