【问题标题】:Activating a list of GCP APIs for a list of Projects using Terraform为使用 Terraform 的项目列表激活 GCP API 列表
【发布时间】:2022-01-26 18:23:25
【问题描述】:

我有两个列表

projects = ["prj01", "prj02", "prj03", "prj04", "prj05", "prj06", ]

apis = ["api1", "api2", "api3", "api4", "api5", "api6", "api7", "api8", "api9", "api10", ]

使用 Terraform,我需要一次遍历一个项目列表并将所有 API 应用到每个项目。

谁能帮帮我。

【问题讨论】:

  • “将所有 api 应用于每个项目”是什么意思?您能否举个例子,您期望“申请”的结果是什么?
  • 嗨 Ervin,我的意思是激活每个 gcp 项目的 api。
  • 你试过什么?您的 TF 代码在哪里以及为什么它不起作用?有什么错误吗?

标签: terraform


【解决方案1】:

Terraform 内置函数 setproduct 允许您在应用笛卡尔积后创建新列表。

例如setproduct(["prj01","prj02"], ["api1", "api2"])

这将产生一个新列表:

[
 [ "prj01", "api1" ], 
 [ "prj01", "api2" ]
],
[
 [ "prj02", "api1" ], 
 [ "prj02", "api2" ]
]

您可以在以下位置阅读有关此功能的更多信息:https://www.terraform.io/language/functions/setproduct

【讨论】:

  • 我仍然同意 Ervin 的观点,即您需要分享有关您的用例的更多详细信息,以便其他人更好地帮助您。在问题中添加更多细节将是一个很好的起点。
猜你喜欢
  • 1970-01-01
  • 2019-02-24
  • 1970-01-01
  • 2021-10-04
  • 2014-03-19
  • 2019-11-02
  • 2022-11-17
  • 2021-06-13
  • 2022-12-18
相关资源
最近更新 更多