@@ -413,4 +413,76 @@ function Test-VirtualNetworkGatewayActiveActiveFeatureOperations
413
413
# Cleanup
414
414
Clean - ResourceGroup $rgname
415
415
}
416
+ }
417
+
418
+ <#
419
+ . SYNOPSIS
420
+ Virtual network gateway BGP route API test
421
+ #>
422
+ function Test-VirtualNetworkGatewayBgpRouteApi
423
+ {
424
+ # Setup
425
+ $rgname = Get-ResourceGroupName
426
+ $gwname = Get-ResourceName
427
+ $domainNameLabel = Get-ResourceName
428
+ $vnetName = Get-ResourceName
429
+ $publicIpName = Get-ResourceName
430
+ $vnetGatewayConfigName = Get-ResourceName
431
+ $rgLocation = Get-ProviderLocation ResourceManagement
432
+ $resourceTypeParent = " Microsoft.Network/virtualNetworkGateways"
433
+ $location = Get-ProviderLocation $resourceTypeParent
434
+
435
+ $gwname1 = Get-ResourceName
436
+ $vnetName1 = Get-ResourceName
437
+ $publicIpName1 = Get-ResourceName
438
+ $domainNameLabel1 = Get-ResourceName
439
+ $vnetGatewayConfigName1 = Get-ResourceName
440
+
441
+ $connectionName = Get-ResourceName
442
+ $connectionName1 = Get-ResourceName
443
+
444
+ try
445
+ {
446
+ $resourceGroup = New-AzureRmResourceGroup - Name $rgname - Location $rglocation
447
+ $subnet = New-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 10.0 .0.0 / 24
448
+ $vnet = New-AzureRmVirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet
449
+ $vnet = Get-AzureRmVirtualNetwork - Name $vnetName - ResourceGroupName $rgname
450
+ $subnet = Get-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet
451
+ $publicip = New-AzureRmPublicIpAddress - ResourceGroupName $rgname - name $publicIpName - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel
452
+ $vnetIpConfig = New-AzureRmVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName - PublicIpAddress $publicip - Subnet $subnet
453
+ $gw = New-AzureRmVirtualNetworkGateway - ResourceGroupName $rgname - name $gwname - location $location - IpConfigurations $vnetIpConfig - GatewayType Vpn - VpnType RouteBased - GatewaySku Standard
454
+ $gw = Get-AzureRmVirtualNetworkGateway - ResourceGroupName $rgname - name $gwname
455
+
456
+ $subnet1 = New-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 10.1 .0.0 / 24
457
+ $vnet1 = New-AzureRmVirtualNetwork - Name $vnetName1 - ResourceGroupName $rgname - Location $location - AddressPrefix 10.1 .0.0 / 16 - Subnet $subnet1
458
+ $vnet1 = Get-AzureRmVirtualNetwork - Name $vnetName1 - ResourceGroupName $rgname
459
+ $subnet1 = Get-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet1
460
+ $publicip1 = New-AzureRmPublicIpAddress - Name $publicIpName1 - ResourceGroupName $rgname - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel1
461
+ $vnetIpConfig1 = New-AzureRmVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName1 - PublicIpAddress $publicip1 - Subnet $subnet1
462
+ $gw1 = New-AzureRmVirtualNetworkGateway - ResourceGroupName $rgname - name $gwname1 - location $location - IpConfigurations $vnetIpConfig1 - GatewayType Vpn - VpnType RouteBased - GatewaySku Standard - Asn 1337
463
+ $gw1 = Get-AzureRmVirtualNetworkGateway - ResourceGroupName $rgname - name $gwname1
464
+
465
+ New-AzureRmVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $connectionName - location $location - VirtualNetworkGateway1 $gw - VirtualNetworkGateway2 $gw1 - ConnectionType Vnet2Vnet - SharedKey chocolate - EnableBgp true
466
+ New-AzureRmVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $connectionName1 - location $location - VirtualNetworkGateway1 $gw1 - VirtualNetworkGateway2 $gw - ConnectionType Vnet2Vnet - SharedKey chocolate - EnableBgp true
467
+
468
+ $bgpPeerStatus = Get-AzureRmVirtualNetworkGatewayBGPPeerStatus - ResourceGroupName $rgname - VirtualNetworkGatewayName $gwname
469
+ $bgpLearnedRoutes = Get-AzureRmVirtualNetworkGatewayLearnedRoute - ResourceGroupName $rgname - VirtualNetworkGatewayName $gwname
470
+ $bgpAdvertisedRoutes = Get-AzureRmVirtualNetworkGatewayAdvertisedRoute - ResourceGroupName $rgname - VirtualNetworkGatewayName $gwname - Peer $bgpPeerStatus [0 ].Neighbor
471
+
472
+ Assert-AreEqual True ($vnet.AddressSpace.AddressPrefixes -contains $bgpAdvertisedRoutes [0 ].Network)
473
+
474
+ $routeLearned = $false
475
+ ForEach ($route in $bgpLearnedRoutes ) {
476
+ If ($route.Origin -eq " EBgp" ) {
477
+ $routeLearned = $true
478
+ Assert-AreEqual True ($vnet1.AddressSpace.AddressPrefixes -contains $route.Network )
479
+ }
480
+ }
481
+
482
+ Assert-AreEqual True $routeLearned
483
+ }
484
+ finally
485
+ {
486
+ Clean - ResourceGroup $rgname
487
+ }
416
488
}
0 commit comments