@@ -389,6 +389,97 @@ function Test-VirtualNetworkGatewayConnectionWithActiveActiveGateway
389389 }
390390}
391391
392+ <#
393+ . SYNOPSIS
394+ Virtual network gateway connection test with Active-Active feature enabled virtual network gateway
395+ #>
396+ function Test-VirtualNetworkGatewayConnectionWithZeroSaData
397+ {
398+ # Setup
399+ $rgname = Get-ResourceName
400+ $rname1 = Get-ResourceName
401+ $rname2 = Get-ResourceName
402+ $domainNameLabel11 = Get-ResourceName
403+ $domainNameLabel12 = Get-ResourceName
404+ $domainNameLabel2 = Get-ResourceName
405+ $vnetName1 = Get-ResourceName
406+ $vnetName2 = Get-ResourceName
407+ $vnetConnectionName1 = Get-ResourceName
408+ $vnetConnectionName2 = Get-ResourceName
409+ $publicIpName11 = Get-ResourceName
410+ $publicIpName12 = Get-ResourceName
411+ $publicIpName2 = Get-ResourceName
412+ $vnetGatewayConfigName11 = Get-ResourceName
413+ $vnetGatewayConfigName12 = Get-ResourceName
414+ $vnetGatewayConfigName2 = Get-ResourceName
415+ $rglocation = Get-ProviderLocation ResourceManagement
416+ $resourceTypeParent = " Microsoft.Network/connections"
417+ $location = Get-ProviderLocation $resourceTypeParent
418+
419+ try
420+ {
421+ # Create the resource group
422+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
423+
424+ # Create the Virtual Network1
425+ $subnet1 = New-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 10.0 .0.0 / 24
426+ $vnet1 = New-AzVirtualNetwork - Name $vnetName1 - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet1
427+ $vnet1 = Get-AzVirtualNetwork - Name $vnetName1 - ResourceGroupName $rgname
428+ $subnet1 = Get-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet1
429+
430+ # Create Active-Active feature enabled virtualnetworkgateway1 & Get virtualnetworkgateway1
431+ $publicip11 = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIpName11 - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel11
432+ $vnetIpConfig11 = New-AzVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName11 - PublicIpAddress $publicip11 - Subnet $subnet1
433+
434+ $publicip12 = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIpName12 - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel12
435+ $vnetIpConfig12 = New-AzVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName12 - PublicIpAddress $publicip12 - Subnet $subnet1
436+
437+ $vnetGateway1 = New-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname1 - Location $location - IpConfigurations $vnetIpConfig11 , $vnetIpConfig12 - GatewayType Vpn - VpnType RouteBased - EnableBgp $false - GatewaySku HighPerformance - EnableActiveActiveFeature
438+ $vnetGateway1 = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname1
439+
440+ # Create IpsecPolicy and test SADataSizeKilobytes when passed 0
441+ $ipsecPolicy = New-AzIpsecPolicy - SALifeTimeSeconds 3000 - SADataSizeKilobytes 0 - IpsecEncryption " GCMAES256" - IpsecIntegrity " GCMAES256" - IkeEncryption " AES256" - IkeIntegrity " SHA256" - DhGroup " DHGroup14" - PfsGroup " PFS2048"
442+ Assert-AreEqual $ipsecPolicy.SADataSizeKilobytes 0
443+
444+ # Create the Virtual Network2
445+ $subnet2 = New-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 192.168 .200.0 / 26
446+ $vnet2 = New-AzVirtualNetwork - Name $vnetName2 - ResourceGroupName $rgname - Location $location - AddressPrefix 192.168 .0.0 / 16 - Subnet $subnet2
447+ $vnet2 = Get-AzVirtualNetwork - Name $vnetName2 - ResourceGroupName $rgname
448+ $subnet2 = Get-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet2
449+
450+ # Create the publicip2
451+ $publicip2 = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIpName2 - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel2
452+
453+ # Create VirtualNetworkGateway2
454+ $vnetIpConfig2 = New-AzVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName2 - PublicIpAddress $publicip2 - Subnet $subnet2
455+
456+ $vnetGateway2 = New-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname2 - location $location - IpConfigurations $vnetIpConfig2 - GatewayType Vpn - VpnType RouteBased - GatewaySku Standard
457+ $vnetGateway2 = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname2
458+
459+ # Create & Get VirtualNetworkGatewayConnection1, VirtualNetworkGatewayConnection2
460+ $connection1 = New-AzVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName1 - location $location - VirtualNetworkGateway1 $vnetGateway1 - VirtualNetworkGateway2 $vnetGateway2 - ConnectionType Vnet2Vnet - RoutingWeight 3 - SharedKey abc - IpsecPolicies $ipsecPolicy
461+ $connection2 = New-AzVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName2 - location $location - VirtualNetworkGateway1 $vnetGateway2 - VirtualNetworkGateway2 $vnetGateway1 - ConnectionType Vnet2Vnet - RoutingWeight 3 - SharedKey abc - IpsecPolicies $ipsecPolicy
462+
463+ $connection1 = Get-AzVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName1
464+ $connection2 = Get-AzVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName2
465+
466+ Assert-AreEqual $connection1.IpsecPolicies [0 ].SADataSizeKilobytes $connection2.IpsecPolicies [0 ].SADataSizeKilobytes
467+ Assert-AreEqual $connection1.IpsecPolicies [0 ].SADataSizeKilobytes 0
468+ Assert-AreEqual $connection2.IpsecPolicies [0 ].SADataSizeKilobytes 0
469+
470+ # Delete VirtualNetworkGatewayConnections
471+ $delete = Remove-AzVirtualNetworkGatewayConnection - ResourceGroupName $connection1.ResourceGroupName - name $vnetConnectionName1 - PassThru - Force
472+ Assert-AreEqual true $delete
473+ $delete = Remove-AzVirtualNetworkGatewayConnection - ResourceGroupName $connection2.ResourceGroupName - name $vnetConnectionName2 - PassThru - Force
474+ Assert-AreEqual true $delete
475+ }
476+ finally
477+ {
478+ # Cleanup
479+ Clean - ResourceGroup $rgname
480+ }
481+ }
482+
392483function Test-VirtualNetworkGatewayConnectionCRUD
393484{
394485 # Setup
0 commit comments