Terraform foreach多个地图变量
我需要在Terraform中执行以下操作,但无法确定如何执行 这是我的Terraform foreach多个地图变量,terraform,Terraform,我需要在Terraform中执行以下操作,但无法确定如何执行 这是我的 local { app_config = { test-web = { name = "test-web-${local.environment}" websockets = false subnet = "backend" audience_subnet = "fron
local {
app_config = {
test-web = {
name = "test-web-${local.environment}"
websockets = false
subnet = "backend"
audience_subnet = "frontend"
url = "https://test-web-${local.environment}.mydomain.com"
}
test-api = {
name = "test-api-${local.environment}"
websockets = false
subnet = "backend"
audience_subnet = "frontend"
url = "https://test-api-${local.environment}.mydomain.com"
}
}
keyvault_secrets = {
aat = {
test-api = {
application_id = "1111"
client_id = "2222"
administrator_pass = "3333"
}
test-web = {
application_id = "4444"
client_id = "5555"
administrator_pass = "6666"
}
}
Demo = {
test-api = {
application_id = "1212"
client_id = "2323"
administrator_pass = "3434"
}
test-web = {
application_id = "4545"
client_id = "5656"
administrator_pass = "6767"
}
}
Dev = {
test-api = {
application_id = "9999"
client_id = "8888"
administrator_pass = "7777"
}
test-web = {
application_id = "9898"
client_id = "8787"
administrator_pass = "7676"
}
}
}
resource "azurerm_key_vault_secret" "app_id" {
for_each = var.apps_config
name = var.apps_config
value = each.value.application_id
key_vault_id = data.azurerm_key_vault.mykv.id
}
resource "azurerm_key_vault_secret" "client_id" {
for_each = var.apps_config
name = var.apps_config
value = each.value.client_id
key_vault_id = data.azurerm_key_vault.mykv.id
}
resource "azurerm_key_vault_secret" "admin_pass" {
for_each = var.apps_config
name = var.apps_config
value = each.value.administrator_pass
key_vault_id = data.azurerm_key_vault.mykv.id
}
我无法理解的是您如何执行以下操作:
对于定义的每个应用程序配置,例如:
测试网
测试api
密钥库机密由运行时定义的环境创建:
地形规划或应用-var=“environment=dev”
我想让它为每个应用程序配置创建3个秘密你需要重新构造你的
本地
,这样每个app\u配置
都有一个长度为3的keyvault\u秘密
嵌套映射。然后,您可以使用这里描述的通用设计模式轻松地迭代资源:您需要重新构造本地
,以便每个app\u config
都有一个长度为三的keybault\u secrets
嵌套映射。然后,您可以使用下面描述的通用设计模式轻松地迭代资源: