Skip to content

Commit 80470b8

Browse files
Gizachew-EshetieGizachew Eshetie
and
Gizachew Eshetie
authored
Snat cmdlet fwp (#20854)
* Added Snat parameter to firewall policy cmdlets * Generated help for new cmdlet and updated for the existing ones * fixed pipeline analyze issue * Removed SupportsShouldProcess * suppressed static analyzer * Updated help per PR review comments --------- Co-authored-by: Gizachew Eshetie <[email protected]>
1 parent 4d1b136 commit 80470b8

File tree

13 files changed

+1575
-73
lines changed

13 files changed

+1575
-73
lines changed

src/Network/Network.Test/ScenarioTests/AzureFirewallPolicyTests.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,5 +172,13 @@ public void TestAzureFirewallPolicyRuleDescription()
172172
{
173173
TestRunner.RunTestScript("Test-AzureFirewallPolicyRuleDescription");
174174
}
175+
176+
[Fact]
177+
[Trait(Category.AcceptanceType, Category.CheckIn)]
178+
[Trait(Category.Owner, NrpTeamAlias.azurefirewall)]
179+
public void TestAzureFirewallSnat()
180+
{
181+
TestRunner.RunTestScript("Test-AzureFirewallSnat");
182+
}
175183
}
176184
}

src/Network/Network.Test/ScenarioTests/AzureFirewallPolicyTests.ps1

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1764,4 +1764,57 @@ function Test-AzureFirewallPolicyRuleDescription {
17641764
# Cleanup
17651765
Clean-ResourceGroup $rgname
17661766
}
1767+
}
1768+
1769+
<#
1770+
.SYNOPSIS
1771+
Tests AzureFirewall SNAT
1772+
#>
1773+
function Test-AzureFirewallSnat {
1774+
$rgname = Get-ResourceGroupName
1775+
$azureFirewallPolicyName = Get-ResourceName
1776+
$resourceTypeParent = "Microsoft.Network/FirewallPolicies"
1777+
$location = "westus2"
1778+
$vnetName = Get-ResourceName
1779+
$privateRange = @("3.3.0.0/24", "98.0.0.0/8","10.227.16.0/20")
1780+
$privateRange2 = @("0.0.0.0/0", "66.92.0.0/16")
1781+
1782+
try {
1783+
1784+
# Create the resource group
1785+
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $location -Tags @{ testtag = "testval" }
1786+
1787+
$snat = New-AzFirewallPolicySnat -PrivateRange $privateRange -AutoLearnPrivateRange
1788+
1789+
# Create AzureFirewallPolicy (with SNAT)
1790+
$azureFirewallPolicy = New-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname -Location $location -Snat $snat
1791+
1792+
# Get AzureFirewallPolicy
1793+
$getAzureFirewallPolicy = Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
1794+
1795+
1796+
#verification
1797+
Assert-AreEqual $rgName $getAzureFirewallPolicy.ResourceGroupName
1798+
Assert-AreEqual $azureFirewallPolicyName $getAzureFirewallPolicy.Name
1799+
Assert-NotNull $getAzureFirewallPolicy.Location
1800+
Assert-AreEqual (Normalize-Location $location) $getAzureFirewallPolicy.Location
1801+
Assert-NotNull $getAzureFirewallPolicy.Snat
1802+
Assert-AreEqualArray $privateRange $getAzureFirewallPolicy.Snat.PrivateRanges
1803+
Assert-AreEqual "Enabled" $getAzureFirewallPolicy.Snat.AutoLearnPrivateRanges
1804+
1805+
# Modify
1806+
$snat = New-AzFirewallPolicySnat -PrivateRange $privateRange2
1807+
# Set AzureFirewallPolicy
1808+
$azureFirewallPolicy.Snat = $snat
1809+
Set-AzFirewallPolicy -InputObject $azureFirewallPolicy
1810+
$policy = Get-AzFirewallPolicy -Name $azureFirewallPolicyName -ResourceGroupName $rgname
1811+
1812+
Assert-NotNull $policy.Snat
1813+
Assert-AreEqualArray $privateRange2 $policy.Snat.PrivateRanges
1814+
Assert-AreEqual "Disabled" $policy.Snat.AutoLearnPrivateRanges
1815+
}
1816+
finally {
1817+
# Cleanup
1818+
Clean-ResourceGroup $rgname
1819+
}
17671820
}

0 commit comments

Comments
 (0)