[英]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.