我得到了一个 terraform 资源输入,它需要一串字符串输入,例如“words = list(string)”。我在 variable.tf 中创建了一个列表变量
variable "mywords" {
type = list
default = ["simple","but","lovely"]
}
在 main.tf 上
resource "provider_resource" "example" {
words = var.mywords
}
我想在单词输入中单独运行列表中的每个字符串。如果我按所示运行它,它会将所有列表字符串内容放在单词输入中。
由于列表是集合,为了为每个集合项创建资源,您需要使用
count
或for_each
。根据您的用例,两者都可以工作。如果您决定使用count
,代码应如下所示:或者,如果您想使用
for_each
,则需要将变量重新创建为set(string)
或使用显式类型转换:如果您选择将变量重新声明为
set(string)
,则以下内容应该有效:最后但并非最不重要的一点是,您应该始终注意参数所期望的类型。在这种情况下,看起来
words
应该传递一个列表。如果是这种情况,上面的代码必须考虑到这一点,方法是使用方括号将单个值括起来:使用时
for_each
: