【发布时间】:2021-12-08 19:21:32
【问题描述】:
我正在学习 terraform 并试图理解 terraform 中的 for_each 循环迭代。
我正在遍历一个循环以在 Azure 云中创建 RG,我想了解的是使用 .要么 [””]。 例如,下面是我的 tfvar 文件:
resource_groups = {
resource_group_1 = {
name = "terraform-apply-1"
location = "eastus2"
tags = {
created_by = "vivek89@test.com"
}
},
resource_group_2 = {
name = "terraform-apply-2"
location = "eastus2"
tags = {
created_by = "vivek89@test.com"
}
},
resource_group_3 = {
name = "terraform-apply-3"
location = "eastus2"
tags = {
created_by = "vivek89@test.com"
contact_dl = "vivek89@test.com"
}
}
}
以下是我的 terraform main.tf 文件:
resource "azurerm_resource_group" "terraformRG" {
for_each = var.resource_groups
name = each.value.name
location = each.value.location
tags = each.value.tags
}
我对 RG 创建块中 for_each 中的表达式感到困惑。以下代码均有效并创建了 RG:
name = each.value.name
name = each.value["name"]
我想了解两者的区别,哪个是正确的。
【问题讨论】:
-
我还注意到您的几乎所有问题都有答案,但只有一个被接受。接受好的答案不仅是一种好习惯,而且可以减少重复的次数并增加您的问题得到实际回答的机会。
-
当然马辛。谢谢。我会的。
标签: terraform