【发布时间】:2021-06-01 20:15:18
【问题描述】:
我需要检查变量中是否存在值,并根据该值创建资源。
如果value_list 没有这些values('abc','def','ghi') 它不应该创建资源。
我在这里尝试的是:
- 将字符串变量转换为列表
- 检查列表的值是否为“abc”或“def”或“ghi”。如果
value_list包含任何值,则继续执行后续步骤以创建资源。 - 如果
value_list没有这些values('abc','def','ghi'),则不应创建资源。
variables.tf
variable "value_list" {
default = "abc,def,ghi"
type= string
}
resource.tf
resource "azurerm_kubernetes_cluster_node_pool" "user" {
value_list = ${split(",", var.value_list)}
count = "${contains(value_list,"abc") ? 1 : 0 || contains(value_list,"def") ? 1 : 0 || contains(value_list,"ghi") ? 1 : 0
}
错误:
该字符未在该语言中使用。 应为表达式的开头,但发现无效的表达式标记。
如何检查 value_list 是否具有所需的值?
【问题讨论】:
-
能否调整问题中的代码以形成minimal reproducible example?现在你有一些位使得它无法运行,很难知道这是否导致了你的错误或错误在哪里。
标签: terraform contains azure-resource-manager terraform-provider-azure azure-rm