1.Virtual.Network/main.tf (74 lines of code) (raw):
terraform {
required_version = ">=1.11.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>4.27.0"
}
}
backend azurerm {
key = "1.Virtual.Network"
use_azuread_auth = true
}
}
provider azurerm {
features {
}
subscription_id = data.terraform_remote_state.core.outputs.subscriptionId
storage_use_azuread = true
}
variable resourceGroupName {
type = string
}
data azurerm_subscription current {}
data terraform_remote_state core {
backend = "local"
config = {
path = "../0.Core.Foundation/terraform.tfstate"
}
}
data azurerm_user_assigned_identity studio {
name = data.terraform_remote_state.core.outputs.managedIdentity.name
resource_group_name = data.terraform_remote_state.core.outputs.resourceGroup.name
}
data azurerm_storage_account studio {
name = data.terraform_remote_state.core.outputs.storage.account.name
resource_group_name = data.terraform_remote_state.core.outputs.resourceGroup.name
}
data azurerm_key_vault studio {
name = data.terraform_remote_state.core.outputs.keyVault.name
resource_group_name = data.terraform_remote_state.core.outputs.resourceGroup.name
}
data azurerm_key_vault_secret gateway_connection {
name = data.terraform_remote_state.core.outputs.keyVault.secretName.gatewayConnection
key_vault_id = data.azurerm_key_vault.studio.id
}
data azurerm_app_configuration studio {
name = data.terraform_remote_state.core.outputs.appConfig.name
resource_group_name = data.terraform_remote_state.core.outputs.resourceGroup.name
}
data azurerm_monitor_workspace studio {
name = data.terraform_remote_state.core.outputs.monitor.workspace.name
resource_group_name = data.terraform_remote_state.core.outputs.monitor.resourceGroup.name
}
data azurerm_dashboard_grafana studio {
name = data.terraform_remote_state.core.outputs.monitor.workspace.name
resource_group_name = data.terraform_remote_state.core.outputs.monitor.resourceGroup.name
}
resource azurerm_resource_group network {
name = var.resourceGroupName
location = local.virtualNetwork.location
tags = {
AAA = basename(path.cwd)
}
}
resource azurerm_resource_group network_regions {
for_each = {
for virtualNetwork in local.virtualNetworks : virtualNetwork.key => virtualNetwork
}
name = each.value.resourceGroup.name
location = each.value.location
tags = {
AAA = basename(path.cwd)
}
}