首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在两个不同的terraform代码之间访问资源ids

如何在两个不同的terraform代码之间访问资源ids
EN

Stack Overflow用户
提问于 2021-03-17 16:06:13
回答 1查看 244关注 0票数 0

我有2个亚马逊网络服务账户,它们有各自的terraform代码:在account_no_01中,我有一个tgw模块

代码语言:javascript
复制
module "transit-gateway" {}

在account_no_02中,我想获取在account 1中创建的tgw的id:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-17 21:35:10

如果这两个帐户由一个状态文件管理,则可以使用module outputs

如果这两个帐户是分别创建的,则可以使用terraform中的数据模块来引用不受terraform管理或由不同状态文件管理的资源。

传输网关数据资源的关键选项是有文档记录的here

最简单的方法是在您的帐户2构建的配置中添加ID值,并以这种方式引用它。如果不可能,您可以在标记中添加一个友好的名称,然后使用过滤器在其他位置查找它:

代码语言:javascript
复制
data "aws_ec2_transit_gateway" "tgw" {
  filter {
    name   = "tag:Name"
    values = ["my-transit-gw"]
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66669102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档