Description | : Creates or updates a virtual network gateway in the specified resource group. |
Reference | : Link ¶ |
⚶ Changes
{ "#id": "VirtualNetworkGateways_CreateOrUpdate", "$parameters": { "parameters": { "$properties": { "properties": [ { "vpnClientConfiguration": [ { "#name": "radiusServerSecret", "Description": { "new": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection. We will no longer return radiusServerSecret in VirtualNetworkGateway Create/Update/Get/List/UpdateTags APIs response. Please use VirtualNetworkGateway ListRadiusSecrets API to fetch radius server secrets.", "old": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection." } }, { "radiusServers": { "$properties": [ { "#name": "radiusServerSecret", "Description": { "new": "The secret used for this radius server. We will no longer return radiusServerSecret in VirtualNetworkGateway Create/Update/Get/List/UpdateTags APIs response. Please use VirtualNetworkGateway ListRadiusSecrets API to fetch radius server secrets.", "old": "The secret used for this radius server." } } ] } } ] } ] } } }, "$responses": { "200": { "$properties": { "properties": [ { "vpnClientConfiguration": [ { "#name": "radiusServerSecret", "Description": { "new": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection. We will no longer return radiusServerSecret in VirtualNetworkGateway Create/Update/Get/List/UpdateTags APIs response. Please use VirtualNetworkGateway ListRadiusSecrets API to fetch radius server secrets.", "old": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection." } }, { "radiusServers": { "$properties": [ { "#name": "radiusServerSecret", "Description": { "new": "The secret used for this radius server. We will no longer return radiusServerSecret in VirtualNetworkGateway Create/Update/Get/List/UpdateTags APIs response. Please use VirtualNetworkGateway ListRadiusSecrets API to fetch radius server secrets.", "old": "The secret used for this radius server." } } ] } } ] } ] } }, "201": { "$properties": { "properties": [ { "vpnClientConfiguration": [ { "#name": "radiusServerSecret", "Description": { "new": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection. We will no longer return radiusServerSecret in VirtualNetworkGateway Create/Update/Get/List/UpdateTags APIs response. Please use VirtualNetworkGateway ListRadiusSecrets API to fetch radius server secrets.", "old": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection." } }, { "radiusServers": { "$properties": [ { "#name": "radiusServerSecret", "Description": { "new": "The secret used for this radius server. We will no longer return radiusServerSecret in VirtualNetworkGateway Create/Update/Get/List/UpdateTags APIs response. Please use VirtualNetworkGateway ListRadiusSecrets API to fetch radius server secrets.", "old": "The secret used for this radius server." } } ] } } ] } ] } } } }
⚼ Request
PUT:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}
{
resourceGroupName:
string
,
virtualNetworkGatewayName:
string
,
parameters:
{
,
properties:
{
,
autoScaleConfiguration:
{
,
bounds:
}
{
,
min:
integer
,
max:
integer
,
}
ipConfigurations:
[
]
,
{
,
properties:
{
,
privateIPAllocationMethod:
enum
,
subnet:
{
,
id:
string
,
}
publicIPAddress:
{
,
id:
string
,
}
privateIPAddress:
string
,
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
gatewayType:
enum
,
vpnType:
enum
,
vpnGatewayGeneration:
enum
,
enableBgp:
boolean
,
enablePrivateIpAddress:
boolean
,
virtualNetworkGatewayMigrationStatus:
{
,
state:
enum
,
phase:
enum
,
errorMessage:
string
,
}
activeActive:
boolean
,
enableHighBandwidthVpnGateway:
boolean
,
disableIPSecReplayProtection:
boolean
,
gatewayDefaultSite:
{
,
id:
string
,
}
sku:
{
,
name:
enum
,
tier:
enum
,
capacity:
integer
,
}
vpnClientConfiguration:
{
,
vpnClientAddressPool:
{
,
addressPrefixes:
[
,
string
,
]
ipamPoolPrefixAllocations:
}
[
]
,
{
,
pool:
{
,
id:
string
,
}
numberOfIpAddresses:
string
,
allocatedAddressPrefixes:
}
[
,
string
,
]
vpnClientRootCertificates:
[
]
,
{
,
properties:
{
,
publicCertData:
string
,
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
vpnClientRevokedCertificates:
[
]
,
{
,
properties:
{
,
thumbprint:
string
,
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
vpnClientProtocols:
[
,
string
,
]
vpnAuthenticationTypes:
[
,
string
,
]
vpnClientIpsecPolicies:
[
]
,
{
,
saLifeTimeSeconds:
integer
,
saDataSizeKilobytes:
integer
,
ipsecEncryption:
enum
,
ipsecIntegrity:
enum
,
ikeEncryption:
enum
,
ikeIntegrity:
enum
,
dhGroup:
enum
,
pfsGroup:
enum
,
}
radiusServerAddress:
string
,
radiusServerSecret:
string
,
radiusServers:
[
]
,
{
,
radiusServerAddress:
string
,
radiusServerScore:
integer
,
radiusServerSecret:
string
,
}
aadTenant:
string
,
aadAudience:
string
,
aadIssuer:
string
,
vngClientConnectionConfigurations:
}
[
]
,
{
,
properties:
{
,
vpnClientAddressPool:
{
,
addressPrefixes:
[
,
string
,
]
ipamPoolPrefixAllocations:
}
[
]
,
{
,
pool:
{
,
id:
string
,
}
numberOfIpAddresses:
string
,
allocatedAddressPrefixes:
}
[
,
string
,
]
virtualNetworkGatewayPolicyGroups:
[
]
,
{
,
id:
string
,
}
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
virtualNetworkGatewayPolicyGroups:
[
]
,
{
,
properties:
{
,
isDefault:
boolean
,
priority:
integer
,
policyMembers:
[
]
,
{
,
name:
string
,
attributeType:
enum
,
attributeValue:
string
,
}
vngClientConnectionConfigurations:
[
]
,
{
,
id:
string
,
}
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
bgpSettings:
{
,
asn:
integer
,
bgpPeeringAddress:
string
,
peerWeight:
integer
,
bgpPeeringAddresses:
}
[
]
,
{
,
ipconfigurationId:
string
,
defaultBgpIpAddresses:
[
,
string
,
]
customBgpIpAddresses:
[
,
string
,
]
tunnelIpAddresses:
}
[
,
string
,
]
customRoutes:
{
,
addressPrefixes:
[
,
string
,
]
ipamPoolPrefixAllocations:
}
[
]
,
{
,
pool:
{
,
id:
string
,
}
numberOfIpAddresses:
string
,
allocatedAddressPrefixes:
}
[
,
string
,
]
resourceGuid:
string
,
provisioningState:
enum
,
enableDnsForwarding:
boolean
,
inboundDnsForwardingEndpoint:
string
,
vNetExtendedLocationResourceId:
string
,
natRules:
[
]
,
{
,
properties:
{
,
provisioningState:
enum
,
type:
enum
,
mode:
enum
,
internalMappings:
[
]
,
{
,
addressSpace:
string
,
portRange:
string
,
}
externalMappings:
[
]
,
{
,
addressSpace:
string
,
portRange:
string
,
}
ipConfigurationId:
string
,
}
name:
string
,
etag:
string
,
type:
string
,
}
enableBgpRouteTranslationForNat:
boolean
,
allowVirtualWanTraffic:
boolean
,
allowRemoteVnetTraffic:
boolean
,
adminState:
enum
,
resiliencyModel:
enum
,
}
extendedLocation:
{
,
name:
string
,
type:
enum
,
}
etag:
string
,
identity:
}
{
,
principalId:
string
,
tenantId:
string
,
type:
enum
,
userAssignedIdentities:
object
,
}
api-version:
string
,
subscriptionId:
string
,
}
⚐ Response (200)
{
properties:
{
,
autoScaleConfiguration:
{
,
bounds:
}
{
,
min:
integer
,
max:
integer
,
}
ipConfigurations:
[
]
,
{
,
properties:
{
,
privateIPAllocationMethod:
enum
,
subnet:
{
,
id:
string
,
}
publicIPAddress:
{
,
id:
string
,
}
privateIPAddress:
string
,
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
gatewayType:
enum
,
vpnType:
enum
,
vpnGatewayGeneration:
enum
,
enableBgp:
boolean
,
enablePrivateIpAddress:
boolean
,
virtualNetworkGatewayMigrationStatus:
{
,
state:
enum
,
phase:
enum
,
errorMessage:
string
,
}
activeActive:
boolean
,
enableHighBandwidthVpnGateway:
boolean
,
disableIPSecReplayProtection:
boolean
,
gatewayDefaultSite:
{
,
id:
string
,
}
sku:
{
,
name:
enum
,
tier:
enum
,
capacity:
integer
,
}
vpnClientConfiguration:
{
,
vpnClientAddressPool:
{
,
addressPrefixes:
[
,
string
,
]
ipamPoolPrefixAllocations:
}
[
]
,
{
,
pool:
{
,
id:
string
,
}
numberOfIpAddresses:
string
,
allocatedAddressPrefixes:
}
[
,
string
,
]
vpnClientRootCertificates:
[
]
,
{
,
properties:
{
,
publicCertData:
string
,
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
vpnClientRevokedCertificates:
[
]
,
{
,
properties:
{
,
thumbprint:
string
,
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
vpnClientProtocols:
[
,
string
,
]
vpnAuthenticationTypes:
[
,
string
,
]
vpnClientIpsecPolicies:
[
]
,
{
,
saLifeTimeSeconds:
integer
,
saDataSizeKilobytes:
integer
,
ipsecEncryption:
enum
,
ipsecIntegrity:
enum
,
ikeEncryption:
enum
,
ikeIntegrity:
enum
,
dhGroup:
enum
,
pfsGroup:
enum
,
}
radiusServerAddress:
string
,
radiusServerSecret:
string
,
radiusServers:
[
]
,
{
,
radiusServerAddress:
string
,
radiusServerScore:
integer
,
radiusServerSecret:
string
,
}
aadTenant:
string
,
aadAudience:
string
,
aadIssuer:
string
,
vngClientConnectionConfigurations:
}
[
]
,
{
,
properties:
{
,
vpnClientAddressPool:
{
,
addressPrefixes:
[
,
string
,
]
ipamPoolPrefixAllocations:
}
[
]
,
{
,
pool:
{
,
id:
string
,
}
numberOfIpAddresses:
string
,
allocatedAddressPrefixes:
}
[
,
string
,
]
virtualNetworkGatewayPolicyGroups:
[
]
,
{
,
id:
string
,
}
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
virtualNetworkGatewayPolicyGroups:
[
]
,
{
,
properties:
{
,
isDefault:
boolean
,
priority:
integer
,
policyMembers:
[
]
,
{
,
name:
string
,
attributeType:
enum
,
attributeValue:
string
,
}
vngClientConnectionConfigurations:
[
]
,
{
,
id:
string
,
}
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
bgpSettings:
{
,
asn:
integer
,
bgpPeeringAddress:
string
,
peerWeight:
integer
,
bgpPeeringAddresses:
}
[
]
,
{
,
ipconfigurationId:
string
,
defaultBgpIpAddresses:
[
,
string
,
]
customBgpIpAddresses:
[
,
string
,
]
tunnelIpAddresses:
}
[
,
string
,
]
customRoutes:
{
,
addressPrefixes:
[
,
string
,
]
ipamPoolPrefixAllocations:
}
[
]
,
{
,
pool:
{
,
id:
string
,
}
numberOfIpAddresses:
string
,
allocatedAddressPrefixes:
}
[
,
string
,
]
resourceGuid:
string
,
provisioningState:
enum
,
enableDnsForwarding:
boolean
,
inboundDnsForwardingEndpoint:
string
,
vNetExtendedLocationResourceId:
string
,
natRules:
[
]
,
{
,
properties:
{
,
provisioningState:
enum
,
type:
enum
,
mode:
enum
,
internalMappings:
[
]
,
{
,
addressSpace:
string
,
portRange:
string
,
}
externalMappings:
[
]
,
{
,
addressSpace:
string
,
portRange:
string
,
}
ipConfigurationId:
string
,
}
name:
string
,
etag:
string
,
type:
string
,
}
enableBgpRouteTranslationForNat:
boolean
,
allowVirtualWanTraffic:
boolean
,
allowRemoteVnetTraffic:
boolean
,
adminState:
enum
,
resiliencyModel:
enum
,
}
extendedLocation:
{
,
name:
string
,
type:
enum
,
}
etag:
string
,
identity:
}
{
,
principalId:
string
,
tenantId:
string
,
type:
enum
,
userAssignedIdentities:
object
,
}
⚐ Response (201)
{
properties:
{
,
autoScaleConfiguration:
{
,
bounds:
}
{
,
min:
integer
,
max:
integer
,
}
ipConfigurations:
[
]
,
{
,
properties:
{
,
privateIPAllocationMethod:
enum
,
subnet:
{
,
id:
string
,
}
publicIPAddress:
{
,
id:
string
,
}
privateIPAddress:
string
,
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
gatewayType:
enum
,
vpnType:
enum
,
vpnGatewayGeneration:
enum
,
enableBgp:
boolean
,
enablePrivateIpAddress:
boolean
,
virtualNetworkGatewayMigrationStatus:
{
,
state:
enum
,
phase:
enum
,
errorMessage:
string
,
}
activeActive:
boolean
,
enableHighBandwidthVpnGateway:
boolean
,
disableIPSecReplayProtection:
boolean
,
gatewayDefaultSite:
{
,
id:
string
,
}
sku:
{
,
name:
enum
,
tier:
enum
,
capacity:
integer
,
}
vpnClientConfiguration:
{
,
vpnClientAddressPool:
{
,
addressPrefixes:
[
,
string
,
]
ipamPoolPrefixAllocations:
}
[
]
,
{
,
pool:
{
,
id:
string
,
}
numberOfIpAddresses:
string
,
allocatedAddressPrefixes:
}
[
,
string
,
]
vpnClientRootCertificates:
[
]
,
{
,
properties:
{
,
publicCertData:
string
,
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
vpnClientRevokedCertificates:
[
]
,
{
,
properties:
{
,
thumbprint:
string
,
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
vpnClientProtocols:
[
,
string
,
]
vpnAuthenticationTypes:
[
,
string
,
]
vpnClientIpsecPolicies:
[
]
,
{
,
saLifeTimeSeconds:
integer
,
saDataSizeKilobytes:
integer
,
ipsecEncryption:
enum
,
ipsecIntegrity:
enum
,
ikeEncryption:
enum
,
ikeIntegrity:
enum
,
dhGroup:
enum
,
pfsGroup:
enum
,
}
radiusServerAddress:
string
,
radiusServerSecret:
string
,
radiusServers:
[
]
,
{
,
radiusServerAddress:
string
,
radiusServerScore:
integer
,
radiusServerSecret:
string
,
}
aadTenant:
string
,
aadAudience:
string
,
aadIssuer:
string
,
vngClientConnectionConfigurations:
}
[
]
,
{
,
properties:
{
,
vpnClientAddressPool:
{
,
addressPrefixes:
[
,
string
,
]
ipamPoolPrefixAllocations:
}
[
]
,
{
,
pool:
{
,
id:
string
,
}
numberOfIpAddresses:
string
,
allocatedAddressPrefixes:
}
[
,
string
,
]
virtualNetworkGatewayPolicyGroups:
[
]
,
{
,
id:
string
,
}
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
virtualNetworkGatewayPolicyGroups:
[
]
,
{
,
properties:
{
,
isDefault:
boolean
,
priority:
integer
,
policyMembers:
[
]
,
{
,
name:
string
,
attributeType:
enum
,
attributeValue:
string
,
}
vngClientConnectionConfigurations:
[
]
,
{
,
id:
string
,
}
provisioningState:
enum
,
}
name:
string
,
etag:
string
,
}
bgpSettings:
{
,
asn:
integer
,
bgpPeeringAddress:
string
,
peerWeight:
integer
,
bgpPeeringAddresses:
}
[
]
,
{
,
ipconfigurationId:
string
,
defaultBgpIpAddresses:
[
,
string
,
]
customBgpIpAddresses:
[
,
string
,
]
tunnelIpAddresses:
}
[
,
string
,
]
customRoutes:
{
,
addressPrefixes:
[
,
string
,
]
ipamPoolPrefixAllocations:
}
[
]
,
{
,
pool:
{
,
id:
string
,
}
numberOfIpAddresses:
string
,
allocatedAddressPrefixes:
}
[
,
string
,
]
resourceGuid:
string
,
provisioningState:
enum
,
enableDnsForwarding:
boolean
,
inboundDnsForwardingEndpoint:
string
,
vNetExtendedLocationResourceId:
string
,
natRules:
[
]
,
{
,
properties:
{
,
provisioningState:
enum
,
type:
enum
,
mode:
enum
,
internalMappings:
[
]
,
{
,
addressSpace:
string
,
portRange:
string
,
}
externalMappings:
[
]
,
{
,
addressSpace:
string
,
portRange:
string
,
}
ipConfigurationId:
string
,
}
name:
string
,
etag:
string
,
type:
string
,
}
enableBgpRouteTranslationForNat:
boolean
,
allowVirtualWanTraffic:
boolean
,
allowRemoteVnetTraffic:
boolean
,
adminState:
enum
,
resiliencyModel:
enum
,
}
extendedLocation:
{
,
name:
string
,
type:
enum
,
}
etag:
string
,
identity:
}
{
,
principalId:
string
,
tenantId:
string
,
type:
enum
,
userAssignedIdentities:
object
,
}
⚐ Response (default)
{
error:
}
{
,
code:
string
,
message:
string
,
target:
string
,
details:
}
[
,
string
,
]