@@ -572,3 +572,112 @@ function Test-VirtualNetworkGatewayConnectionVpnDeviceConfigurations
572
572
Clean - ResourceGroup $rgname
573
573
}
574
574
}
575
+
576
+ function Test-VirtualNetworkGatewayConnectionPacketCapture
577
+ {
578
+ # Setup
579
+ $rgname = Get-ResourceGroupName
580
+ $rname = Get-ResourceName
581
+ $domainNameLabel = Get-ResourceName
582
+ $vnetName = Get-ResourceName
583
+ $localnetName = Get-ResourceName
584
+ $vnetConnectionName = Get-ResourceName
585
+ $publicIpName = Get-ResourceName
586
+ $vnetGatewayConfigName = Get-ResourceName
587
+ $rglocation = Get-ProviderLocation ResourceManagement " centraluseuap"
588
+ $resourceTypeParent = " Microsoft.Network/connections"
589
+ $location = Get-ProviderLocation $resourceTypeParent " centraluseuap"
590
+
591
+ try
592
+ {
593
+ # Create the resource group
594
+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
595
+
596
+ # create SAS URL
597
+ $storetype = ' Standard_GRS'
598
+ $containerName = " testcontainer"
599
+ $storeName = ' sto' + $rgname ;
600
+ New-AzStorageAccount - ResourceGroupName $rgname - Name $storeName - Location $location - Type $storetype
601
+ $key = Get-AzStorageAccountKey - ResourceGroupName $rgname - Name $storeName
602
+ $context = New-AzStorageContext - StorageAccountName $storeName - StorageAccountKey $key [0 ].Value
603
+ New-AzStorageContainer - Name $containerName - Context $context
604
+ $container = Get-AzStorageContainer - Name $containerName - Context $context
605
+ $now = get-date
606
+ $sasurl = New-AzureStorageContainerSASToken - Name $containerName - Context $context - Permission " rwd" - StartTime $now.AddHours (-1 ) - ExpiryTime $now.AddDays (1 ) - FullUri
607
+
608
+ # Create the Virtual Network
609
+ $subnet = New-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 10.0 .0.0 / 24
610
+ $vnet = New-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet
611
+ $vnet = Get-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname
612
+ $subnet = Get-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet
613
+
614
+ # Create the publicip
615
+ $publicip = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIpName - location $location - AllocationMethod Dynamic - DomainNameLabel $domainNameLabel
616
+
617
+ # Create VirtualNetworkGateway
618
+ $vnetIpConfig = New-AzVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName - PublicIpAddress $publicip - Subnet $subnet
619
+
620
+ $actual = New-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname - location $location - IpConfigurations $vnetIpConfig - GatewayType Vpn - VpnType RouteBased - EnableBgp $false
621
+ $vnetGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
622
+ Assert-AreEqual $vnetGateway.ResourceGroupName $actual.ResourceGroupName
623
+ Assert-AreEqual $vnetGateway.Name $actual.Name
624
+ # Assert-AreEqual "Vpn" $expected.GatewayType
625
+ # Assert-AreEqual "RouteBased" $expected.VpnType
626
+
627
+ # Create LocalNetworkGateway
628
+ $actual = New-AzLocalNetworkGateway - ResourceGroupName $rgname - name $localnetName - location $location - AddressPrefix 192.168 .0.0 / 16 - GatewayIpAddress 192.168 .3.10
629
+ $localnetGateway = Get-AzLocalNetworkGateway - ResourceGroupName $rgname - name $localnetName
630
+ Assert-AreEqual $localnetGateway.ResourceGroupName $actual.ResourceGroupName
631
+ Assert-AreEqual $localnetGateway.Name $actual.Name
632
+ Assert-AreEqual " 192.168.3.10" $localnetGateway.GatewayIpAddress
633
+ Assert-AreEqual " 192.168.0.0/16" $localnetGateway.LocalNetworkAddressSpace.AddressPrefixes [0 ]
634
+ $localnetGateway.Location = $location
635
+
636
+ # Create & Get VirtualNetworkGatewayConnection
637
+ $connection = New-AzVirtualNetworkGatewayConnection - ResourceGroupName $rgname - name $vnetConnectionName - location $location - VirtualNetworkGateway1 $vnetGateway - LocalNetworkGateway2 $localnetGateway - ConnectionType IPsec - RoutingWeight 3 - SharedKey abc - ConnectionProtocol IKEv1
638
+
639
+ # StartPacketCapture on gateway with Name parameter
640
+ $output = Start-AzVirtualNetworkGatewayConnectionPacketCapture - ResourceGroupName $rgname - Name $vnetConnectionName
641
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
642
+ Assert-AreEqual $connection.Name $output.Name
643
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
644
+ Assert-AreEqual $connection.Location $output.Location
645
+ Assert-AreEqual $output.Code " Succeeded"
646
+
647
+ # StopPacketCapture on gateway with Name parameter
648
+ $output = Stop-AzVirtualNetworkGatewayConnectionPacketCapture - ResourceGroupName $rgname - Name $vnetConnectionName - SasUrl $sasurl
649
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
650
+ Assert-AreEqual $connection.Name $output.Name
651
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
652
+ Assert-AreEqual $connection.Location $output.Location
653
+ Assert-AreEqual $connection.Code " Succeeded"
654
+
655
+ # StartPacketCapture on gateway object
656
+ $output = Start-AzVirtualNetworkGatewayConnectionPacketCapture - InputObject $connection
657
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
658
+ Assert-AreEqual $connection.Name $output.Name
659
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
660
+ Assert-AreEqual $connection.Location $output.Location
661
+ Assert-AreEqual $connection.Code " Succeeded"
662
+
663
+ # StopPacketCapture on gateway object
664
+ $output = Stop-AzVirtualNetworkGatewayConnectionPacketCapture - InputObject $connection - SasUrl $sasurl
665
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
666
+ Assert-AreEqual $connection.Name $output.Name
667
+ Assert-AreEqual $connection.ResourceGroupName $output.ResourceGroupName
668
+ Assert-AreEqual $connection.Location $output.Location
669
+ Assert-AreEqual $connection.Code " Succeeded"
670
+
671
+ # Delete VirtualNetworkGatewayConnection
672
+ $delete = Remove-AzVirtualNetworkGatewayConnection - ResourceGroupName $connection.ResourceGroupName - name $vnetConnectionName - PassThru - Force
673
+ Assert-AreEqual true $delete
674
+
675
+ $list = Get-AzVirtualNetworkGatewayConnection - ResourceGroupName $connection.ResourceGroupName
676
+ Assert-AreEqual 0 @ ($list ).Count
677
+ }
678
+ finally
679
+ {
680
+ # Cleanup
681
+ Clean - ResourceGroup $rgname
682
+ }
683
+ }
0 commit comments