如何访问两个不同地形代码之间的资源ID



我有两个aws帐户,每个帐户都有相应的地形代码:比如说,在account_no_01中,我有一个tgw模块

module "transit-gateway" {}

在account_no_02中,我想获得account1:中创建的tgw的id

resource "aws_ec2_transit_gateway_vpc_attachment" "tgw_nprod" {
subnet_ids         = [module.vpc.private_subnets[0]]
transit_gateway_id = "TGW ID HERE FROM ACCOUNT 01 CREATED WITH MODULE"
vpc_id             = module.vpc.vpc_id
}

dir结构如下:/acount01/main.tf and /account02/main.tf

如果这两个帐户由一个状态文件管理,则可以使用模块输出。

如果两个帐户都是单独创建的,则可以使用terraform中的数据模块引用不由terraform管理或由其他状态文件管理的资源。

中转网关数据资源的关键选项在这里进行了说明。

最简单的方法是在account2构建的配置中添加ID值,并以这种方式引用它。如果这不可能,你可以在标签中添加一个友好的名称,并使用过滤器在其他地方找到它:

data "aws_ec2_transit_gateway" "tgw" {
filter {
name   = "tag:Name"
values = ["my-transit-gw"]
}
}

相关内容

  • 没有找到相关文章