Terraform实例组分配逻辑问题:如何让不同实例绑定对应指定组
Terraform实例分组绑定错误修复方案
核心错误点
问题出在og.press资源的for_each构造逻辑:你使用flatten后的分组列表的数字索引作为资源key,后续在group动态块中用分组名称作为key引用og.press资源时无法正确匹配,最终导致分组绑定错位。
修复代码
仅需修改og.press资源的for_each配置,用分组名称作为资源key即可:
resource "og" "press" { // 将所有分组转为set,直接用分组名作为资源的唯一key for_each = toset(flatten(local.instances[*].groups)) name = each.value }
其余代码无需调整,修改后:
- 所有分组会以自身名称为key创建对应的
og.press资源 - 动态块中
og.press[group.value].id可以准确匹配到对应分组的ID - test1实例会绑定
app1/app2/app3,test2实例会绑定t1/t2/t3,符合预期。
内容的提问来源于stack exchange,提问作者Karikaaalan
相关产品推荐
相关产品推荐

