Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The virtualHubs/routingIntent resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Network/virtualHubs/routingIntent resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Network/virtualHubs/routingIntent@2024-10-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    routingPolicies: [
      {
        destinations: [
          'string'
        ]
        name: 'string'
        nextHop: 'string'
      }
    ]
  }
}
Property Values
Microsoft.Network/virtualHubs/routingIntent
| Name | Description | Value | 
|---|---|---|
| name | The resource name | string (required) | 
| parent | In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource. For more information, see Child resource outside parent resource. | Symbolic name for resource of type: virtualHubs | 
| properties | Properties of the RoutingIntent resource. | RoutingIntentProperties | 
RoutingIntentProperties
| Name | Description | Value | 
|---|---|---|
| routingPolicies | List of routing policies. | RoutingPolicy[] | 
RoutingPolicy
| Name | Description | Value | 
|---|---|---|
| destinations | List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). | string[] (required) | 
| name | The unique name for the routing policy. | string (required) | 
| nextHop | The next hop resource id on which this routing policy is applicable to. | string (required) | 
ARM template resource definition
The virtualHubs/routingIntent resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Network/virtualHubs/routingIntent resource, add the following JSON to your template.
{
  "type": "Microsoft.Network/virtualHubs/routingIntent",
  "apiVersion": "2024-10-01",
  "name": "string",
  "properties": {
    "routingPolicies": [
      {
        "destinations": [ "string" ],
        "name": "string",
        "nextHop": "string"
      }
    ]
  }
}
Property Values
Microsoft.Network/virtualHubs/routingIntent
| Name | Description | Value | 
|---|---|---|
| apiVersion | The api version | '2024-10-01' | 
| name | The resource name | string (required) | 
| properties | Properties of the RoutingIntent resource. | RoutingIntentProperties | 
| type | The resource type | 'Microsoft.Network/virtualHubs/routingIntent' | 
RoutingIntentProperties
| Name | Description | Value | 
|---|---|---|
| routingPolicies | List of routing policies. | RoutingPolicy[] | 
RoutingPolicy
| Name | Description | Value | 
|---|---|---|
| destinations | List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). | string[] (required) | 
| name | The unique name for the routing policy. | string (required) | 
| nextHop | The next hop resource id on which this routing policy is applicable to. | string (required) | 
Usage Examples
Terraform (AzAPI provider) resource definition
The virtualHubs/routingIntent resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Network/virtualHubs/routingIntent resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/virtualHubs/routingIntent@2024-10-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      routingPolicies = [
        {
          destinations = [
            "string"
          ]
          name = "string"
          nextHop = "string"
        }
      ]
    }
  }
}
Property Values
Microsoft.Network/virtualHubs/routingIntent
| Name | Description | Value | 
|---|---|---|
| name | The resource name | string (required) | 
| parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: virtualHubs | 
| properties | Properties of the RoutingIntent resource. | RoutingIntentProperties | 
| type | The resource type | "Microsoft.Network/virtualHubs/routingIntent@2024-10-01" | 
RoutingIntentProperties
| Name | Description | Value | 
|---|---|---|
| routingPolicies | List of routing policies. | RoutingPolicy[] | 
RoutingPolicy
| Name | Description | Value | 
|---|---|---|
| destinations | List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic). | string[] (required) | 
| name | The unique name for the routing policy. | string (required) | 
| nextHop | The next hop resource id on which this routing policy is applicable to. | string (required) | 
Usage Examples
Terraform Samples
A basic example of deploying Virtual Hub Routing Intent.
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
        }
      ]
    }
  }
}