簡體   English   中英

Terraform 使用 for_each 和 jsondecode 創建多個資源

[英]Terraform create multiple resources using for_each and jsondecode

我想創建多個資源(GCP 的多個 cloudSQL 實例),這就是我所擁有的:

locals {
  psql_settings = [
    { "name" : "psql1", "location" : "us-central1", "zone" : "us-central1-c" },
    { "name" : "psql2", "location" : "us-east1", "zone" : "us-east1-b" }
  ]
}

我必須以 json 格式使用它們,因為這將存儲在 consul 中以進行動態更改。

使用這個locals值,我如何創建多個資源。 我在嘗試:

module "postgresql-db" {
  depends_on = [
    module.vpc
  ]
  source               = "../modules/postgres"
  for_each             = local.psql_settings[0]
  name                 = each.value.name
  random_instance_name = true
  database_version     = "POSTGRES_13"
  project_id           = "xyz-project
  zone                 = each.value.zone
  region               = each.value.location
...
...

它應該是:

  for_each   = {for idx,val in local.psql_settings: idx => val}

該代碼將您的地圖列表更改為 map 地圖,這是for_each所需的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM