我有2个亚马逊网络服务账户,它们有各自的terraform代码:在account_no_01中,我有一个tgw模块
module "transit-gateway" {}
在account_no_02中,我想获取在account 1中创建的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
}
目录结构是这样的:/acount01/main.tf and /account02/main.tf
发布于 2021-03-17 21:35:10
如果这两个帐户由一个状态文件管理,则可以使用module outputs。
如果这两个帐户是分别创建的,则可以使用terraform中的数据模块来引用不受terraform管理或由不同状态文件管理的资源。
传输网关数据资源的关键选项是有文档记录的here。
最简单的方法是在您的帐户2构建的配置中添加ID值,并以这种方式引用它。如果不可能,您可以在标记中添加一个友好的名称,然后使用过滤器在其他位置查找它:
data "aws_ec2_transit_gateway" "tgw" {
filter {
name = "tag:Name"
values = ["my-transit-gw"]
}
}https://stackoverflow.com/questions/66669102
复制相似问题