Skip to content

Commit 9fffb88

Browse files
jago2136Jared Gorthy
andauthored
Network Manager Contributions to May 2022 Az.Network Release (#19554)
* add enum specifications and minimum param test: * add breaking change messages for each enum restricted type * add new test records and comment out sleep commands in tests * add details to changelog * update help docs * make case insensitive check and add breaking change suppression * fix breaking change file * remove breaking change warning message Co-authored-by: Jared Gorthy <[email protected]>
1 parent 2646e91 commit 9fffb88

27 files changed

+4293
-1657
lines changed

src/Network/Network.Test/ScenarioTests/NetworkManagerTests.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,5 +90,13 @@ public void NetworkManagerManagementGroupConnectionCRUD()
9090
{
9191
TestRunner.RunTestScript("Test-NetworkManagerManagementGroupConnectionCRUD");
9292
}
93+
94+
[Fact]
95+
[Trait(Category.AcceptanceType, Category.CheckIn)]
96+
[Trait(Category.Owner, NrpTeamAlias.sdnnrp)]
97+
public void NetworkManagerResourceMinimumParameterCreate()
98+
{
99+
TestRunner.RunTestScript("Test-NetworkManagerResourceMinimumParameterCreate");
100+
}
93101
}
94102
}

src/Network/Network.Test/ScenarioTests/NetworkManagerTests.ps1

Lines changed: 90 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ function Test-NetworkManagerConnectivityConfigurationCRUD
268268
$configids = @($newConnConfig.Id)
269269
$regions = @($rglocation)
270270
Deploy-AzNetworkManagerCommit -ResourceGroupName $rgname -Name $networkManagerName -TargetLocation $regions -ConfigurationId $configids -CommitType "Connectivity"
271-
Start-Sleep -Seconds 60
271+
# Start-Sleep -Seconds 60
272272

273273
$deploymentStatus = Get-AzNetworkManagerDeploymentStatus -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Region $regions -DeploymentType "Connectivity"
274274
Assert-NotNull $deploymentStatus;
@@ -304,7 +304,7 @@ function Test-NetworkManagerConnectivityConfigurationCRUD
304304
Assert-AreEqual "True" $effectiveConnectivityConfig.Value[0].DeleteExistingPeering;
305305

306306
$job = Remove-AzNetworkManagerConnectivityConfiguration -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Name $connectivityConfigurationName -ForceDelete -PassThru -Force -AsJob;
307-
Start-Sleep -Seconds 60
307+
# Start-Sleep -Seconds 60
308308
$job | Wait-Job;
309309
$removeResult = $job | Receive-Job;
310310

@@ -369,19 +369,22 @@ function Test-NetworkManagerSecurityAdminRuleCRUD
369369

370370
$networkGroup = Get-AzNetworkManagerGroup -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Name $networkGroupName
371371

372-
$ApplyOnNetworkIntentPolicyBasedServices = @("None")
372+
$ApplyOnNetworkIntentPolicyBasedServices = @("none")
373373
New-AzNetworkManagerSecurityAdminConfiguration -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Name $SecurityConfigurationName -Description "DESCription" -DeleteExistingNSG -ApplyOnNetworkIntentPolicyBasedService $ApplyOnNetworkIntentPolicyBasedServices
374374

375375
$securityConfig = Get-AzNetworkManagerSecurityAdminConfiguration -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Name $SecurityConfigurationName
376376
Assert-NotNull $securityConfig;
377377
Assert-AreEqual $SecurityConfigurationName $securityConfig.Name;
378378
Assert-AreEqual $ApplyOnNetworkIntentPolicyBasedServices $securityConfig.ApplyOnNetworkIntentPolicyBasedServices;
379379

380+
$ApplyOnNetworkIntentPolicyBasedServices = @()
380381
$securityConfig.Description = "A different description."
382+
$securityConfig.ApplyOnNetworkIntentPolicyBasedServices = $ApplyOnNetworkIntentPolicyBasedServices
381383
$securityConfig = Set-AzNetworkManagerSecurityAdminConfiguration -InputObject $securityConfig
382384
Assert-NotNull $securityConfig;
383385
Assert-AreEqual "A different description." $securityConfig.Description;
384386
Assert-AreEqual $SecurityConfigurationName $securityConfig.Name;
387+
Assert-AreEqual $ApplyOnNetworkIntentPolicyBasedServices $securityConfig.ApplyOnNetworkIntentPolicyBasedServices;
385388

386389
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerSecurityGroupItem]]$configGroup = @()
387390
$groupItem = New-AzNetworkManagerSecurityGroupItem -NetworkGroupId $networkGroup.Id
@@ -427,7 +430,7 @@ function Test-NetworkManagerSecurityAdminRuleCRUD
427430
$configids = @($securityConfig.Id)
428431
$regions = @($rglocation)
429432
Deploy-AzNetworkManagerCommit -ResourceGroupName $rgname -Name $networkManagerName -TargetLocation $regions -ConfigurationId $configids -CommitType "SecurityAdmin"
430-
Start-Sleep -Seconds 60
433+
# Start-Sleep -Seconds 60
431434

432435
$deploymentStatus = Get-AzNetworkManagerDeploymentStatus -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Region $regions -DeploymentType "SecurityAdmin"
433436
Assert-NotNull $deploymentStatus;
@@ -468,29 +471,29 @@ function Test-NetworkManagerSecurityAdminRuleCRUD
468471
break;
469472
}
470473
}
471-
Assert-NotNull $effectiveSecurityAdminRuleList;
474+
Assert-NotNull $effectiveSecurityAdminRule;
472475
#>
473476

474-
Assert-AreEqual $newAdminRule.Id $effectiveSecurityAdminRuleList.Value[0].Id;
475-
Assert-AreEqual $networkGroup.Id $effectiveSecurityAdminRuleList.Value[0].RuleGroups[0].Id;
476-
Assert-AreEqual $networkGroup.Id $effectiveSecurityAdminRuleList.Value[0].RuleCollectionAppliesToGroups[0].NetworkGroupId;
477+
Assert-AreEqual $newAdminRule.Id $effectiveSecurityAdminRuleList.Value[3].Id;
478+
Assert-AreEqual $networkGroup.Id $effectiveSecurityAdminRuleList.Value[3].RuleGroups[0].Id;
479+
Assert-AreEqual $networkGroup.Id $effectiveSecurityAdminRuleList.Value[3].RuleCollectionAppliesToGroups[0].NetworkGroupId;
477480

478481

479-
Assert-AreEqual $securityConfig.Description $effectiveSecurityAdminRuleList.Value[0].ConfigurationDescription;
480-
Assert-AreEqual $ruleCollection.Description $effectiveSecurityAdminRuleList.Value[0].RuleCollectionDescription;
482+
Assert-AreEqual $securityConfig.Description $effectiveSecurityAdminRuleList.Value[3].ConfigurationDescription;
483+
Assert-AreEqual $ruleCollection.Description $effectiveSecurityAdminRuleList.Value[3].RuleCollectionDescription;
481484

482-
Assert-AreEqual "TCP" $effectiveSecurityAdminRuleList.Value[0].Protocol
483-
Assert-AreEqual "Inbound" $effectiveSecurityAdminRuleList.Value[0].Direction
484-
Assert-AreEqual "Allow" $effectiveSecurityAdminRuleList.Value[0].Access
485-
Assert-AreEqual 100 $effectiveSecurityAdminRuleList.Value[0].Priority
485+
Assert-AreEqual "TCP" $effectiveSecurityAdminRuleList.Value[3].Protocol
486+
Assert-AreEqual "Inbound" $effectiveSecurityAdminRuleList.Value[3].Direction
487+
Assert-AreEqual "Allow" $effectiveSecurityAdminRuleList.Value[3].Access
488+
Assert-AreEqual 100 $effectiveSecurityAdminRuleList.Value[3].Priority
486489

487-
Assert-AreEqual "100" $effectiveSecurityAdminRuleList.Value[0].SourcePortRanges[0]
488-
Assert-AreEqual "99" $effectiveSecurityAdminRuleList.Value[0].DestinationPortRanges[0]
489-
Assert-AreEqual "10.0.0.1" $effectiveSecurityAdminRuleList.Value[0].Destinations[0].AddressPrefix
490-
Assert-AreEqual "Internet" $effectiveSecurityAdminRuleList.Value[0].Sources[0].AddressPrefix
490+
Assert-AreEqual "100" $effectiveSecurityAdminRuleList.Value[3].SourcePortRanges[0]
491+
Assert-AreEqual "99" $effectiveSecurityAdminRuleList.Value[3].DestinationPortRanges[0]
492+
Assert-AreEqual "10.0.0.1" $effectiveSecurityAdminRuleList.Value[3].Destinations[0].AddressPrefix
493+
Assert-AreEqual "Internet" $effectiveSecurityAdminRuleList.Value[3].Sources[0].AddressPrefix
491494

492495
Deploy-AzNetworkManagerCommit -ResourceGroupName $rgname -Name $networkManagerName -TargetLocation $regions -CommitType "SecurityAdmin"
493-
Start-Sleep -Seconds 60
496+
# Start-Sleep -Seconds 60
494497

495498
$job = Remove-AzNetworkManagerSecurityAdminRule -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -SecurityAdminConfigurationName $SecurityConfigurationName -RuleCollectionName $RuleCollectionName -Name $RuleName -ForceDelete -PassThru -Force -AsJob;
496499
$job | Wait-Job;
@@ -637,4 +640,72 @@ function Test-NetworkManagerManagementGroupConnectionCRUD
637640
}
638641
finally{
639642
}
643+
}
644+
645+
<#
646+
.SYNOPSIS
647+
Tests minimum parameter input for each resource results in successful create
648+
#>
649+
function Test-NetworkManagerResourceMinimumParameterCreate
650+
{
651+
# Setup
652+
$rgName = Get-ResourceGroupName
653+
$networkManagerName = Get-ResourceName
654+
$networkGroupName = Get-ResourceName
655+
$staticMemberName = Get-ResourceName
656+
$connectivityConfigurationName = Get-ResourceName
657+
$SecurityConfigurationName = Get-ResourceName
658+
$RuleCollectionName = Get-ResourceName
659+
$RuleName = Get-ResourceName
660+
$scopeConnectionName = Get-ResourceName
661+
$rglocation = "centraluseuap"
662+
$subscriptionId = "/subscriptions/0fd190fa-dd1c-4724-b7f6-c5cc3ba5c884"
663+
$vnetId = "/subscriptions/0fd190fa-dd1c-4724-b7f6-c5cc3ba5c884/resourceGroups/jaredgorthy-PowerShellTestResources/providers/Microsoft.Network/virtualNetworks/powerShellTestVnet"
664+
665+
try{
666+
#Create the resource group
667+
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $rglocation -Tags @{ testtag = "testval" }
668+
669+
# Create Scope
670+
$subscriptions = @($subscriptionId)
671+
$managementGroups = @($managementGroupId)
672+
$scope = New-AzNetworkManagerScope -Subscription $subscriptions
673+
674+
# Define access
675+
$access = @("Connectivity", "SecurityAdmin")
676+
677+
# Create network manager
678+
New-AzNetworkManager -ResourceGroupName $rgname -Name $networkManagerName -NetworkManagerScope $scope -NetworkManagerScopeAccess $access -Location $rglocation
679+
680+
# Create a network group
681+
New-AzNetworkManagerGroup -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Name $networkGroupName
682+
683+
# Create a static member
684+
New-AzNetworkManagerStaticMember -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -NetworkGroupName $networkGroupName -Name $staticMemberName -ResourceId $vnetId
685+
686+
# Create connectivity group item and config
687+
$networkGroup = Get-AzNetworkManagerGroup -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Name $networkGroupName
688+
$connectivityGroupItem = New-AzNetworkManagerConnectivityGroupItem -NetworkGroupId $networkGroup.Id
689+
$connectivityGroup = @($connectivityGroupItem)
690+
New-AzNetworkManagerConnectivityConfiguration -ResourceGroupName $rgname -Name $connectivityConfigurationName -NetworkManagerName $networkManagerName -ConnectivityTopology "Mesh" -AppliesToGroup $connectivityGroup -DeleteExistingPeering
691+
692+
# Create a security admin config
693+
New-AzNetworkManagerSecurityAdminConfiguration -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Name $SecurityConfigurationName
694+
695+
# Create a security admin rule collection
696+
[System.Collections.Generic.List[Microsoft.Azure.Commands.Network.Models.NetworkManager.PSNetworkManagerSecurityGroupItem]]$configGroup = @()
697+
$groupItem = New-AzNetworkManagerSecurityGroupItem -NetworkGroupId $networkGroup.Id
698+
$configGroup.Add($groupItem)
699+
New-AzNetworkManagerSecurityAdminRuleCollection -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -ConfigName $SecurityConfigurationName -Name $RuleCollectionName -AppliesToGroup $configGroup
700+
701+
# Create a security admin rule
702+
New-AzNetworkManagerSecurityAdminRule -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -ConfigName $SecurityConfigurationName -RuleCollectionName $RuleCollectionName -Name $RuleName -Protocol "TCP" -Direction "Inbound" -Access "Allow" -Priority 100
703+
704+
# Create a scope connection
705+
New-AzNetworkManagerScopeConnection -ResourceGroupName $rgname -NetworkManagerName $networkManagerName -Name $scopeConnectionName -TenantId "72f988bf-86f1-41af-91ab-2d7cd011db47" -ResourceId $subscriptionId
706+
}
707+
finally{
708+
# Cleanup
709+
Clean-ResourceGroup $rgname
710+
}
640711
}

0 commit comments

Comments
 (0)