@@ -143,4 +143,89 @@ function Test-CertAndExtension
143
143
144
144
$removeResponse = $cluster | Remove-AzServiceFabricManagedCluster - PassThru
145
145
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
146
231
}
0 commit comments