【发布时间】:2021-11-30 03:57:32
【问题描述】:
我有一个集合对象的地形图,如下所示
variable "BName" {
type = string
}
variable "type_names" {
type = map(object({
name = string
type = string
stream = string
grp = optional(string)
}))
}
我也在尝试在以下资源中使用 type_name。 我们如何在资源创建过程中从集合映射中引用值
resource "azure_resource" "reso" {
id = az_resource.B_Name.id
name = var.type_names.name
}
resource "az_resource" "B_Name" {
name = var.BName
}
如何在 terraform.tfvars 文件中传递此值以创建以下资源。现在我正在尝试通过以下方式
BName = "Test"
type_names = {
name = "cooper"
type = "senior"
stream= "developer"
grp = "Mid"
}
{
name = "Mike"
type = "Junior"
stream= "tester"
grp = "entry"
}
【问题讨论】:
-
能否请您更新您的示例变量值?它们的类型是
object,而不是map(set(object))。此外,如果您可以改用set(object)或map(object),那两者都会更容易。 -
@MattSchuchard 我已经更新了变量。你能帮忙吗
-
如果你有
map(object),那么你可以正常使用for_each元参数:terraform.io/docs/language/meta-arguments/for_each.html。这不适合你吗? -
但是我如何在 terraform.tfvars 中给出值。想知道我给出的格式是否正确
-
好的,我现在看到
map的文档示例是错误的。我想在这一点上我可以写一个答案。
标签: amazon-web-services azure terraform