terraform - 这是否可以将一个 terraform 云工作区的输出用作另一个工作区中的变量?
问题描述
以下是更多细节:
Workspace-A(基本堆栈):此工作区包含将创建 AWS 的代码:VPC、SG、RouteTables、子网和相关关联等。
Workspace-B(Service-1 Stack):该工作区包含用于创建 AWS : ALB、一些使用 Fargate 的 ECS 容器以及与该服务相关的一些其他组件的代码。
现在,在上述情况下,任何服务(Service-1、2、3 等)都将使用 Workspace-A 创建的 VPC/基础堆栈,我们如何使用 Workspace A(VPC、SG、子网等)的输出作为变量工作区-B 以便工作区-B 可以使用这些 VPC 和其余组件。
解决方案
您正在寻找的是 Terraform 数据源:
https://www.terraform.io/docs/configuration/data-sources.html
因此,最好的做法是在 Workspace-A 中创建基础架构,然后查询提供程序以在 Workspace-B 中加载该基础架构,而不是将输出从一个配置传递到另一个配置。
我建议您使用唯一标识符标记示例中每个工作区创建的资源,以实现一般可追溯性,并且您可以使用数据源轻松查找由其他 Terraform 配置创建的资源。
推荐阅读
- reactjs - 如何在不使用节点的情况下运行反应应用程序?
- eclipse - Eclipse Kotlin 插件未编译 Kotlin 类
- javascript - 如何使用 HTML 越过 Visual Studio Code 中的自动完成标记?
- c# - Windows 窗体应用程序随机数学游戏 c#
- reactjs - React Promise - 编码混乱
- r - 如何创建遵循特定模式的新列?
- javascript - 有没有办法访问阴影变量?
- node.js - 无法对 div 的内部 HTML 进行 DOM,大概是因为浏览器必须单击某些按钮才能显示元素
- python-3.x - 使用来自用户的动态参数、关键字参数定义一个函数并打印它们
- javascript - 添加@babel/transform-runtime 插件时无法读取未定义的属性“Reactstrap”