Creates or updates a nat gateway.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}?api-version=2025-07-01
URI Parameters
| Name |
In |
Required |
Type |
Description |
|
natGatewayName
|
path |
True
|
string
|
The name of the nat gateway.
|
|
resourceGroupName
|
path |
True
|
string
minLength: 1 maxLength: 90
|
The name of the resource group. The name is case insensitive.
|
|
subscriptionId
|
path |
True
|
string
(uuid)
|
The ID of the target subscription. The value must be an UUID.
|
|
api-version
|
query |
True
|
string
minLength: 1
|
The API version to use for this operation.
|
Request Body
| Name |
Type |
Description |
|
id
|
string
|
Resource ID.
|
|
location
|
string
|
Resource location.
|
|
properties.idleTimeoutInMinutes
|
integer
(int32)
|
The idle timeout of the nat gateway.
|
|
properties.nat64
|
Nat64State
|
Whether Nat64 is enabled for the NAT gateway resource.
|
|
properties.publicIpAddresses
|
SubResource[]
|
An array of public ip addresses V4 associated with the nat gateway resource.
|
|
properties.publicIpAddressesV6
|
SubResource[]
|
An array of public ip addresses V6 associated with the nat gateway resource.
|
|
properties.publicIpPrefixes
|
SubResource[]
|
An array of public ip prefixes V4 associated with the nat gateway resource.
|
|
properties.publicIpPrefixesV6
|
SubResource[]
|
An array of public ip prefixes V6 associated with the nat gateway resource.
|
|
properties.serviceGateway
|
SubResource
|
Reference to an existing service gateway.
|
|
properties.sourceVirtualNetwork
|
SubResource
|
A reference to the source virtual network using this nat gateway resource.
|
|
sku
|
NatGatewaySku
|
The nat gateway SKU.
|
|
tags
|
object
|
Resource tags.
|
|
zones
|
string[]
|
A list of availability zones denoting the zone in which Nat Gateway should be deployed.
|
Responses
| Name |
Type |
Description |
|
200 OK
|
NatGateway
|
Resource 'NatGateway' update operation succeeded
|
|
201 Created
|
NatGateway
|
Resource 'NatGateway' create operation succeeded
Headers
Retry-After: integer
|
|
202 Accepted
|
|
The request has been accepted for processing, but processing has not yet completed.
Headers
- Azure-AsyncOperation: string
- Retry-After: integer
|
|
Other Status Codes
|
CloudError
|
An unexpected error response.
|
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
Create nat gateway
Sample request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natgateway?api-version=2025-07-01
{
"location": "westus",
"properties": {
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
]
},
"sku": {
"name": "Standard"
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.NatGatewayInner;
import com.azure.resourcemanager.network.models.NatGatewaySku;
import com.azure.resourcemanager.network.models.NatGatewaySkuName;
import java.util.Arrays;
/**
* Samples for NatGateways CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2025-07-01/NatGatewayCreateOrUpdate.json
*/
/**
* Sample code: Create nat gateway.
*
* @param manager Entry point to NetworkManager.
*/
public static void createNatGateway(com.azure.resourcemanager.network.NetworkManager manager) {
manager.serviceClient().getNatGateways().createOrUpdate("rg1", "test-natgateway", new NatGatewayInner()
.withLocation("westus").withSku(new NatGatewaySku().withName(NatGatewaySkuName.STANDARD))
.withPublicIpAddresses(Arrays.asList(new SubResource().withId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1")))
.withPublicIpPrefixes(Arrays.asList(new SubResource().withId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python nat_gateway_create_or_update.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.nat_gateways.begin_create_or_update(
resource_group_name="rg1",
nat_gateway_name="test-natgateway",
parameters={
"location": "westus",
"properties": {
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2025-07-01/NatGatewayCreateOrUpdate.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v10"
)
// Generated from example definition: 2025-07-01/NatGatewayCreateOrUpdate.json
func ExampleNatGatewaysClient_BeginCreateOrUpdate_createNatGateway() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewNatGatewaysClient().BeginCreateOrUpdate(ctx, "rg1", "test-natgateway", armnetwork.NatGateway{
Location: to.Ptr("westus"),
Properties: &armnetwork.NatGatewayPropertiesFormat{
PublicIPAddresses: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"),
},
},
PublicIPPrefixes: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"),
},
},
},
SKU: &armnetwork.NatGatewaySKU{
Name: to.Ptr(armnetwork.NatGatewaySKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armnetwork.NatGatewaysClientCreateOrUpdateResponse{
// NatGateway: armnetwork.NatGateway{
// Name: to.Ptr("test-natGateway"),
// Type: to.Ptr("Microsoft.Network/natGateways"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway"),
// Location: to.Ptr("westus"),
// Properties: &armnetwork.NatGatewayPropertiesFormat{
// IdleTimeoutInMinutes: to.Ptr[int32](5),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// PublicIPAddresses: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"),
// },
// },
// PublicIPPrefixes: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"),
// },
// },
// Subnets: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"),
// },
// },
// },
// SKU: &armnetwork.NatGatewaySKU{
// Name: to.Ptr(armnetwork.NatGatewaySKUNameStandard),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a nat gateway.
*
* @summary creates or updates a nat gateway.
* x-ms-original-file: 2025-07-01/NatGatewayCreateOrUpdate.json
*/
async function createNatGateway() {
const credential = new DefaultAzureCredential();
const subscriptionId = "00000000-0000-0000-0000-000000000000";
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.natGateways.createOrUpdate("rg1", "test-natgateway", {
location: "westus",
publicIpAddresses: [
{
id: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1",
},
],
publicIpPrefixes: [
{
id: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1",
},
],
sku: { name: "Standard" },
});
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"name": "test-natGateway",
"type": "Microsoft.Network/natGateways",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
"location": "westus",
"properties": {
"idleTimeoutInMinutes": 5,
"provisioningState": "Succeeded",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"subnets": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
}
]
},
"sku": {
"name": "Standard"
}
}
{
"name": "test-natGateway",
"type": "Microsoft.Network/natGateways",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
"location": "westus",
"properties": {
"idleTimeoutInMinutes": 5,
"provisioningState": "Succeeded",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"subnets": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
}
]
},
"sku": {
"name": "Standard"
}
}
Create nat gateway with nat64
Sample request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natgateway?api-version=2025-07-01
{
"location": "westus",
"properties": {
"nat64": "Enabled",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
]
},
"sku": {
"name": "Standard"
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.NatGatewayInner;
import com.azure.resourcemanager.network.models.Nat64State;
import com.azure.resourcemanager.network.models.NatGatewaySku;
import com.azure.resourcemanager.network.models.NatGatewaySkuName;
import java.util.Arrays;
/**
* Samples for NatGateways CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2025-07-01/NatGatewayWithNat64CreateOrUpdate.json
*/
/**
* Sample code: Create nat gateway with nat64.
*
* @param manager Entry point to NetworkManager.
*/
public static void createNatGatewayWithNat64(com.azure.resourcemanager.network.NetworkManager manager) {
manager.serviceClient().getNatGateways().createOrUpdate("rg1", "test-natgateway", new NatGatewayInner()
.withLocation("westus").withSku(new NatGatewaySku().withName(NatGatewaySkuName.STANDARD))
.withPublicIpAddresses(Arrays.asList(new SubResource().withId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1")))
.withPublicIpPrefixes(Arrays.asList(new SubResource().withId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1")))
.withNat64(Nat64State.ENABLED), com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python nat_gateway_with_nat64_create_or_update.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.nat_gateways.begin_create_or_update(
resource_group_name="rg1",
nat_gateway_name="test-natgateway",
parameters={
"location": "westus",
"properties": {
"nat64": "Enabled",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2025-07-01/NatGatewayWithNat64CreateOrUpdate.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v10"
)
// Generated from example definition: 2025-07-01/NatGatewayWithNat64CreateOrUpdate.json
func ExampleNatGatewaysClient_BeginCreateOrUpdate_createNatGatewayWithNat64() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewNatGatewaysClient().BeginCreateOrUpdate(ctx, "rg1", "test-natgateway", armnetwork.NatGateway{
Location: to.Ptr("westus"),
Properties: &armnetwork.NatGatewayPropertiesFormat{
Nat64: to.Ptr(armnetwork.Nat64StateEnabled),
PublicIPAddresses: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"),
},
},
PublicIPPrefixes: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"),
},
},
},
SKU: &armnetwork.NatGatewaySKU{
Name: to.Ptr(armnetwork.NatGatewaySKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armnetwork.NatGatewaysClientCreateOrUpdateResponse{
// NatGateway: armnetwork.NatGateway{
// Name: to.Ptr("test-natGateway"),
// Type: to.Ptr("Microsoft.Network/natGateways"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway"),
// Location: to.Ptr("westus"),
// Properties: &armnetwork.NatGatewayPropertiesFormat{
// IdleTimeoutInMinutes: to.Ptr[int32](5),
// Nat64: to.Ptr(armnetwork.Nat64StateEnabled),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// PublicIPAddresses: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"),
// },
// },
// PublicIPPrefixes: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"),
// },
// },
// Subnets: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"),
// },
// },
// },
// SKU: &armnetwork.NatGatewaySKU{
// Name: to.Ptr(armnetwork.NatGatewaySKUNameStandard),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a nat gateway.
*
* @summary creates or updates a nat gateway.
* x-ms-original-file: 2025-07-01/NatGatewayWithNat64CreateOrUpdate.json
*/
async function createNatGatewayWithNat64() {
const credential = new DefaultAzureCredential();
const subscriptionId = "00000000-0000-0000-0000-000000000000";
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.natGateways.createOrUpdate("rg1", "test-natgateway", {
location: "westus",
nat64: "Enabled",
publicIpAddresses: [
{
id: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1",
},
],
publicIpPrefixes: [
{
id: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1",
},
],
sku: { name: "Standard" },
});
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"name": "test-natGateway",
"type": "Microsoft.Network/natGateways",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
"location": "westus",
"properties": {
"idleTimeoutInMinutes": 5,
"nat64": "Enabled",
"provisioningState": "Succeeded",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"subnets": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
}
]
},
"sku": {
"name": "Standard"
}
}
{
"name": "test-natGateway",
"type": "Microsoft.Network/natGateways",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
"location": "westus",
"properties": {
"idleTimeoutInMinutes": 5,
"nat64": "Enabled",
"provisioningState": "Succeeded",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"subnets": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
}
]
},
"sku": {
"name": "Standard"
}
}
Create nat gateway with service gateway
Sample request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natgateway?api-version=2025-07-01
{
"location": "westus",
"properties": {
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"serviceGateway": {
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/serviceGateways/SG1"
}
},
"sku": {
"name": "Standard"
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.NatGatewayInner;
import com.azure.resourcemanager.network.models.NatGatewaySku;
import com.azure.resourcemanager.network.models.NatGatewaySkuName;
import java.util.Arrays;
/**
* Samples for NatGateways CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2025-07-01/NatGatewayWithServiceGatewayCreateOrUpdate.json
*/
/**
* Sample code: Create nat gateway with service gateway.
*
* @param manager Entry point to NetworkManager.
*/
public static void createNatGatewayWithServiceGateway(com.azure.resourcemanager.network.NetworkManager manager) {
manager.serviceClient().getNatGateways().createOrUpdate("rg1", "test-natgateway", new NatGatewayInner()
.withLocation("westus").withSku(new NatGatewaySku().withName(NatGatewaySkuName.STANDARD))
.withPublicIpAddresses(Arrays.asList(new SubResource().withId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1")))
.withPublicIpPrefixes(Arrays.asList(new SubResource().withId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1")))
.withServiceGateway(new SubResource().withId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/serviceGateways/SG1")),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python nat_gateway_with_service_gateway_create_or_update.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.nat_gateways.begin_create_or_update(
resource_group_name="rg1",
nat_gateway_name="test-natgateway",
parameters={
"location": "westus",
"properties": {
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"serviceGateway": {
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/serviceGateways/SG1"
},
},
"sku": {"name": "Standard"},
},
).result()
print(response)
# x-ms-original-file: 2025-07-01/NatGatewayWithServiceGatewayCreateOrUpdate.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v10"
)
// Generated from example definition: 2025-07-01/NatGatewayWithServiceGatewayCreateOrUpdate.json
func ExampleNatGatewaysClient_BeginCreateOrUpdate_createNatGatewayWithServiceGateway() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewNatGatewaysClient().BeginCreateOrUpdate(ctx, "rg1", "test-natgateway", armnetwork.NatGateway{
Location: to.Ptr("westus"),
Properties: &armnetwork.NatGatewayPropertiesFormat{
PublicIPAddresses: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"),
},
},
PublicIPPrefixes: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"),
},
},
ServiceGateway: &armnetwork.SubResource{
ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/serviceGateways/SG1"),
},
},
SKU: &armnetwork.NatGatewaySKU{
Name: to.Ptr(armnetwork.NatGatewaySKUNameStandard),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armnetwork.NatGatewaysClientCreateOrUpdateResponse{
// NatGateway: armnetwork.NatGateway{
// Name: to.Ptr("test-natGateway"),
// Type: to.Ptr("Microsoft.Network/natGateways"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway"),
// Location: to.Ptr("westus"),
// Properties: &armnetwork.NatGatewayPropertiesFormat{
// IdleTimeoutInMinutes: to.Ptr[int32](5),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// PublicIPAddresses: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"),
// },
// },
// PublicIPPrefixes: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"),
// },
// },
// ServiceGateway: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/serviceGateways/SG1"),
// },
// },
// SKU: &armnetwork.NatGatewaySKU{
// Name: to.Ptr(armnetwork.NatGatewaySKUNameStandard),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a nat gateway.
*
* @summary creates or updates a nat gateway.
* x-ms-original-file: 2025-07-01/NatGatewayWithServiceGatewayCreateOrUpdate.json
*/
async function createNatGatewayWithServiceGateway() {
const credential = new DefaultAzureCredential();
const subscriptionId = "00000000-0000-0000-0000-000000000000";
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.natGateways.createOrUpdate("rg1", "test-natgateway", {
location: "westus",
publicIpAddresses: [
{
id: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1",
},
],
publicIpPrefixes: [
{
id: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1",
},
],
serviceGateway: {
id: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/serviceGateways/SG1",
},
sku: { name: "Standard" },
});
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"name": "test-natGateway",
"type": "Microsoft.Network/natGateways",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
"location": "westus",
"properties": {
"idleTimeoutInMinutes": 5,
"provisioningState": "Succeeded",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"serviceGateway": {
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/serviceGateways/SG1"
}
},
"sku": {
"name": "Standard"
}
}
{
"name": "test-natGateway",
"type": "Microsoft.Network/natGateways",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
"location": "westus",
"properties": {
"idleTimeoutInMinutes": 5,
"provisioningState": "Succeeded",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"serviceGateway": {
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/serviceGateways/SG1"
}
},
"sku": {
"name": "Standard"
}
}
Create nat gateway with StandardV2 Sku
Sample request
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natgateway?api-version=2025-07-01
{
"location": "westus",
"properties": {
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
]
},
"sku": {
"name": "StandardV2"
}
}
import com.azure.core.management.SubResource;
import com.azure.resourcemanager.network.fluent.models.NatGatewayInner;
import com.azure.resourcemanager.network.models.NatGatewaySku;
import com.azure.resourcemanager.network.models.NatGatewaySkuName;
import java.util.Arrays;
/**
* Samples for NatGateways CreateOrUpdate.
*/
public final class Main {
/*
* x-ms-original-file: 2025-07-01/NatGatewayCreateOrUpdateStandardV2Sku.json
*/
/**
* Sample code: Create nat gateway with StandardV2 Sku.
*
* @param manager Entry point to NetworkManager.
*/
public static void createNatGatewayWithStandardV2Sku(com.azure.resourcemanager.network.NetworkManager manager) {
manager.serviceClient().getNatGateways().createOrUpdate("rg1", "test-natgateway", new NatGatewayInner()
.withLocation("westus").withSku(new NatGatewaySku().withName(NatGatewaySkuName.STANDARD_V2))
.withPublicIpAddresses(Arrays.asList(new SubResource().withId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1")))
.withPublicIpPrefixes(Arrays.asList(new SubResource().withId(
"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"))),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.network import NetworkManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-network
# USAGE
python nat_gateway_create_or_update_standard_v2_sku.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = NetworkManagementClient(
credential=DefaultAzureCredential(),
subscription_id="SUBSCRIPTION_ID",
)
response = client.nat_gateways.begin_create_or_update(
resource_group_name="rg1",
nat_gateway_name="test-natgateway",
parameters={
"location": "westus",
"properties": {
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
},
"sku": {"name": "StandardV2"},
},
).result()
print(response)
# x-ms-original-file: 2025-07-01/NatGatewayCreateOrUpdateStandardV2Sku.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armnetwork_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v10"
)
// Generated from example definition: 2025-07-01/NatGatewayCreateOrUpdateStandardV2Sku.json
func ExampleNatGatewaysClient_BeginCreateOrUpdate_createNatGatewayWithStandardV2Sku() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armnetwork.NewClientFactory("00000000-0000-0000-0000-000000000000", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewNatGatewaysClient().BeginCreateOrUpdate(ctx, "rg1", "test-natgateway", armnetwork.NatGateway{
Location: to.Ptr("westus"),
Properties: &armnetwork.NatGatewayPropertiesFormat{
PublicIPAddresses: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"),
},
},
PublicIPPrefixes: []*armnetwork.SubResource{
{
ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"),
},
},
},
SKU: &armnetwork.NatGatewaySKU{
Name: to.Ptr(armnetwork.NatGatewaySKUNameStandardV2),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
res, err := poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to poll the result: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res = armnetwork.NatGatewaysClientCreateOrUpdateResponse{
// NatGateway: armnetwork.NatGateway{
// Name: to.Ptr("test-natGateway"),
// Type: to.Ptr("Microsoft.Network/natGateways"),
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway"),
// Location: to.Ptr("westus"),
// Properties: &armnetwork.NatGatewayPropertiesFormat{
// IdleTimeoutInMinutes: to.Ptr[int32](5),
// ProvisioningState: to.Ptr(armnetwork.ProvisioningStateSucceeded),
// PublicIPAddresses: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"),
// },
// },
// PublicIPPrefixes: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"),
// },
// },
// SourceVirtualNetwork: &armnetwork.SubResource{
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"),
// },
// Subnets: []*armnetwork.SubResource{
// {
// ID: to.Ptr("/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"),
// },
// },
// },
// SKU: &armnetwork.NatGatewaySKU{
// Name: to.Ptr(armnetwork.NatGatewaySKUNameStandardV2),
// },
// },
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { NetworkManagementClient } = require("@azure/arm-network");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to creates or updates a nat gateway.
*
* @summary creates or updates a nat gateway.
* x-ms-original-file: 2025-07-01/NatGatewayCreateOrUpdateStandardV2Sku.json
*/
async function createNatGatewayWithStandardV2Sku() {
const credential = new DefaultAzureCredential();
const subscriptionId = "00000000-0000-0000-0000-000000000000";
const client = new NetworkManagementClient(credential, subscriptionId);
const result = await client.natGateways.createOrUpdate("rg1", "test-natgateway", {
location: "westus",
publicIpAddresses: [
{
id: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1",
},
],
publicIpPrefixes: [
{
id: "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1",
},
],
sku: { name: "StandardV2" },
});
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample response
{
"name": "test-natGateway",
"type": "Microsoft.Network/natGateways",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
"location": "westus",
"properties": {
"idleTimeoutInMinutes": 5,
"provisioningState": "Succeeded",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"sourceVirtualNetwork": {
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
},
"subnets": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
}
]
},
"sku": {
"name": "StandardV2"
}
}
{
"name": "test-natGateway",
"type": "Microsoft.Network/natGateways",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/natGateways/test-natGateway",
"location": "westus",
"properties": {
"idleTimeoutInMinutes": 5,
"provisioningState": "Succeeded",
"publicIpAddresses": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress1"
}
],
"publicIpAddressesV6": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/PublicIpAddress2"
}
],
"publicIpPrefixes": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix1"
}
],
"publicIpPrefixesV6": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/publicIPPrefixes/PublicIpPrefix2"
}
],
"sourceVirtualNetwork": {
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet"
},
"subnets": [
{
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1"
}
]
},
"sku": {
"name": "StandardV2"
}
}
Definitions
CloudError
Object
An error response from the service.
CloudErrorBody
Object
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.
|
Nat64State
Enumeration
Whether Nat64 is enabled for the NAT gateway resource.
| Value |
Description |
|
None
|
Nat64 Property is not set.
|
|
Enabled
|
Nat64 is enabled.
|
|
Disabled
|
Nat64 is disabled.
|
NatGateway
Object
Nat Gateway resource.
| Name |
Type |
Description |
|
etag
|
string
|
A unique read-only string that changes whenever the resource is updated.
|
|
id
|
string
|
Resource ID.
|
|
location
|
string
|
Resource location.
|
|
name
|
string
|
Resource name.
|
|
properties.idleTimeoutInMinutes
|
integer
(int32)
|
The idle timeout of the nat gateway.
|
|
properties.nat64
|
Nat64State
|
Whether Nat64 is enabled for the NAT gateway resource.
|
|
properties.provisioningState
|
ProvisioningState
|
The provisioning state of the NAT gateway resource.
|
|
properties.publicIpAddresses
|
SubResource[]
|
An array of public ip addresses V4 associated with the nat gateway resource.
|
|
properties.publicIpAddressesV6
|
SubResource[]
|
An array of public ip addresses V6 associated with the nat gateway resource.
|
|
properties.publicIpPrefixes
|
SubResource[]
|
An array of public ip prefixes V4 associated with the nat gateway resource.
|
|
properties.publicIpPrefixesV6
|
SubResource[]
|
An array of public ip prefixes V6 associated with the nat gateway resource.
|
|
properties.resourceGuid
|
string
|
The resource GUID property of the NAT gateway resource.
|
|
properties.serviceGateway
|
SubResource
|
Reference to an existing service gateway.
|
|
properties.sourceVirtualNetwork
|
SubResource
|
A reference to the source virtual network using this nat gateway resource.
|
|
properties.subnets
|
SubResource[]
|
An array of references to the subnets using this nat gateway resource.
|
|
sku
|
NatGatewaySku
|
The nat gateway SKU.
|
|
tags
|
object
|
Resource tags.
|
|
type
|
string
|
Resource type.
|
|
zones
|
string[]
|
A list of availability zones denoting the zone in which Nat Gateway should be deployed.
|
NatGatewaySku
Object
SKU of nat gateway.
NatGatewaySkuName
Enumeration
Name of Nat Gateway SKU.
| Value |
Description |
|
Standard
|
Standard
|
|
StandardV2
|
StandardV2
|
ProvisioningState
Enumeration
Provisioning states of a resource.
| Value |
Description |
|
Failed
|
Failed
|
|
Succeeded
|
Succeeded
|
|
Canceled
|
Canceled
|
|
Creating
|
Creating
|
|
Updating
|
Updating
|
|
Deleting
|
Deleting
|
SubResource
Object
Reference to another subresource.
| Name |
Type |
Description |
|
id
|
string
|
Resource ID.
|