@@ -125,6 +125,89 @@ function Test-VirtualNetworkGatewayConnectionWithBgpCRUD
125125 }
126126}
127127
128+ <#
129+ . SYNOPSIS
130+ Virtual network gateway connection test with Active-Active feature enabled virtual network gateway
131+ #>
132+ function Test-VirtualNetworkGatewayConnectionWithActiveActiveGateway
133+ {
134+ # Setup
135+ $rgname = Get-ResourceGroupName
136+ $rname1 = Get-ResourceName
137+ $rname2 = Get-ResourceName
138+ $domainNameLabel11 = Get-ResourceName
139+ $domainNameLabel12 = Get-ResourceName
140+ $domainNameLabel2 = Get-ResourceName
141+ $vnetName1 = Get-ResourceName
142+ $vnetName2 = Get-ResourceName
143+ $vnetConnectionName1 = Get-ResourceName
144+ $vnetConnectionName2 = Get-ResourceName
145+ $publicIpName11 = Get-ResourceName
146+ $publicIpName12 = Get-ResourceName
147+ $publicIpName2 = Get-ResourceName
148+ $vnetGatewayConfigName11 = Get-ResourceName
149+ $vnetGatewayConfigName12 = Get-ResourceName
150+ $vnetGatewayConfigName2 = Get-ResourceName
151+ $rglocation = Get-ProviderLocation ResourceManagement
152+ $resourceTypeParent = " Microsoft.Network/connections"
153+ $location = Get-ProviderLocation $resourceTypeParent
154+
155+ try
156+ {
157+ # Create the resource group
158+ $resourceGroup = New-AzureRmResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
159+
160+ # Create the Virtual Network1
161+ $subnet1 = New-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 10.0 .0.0 / 24
162+ $vnet1 = New-AzureRmvirtualNetwork - Name $vnetName1 - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet1
163+ $vnet1 = Get-AzureRmvirtualNetwork - Name $vnetName1 - ResourceGroupName $rgname
164+ $subnet1 = Get-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet1
165+
166+ # Create Active-Active feature enabled virtualnetworkgateway1 & Get virtualnetworkgateway1
167+ $publicip11 = New-AzureRmPublicIpAddress - ResourceGroupName $rgname - name $publicIpName11 - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel11
168+ $vnetIpConfig11 = New-AzureRmVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName11 - PublicIpAddress $publicip11 - Subnet $subnet1
169+
170+ $publicip12 = New-AzureRmPublicIpAddress - ResourceGroupName $rgname - name $publicIpName12 - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel12
171+ $vnetIpConfig12 = New-AzureRmVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName12 - PublicIpAddress $publicip12 - Subnet $subnet1
172+
173+ $actual = New-AzureRmVirtualNetworkGateway - ResourceGroupName $rgname - name $rname1 - Location $location - IpConfigurations $vnetIpConfig11 , $vnetIpConfig12 - GatewayType Vpn - VpnType RouteBased - EnableBgp $false - GatewaySku HighPerformance - EnableActiveActiveFeature
174+ $vnetGateway1 = Get-AzureRmVirtualNetworkGateway - ResourceGroupName $rgname - name $rname1
175+
176+ # Create the Virtual Network2
177+ $subnet2 = New-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 192.168 .200.0 / 26
178+ $vnet2 = New-AzureRmvirtualNetwork - Name $vnetName2 - ResourceGroupName $rgname - Location $location - AddressPrefix 192.168 .0.0 / 16 - Subnet $subnet2
179+ $vnet2 = Get-AzureRmvirtualNetwork - Name $vnetName2 - ResourceGroupName $rgname
180+ $subnet2 = Get-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet2
181+
182+ # Create the publicip2
183+ $publicip2 = New-AzureRmPublicIpAddress - ResourceGroupName $rgname - name $publicIpName2 - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel2
184+
185+ # Create VirtualNetworkGateway2
186+ $vnetIpConfig2 = New-AzureRmVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName2 - PublicIpAddress $publicip2 - Subnet $subnet2
187+
188+ $actual = New-AzureRmVirtualNetworkGateway - ResourceGroupName $rgname - name $rname2 - location $location - IpConfigurations $vnetIpConfig2 - GatewayType Vpn - VpnType RouteBased - GatewaySku Standard
189+ $vnetGateway2 = Get-AzureRmVirtualNetworkGateway - ResourceGroupName $rgname - name $rname2
190+
191+ # Create & Get VirtualNetworkGatewayConnection1, VirtualNetworkGatewayConnection2
192+ $actual1 = New-AzureRmVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName1 - location $location - VirtualNetworkGateway1 $vnetGateway1 - VirtualNetworkGateway2 $vnetGateway2 - ConnectionType Vnet2Vnet - RoutingWeight 3 - SharedKey abc
193+ $actual2 = New-AzureRmVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName2 - location $location - VirtualNetworkGateway1 $vnetGateway2 - VirtualNetworkGateway2 $vnetGateway1 - ConnectionType Vnet2Vnet - RoutingWeight 3 - SharedKey abc
194+
195+ $connection1 = Get-AzureRmVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName1
196+ Assert-NotNull $connection1.TunnelConnectionStatus
197+
198+ # Delete VirtualNetworkGatewayConnections
199+ $delete = Remove-AzureRmVirtualNetworkGatewayConnection - ResourceGroupName $actual.ResourceGroupName - name $vnetConnectionName1 - PassThru - Force
200+ Assert-AreEqual true $delete
201+ $delete = Remove-AzureRmVirtualNetworkGatewayConnection - ResourceGroupName $actual.ResourceGroupName - name $vnetConnectionName2 - PassThru - Force
202+ Assert-AreEqual true $delete
203+ }
204+ finally
205+ {
206+ # Cleanup
207+ Clean - ResourceGroup $rgname
208+ }
209+ }
210+
128211function Test-VirtualNetworkGatewayConnectionCRUD
129212{
130213 # Setup
0 commit comments