[英]Accessing the module from within for_each(avoiding cycle)
我正在使用 for_each 循環創建模塊。 我想從模塊塊中訪問前一個模塊以獲取變量,但由於循環,它阻止了我這樣做。
locals{
deployment_plan = ["a", "b", "c"]
}
module "tier" {
source = "./modules/deployment"
for_each = { for tier,data in local.tier_config : tier => data }
tier_cfg = each.value
predecessors = [module.tier[local.deployment_plan[index(local.deployment_plan, each.key) - 1]].last_release_phase] : []
}
我在循環訪問模塊時為模塊分配前任時看到錯誤。 雖然我想訪問上一個模塊。
在創建module.tier
之前,您無法訪問它。 因此你得到錯誤。 在您的情況下,您必須為每個deployment_plan
創建 3 個模塊:
locals{
deployment_plan = ["a", "b", "c"]
}
module "tier_a" {
source = "./modules/deployment"
for_each = { for tier,data in local.tier_config : tier => data }
tier_cfg = each.value
predecessors = []
}
module "tier_b" {
source = "./modules/deployment"
for_each = { for tier,data in local.tier_config : tier => data }
tier_cfg = each.value
predecessors = [module.tier_a.last_release_phase]
}
module "tier_c" {
source = "./modules/deployment"
for_each = { for tier,data in local.tier_config : tier => data }
tier_cfg = each.value
predecessors = [module.tier_b.last_release_phase]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.