我有一个main.tf
自定义TF模块,该模块将部署另一个自定义模块的列表。我可以通过将单个值传递给main.tf
来部署单个区域,但是当我尝试传递多个区域并在main.tf
的自定义模块中循环时尝试多区域。它不起作用。
main.tf
locals {
regions = ["asia-east2", "asia-southeast1"]
}
module "main" {
source = "./modules/main"
for_each = local.regions
region = each.value
}
错误:
名称“ for_each”保留供将来的Terraform版本使用。`
注释
我知道Terraform 0.12不支持此功能。有没有一种方法可以遍历多区域而不会传递到子模块的资源级别?
答案 0 :(得分:0)
我知道 Terraform 0.12 不支持此功能。有没有办法遍历多区域而不传递到子模块的资源级别?
没有。无法循环遍历 local.regions
并将它们传递到 Terraform 0.12 中的模块中,因为模块的 count
和 for_each
是在 Terraform 0.13 中添加的。
您唯一的选择是多次引用。
locals {
regions = ["asia-east2", "asia-southeast1"]
}
module "main_0" {
source = "./modules/main"
region = local.regions[0]
}
module "main_1" {
source = "./modules/main"
region = local.regions[1]
}