dependency/azapi_examples/Microsoft.Network_virtualHubs_routingIntent@2022-09-01/main.tf (99 lines of code) (raw):

terraform { required_providers { azapi = { source = "Azure/azapi" } } } provider "azurerm" { features { } } provider "azapi" { skip_provider_registration = false } variable "resource_name" { type = string default = "acctest0001" } variable "location" { type = string default = "westeurope" } resource "azapi_resource" "resourceGroup" { type = "Microsoft.Resources/resourceGroups@2020-06-01" name = var.resource_name location = var.location } resource "azapi_resource" "virtualWan" { type = "Microsoft.Network/virtualWans@2022-07-01" parent_id = azapi_resource.resourceGroup.id name = var.resource_name location = var.location body = { properties = { allowBranchToBranchTraffic = true disableVpnEncryption = false office365LocalBreakoutCategory = "None" type = "Standard" } } schema_validation_enabled = false response_export_values = ["*"] } resource "azapi_resource" "virtualHub" { type = "Microsoft.Network/virtualHubs@2022-07-01" parent_id = azapi_resource.resourceGroup.id name = var.resource_name location = var.location body = { properties = { addressPrefix = "10.0.2.0/24" hubRoutingPreference = "ExpressRoute" virtualRouterAutoScaleConfiguration = { minCapacity = 2 } virtualWan = { id = azapi_resource.virtualWan.id } } } schema_validation_enabled = false response_export_values = ["*"] } resource "azurerm_firewall" "test" { name = var.resource_name location = azapi_resource.resourceGroup.location resource_group_name = azapi_resource.resourceGroup.name sku_name = "AZFW_Hub" sku_tier = "Standard" virtual_hub { virtual_hub_id = azapi_resource.virtualHub.id public_ip_count = 1 } } resource "azapi_resource" "routingIntent" { name = var.resource_name type = "Microsoft.Network/virtualHubs/routingIntent@2022-09-01" parent_id = azapi_resource.virtualHub.id body = { properties = { routingPolicies = [ { name = "InternetTraffic" destinations = [ "Internet" ] nextHop = azurerm_firewall.test.id }, { name = "PrivateTrafficPolicy" destinations = [ "PrivateTraffic" ] nextHop = azurerm_firewall.test.id } ] } } }