@@ -641,3 +641,131 @@ function Test-VirtualNetworkGatewayConnectionVpnDeviceConfigurations
641
641
Clean - ResourceGroup $rgname
642
642
}
643
643
}
644
+
645
+ function Test-VirtualNetworkGatewayConnectionPacketCapture
646
+ {
647
+ # Setup
648
+ $rgname = Get-ResourceGroupName
649
+ $rname1 = Get-ResourceName
650
+ $rname2 = Get-ResourceName
651
+ $domainNameLabel1 = Get-ResourceName
652
+ $domainNameLabel2 = Get-ResourceName
653
+ $vnetName1 = Get-ResourceName
654
+ $vnetName2 = Get-ResourceName
655
+ $vnetConnectionName1 = Get-ResourceName
656
+ $vnetConnectionName2 = Get-ResourceName
657
+ $publicIpName1 = Get-ResourceName
658
+ $publicIpName2 = Get-ResourceName
659
+ $vnetGatewayConfigName1 = Get-ResourceName
660
+ $vnetGatewayConfigName2 = Get-ResourceName
661
+ $rglocation = Get-ProviderLocation ResourceManagement " WestCentralUS"
662
+ $resourceTypeParent = " Microsoft.Network/connections"
663
+ $location = Get-ProviderLocation $resourceTypeParent " WestCentralUS"
664
+
665
+ try
666
+ {
667
+ # Create the resource group
668
+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
669
+
670
+ # create SAS URL
671
+ if ((Get-NetworkTestMode ) -ne ' Playback' )
672
+ {
673
+ $storetype = ' Standard_GRS'
674
+ $containerName = " testcontainer"
675
+ $storeName = ' sto' + $rgname ;
676
+ New-AzStorageAccount - ResourceGroupName $rgname - Name $storeName - Location $location - Type $storetype
677
+ $key = Get-AzStorageAccountKey - ResourceGroupName $rgname - Name $storeName
678
+ $context = New-AzStorageContext - StorageAccountName $storeName - StorageAccountKey $key [0 ].Value
679
+ New-AzStorageContainer - Name $containerName - Context $context
680
+ $container = Get-AzStorageContainer - Name $containerName - Context $context
681
+ $now = get-date
682
+ $sasurl = New-AzureStorageContainerSASToken - Name $containerName - Context $context - Permission " rwd" - StartTime $now.AddHours (-1 ) - ExpiryTime $now.AddDays (1 ) - FullUri
683
+ }
684
+ else
685
+ {
686
+ $sasurl = " https://storage/test123?sp=racwdl&stvigopKcy"
687
+ }
688
+
689
+ # Create the Virtual Network1
690
+ $subnet1 = New-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 10.0 .0.0 / 24
691
+ $vnet1 = New-AzVirtualNetwork - Name $vnetName1 - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet1
692
+ $vnet1 = Get-AzVirtualNetwork - Name $vnetName1 - ResourceGroupName $rgname
693
+ $subnet1 = Get-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet1
694
+
695
+ # Create virtualnetworkgateway1 & Get virtualnetworkgateway1
696
+ $publicip1 = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIpName1 - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel1
697
+ $vnetIpConfig1 = New-AzVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName1 - PublicIpAddress $publicip1 - Subnet $subnet1
698
+
699
+ $actual = New-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname1 - Location $location - IpConfigurations $vnetIpConfig1 - GatewayType Vpn - VpnType RouteBased - GatewaySku Standard
700
+ $vnetGateway1 = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname1
701
+
702
+ # Create the Virtual Network2
703
+ $subnet2 = New-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 192.168 .200.0 / 26
704
+ $vnet2 = New-AzVirtualNetwork - Name $vnetName2 - ResourceGroupName $rgname - Location $location - AddressPrefix 192.168 .0.0 / 16 - Subnet $subnet2
705
+ $vnet2 = Get-AzVirtualNetwork - Name $vnetName2 - ResourceGroupName $rgname
706
+ $subnet2 = Get-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet2
707
+
708
+ # Create the publicip2
709
+ $publicip2 = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIpName2 - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel2
710
+
711
+ # Create VirtualNetworkGateway2
712
+ $vnetIpConfig2 = New-AzVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName2 - PublicIpAddress $publicip2 - Subnet $subnet2
713
+
714
+ $actual = New-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname2 - location $location - IpConfigurations $vnetIpConfig2 - GatewayType Vpn - VpnType RouteBased - GatewaySku Standard
715
+ $vnetGateway2 = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname2
716
+
717
+ # Create & Get VirtualNetworkGatewayConnection1, VirtualNetworkGatewayConnection2
718
+ $actual1 = New-AzVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName1 - location $location - VirtualNetworkGateway1 $vnetGateway1 - VirtualNetworkGateway2 $vnetGateway2 - ConnectionType Vnet2Vnet - RoutingWeight 3 - SharedKey abc
719
+ $actual2 = New-AzVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName2 - location $location - VirtualNetworkGateway1 $vnetGateway2 - VirtualNetworkGateway2 $vnetGateway1 - ConnectionType Vnet2Vnet - RoutingWeight 3 - SharedKey abc
720
+
721
+ $connection = Get-AzVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName1
722
+
723
+ # StartPacketCapture on gateway with Name parameter
724
+ $output = Start-AzVirtualNetworkGatewayConnectionPacketCapture - ResourceGroupName $rgname - Name $vnetConnectionName1
725
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
726
+ Assert-AreEqual $connection.Name $output.Name
727
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
728
+ Assert-AreEqual $connection.Location $output.Location
729
+ Assert-AreEqual $output.Code " Succeeded"
730
+
731
+ # StopPacketCapture on gateway connection with Name parameter
732
+ $output = Stop-AzVirtualNetworkGatewayConnectionPacketCapture - ResourceGroupName $rgname - Name $vnetConnectionName1 - SasUrl $sasurl
733
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
734
+ Assert-AreEqual $connection.Name $output.Name
735
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
736
+ Assert-AreEqual $connection.Location $output.Location
737
+ Assert-AreEqual $output.Code " Succeeded"
738
+
739
+ # StartPacketCapture on gateway Connection object
740
+ $a = " {`" TracingFlags`" :11,`" MaxPacketBufferSize`" :120,`" MaxFileSize`" :500,`" Filters`" :[{`" SourceSubnets`" :[`" 10.19.0.4/32`" ,`" 10.20.0.4/32`" ],`" DestinationSubnets`" :[`" 10.20.0.4/32`" ,`" 10.19.0.4/32`" ],`" IpSubnetValueAsAny`" :true,`" TcpFlags`" :-1,`" PortValueAsAny`" :true,`" CaptureSingleDirectionTrafficOnly`" :true}]}"
741
+ $output = Start-AzVirtualNetworkGatewayConnectionPacketCapture - InputObject $connection - FilterData $a
742
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
743
+ Assert-AreEqual $connection.Name $output.Name
744
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
745
+ Assert-AreEqual $connection.Location $output.Location
746
+ Assert-AreEqual $output.Code " Succeeded"
747
+
748
+ # StopPacketCapture on gateway Connection object
749
+ $output = Stop-AzVirtualNetworkGatewayConnectionPacketCapture - InputObject $connection - SasUrl $sasurl
750
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
751
+ Assert-AreEqual $connection.Name $output.Name
752
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
753
+ Assert-AreEqual $connection.Location $output.Location
754
+ Assert-AreEqual $output.Code " Succeeded"
755
+
756
+ # Delete VirtualNetworkGatewayConnection
757
+ $delete = Remove-AzVirtualNetworkGatewayConnection - ResourceGroupName $connection.ResourceGroupName - name $vnetConnectionName1 - PassThru - Force
758
+ Assert-AreEqual true $delete
759
+
760
+ $delete = Remove-AzVirtualNetworkGatewayConnection - ResourceGroupName $actual2.ResourceGroupName - name $vnetConnectionName2 - PassThru - Force
761
+ Assert-AreEqual true $delete
762
+
763
+ $list = Get-AzVirtualNetworkGatewayConnection - ResourceGroupName $connection.ResourceGroupName
764
+ Assert-AreEqual 0 @ ($list ).Count
765
+ }
766
+ finally
767
+ {
768
+ # Cleanup
769
+ Clean - ResourceGroup $rgname
770
+ }
771
+ }
0 commit comments