You need to enable JavaScript to run this app. 如何在Terraform中引用另一个tf文件内定义的数据源或模块
优惠活动
大模型
产品
解决方案
定价
更多

如何在Terraform中引用另一个tf文件内定义的数据源或模块

Terraform 跨文件引用数据源问题解答

Terraform 完全支持同工作目录下不同 .tf 文件之间的资源、数据源引用,执行时会自动加载当前目录所有 .tf 文件并解析依赖,不需要额外导入操作。

具体实现方法

直接将 main.tf 中 aws_iam_role 资源的 assume_role_policy 占位符替换为 data.aws_iam_policy_document.my_policy.json 即可。aws_iam_policy_document 数据源的 .json 属性会自动输出符合AWS要求的策略JSON字符串,正好匹配 assume_role_policy 参数的格式要求。

修改后的代码示例:

resource "aws_iam_role" "my_role" {
  name               = "my_role"
  assume_role_policy = data.aws_iam_policy_document.my_policy.json
}

注意:只有当你把 aws_iam_policy_document 数据源定义在独立的Terraform模块中时,才需要先声明模块调用再取值,同工作目录下的不同.tf文件直接按上述格式引用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 23:06:00