Microsoft.Network virtualNetworkGateways/natПравила 2023-09-01

Определение ресурсов Bicep

Тип ресурса virtualNetworkGateways/natRules можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Network/virtualNetworkGateways/natRules, добавьте следующий Bicep в шаблон.

resource symbolicname 'Microsoft.Network/virtualNetworkGateways/natRules@2023-09-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    externalMappings: [
      {
        addressSpace: 'string'
        portRange: 'string'
      }
    ]
    internalMappings: [
      {
        addressSpace: 'string'
        portRange: 'string'
      }
    ]
    ipConfigurationId: 'string'
    mode: 'string'
    type: 'string'
  }
}

Значения свойств

Microsoft.Network/virtualNetworkGateways/natRules

Имя Описание Ценность
имя Имя ресурса строка (обязательно)
родитель В Bicep можно указать родительский ресурс для дочернего ресурса. Это свойство необходимо добавить, только если дочерний ресурс объявлен за пределами родительского ресурса.

Дополнительные сведения см. в разделе Дочерний ресурс за пределами родительского ресурса.
Символьное имя ресурса типа: virtualNetworkGateways
свойства Свойства правила NAT шлюза виртуальной сети. Свойства VirtualNetworkGatewayNatRule

Свойства VirtualNetworkGatewayNatRule

Имя Описание Ценность
externalMappings Внешнее сопоставление частных IP-адресов для NAT. VpnNatRuleMapping[]
internalMappings Внутреннее сопоставление частных IP-адресов для NAT. VpnNatRuleMapping[]
ipConfigurationId Идентификатор конфигурации IP-адресов, к этому правилу NAT применяется. струна
режим Направление исходного NAT ДЛЯ VPN-NAT. EgressSnat
«IngressSnat»
тип Тип правила NAT для VPN NAT. Dynamic
"Статический"

VpnNatRuleMapping

Имя Описание Ценность
адресное пространство Адресное пространство для сопоставления Vpn NatRule. струна
portRange Диапазон портов для сопоставления Vpn NatRule. струна

Примеры использования

Примеры Bicep

Простой пример развертывания правила nat шлюза виртуальной сети.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource publicIPAddress 'Microsoft.Network/publicIPAddresses@2022-07-01' = {
  name: resourceName
  location: location
  properties: {
    ddosSettings: {
      protectionMode: 'VirtualNetworkInherited'
    }
    idleTimeoutInMinutes: 4
    publicIPAddressVersion: 'IPv4'
    publicIPAllocationMethod: 'Dynamic'
  }
  sku: {
    name: 'Basic'
    tier: 'Regional'
  }
}

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2022-07-01' = {
  name: resourceName
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    dhcpOptions: {
      dnsServers: []
    }
    subnets: []
  }
}

resource virtualNetworkGateway 'Microsoft.Network/virtualNetworkGateways@2022-07-01' = {
  name: resourceName
  location: location
  properties: {
    activeActive: false
    enableBgp: false
    enablePrivateIpAddress: false
    gatewayType: 'Vpn'
    ipConfigurations: [
      {
        name: 'vnetGatewayConfig'
        properties: {
          privateIPAllocationMethod: 'Dynamic'
          publicIPAddress: {
            id: publicIPAddress.id
          }
          subnet: {
            id: subnet.id
          }
        }
      }
    ]
    sku: {
      name: 'Basic'
      tier: 'Basic'
    }
    vpnType: 'RouteBased'
  }
}

resource natRule 'Microsoft.Network/virtualNetworkGateways/natRules@2022-07-01' = {
  parent: virtualNetworkGateway
  name: resourceName
  properties: {
    externalMappings: [
      {
        addressSpace: '10.1.0.0/26'
      }
    ]
    internalMappings: [
      {
        addressSpace: '10.3.0.0/26'
      }
    ]
    mode: 'EgressSnat'
    type: 'Static'
  }
}

resource subnet 'Microsoft.Network/virtualNetworks/subnets@2022-07-01' = {
  parent: virtualNetwork
  name: 'GatewaySubnet'
  properties: {
    addressPrefix: '10.0.1.0/24'
    delegations: []
    privateEndpointNetworkPolicies: 'Enabled'
    privateLinkServiceNetworkPolicies: 'Enabled'
    serviceEndpointPolicies: []
    serviceEndpoints: []
  }
}

Определение ресурса шаблона ARM

Тип ресурса virtualNetworkGateways/natRules можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Network/virtualNetworkGateways/natRules, добавьте следующий код JSON в шаблон.

{
  "type": "Microsoft.Network/virtualNetworkGateways/natRules",
  "apiVersion": "2023-09-01",
  "name": "string",
  "properties": {
    "externalMappings": [
      {
        "addressSpace": "string",
        "portRange": "string"
      }
    ],
    "internalMappings": [
      {
        "addressSpace": "string",
        "portRange": "string"
      }
    ],
    "ipConfigurationId": "string",
    "mode": "string",
    "type": "string"
  }
}

Значения свойств

Microsoft.Network/virtualNetworkGateways/natRules

Имя Описание Ценность
apiVersion Версия API '2023-09-01'
имя Имя ресурса строка (обязательно)
свойства Свойства правила NAT шлюза виртуальной сети. Свойства VirtualNetworkGatewayNatRule
тип Тип ресурса "Microsoft.Network/virtualNetworkGateways/natRules"

Свойства VirtualNetworkGatewayNatRule

Имя Описание Ценность
externalMappings Внешнее сопоставление частных IP-адресов для NAT. VpnNatRuleMapping[]
internalMappings Внутреннее сопоставление частных IP-адресов для NAT. VpnNatRuleMapping[]
ipConfigurationId Идентификатор конфигурации IP-адресов, к этому правилу NAT применяется. струна
режим Направление исходного NAT ДЛЯ VPN-NAT. EgressSnat
«IngressSnat»
тип Тип правила NAT для VPN NAT. Dynamic
"Статический"

VpnNatRuleMapping

Имя Описание Ценность
адресное пространство Адресное пространство для сопоставления Vpn NatRule. струна
portRange Диапазон портов для сопоставления Vpn NatRule. струна

Примеры использования

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса virtualNetworkGateways/natRules можно развернуть с помощью операций, предназначенных для следующих операций:

  • Группы ресурсов

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.Network/virtualNetworkGateways/natRules, добавьте следующий объект Terraform в шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Network/virtualNetworkGateways/natRules@2023-09-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      externalMappings = [
        {
          addressSpace = "string"
          portRange = "string"
        }
      ]
      internalMappings = [
        {
          addressSpace = "string"
          portRange = "string"
        }
      ]
      ipConfigurationId = "string"
      mode = "string"
      type = "string"
    }
  }
}

Значения свойств

Microsoft.Network/virtualNetworkGateways/natRules

Имя Описание Ценность
имя Имя ресурса строка (обязательно)
идентификатор_родителя Идентификатор ресурса, который является родительским для этого ресурса. Идентификатор ресурса типа: virtualNetworkGateways
свойства Свойства правила NAT шлюза виртуальной сети. Свойства VirtualNetworkGatewayNatRule
тип Тип ресурса "Microsoft.Network/virtualNetworkGateways/natRules@2023-09-01"

Свойства VirtualNetworkGatewayNatRule

Имя Описание Ценность
externalMappings Внешнее сопоставление частных IP-адресов для NAT. VpnNatRuleMapping[]
internalMappings Внутреннее сопоставление частных IP-адресов для NAT. VpnNatRuleMapping[]
ipConfigurationId Идентификатор конфигурации IP-адресов, к этому правилу NAT применяется. струна
режим Направление исходного NAT ДЛЯ VPN-NAT. EgressSnat
«IngressSnat»
тип Тип правила NAT для VPN NAT. Dynamic
"Статический"

VpnNatRuleMapping

Имя Описание Ценность
адресное пространство Адресное пространство для сопоставления Vpn NatRule. струна
portRange Диапазон портов для сопоставления Vpn NatRule. струна

Примеры использования

Примеры Terraform

Простой пример развертывания правила nat шлюза виртуальной сети.

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" "virtualNetwork" {
  type      = "Microsoft.Network/virtualNetworks@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      addressSpace = {
        addressPrefixes = [
          "10.0.0.0/16",
        ]
      }
      dhcpOptions = {
        dnsServers = [
        ]
      }
      subnets = [
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
  lifecycle {
    ignore_changes = [body.properties.subnets]
  }
}

resource "azapi_resource" "publicIPAddress" {
  type      = "Microsoft.Network/publicIPAddresses@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      ddosSettings = {
        protectionMode = "VirtualNetworkInherited"
      }
      idleTimeoutInMinutes     = 4
      publicIPAddressVersion   = "IPv4"
      publicIPAllocationMethod = "Dynamic"
    }
    sku = {
      name = "Basic"
      tier = "Regional"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "subnet" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2022-07-01"
  parent_id = azapi_resource.virtualNetwork.id
  name      = "GatewaySubnet"
  body = {
    properties = {
      addressPrefix = "10.0.1.0/24"
      delegations = [
      ]
      privateEndpointNetworkPolicies    = "Enabled"
      privateLinkServiceNetworkPolicies = "Enabled"
      serviceEndpointPolicies = [
      ]
      serviceEndpoints = [
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "virtualNetworkGateway" {
  type      = "Microsoft.Network/virtualNetworkGateways@2022-07-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      activeActive           = false
      enableBgp              = false
      enablePrivateIpAddress = false
      gatewayType            = "Vpn"
      ipConfigurations = [
        {
          name = "vnetGatewayConfig"
          properties = {
            privateIPAllocationMethod = "Dynamic"
            publicIPAddress = {
              id = azapi_resource.publicIPAddress.id
            }
            subnet = {
              id = azapi_resource.subnet.id
            }
          }
        },
      ]
      sku = {
        name = "Basic"
        tier = "Basic"
      }
      vpnType = "RouteBased"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
  timeouts {
    create = "180m"
    update = "180m"
    delete = "60m"
  }
}

resource "azapi_resource" "natRule" {
  type      = "Microsoft.Network/virtualNetworkGateways/natRules@2022-07-01"
  parent_id = azapi_resource.virtualNetworkGateway.id
  name      = var.resource_name
  body = {
    properties = {
      externalMappings = [
        {
          addressSpace = "10.1.0.0/26"
        },
      ]
      internalMappings = [
        {
          addressSpace = "10.3.0.0/26"
        },
      ]
      mode = "EgressSnat"
      type = "Static"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}