Nat Rules - Create Or Update

Creates a nat rule to a scalable vpn gateway if it doesn't exist else updates the existing nat rules.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/natRules/{natRuleName}?api-version=2023-09-01

URI Parameters

Name In Required Type Description
gatewayName
path True

string

The name of the gateway.

natRuleName
path True

string

The name of the nat rule.

resourceGroupName
path True

string

The resource group name of the VpnGateway.

subscriptionId
path True

string

The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.

api-version
query True

string

Client API version.

Request Body

Name Type Description
id

string

Resource ID.

name

string

The name of the resource that is unique within a resource group. This name can be used to access the resource.

properties.externalMappings

VpnNatRuleMapping[]

The private IP address external mapping for NAT.

properties.internalMappings

VpnNatRuleMapping[]

The private IP address internal mapping for NAT.

properties.ipConfigurationId

string

The IP Configuration ID this NAT rule applies to.

properties.mode

VpnNatRuleMode

The Source NAT direction of a VPN NAT.

properties.type

VpnNatRuleType

The type of NAT rule for VPN NAT.

Responses

Name Type Description
200 OK

VpnGatewayNatRule

Request successful. Returns the details of the nat rule created or updated.

201 Created

VpnGatewayNatRule

Request successful. Returns the details of the nat rule created or updated.

Other Status Codes

CloudError

Error response describing why the operation failed.

Security

azure_auth

Azure Active Directory OAuth2 Flow.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

NatRulePut

Sample Request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1?api-version=2023-09-01

{
  "properties": {
    "type": "Static",
    "mode": "EgressSnat",
    "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default",
    "internalMappings": [
      {
        "addressSpace": "10.4.0.0/24"
      }
    ],
    "externalMappings": [
      {
        "addressSpace": "192.168.21.0/24"
      }
    ]
  }
}

Sample Response

{
  "name": "natRule1",
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1",
  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
  "properties": {
    "provisioningState": "Succeeded",
    "type": "Static",
    "mode": "EgressSnat",
    "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default",
    "internalMappings": [
      {
        "addressSpace": "10.4.0.0/24"
      }
    ],
    "externalMappings": [
      {
        "addressSpace": "192.168.21.0/24"
      }
    ],
    "egressVpnSiteLinkConnections": [
      {
        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1"
      }
    ],
    "ingressVpnSiteLinkConnections": [
      {
        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2"
      }
    ]
  }
}
{
  "name": "natRule1",
  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/natRules/natRule1",
  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
  "properties": {
    "provisioningState": "Succeeded",
    "type": "Static",
    "mode": "EgressSnat",
    "ipConfigurationId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/cloudnet1-VNG/ipConfigurations/default",
    "internalMappings": [
      {
        "addressSpace": "10.4.0.0/24"
      }
    ],
    "externalMappings": [
      {
        "addressSpace": "192.168.21.0/24"
      }
    ],
    "egressVpnSiteLinkConnections": [
      {
        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection1"
      }
    ],
    "ingressVpnSiteLinkConnections": [
      {
        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/vpnGateways/gateway1/vpnConnections/vpnConnection1/vpnLinkConnections/vpnLinkConnection2"
      }
    ]
  }
}

Definitions

Name Description
CloudError

An error response from the service.

CloudErrorBody

An error response from the service.

ProvisioningState

The current provisioning state.

SubResource

Reference to another subresource.

VpnGatewayNatRule

VpnGatewayNatRule Resource.

VpnNatRuleMapping

Vpn NatRule mapping.

VpnNatRuleMode

The Source NAT direction of a VPN NAT.

VpnNatRuleType

The type of NAT rule for VPN NAT.

CloudError

An error response from the service.

Name Type Description
error

CloudErrorBody

Cloud error body.

CloudErrorBody

An error response from the service.

Name Type Description
code

string

An identifier for the error. Codes are invariant and are intended to be consumed programmatically.

details

CloudErrorBody[]

A list of additional details about the error.

message

string

A message describing the error, intended to be suitable for display in a user interface.

target

string

The target of the particular error. For example, the name of the property in error.

ProvisioningState

The current provisioning state.

Name Type Description
Deleting

string

Failed

string

Succeeded

string

Updating

string

SubResource

Reference to another subresource.

Name Type Description
id

string

Resource ID.

VpnGatewayNatRule

VpnGatewayNatRule Resource.

Name Type Description
etag

string

A unique read-only string that changes whenever the resource is updated.

id

string

Resource ID.

name

string

The name of the resource that is unique within a resource group. This name can be used to access the resource.

properties.egressVpnSiteLinkConnections

SubResource[]

List of egress VpnSiteLinkConnections.

properties.externalMappings

VpnNatRuleMapping[]

The private IP address external mapping for NAT.

properties.ingressVpnSiteLinkConnections

SubResource[]

List of ingress VpnSiteLinkConnections.

properties.internalMappings

VpnNatRuleMapping[]

The private IP address internal mapping for NAT.

properties.ipConfigurationId

string

The IP Configuration ID this NAT rule applies to.

properties.mode

VpnNatRuleMode

The Source NAT direction of a VPN NAT.

properties.provisioningState

ProvisioningState

The provisioning state of the NAT Rule resource.

properties.type

VpnNatRuleType

The type of NAT rule for VPN NAT.

type

string

Resource type.

VpnNatRuleMapping

Vpn NatRule mapping.

Name Type Description
addressSpace

string

Address space for Vpn NatRule mapping.

portRange

string

Port range for Vpn NatRule mapping.

VpnNatRuleMode

The Source NAT direction of a VPN NAT.

Name Type Description
EgressSnat

string

IngressSnat

string

VpnNatRuleType

The type of NAT rule for VPN NAT.

Name Type Description
Dynamic

string

Static

string