Udostępnij przez


Microsoft.Network expressRouteGateways

Definicja zasobu Bicep

Typ zasobu expressRouteGateways można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.Network/expressRouteGateways, dodaj następujący kod Bicep do szablonu.

resource symbolicname 'Microsoft.Network/expressRouteGateways@2025-03-01' = {
  scope: resourceSymbolicName or scope
  location: 'string'
  name: 'string'
  properties: {
    allowNonVirtualWanTraffic: bool
    autoScaleConfiguration: {
      bounds: {
        max: int
        min: int
      }
    }
    expressRouteConnections: [
      {
        id: 'string'
        name: 'string'
        properties: {
          authorizationKey: 'string'
          enableInternetSecurity: bool
          enablePrivateLinkFastPath: bool
          expressRouteCircuitPeering: {
            id: 'string'
          }
          expressRouteGatewayBypass: bool
          routingConfiguration: {
            associatedRouteTable: {
              id: 'string'
            }
            inboundRouteMap: {
              id: 'string'
            }
            outboundRouteMap: {
              id: 'string'
            }
            propagatedRouteTables: {
              ids: [
                {
                  id: 'string'
                }
              ]
              labels: [
                'string'
              ]
            }
            vnetRoutes: {
              staticRoutes: [
                {
                  addressPrefixes: [
                    'string'
                  ]
                  name: 'string'
                  nextHopIpAddress: 'string'
                }
              ]
              staticRoutesConfig: {
                vnetLocalRouteOverrideCriteria: 'string'
              }
            }
          }
          routingWeight: int
        }
      }
    ]
    virtualHub: {
      id: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Wartości właściwości

Microsoft.Network/expressRouteGateways

Nazwa Opis Wartość
lokalizacja Lokalizacja zasobu. ciąg
nazwa Nazwa zasobu ciąg (wymagany)
Właściwości Właściwości bramy usługi Express Route. Właściwości usługi ExpressRouteGatewayProperties
zakres Użyj polecenia podczas tworzenia zasobu w zakresie innym niż zakres wdrożenia. Ustaw tę właściwość na symboliczną nazwę zasobu, aby zastosować zasób rozszerzenia.
Tagi Tagi zasobów Słownik nazw tagów i wartości. Zobacz tagi w szablonach

ExpressRouteCircuitPeeringId

Nazwa Opis Wartość
id Identyfikator komunikacji równorzędnej obwodu usługi ExpressRoute. ciąg

ExpressRouteConnection

Nazwa Opis Wartość
id Identyfikator zasobu. ciąg
nazwa Nazwa zasobu. ciąg (wymagany)
Właściwości Właściwości połączenia usługi Express Route. ExpressRouteConnectionProperties

ExpressRouteConnectionProperties

Nazwa Opis Wartość
authorizationKey (klucz autoryzacji) Klucz autoryzacji do nawiązania połączenia. ciąg
włącz zabezpieczenia w Internecie Włącz zabezpieczenia internetowe. Bool
enablePrivateLinkFastPath (Ścieżka Prywatności) Pomiń bramę usługi ExpressRoute podczas uzyskiwania dostępu do łączy prywatnych. Należy włączyć usługę ExpressRoute FastPath (expressRouteGatewayBypass). Bool
expressRouteCircuitPeering Komunikacja równorzędna obwodu usługi ExpressRoute. ExpressRouteCircuitPeeringId (wymagane)
expressRouteGatewayBypass Włącz usługę FastPath do koncentratora zapory vWan. Bool
routingKonfiguracja Konfiguracja routingu wskazująca skojarzone i propagowane tabele tras w tym połączeniu. RoutingKonfiguracja
Waga routingu Waga routingu skojarzona z połączeniem. Int

Właściwości usługi ExpressRouteGatewayProperties

Nazwa Opis Wartość
allowNonVirtualWanTraffic Konfiguruje tę bramę tak, aby akceptowała ruch z sieci innych niż Virtual WAN. Bool
autoSkalowanieKonfiguracja Konfiguracja automatycznego skalowania. ExpressRouteGatewayPropertiesAutoScaleConfiguration
expressRouteConnections (połączenia expressRouteConnection) Lista połączeń usługi ExpressRoute z bramą usługi ExpressRoute. ExpressRouteConnection[]
virtualHub (węzeł wirtualny) Koncentrator wirtualny, w którym znajduje się brama usługi ExpressRoute lub zostanie wdrożony. VirtualHubId (wymagane)

ExpressRouteGatewayPropertiesAutoScaleConfiguration

Nazwa Opis Wartość
Granice Minimalna i maksymalna liczba jednostek skalowania do wdrożenia. ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds

ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds

Nazwa Opis Wartość
Max Maksymalna liczba jednostek skalowania wdrożonych dla bramy usługi ExpressRoute. Int
Min Minimalna liczba jednostek skalowania wdrożonych dla bramy usługi ExpressRoute. Int

Propagowana tabelaroute

Nazwa Opis Wartość
Identyfikatory Lista identyfikatorów zasobów wszystkich tabel tras. SubResource []
Etykiety Lista etykiet. ciąg znakowy[]

Tagi zasobów

Nazwa Opis Wartość

RoutingKonfiguracja

Nazwa Opis Wartość
associatedRouteTable (tabela tras) Identyfikator zasobu RouteTable skojarzony z tą konfiguracją routingu. SubResource
inboundRouteMap (mapa tras przychodzących) Identyfikator zasobu RouteMap skojarzony z tą konfiguracją RoutingConfiguration dla tras wyuczonych dla ruchu przychodzącego. SubResource
outboundRouteMap (mapa tras wychodzących) Identyfikator zasobu mapyroute skojarzonej z tą konfiguracją routingu dla tras anonsowanych dla ruchu wychodzącego. SubResource
propagatedRouteTables Lista tabeli RouteTables do anonsowania tras do. Propagowana tabelaroute
vnetRoutes (Trasy wirtualne) Lista tras sterujących routingiem z usługi VirtualHub do połączenia sieci wirtualnej. usługi VnetRoute

StaticRoute (Trasa statyczna)

Nazwa Opis Wartość
addressPrefixes (prefiksy adresów) Lista wszystkich prefiksów adresów. ciąg znakowy[]
nazwa Nazwa usługi StaticRoute, która jest unikatowa w ramach usługi VnetRoute. ciąg
następnyHopIpAddress Adres IP następnego przeskoku. ciąg

StaticRoutesConfig

Nazwa Opis Wartość
vnetLocalRouteOverrideCriteria Parametr określający, czy urządzenie WUS w sieci wirtualnej szprychy jest pomijane dla ruchu z miejscem docelowym w szprychach. "Zawiera"
"Równe"

Podźródło

Nazwa Opis Wartość
id Identyfikator zasobu. ciąg

Identyfikator VirtualHubId

Nazwa Opis Wartość
id Identyfikator URI zasobu dla koncentratora wirtualnego, w którym znajduje się brama usługi ExpressRoute lub zostanie wdrożony. Zasób koncentratora wirtualnego i zasób bramy usługi ExpressRoute znajdują się w tej samej subskrypcji. ciąg

Trasa VnetRoute

Nazwa Opis Wartość
staticRoutes (trasy statyczne) Lista wszystkich tras statycznych. Trasa statyczna[]
staticRoutesConfig Konfiguracja tras statycznych w tym hubVnetConnection. StaticRoutesConfig

Przykłady użycia

Moduły zweryfikowane na platformie Azure

Następujące moduły zweryfikowane platformy Azure mogą służyć do wdrażania tego typu zasobu.

Moduł Opis
bramy usługi Express Route Moduł zasobów AVM dla bramy usługi Express Route

Definicja zasobu szablonu usługi ARM

Typ zasobu expressRouteGateways można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.Network/expressRouteGateways, dodaj następujący kod JSON do szablonu.

{
  "type": "Microsoft.Network/expressRouteGateways",
  "apiVersion": "2025-03-01",
  "name": "string",
  "location": "string",
  "properties": {
    "allowNonVirtualWanTraffic": "bool",
    "autoScaleConfiguration": {
      "bounds": {
        "max": "int",
        "min": "int"
      }
    },
    "expressRouteConnections": [
      {
        "id": "string",
        "name": "string",
        "properties": {
          "authorizationKey": "string",
          "enableInternetSecurity": "bool",
          "enablePrivateLinkFastPath": "bool",
          "expressRouteCircuitPeering": {
            "id": "string"
          },
          "expressRouteGatewayBypass": "bool",
          "routingConfiguration": {
            "associatedRouteTable": {
              "id": "string"
            },
            "inboundRouteMap": {
              "id": "string"
            },
            "outboundRouteMap": {
              "id": "string"
            },
            "propagatedRouteTables": {
              "ids": [
                {
                  "id": "string"
                }
              ],
              "labels": [ "string" ]
            },
            "vnetRoutes": {
              "staticRoutes": [
                {
                  "addressPrefixes": [ "string" ],
                  "name": "string",
                  "nextHopIpAddress": "string"
                }
              ],
              "staticRoutesConfig": {
                "vnetLocalRouteOverrideCriteria": "string"
              }
            }
          },
          "routingWeight": "int"
        }
      }
    ],
    "virtualHub": {
      "id": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Wartości właściwości

Microsoft.Network/expressRouteGateways

Nazwa Opis Wartość
apiVersion (wersja interfejsu api) Wersja interfejsu API '2025-03-01'
lokalizacja Lokalizacja zasobu. ciąg
nazwa Nazwa zasobu ciąg (wymagany)
Właściwości Właściwości bramy usługi Express Route. Właściwości usługi ExpressRouteGatewayProperties
Tagi Tagi zasobów Słownik nazw tagów i wartości. Zobacz tagi w szablonach
typ Typ zasobu "Microsoft.Network/expressRouteGateways"

ExpressRouteCircuitPeeringId

Nazwa Opis Wartość
id Identyfikator komunikacji równorzędnej obwodu usługi ExpressRoute. ciąg

ExpressRouteConnection

Nazwa Opis Wartość
id Identyfikator zasobu. ciąg
nazwa Nazwa zasobu. ciąg (wymagany)
Właściwości Właściwości połączenia usługi Express Route. ExpressRouteConnectionProperties

ExpressRouteConnectionProperties

Nazwa Opis Wartość
authorizationKey (klucz autoryzacji) Klucz autoryzacji do nawiązania połączenia. ciąg
włącz zabezpieczenia w Internecie Włącz zabezpieczenia internetowe. Bool
enablePrivateLinkFastPath (Ścieżka Prywatności) Pomiń bramę usługi ExpressRoute podczas uzyskiwania dostępu do łączy prywatnych. Należy włączyć usługę ExpressRoute FastPath (expressRouteGatewayBypass). Bool
expressRouteCircuitPeering Komunikacja równorzędna obwodu usługi ExpressRoute. ExpressRouteCircuitPeeringId (wymagane)
expressRouteGatewayBypass Włącz usługę FastPath do koncentratora zapory vWan. Bool
routingKonfiguracja Konfiguracja routingu wskazująca skojarzone i propagowane tabele tras w tym połączeniu. RoutingKonfiguracja
Waga routingu Waga routingu skojarzona z połączeniem. Int

Właściwości usługi ExpressRouteGatewayProperties

Nazwa Opis Wartość
allowNonVirtualWanTraffic Konfiguruje tę bramę tak, aby akceptowała ruch z sieci innych niż Virtual WAN. Bool
autoSkalowanieKonfiguracja Konfiguracja automatycznego skalowania. ExpressRouteGatewayPropertiesAutoScaleConfiguration
expressRouteConnections (połączenia expressRouteConnection) Lista połączeń usługi ExpressRoute z bramą usługi ExpressRoute. ExpressRouteConnection[]
virtualHub (węzeł wirtualny) Koncentrator wirtualny, w którym znajduje się brama usługi ExpressRoute lub zostanie wdrożony. VirtualHubId (wymagane)

ExpressRouteGatewayPropertiesAutoScaleConfiguration

Nazwa Opis Wartość
Granice Minimalna i maksymalna liczba jednostek skalowania do wdrożenia. ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds

ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds

Nazwa Opis Wartość
Max Maksymalna liczba jednostek skalowania wdrożonych dla bramy usługi ExpressRoute. Int
Min Minimalna liczba jednostek skalowania wdrożonych dla bramy usługi ExpressRoute. Int

Propagowana tabelaroute

Nazwa Opis Wartość
Identyfikatory Lista identyfikatorów zasobów wszystkich tabel tras. SubResource []
Etykiety Lista etykiet. ciąg znakowy[]

Tagi zasobów

Nazwa Opis Wartość

RoutingKonfiguracja

Nazwa Opis Wartość
associatedRouteTable (tabela tras) Identyfikator zasobu RouteTable skojarzony z tą konfiguracją routingu. SubResource
inboundRouteMap (mapa tras przychodzących) Identyfikator zasobu RouteMap skojarzony z tą konfiguracją RoutingConfiguration dla tras wyuczonych dla ruchu przychodzącego. SubResource
outboundRouteMap (mapa tras wychodzących) Identyfikator zasobu mapyroute skojarzonej z tą konfiguracją routingu dla tras anonsowanych dla ruchu wychodzącego. SubResource
propagatedRouteTables Lista tabeli RouteTables do anonsowania tras do. Propagowana tabelaroute
vnetRoutes (Trasy wirtualne) Lista tras sterujących routingiem z usługi VirtualHub do połączenia sieci wirtualnej. usługi VnetRoute

StaticRoute (Trasa statyczna)

Nazwa Opis Wartość
addressPrefixes (prefiksy adresów) Lista wszystkich prefiksów adresów. ciąg znakowy[]
nazwa Nazwa usługi StaticRoute, która jest unikatowa w ramach usługi VnetRoute. ciąg
następnyHopIpAddress Adres IP następnego przeskoku. ciąg

StaticRoutesConfig

Nazwa Opis Wartość
vnetLocalRouteOverrideCriteria Parametr określający, czy urządzenie WUS w sieci wirtualnej szprychy jest pomijane dla ruchu z miejscem docelowym w szprychach. "Zawiera"
"Równe"

Podźródło

Nazwa Opis Wartość
id Identyfikator zasobu. ciąg

Identyfikator VirtualHubId

Nazwa Opis Wartość
id Identyfikator URI zasobu dla koncentratora wirtualnego, w którym znajduje się brama usługi ExpressRoute lub zostanie wdrożony. Zasób koncentratora wirtualnego i zasób bramy usługi ExpressRoute znajdują się w tej samej subskrypcji. ciąg

Trasa VnetRoute

Nazwa Opis Wartość
staticRoutes (trasy statyczne) Lista wszystkich tras statycznych. Trasa statyczna[]
staticRoutesConfig Konfiguracja tras statycznych w tym hubVnetConnection. StaticRoutesConfig

Przykłady użycia

Szablony szybkiego startu platformy Azure

Następujące szablony szybkiego startu platformy Azure wdrożyć ten typ zasobu.

Szablon Opis
wdrażanie usługi Azure Virtual WAN (vWAN) z wieloma koncentratorami

wdrażanie w usłudze Azure
Ten szablon umożliwia utworzenie wdrożenia obejmującego wiele centrów usługi Azure Virtual WAN (vWAN), w tym wszystkich bram i połączeń sieci wirtualnej.
wdrażanie wielu koncentratorów usługi Azure vWAN przy użyciu niestandardowych tabel routingu

wdrażanie w usłudze Azure
Ten szablon umożliwia utworzenie wdrożenia wieloawansowego usługi Azure Virtual WAN (vWAN), w tym wszystkich bram i połączeń sieci wirtualnej oraz zademonstrowanie użycia tabel tras na potrzeby routingu niestandardowego.

Definicja zasobu narzędzia Terraform (dostawcy AzAPI)

Typ zasobu expressRouteGateways można wdrożyć przy użyciu operacji docelowych:

Aby uzyskać listę zmienionych właściwości w każdej wersji interfejsu API, zobacz dziennika zmian.

Format zasobu

Aby utworzyć zasób Microsoft.Network/expressRouteGateways, dodaj następujący program Terraform do szablonu.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/expressRouteGateways@2025-03-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      allowNonVirtualWanTraffic = bool
      autoScaleConfiguration = {
        bounds = {
          max = int
          min = int
        }
      }
      expressRouteConnections = [
        {
          id = "string"
          name = "string"
          properties = {
            authorizationKey = "string"
            enableInternetSecurity = bool
            enablePrivateLinkFastPath = bool
            expressRouteCircuitPeering = {
              id = "string"
            }
            expressRouteGatewayBypass = bool
            routingConfiguration = {
              associatedRouteTable = {
                id = "string"
              }
              inboundRouteMap = {
                id = "string"
              }
              outboundRouteMap = {
                id = "string"
              }
              propagatedRouteTables = {
                ids = [
                  {
                    id = "string"
                  }
                ]
                labels = [
                  "string"
                ]
              }
              vnetRoutes = {
                staticRoutes = [
                  {
                    addressPrefixes = [
                      "string"
                    ]
                    name = "string"
                    nextHopIpAddress = "string"
                  }
                ]
                staticRoutesConfig = {
                  vnetLocalRouteOverrideCriteria = "string"
                }
              }
            }
            routingWeight = int
          }
        }
      ]
      virtualHub = {
        id = "string"
      }
    }
  }
}

Wartości właściwości

Microsoft.Network/expressRouteGateways

Nazwa Opis Wartość
lokalizacja Lokalizacja zasobu. ciąg
nazwa Nazwa zasobu ciąg (wymagany)
parent_id Identyfikator zasobu, do który ma być stosowany ten zasób rozszerzenia. ciąg (wymagany)
Właściwości Właściwości bramy usługi Express Route. Właściwości usługi ExpressRouteGatewayProperties
Tagi Tagi zasobów Słownik nazw tagów i wartości.
typ Typ zasobu "Microsoft.Network/expressRouteGateways@2025-03-01"

ExpressRouteCircuitPeeringId

Nazwa Opis Wartość
id Identyfikator komunikacji równorzędnej obwodu usługi ExpressRoute. ciąg

ExpressRouteConnection

Nazwa Opis Wartość
id Identyfikator zasobu. ciąg
nazwa Nazwa zasobu. ciąg (wymagany)
Właściwości Właściwości połączenia usługi Express Route. ExpressRouteConnectionProperties

ExpressRouteConnectionProperties

Nazwa Opis Wartość
authorizationKey (klucz autoryzacji) Klucz autoryzacji do nawiązania połączenia. ciąg
włącz zabezpieczenia w Internecie Włącz zabezpieczenia internetowe. Bool
enablePrivateLinkFastPath (Ścieżka Prywatności) Pomiń bramę usługi ExpressRoute podczas uzyskiwania dostępu do łączy prywatnych. Należy włączyć usługę ExpressRoute FastPath (expressRouteGatewayBypass). Bool
expressRouteCircuitPeering Komunikacja równorzędna obwodu usługi ExpressRoute. ExpressRouteCircuitPeeringId (wymagane)
expressRouteGatewayBypass Włącz usługę FastPath do koncentratora zapory vWan. Bool
routingKonfiguracja Konfiguracja routingu wskazująca skojarzone i propagowane tabele tras w tym połączeniu. RoutingKonfiguracja
Waga routingu Waga routingu skojarzona z połączeniem. Int

Właściwości usługi ExpressRouteGatewayProperties

Nazwa Opis Wartość
allowNonVirtualWanTraffic Konfiguruje tę bramę tak, aby akceptowała ruch z sieci innych niż Virtual WAN. Bool
autoSkalowanieKonfiguracja Konfiguracja automatycznego skalowania. ExpressRouteGatewayPropertiesAutoScaleConfiguration
expressRouteConnections (połączenia expressRouteConnection) Lista połączeń usługi ExpressRoute z bramą usługi ExpressRoute. ExpressRouteConnection[]
virtualHub (węzeł wirtualny) Koncentrator wirtualny, w którym znajduje się brama usługi ExpressRoute lub zostanie wdrożony. VirtualHubId (wymagane)

ExpressRouteGatewayPropertiesAutoScaleConfiguration

Nazwa Opis Wartość
Granice Minimalna i maksymalna liczba jednostek skalowania do wdrożenia. ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds

ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds

Nazwa Opis Wartość
Max Maksymalna liczba jednostek skalowania wdrożonych dla bramy usługi ExpressRoute. Int
Min Minimalna liczba jednostek skalowania wdrożonych dla bramy usługi ExpressRoute. Int

Propagowana tabelaroute

Nazwa Opis Wartość
Identyfikatory Lista identyfikatorów zasobów wszystkich tabel tras. SubResource []
Etykiety Lista etykiet. ciąg znakowy[]

Tagi zasobów

Nazwa Opis Wartość

RoutingKonfiguracja

Nazwa Opis Wartość
associatedRouteTable (tabela tras) Identyfikator zasobu RouteTable skojarzony z tą konfiguracją routingu. SubResource
inboundRouteMap (mapa tras przychodzących) Identyfikator zasobu RouteMap skojarzony z tą konfiguracją RoutingConfiguration dla tras wyuczonych dla ruchu przychodzącego. SubResource
outboundRouteMap (mapa tras wychodzących) Identyfikator zasobu mapyroute skojarzonej z tą konfiguracją routingu dla tras anonsowanych dla ruchu wychodzącego. SubResource
propagatedRouteTables Lista tabeli RouteTables do anonsowania tras do. Propagowana tabelaroute
vnetRoutes (Trasy wirtualne) Lista tras sterujących routingiem z usługi VirtualHub do połączenia sieci wirtualnej. usługi VnetRoute

StaticRoute (Trasa statyczna)

Nazwa Opis Wartość
addressPrefixes (prefiksy adresów) Lista wszystkich prefiksów adresów. ciąg znakowy[]
nazwa Nazwa usługi StaticRoute, która jest unikatowa w ramach usługi VnetRoute. ciąg
następnyHopIpAddress Adres IP następnego przeskoku. ciąg

StaticRoutesConfig

Nazwa Opis Wartość
vnetLocalRouteOverrideCriteria Parametr określający, czy urządzenie WUS w sieci wirtualnej szprychy jest pomijane dla ruchu z miejscem docelowym w szprychach. "Zawiera"
"Równe"

Podźródło

Nazwa Opis Wartość
id Identyfikator zasobu. ciąg

Identyfikator VirtualHubId

Nazwa Opis Wartość
id Identyfikator URI zasobu dla koncentratora wirtualnego, w którym znajduje się brama usługi ExpressRoute lub zostanie wdrożony. Zasób koncentratora wirtualnego i zasób bramy usługi ExpressRoute znajdują się w tej samej subskrypcji. ciąg

Trasa VnetRoute

Nazwa Opis Wartość
staticRoutes (trasy statyczne) Lista wszystkich tras statycznych. Trasa statyczna[]
staticRoutesConfig Konfiguracja tras statycznych w tym hubVnetConnection. StaticRoutesConfig

Przykłady użycia

Przykłady programu Terraform

Podstawowy przykład wdrażania bramy usługi ExpressRoute.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

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.1.0/24"
      hubRoutingPreference = "ExpressRoute"
      virtualRouterAutoScaleConfiguration = {
        minCapacity = 2
      }
      virtualWan = {
        id = azapi_resource.virtualWan.id
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "expressRouteGateway" {
  type      = "Microsoft.Network/expressRouteGateways@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      allowNonVirtualWanTraffic = false
      autoScaleConfiguration = {
        bounds = {
          min = 1
        }
      }
      virtualHub = {
        id = azapi_resource.virtualHub.id
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}