You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform for_each迭代模块如何跨模块引用输出属性

问题根因

你为paired_regions_app模块配置了for_each迭代逻辑,所以module.paired_regions_app不是单个模块实例对象,而是以迭代key(也就是paired_regions变量里的region1/region2)为键的模块实例集合,无法直接调用.website_hostname属性。

解决方案

根据你的使用场景选择对应写法即可:

场景1:每个network实例对应同区域的app实例(最常用)

两个模块的for_each逻辑完全一致,迭代key一一对应,直接用当前network实例的each.key匹配对应app实例即可:

application_hostname = [module.paired_regions_app[each.key].website_hostname]

场景2:需要传入所有区域的app hostname

用values函数提取所有app实例的hostname输出:

application_hostname = values(module.paired_regions_app)[*].website_hostname

场景3:仅需要传入指定区域的app hostname

直接指定迭代key取值即可,比如只取region1的hostname:

application_hostname = [module.paired_regions_app["region1"].website_hostname]

内容的提问来源于stack exchange,提问作者ccoutinho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 10:54:04