@@ -1651,3 +1651,100 @@ function Test-VirtualNetworkExpressRouteGatewayCRUDwithAdminState
1651
1651
Clean - ResourceGroup $rgname
1652
1652
}
1653
1653
}
1654
+
1655
+ <#
1656
+ . SYNOPSIS
1657
+ Virtual network gateway traffic block preferences that may be configured by customers
1658
+ #>
1659
+ function Test-VirtualNetworkExpressRouteGatewayForDifferentCustomerBlockTrafficPreferences
1660
+ {
1661
+ # Setup
1662
+ $rgname = Get-ResourceGroupName
1663
+ # return
1664
+
1665
+ $rname = Get-ResourceName
1666
+ $vnetName = Get-ResourceName
1667
+ $publicIpName = Get-ResourceName
1668
+ $vnetGatewayConfigName = Get-ResourceName
1669
+ $rglocation = " centraluseuap"
1670
+ $resourceTypeParent = " Microsoft.Network/virtualNetworkGateways"
1671
+ $location = " centraluseuap"
1672
+
1673
+ try
1674
+ {
1675
+ # Create the resource group
1676
+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
1677
+
1678
+ # Create the virtual network
1679
+ $subnet = New-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - AddressPrefix 10.0 .0.0 / 24
1680
+ $vnet = New-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet
1681
+ $vnet = Get-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname
1682
+ $subnet = Get-AzVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet
1683
+
1684
+ # Create the public IP
1685
+ $publicip = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIpName - location $location - AllocationMethod Static
1686
+
1687
+ # Create & Get virtual network gateway
1688
+ $vnetIpConfig = New-AzVirtualNetworkGatewayIpConfig - Name $vnetGatewayConfigName - PublicIpAddress $publicip - Subnet $subnet
1689
+
1690
+ $createdGateway = New-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname - location $location - IpConfigurations $vnetIpConfig - GatewayType ExpressRoute - GatewaySku UltraPerformance
1691
+
1692
+ # Brand-new gateway validations
1693
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1694
+ Assert-AreEqual $retrievedGateway.ResourceGroupName $createdGateway.ResourceGroupName
1695
+ Assert-AreEqual $retrievedGateway.Name $createdGateway.Name
1696
+ Assert-AreEqual " ExpressRoute" $retrievedGateway.GatewayType
1697
+ Assert-AreEqual $false $retrievedGateway.AllowRemoteVnetTraffic
1698
+ Assert-AreEqual $false $retrievedGateway.AllowVirtualWanTraffic
1699
+
1700
+ # Update vnet-to-vWAN via property
1701
+ $retrievedGateway.AllowVirtualWanTraffic = $true
1702
+ Set-AzVirtualNetworkGateway - VirtualNetworkGateway $retrievedGateway
1703
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1704
+ Assert-AreEqual $false $retrievedGateway.AllowRemoteVnetTraffic
1705
+ Assert-AreEqual $true $retrievedGateway.AllowVirtualWanTraffic
1706
+ $retrievedGateway.AllowVirtualWanTraffic = $false
1707
+ Set-AzVirtualNetworkGateway - VirtualNetworkGateway $retrievedGateway
1708
+ Assert-AreEqual $false $retrievedGateway.AllowRemoteVnetTraffic
1709
+ Assert-AreEqual $false $retrievedGateway.AllowVirtualWanTraffic
1710
+
1711
+ # Update vnet-to-vWAN via switch
1712
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1713
+ Set-AzVirtualNetworkGateway - VirtualNetworkGateway $retrievedGateway - AllowVirtualWanTraffic $true
1714
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1715
+ Assert-AreEqual $false $retrievedGateway.AllowRemoteVnetTraffic
1716
+ Assert-AreEqual $true $retrievedGateway.AllowVirtualWanTraffic
1717
+ Set-AzVirtualNetworkGateway - VirtualNetworkGateway $retrievedGateway - AllowVirtualWanTraffic $false
1718
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1719
+ Assert-AreEqual $false $retrievedGateway.AllowRemoteVnetTraffic
1720
+ Assert-AreEqual $false $retrievedGateway.AllowVirtualWanTraffic
1721
+
1722
+ # Update vnet-to-vnet via property
1723
+ $retrievedGateway.AllowRemoteVnetTraffic = $true
1724
+ Set-AzVirtualNetworkGateway - VirtualNetworkGateway $retrievedGateway
1725
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1726
+ Assert-AreEqual $true $retrievedGateway.AllowRemoteVnetTraffic
1727
+ Assert-AreEqual $false $retrievedGateway.AllowVirtualWanTraffic
1728
+ $retrievedGateway.AllowRemoteVnetTraffic = $false
1729
+ Set-AzVirtualNetworkGateway - VirtualNetworkGateway $retrievedGateway
1730
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1731
+ Assert-AreEqual $false $retrievedGateway.AllowRemoteVnetTraffic
1732
+ Assert-AreEqual $false $retrievedGateway.AllowVirtualWanTraffic
1733
+
1734
+ # Update vnet-to-vnet via switch
1735
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1736
+ Set-AzVirtualNetworkGateway - VirtualNetworkGateway $retrievedGateway - AllowRemoteVnetTraffic $true
1737
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1738
+ Assert-AreEqual $true $retrievedGateway.AllowRemoteVnetTraffic
1739
+ Assert-AreEqual $false $retrievedGateway.AllowVirtualWanTraffic
1740
+ Set-AzVirtualNetworkGateway - VirtualNetworkGateway $retrievedGateway - AllowRemoteVnetTraffic $false
1741
+ $retrievedGateway = Get-AzVirtualNetworkGateway - ResourceGroupName $rgname - name $rname
1742
+ Assert-AreEqual $false $retrievedGateway.AllowRemoteVnetTraffic
1743
+ Assert-AreEqual $false $retrievedGateway.AllowVirtualWanTraffic
1744
+ }
1745
+ finally
1746
+ {
1747
+ # Cleanup
1748
+ Clean - ResourceGroup $rgname
1749
+ }
1750
+ }
0 commit comments