Skip to content

Commit 829719c

Browse files
authored
Add new commandlet 'Add-AzServiceFabricManagedClusterNetworkSecurityRule' (#21687)
* new AddNetworkSecurityRule command * Adding tests for new command * Adding new commandlet 'Add-AzServiceFabricManagedNetworkSecurityRule' * delete unused files * Adding enum and updating naming of parameters * Adding enum files and updating help notes * More updates * Updating enum names * add test session json * Adding previously removed value back to accepted OS values * Updating help notes * Fixing example parameters * reverting to old file * changing 'WithPramsByName' to 'WithParamsByName' * more updates
1 parent dcac159 commit 829719c

File tree

14 files changed

+5562
-11
lines changed

14 files changed

+5562
-11
lines changed

src/Accounts/Accounts/Utilities/CommandMappings.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5599,6 +5599,7 @@
55995599
"Set-AzServiceFabricManagedCluster": {},
56005600
"Remove-AzServiceFabricManagedCluster": {},
56015601
"Add-AzServiceFabricManagedClusterClientCertificate": {},
5602+
"Add-AzServiceFabricManagedClusterNetworkSecurityRule": {},
56025603
"Remove-AzServiceFabricManagedClusterClientCertificate": {},
56035604
"New-AzServiceFabricManagedNodeType": {},
56045605
"Get-AzServiceFabricManagedNodeType": {},

src/ServiceFabric/ServiceFabric.Test/ScenarioTests/ServiceFabricManagedClustersTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,12 @@ public void TestCertAndExtension()
4747
{
4848
TestRunner.RunTestScript("Test-CertAndExtension");
4949
}
50+
51+
[Fact]
52+
[Trait(Category.AcceptanceType, Category.CheckIn)]
53+
public void TestAddNetworkSecurityRule()
54+
{
55+
TestRunner.RunTestScript("Test-AddNetworkSecurityRule");
56+
}
5057
}
5158
}

src/ServiceFabric/ServiceFabric.Test/ScenarioTests/ServiceFabricManagedClustersTests.ps1

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,4 +143,89 @@ function Test-CertAndExtension
143143

144144
$removeResponse = $cluster | Remove-AzServiceFabricManagedCluster -PassThru
145145
Assert-True { $removeResponse }
146+
}
147+
148+
# new network security rule test
149+
function Test-AddNetworkSecurityRule
150+
{
151+
$resourceGroupName = "sfmcps-rg-" + (getAssetname)
152+
$clusterName = "sfmcps-" + (getAssetname)
153+
$pass = (ConvertTo-SecureString -AsPlainText -Force "TestPass1234!@#")
154+
$location = "southcentralus"
155+
$testClientTp = "123BDACDCDFB2C7B250192C6078E47D1E1DB119B"
156+
Assert-ThrowsContains { Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clusterName } "NotFound"
157+
158+
$tags = @{"test"="tag"}
159+
160+
$cluster = New-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -ClusterName $clusterName -Location $location `
161+
-AdminPassword $pass -Sku Basic -ClientCertThumbprint $testClientTp -Tag $tags -Verbose
162+
Assert-AreEqual "Succeeded" $cluster.ProvisioningState
163+
Assert-AreEqual "Automatic" $cluster.ClusterUpgradeMode
164+
165+
$pnt = New-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroupName -ClusterName $clusterName -Name pnt -InstanceCount 5 -DiskType Standard_LRS -Primary
166+
Assert-AreEqual 5 $pnt.VmInstanceCount
167+
Assert-AreEqual "Standard_LRS" $pnt.DataDiskType
168+
169+
170+
$clusterFromGet = Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clusterName
171+
Assert-AreEqual "Ready" $clusterFromGet.ClusterState
172+
173+
$NSRName = "testSecRule1"
174+
$sourcePortRanges = "1-1000"
175+
$destinationPortRanges = "1-65535"
176+
$destinationAddressPrefixes = "194.69.104.0/25", "194.69.119.64/26", "167.220.249.128/26", "255.255.255.255/32"
177+
$sourceAddressPrefixes = "167.220.242.0/27", "167.220.0.0/23", "131.107.132.16/28", "167.220.81.128/26"
178+
179+
$cluster = Add-AzServiceFabricManagedClusterNetworkSecurityRule -ResourceGroupName $resourceGroupName -ClusterName $clusterName `
180+
-Name $NSRName -Access Allow -Direction Inbound -Protocol tcp -Priority 1200 -SourcePortRange $sourcePortRanges -DestinationPortRange $destinationPortRanges -DestinationAddressPrefix $destinationAddressPrefixes -SourceAddressPrefix $sourceAddressPrefixes -Verbose
181+
182+
$clusterFromGet = Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clusterName
183+
184+
Assert-NotNull $clusterFromGet.NetworkSecurityRules
185+
Assert-AreEqual "allow" $clusterFromGet.NetworkSecurityRules[0].Access
186+
Assert-AreEqual "inbound" $clusterFromGet.NetworkSecurityRules[0].Direction
187+
Assert-AreEqual "tcp" $clusterFromGet.NetworkSecurityRules[0].Protocol
188+
Assert-AreEqual "testSecRule1" $clusterFromGet.NetworkSecurityRules[0].Name
189+
Assert-AreEqual "194.69.104.0/25" $clusterFromGet.NetworkSecurityRules[0].DestinationAddressPrefixes[0]
190+
Assert-AreEqual $SourceAddressPrefixes.Count $clusterFromGet.NetworkSecurityRules[0].SourceAddressPrefixes.Count
191+
192+
$NSRName = "testSecRule2"
193+
$sourcePortRanges = "1-1000"
194+
$destinationPortRanges = "1-65535"
195+
$destinationAddressPrefixes = "194.69.104.0/25", "194.69.119.64/26", "167.220.249.128/26", "255.255.255.255/32"
196+
$sourceAddressPrefixes = "167.220.242.0/27", "167.220.0.0/23", "131.107.132.16/28", "167.220.81.128/26"
197+
198+
$cluster = Add-AzServiceFabricManagedClusterNetworkSecurityRule -ResourceGroupName $resourceGroupName -ClusterName $clusterName `
199+
-Name $NSRName -Access Deny -Direction Outbound -Protocol udp -Priority 1300 -SourcePortRange $sourcePortRanges -DestinationPortRange $destinationPortRanges -DestinationAddressPrefix $destinationAddressPrefixes -SourceAddressPrefix $sourceAddressPrefixes -Verbose
200+
201+
$clusterFromGet = Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clusterName
202+
203+
Assert-NotNull $clusterFromGet.NetworkSecurityRules
204+
Assert-AreEqual "testSecRule2" $clusterFromGet.NetworkSecurityRules[1].Name
205+
Assert-AreEqual "outbound" $clusterFromGet.NetworkSecurityRules[1].Direction
206+
Assert-AreEqual "udp" $clusterFromGet.NetworkSecurityRules[1].Protocol
207+
Assert-AreEqual "194.69.119.64/26" $clusterFromGet.NetworkSecurityRules[1].DestinationAddressPrefixes[1]
208+
Assert-AreEqual "167.220.81.128/26" $clusterFromGet.NetworkSecurityRules[1].SourceAddressPrefixes[3]
209+
210+
$NSRName = "testSecRule3"
211+
$description = "test network security rule"
212+
$sourcePortRanges = "1-1000"
213+
$destinationPortRanges = "1-65535"
214+
$destinationAddressPrefixes = "194.69.104.0/25", "194.69.119.64/26", "167.220.249.128/26", "255.255.255.255/32"
215+
$sourceAddressPrefixes = "167.220.242.0/27", "167.220.0.0/23", "131.107.132.16/28", "167.220.81.128/26"
216+
217+
$cluster = $clusterFromGet | Add-AzServiceFabricManagedClusterNetworkSecurityRule `
218+
-Name $NSRName -Access Allow -Description $description -Direction Outbound -Protocol any -Priority 1400 -SourcePortRange $sourcePortRanges -DestinationPortRange $destinationPortRanges -DestinationAddressPrefix $destinationAddressPrefixes -SourceAddressPrefix $sourceAddressPrefixes -Verbose
219+
220+
$clusterFromGet = Get-AzServiceFabricManagedCluster -ResourceGroupName $resourceGroupName -Name $clusterName
221+
222+
Assert-NotNull $clusterFromGet.NetworkSecurityRules
223+
Assert-AreEqual "testSecRule3" $clusterFromGet.NetworkSecurityRules[2].Name
224+
Assert-AreEqual "allow" $clusterFromGet.NetworkSecurityRules[2].Access
225+
Assert-AreEqual "*" $clusterFromGet.NetworkSecurityRules[2].Protocol
226+
Assert-AreEqual "1-1000" $clusterFromGet.NetworkSecurityRules[2].SourcePortRanges[0]
227+
Assert-AreEqual 4 $clusterFromGet.NetworkSecurityRules[2].DestinationAddressPrefixes.Count
228+
Assert-AreEqual 4 $clusterFromGet.NetworkSecurityRules[2].SourceAddressPrefixes.Count
229+
230+
Assert-AreEqual 3 $clusterFromGet.NetworkSecurityRules.Count
146231
}

0 commit comments

Comments
 (0)