2017-07-28 67 views
0

我有多个不同的服务,每个服务都有自己的terraform配置来创建资源(在这种情况下,每个服务都有一个BigQuery表)。管理依赖于单例共享资源的多个配置

这些服务中的每一个都取决于资源的单个实例(本例中为BigQuery数据集)的存在

我想以某种方式配置Terraform,以便共享资源创建一次,如果它不存在。

我的第一个想法是使用模块,但是这会导致每个根服务尝试创建自己的共享资源实例,这是由于模块命名空间的限制。

理想情况下,我希望将terraform配置的一个目录标记为依赖于terraform配置的另一个目录,而无需将后一个目录作为模块导入。这可能吗?

回答

0

这是,你需要创建一个模块,然后在某处保存远程状态。您可以在terraform中配置后端为您处理此问题。一旦你有了,你可以让其他资源使用“data_terraform_remote_state”资源引用该状态。您在模块中配置的任何输出都可以在远程状态下参考。