Update-AzVpnGateway

Updates a scalable VPN gateway.

Syntax

Update-AzVpnGateway
      -ResourceGroupName <String>
      -Name <String>
      [-VpnConnection <PSVpnConnection[]>]
      [-VpnGatewayNatRule <PSVpnGatewayNatRule[]>]
      [-VpnGatewayScaleUnit <UInt32>]
      [-BgpPeeringAddress <PSIpConfigurationBgpPeeringAddress[]>]
      [-EnableBgpRouteTranslationForNat <Boolean>]
      [-Tag <Hashtable>]
      [-Asn <UInt32>]
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzVpnGateway
      -InputObject <PSVpnGateway>
      [-VpnConnection <PSVpnConnection[]>]
      [-VpnGatewayNatRule <PSVpnGatewayNatRule[]>]
      [-VpnGatewayScaleUnit <UInt32>]
      [-BgpPeeringAddress <PSIpConfigurationBgpPeeringAddress[]>]
      [-EnableBgpRouteTranslationForNat <Boolean>]
      [-Tag <Hashtable>]
      [-Asn <UInt32>]
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-AzVpnGateway
      -ResourceId <String>
      [-VpnConnection <PSVpnConnection[]>]
      [-VpnGatewayNatRule <PSVpnGatewayNatRule[]>]
      [-VpnGatewayScaleUnit <UInt32>]
      [-BgpPeeringAddress <PSIpConfigurationBgpPeeringAddress[]>]
      [-EnableBgpRouteTranslationForNat <Boolean>]
      [-Tag <Hashtable>]
      [-Asn <UInt32>]
      [-AsJob]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

The Update-AzVpnGateway cmdlet updates a scalable VPN gateway.
An Azure VPN gateway is a software defined connectivity for site to site connections inside the VirtualHub. This gateway resizes and scales based on the scale unit specified by the user. A connection can be set up from a branch/site known as VPN site to the scalable gateway. Each connection comprises of 2 Active-Active tunnels

Examples

Example 1

New-AzResourceGroup -Location "West US" -Name "testRG"
$virtualWan = New-AzVirtualWan -ResourceGroupName testRG -Name myVirtualWAN -Location "West US"
$virtualHub = New-AzVirtualHub -VirtualWan $virtualWan -ResourceGroupName "testRG" -Name "westushub" -AddressPrefix "10.0.0.1/24"
$vpnGateway = New-AzVpnGateway -ResourceGroupName "testRG" -Name "testvpngw" -VirtualHubId $virtualHub.Id -VpnGatewayScaleUnit 2
Update-AzVpnGateway -ResourceGroupName "testRG" -Name "testvpngw" -VpnGatewayScaleUnit 3

ResourceGroupName   : testRG
Name                : testvpngw
Id                  : /subscriptions/{subscriptionId}/resourceGroups/testRG/providers/Microsoft.Network/vpnGateways/testvpngw
Location            : West US
VpnGatewayScaleUnit : 3
VirtualHub          : /subscriptions/{subscriptionId}/resourceGroups/Ali_pS_Test/providers/Microsoft.Network/virtualHubs/westushub
BgpSettings         : {}
Type                : Microsoft.Network/vpnGateways
ProvisioningState   : Succeeded

The above will create a resource group, Virtual WAN, Virtual Network, Virtual Hub in West US in "testRG" resource group in Azure. A VPN gateway will be created thereafter in the Virtual Hub with 2 scale units.

After the gateway has been created, it uses Update-AzVpnGateway to upgrade the gateway to 3 scale units.

Example 2

New-AzResourceGroup -Location "West US" -Name "testRG"
$virtualWan = New-AzVirtualWan -ResourceGroupName testRG -Name myVirtualWAN -Location "West US"
$virtualHub = New-AzVirtualHub -VirtualWan $virtualWan -ResourceGroupName "testRG" -Name "westushub" -AddressPrefix "10.0.0.1/24"
$vpnGateway = New-AzVpnGateway -ResourceGroupName "testRG" -Name "testvpngw" -VirtualHubId $virtualHub.Id -VpnGatewayScaleUnit 2
$ipconfigurationId1 = 'Instance0'
$addresslist1 = @('169.254.21.5')
$gw1ipconfBgp1 = New-AzIpConfigurationBgpPeeringAddressObject -IpConfigurationId $ipconfigurationId1 -CustomAddress $addresslist1
$ipconfigurationId2 = 'Instance1'
$addresslist2 = @('169.254.21.10')
$gw1ipconfBgp2 = New-AzIpConfigurationBgpPeeringAddressObject -IpConfigurationId $ipconfigurationId2 -CustomAddress $addresslist2
$gw = Get-AzVpnGateway -ResourceGroupName testRg -Name testgw
Update-AzVpnGateway -ResourceGroupName "testRG" -Name "testvpngw" -BgpPeeringAddress @($gw1ipconfBgp1,$gw1ipconfBgp2)

ResourceGroupName   : testRG
Name                : testvpngw
Id                  : /subscriptions/{subscriptionId}/resourceGroups/testRG/providers/Microsoft.Network/vpnGateways/testvpngw
Location            : West US
VpnGatewayScaleUnit : 3
VirtualHub          : /subscriptions/{subscriptionId}/resourceGroups/Ali_pS_Test/providers/Microsoft.Network/virtualHubs/westushub
BgpSettings         : {}
Type                : Microsoft.Network/vpnGateways
ProvisioningState   : Succeeded

The above will create a resource group, Virtual WAN, Virtual Network, Virtual Hub in West US in "testRG" resource group in Azure. A VPN gateway will be created thereafter in the Virtual Hub with 2 scale units.

After the gateway has been created, it uses Set-AzVpnGateway to update BgpPeeringAddress.

Example 3

$gw = Get-AzVpnGateway -ResourceGroupName "testRg" -Name "testgw"
$gw.BgpSettings.BgpPeeringAddresses
$gw.BgpSettings.BgpPeeringAddresses[0].CustomBgpIpAddresses=$null
$gw.BgpSettings.BgpPeeringAddresses[1].CustomBgpIpAddresses=$null
$gw.BgpSettings.BgpPeeringAddresses
Update-AzVpnGateway -InputObject $gw

The above example will update the Virtual WAN VPN Gateway to use the default BgpPeeringAddress.

Example 4

New-AzResourceGroup -Location "West US" -Name "testRG"
$virtualWan = New-AzVirtualWan -ResourceGroupName testRG -Name myVirtualWAN -Location "West US"
$virtualHub = New-AzVirtualHub -VirtualWan $virtualWan -ResourceGroupName "testRG" -Name "westushub" -AddressPrefix "10.0.0.1/24"
$vpnGateway = New-AzVpnGateway -ResourceGroupName "testRG" -Name "testvpngw" -VirtualHubId $virtualHub.Id -VpnGatewayScaleUnit 2
$ipconfigurationId1 = 'Instance0'
$addresslist1 = @()
$gw1ipconfBgp1 = New-AzIpConfigurationBgpPeeringAddressObject -IpConfigurationId $ipconfigurationId1 -CustomAddress $addresslist1
$ipconfigurationId2 = 'Instance1'
$addresslist2 = @()
$gw1ipconfBgp2 = New-AzIpConfigurationBgpPeeringAddressObject -IpConfigurationId $ipconfigurationId2 -CustomAddress $addresslist2
$gw = Get-AzVpnGateway -ResourceGroupName testRg -Name testgw
Update-AzVpnGateway -ResourceGroupName "testRG" -Name "testvpngw" -BgpPeeringAddress @($gw1ipconfBgp1,$gw1ipconfBgp2)

The above example will update the Virtual WAN VPN Gateway to use the default BgpPeeringAddress.

It uses Update-AzVpnGateway to update BgpPeeringAddress

Parameters

-AsJob

Run cmdlet in the background

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Asn

The vpn gateway's ASN for BGP over VPN

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BgpPeeringAddress

The BGP peering addresses for this VpnGateway bgpsettings.

Type:PSIpConfigurationBgpPeeringAddress[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableBgpRouteTranslationForNat

Flag to enable/disable Bgp route translation for NAT on this VpnGateway.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

The vpn gateway object to be modified

Type:PSVpnGateway
Aliases:VpnGateway
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

The vpn gateway name.

Type:String
Aliases:ResourceName, VpnGatewayName, GatewayName
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

The resource group name.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceId

The Azure resource ID of the VpnGateway to be modified.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Tag

A hashtable which represents resource tags.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VpnConnection

The list of VpnConnections that this VpnGateway needs to have.

Type:PSVpnConnection[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VpnGatewayNatRule

The list of VpnGatewayNatRules that are associated with this VpnGateway.

Type:PSVpnGatewayNatRule[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VpnGatewayScaleUnit

The scale unit for this VpnGateway.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

PSVpnGateway

String

Outputs

PSVpnGateway