@@ -489,6 +489,84 @@ function Test-RoutingIntentCRUD
489
489
}
490
490
}
491
491
492
+ function Test-RouteMapCRUD
493
+ {
494
+ # Setup
495
+ $rgName = Get-ResourceName
496
+ $rglocation = Get-ProviderLocation ResourceManagement " centraluseuap"
497
+ $virtualWanName = Get-ResourceName
498
+ $virtualHubName = Get-ResourceName
499
+ $routeMapName = " testRouteMap"
500
+ $virtualNetworkName = " testVirtualNetwork"
501
+ $virtualNetworkConnectionName = " testVirtualNetworkConnection"
502
+
503
+ try
504
+ {
505
+ # Create the resource group
506
+ $resourceGroup = New-AzResourceGroup - Name $rgName - Location $rglocation
507
+
508
+ # Create the Virtual Wan
509
+ $createdVirtualWan = New-AzVirtualWan - ResourceGroupName $rgName - Name $virtualWanName - Location $rglocation - AllowVnetToVnetTraffic - AllowBranchToBranchTraffic
510
+ $virtualWan = Get-AzVirtualWan - ResourceGroupName $rgName - Name $virtualWanName
511
+ Assert-AreEqual $rgName $virtualWan.ResourceGroupName
512
+ Assert-AreEqual $virtualWanName $virtualWan.Name
513
+
514
+ # Create the Virtual Hub
515
+ $createdVirtualHub = New-AzVirtualHub - ResourceGroupName $rgName - Name $virtualHubName - Location $rglocation - AddressPrefix " 192.168.1.0/24" - VirtualWan $virtualWan - HubRoutingPreference " ASPath"
516
+ $virtualHub = Get-AzVirtualHub - ResourceGroupName $rgName - Name $virtualHubName
517
+ Assert-AreEqual $rgName $virtualHub.ResourceGroupName
518
+ Assert-AreEqual $virtualHubName $virtualHub.Name
519
+ Assert-AreEqual " 192.168.1.0/24" $virtualHub.AddressPrefix
520
+
521
+ # Create a route map in the Virtual hub
522
+ $routeMapMatchCriterion1 = New-AzRouteMapRuleCriterion - MatchCondition " Contains" - RoutePrefix @ (" 10.0.0.0/16" )
523
+ $routeMapActionParameter1 = New-AzRouteMapRuleActionParameter - AsPath @ (" 12345" )
524
+ $routeMapAction1 = New-AzRouteMapRuleAction - Type " Add" - Parameter @ ($routeMapActionParameter1 )
525
+ $routeMapRule1 = New-AzRouteMapRule - Name " rule1" - MatchCriteria @ ($routeMapMatchCriterion1 ) - RouteMapRuleAction @ ($routeMapAction1 ) - NextStepIfMatched " Continue"
526
+
527
+ $routeMapMatchCriterion2 = New-AzRouteMapRuleCriterion - MatchCondition " Equals" - AsPath @ (" 12345" )
528
+ $routeMapAction2 = New-AzRouteMapRuleAction - Type " Drop"
529
+ $routeMapRule2 = New-AzRouteMapRule - Name " rule2" - MatchCriteria @ ($routeMapMatchCriterion2 ) - RouteMapRuleAction @ ($routeMapAction2 ) - NextStepIfMatched " Terminate"
530
+
531
+ New-AzRouteMap - ResourceGroupName $rgName - VirtualHubName $virtualHubName - Name $routeMapName - RouteMapRule @ ($routeMapRule1 , $routeMapRule2 )
532
+ $routeMap = Get-AzRouteMap - ResourceGroupName $rgName - VirtualHubName $virtualHubName - Name $routeMapName
533
+ Assert-AreEqual $routeMap.Rules.Count 2
534
+
535
+ Update-AzRouteMap - ResourceGroupName $rgName - VirtualHubName $virtualHubName - Name $routeMapName - RouteMapRule @ ($routeMapRule2 )
536
+ $routeMap = Get-AzRouteMap - ResourceGroupName $rgName - VirtualHubName $virtualHubName - Name $routeMapName
537
+ Assert-AreEqual $routeMap.Rules.Count 1
538
+ Assert-AreEqual $routeMap.AssociatedInboundConnections.Count 0
539
+
540
+ $rt1 = Get-AzVHubRouteTable - ResourceGroupName $rgName - VirtualHubName $virtualHubName - Name " defaultRouteTable"
541
+ $testRoutingConfiguration = New-AzRoutingConfiguration - AssociatedRouteTable $rt1.Id - Label @ (" testLabel" ) - Id @ ($rt1.Id ) - InboundRouteMap $routeMap.Id
542
+
543
+ # creating virtual network and a virtual hub vnet connection resource
544
+ $frontendSubnet = New-AzVirtualNetworkSubnetConfig - Name frontendSubnet - AddressPrefix " 10.2.1.0/24"
545
+ $backendSubnet = New-AzVirtualNetworkSubnetConfig - Name backendSubnet - AddressPrefix " 10.2.2.0/24"
546
+ $remoteVirtualNetwork = New-AzVirtualNetwork - Name $virtualNetworkName - ResourceGroupName $rgName - Location $rglocation - AddressPrefix " 10.2.0.0/16" - Subnet $frontendSubnet , $backendSubnet
547
+ New-AzVirtualHubVnetConnection - ResourceGroupName $rgName - VirtualHubName $virtualHubName - Name $virtualNetworkConnectionName - RemoteVirtualNetwork $remoteVirtualNetwork - RoutingConfiguration $testRoutingConfiguration
548
+
549
+ $routeMap = Get-AzRouteMap - ResourceGroupName $rgName - VirtualHubName $virtualHubName - Name $routeMapName
550
+ Assert-AreEqual $routeMap.AssociatedInboundConnections.Count 1
551
+
552
+ $delete = Remove-AzVirtualHubVnetConnection - ResourceGroupName $rgName - VirtualHubName $virtualHubName - Name $virtualNetworkConnectionName - Force - PassThru
553
+ Assert-AreEqual $True $delete
554
+
555
+ $delete = Remove-AzRouteMap - ResourceGroupName $rgName - VirtualHubName $virtualHubName - Name $routeMapName - Force - PassThru
556
+ Assert-AreEqual $True $delete
557
+
558
+ $delete = Remove-AzVirtualHub - ResourceGroupName $rgName - Name $virtualHubName - Force - PassThru
559
+ Assert-AreEqual $True $delete
560
+
561
+ $delete = Remove-AzVirtualWan - ResourceGroupName $rgName - Name $virtualWanName - Force - PassThru
562
+ Assert-AreEqual $True $delete
563
+ }
564
+ finally
565
+ {
566
+ Clean - ResourceGroup $rgname
567
+ }
568
+ }
569
+
492
570
<#
493
571
. SYNOPSIS
494
572
VpnSiteIsSecurity
0 commit comments