Skip to content

Commit 2b7bfd3

Browse files
Merge pull request Azure#6094 from dedhar/preview
Add PS CmdLets for Express Route Circuit Connection Resource
2 parents d4ccc0a + f30eff0 commit 2b7bfd3

20 files changed

+3553
-14
lines changed

src/ResourceManager/Network/AzureRM.Network.psd1

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,10 @@ CmdletsToExport = 'Add-AzureRmApplicationGatewayAuthenticationCertificate',
319319
'New-AzureRmPublicIpTag',
320320
'New-AzureRmDdosProtectionPlan',
321321
'Get-AzureRmDdosProtectionPlan',
322-
'Remove-AzureRmDdosProtectionPlan'
322+
'Remove-AzureRmDdosProtectionPlan',
323+
'Add-AzureRmExpressRouteCircuitConnectionConfig',
324+
'Get-AzureRmExpressRouteCircuitConnectionConfig',
325+
'Remove-AzureRmExpressRouteCircuitConnectionConfig'
323326

324327
# Variables to export from this module
325328
# VariablesToExport = @()

src/ResourceManager/Network/ChangeLog.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@
2323
* Bump up Network SDK version from 18.0.0-preview to 19.0.0-preview
2424

2525
## Version 6.0.0
26+
* Added cmdlet to add a new circuit connection to an existing express route circuit.
27+
- Add-AzureRmExpressRouteCircuitConnectionConfig
28+
* Added cmdlet to remove a circuit connection from an existing express route circuit.
29+
- Remove-AzureRmExpressRouteCircuitConnectionConfig
30+
* Added cmdlet to retrieve a circuit connection
31+
- Get-AzureRmExpressRouteCircuitConnectionConfig
2632
* Bump up network sdk version from 17.0.0.preview to 18.0.0.preview
2733
* Rerecord all network tests with latest sdk version* Set minimum dependency of module to PowerShell 5.0
2834
* Add support for DDoS protection plan resource

src/ResourceManager/Network/Commands.Network.Test/Commands.Network.Test.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,7 @@
329329
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.ExpressRouteCircuitTests\TestExpressRouteBgpServiceCommunitiesGet.json">
330330
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
331331
</None>
332+
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.ExpressRouteCircuitTests\TestExpressRouteCircuitConnectionCRUD.json" />
332333
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.LoadBalancerTests\TestLoadBalancerCRUDInternalHighlyAvailableBasicSku.json">
333334
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
334335
</None>

src/ResourceManager/Network/Commands.Network.Test/ScenarioTests/Common.ps1

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,27 +62,25 @@ function Get-ProviderLocation($provider)
6262
{
6363
$type = $provider.Substring($namespace.Length + 1)
6464
$location = Get-AzureRmResourceProvider -ProviderNamespace $namespace | where {$_.ResourceTypes[0].ResourceTypeName -eq $type}
65-
65+
6666
if ($location -eq $null)
6767
{
6868
return "West US"
6969
}
7070
else
71-
{
72-
if($location.Locations[0] -eq "West US")
73-
{
74-
return $location.Locations[1]
75-
}
76-
else
7771
{
78-
return $location.Locations[0]
72+
if($location.Locations[0] -eq "West US")
73+
{
74+
return $location.Locations[1]
7975
}
80-
}
81-
}
82-
76+
else
77+
{
78+
return $location.Locations[0]
79+
}
80+
}
81+
}
8382
return "West US"
8483
}
85-
8684
return "WestUS"
8785
}
8886

src/ResourceManager/Network/Commands.Network.Test/ScenarioTests/ExpressRouteCircuitTests.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,5 +74,12 @@ public void TestExpressRouteRouteFilterCRUD()
7474
{
7575
NetworkResourcesController.NewInstance.RunPsTest("Test-ExpressRouteRouteFilters");
7676
}
77+
78+
[Fact(Skip = "Express Route Circuits need to be manually provisioned by Service Providers and the whole setup can't be automated.")]
79+
[Trait(Category.AcceptanceType, Category.CheckIn)]
80+
public void TestExpressRouteCircuitConnectionCRUD()
81+
{
82+
NetworkResourcesController.NewInstance.RunPsTest("Test-ExpressRouteCircuitConnectionCRUD");
83+
}
7784
}
7885
}

src/ResourceManager/Network/Commands.Network.Test/ScenarioTests/ExpressRouteCircuitTests.ps1

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,3 +540,59 @@ function Test-ExpressRouteCircuitAuthorizationCRUD
540540
}
541541
}
542542

543+
<#
544+
.SYNOPSIS
545+
Tests ExpressRouteCircuitConnectionCRUD.
546+
#>
547+
function Test-ExpressRouteCircuitConnectionCRUD
548+
{
549+
$circuitName = "dedharcktpeer"
550+
$groupName = "dedharpspeer"
551+
$peerCircuitId = "/subscriptions/99c33776-9f4e-4e58-abe8-9263db1b9c6e/resourceGroups/dedharpsinit/providers/Microsoft.Network/expressRouteCircuits/dedhar-cktinit/peerings/AzurePrivatePeering"
552+
$addressPrefix = "60.0.0.0/29"
553+
$authorizationKey = "aaf441cf-4409-48ee-8e2d-a39cc7e428a8"
554+
$connectionName = "transit"
555+
556+
try
557+
{
558+
#Get Express Route Circuit Resource
559+
$ckt = Get-AzureRmExpressRouteCircuit -Name $circuitName -ResourceGroupName $groupName
560+
$ckt
561+
562+
#Create the circuit connection Resource
563+
Add-AzureRmExpressRouteCircuitConnectionConfig -Name $connectionName -ExpressRouteCircuit $ckt -PeerExpressRouteCircuitPeering $peerCircuitId -AddressPrefix $addressPrefix -AuthorizationKey $authorizationKey
564+
565+
#Set on Express Route Circuit
566+
Set-AzureRmExpressRouteCircuit -ExpressRouteCircuit $ckt
567+
568+
#Get Express Route Circuit Resource
569+
$ckt = Get-AzureRmExpressRouteCircuit -Name $circuitName -ResourceGroupName $groupName
570+
$ckt
571+
572+
#Verify Circuit Connection fields
573+
Assert-AreEqual "transit" $ckt.Peerings[0].Connections[0].Name
574+
Assert-AreEqual "Succeeded" $ckt.Peerings[0].Connections[0].ProvisioningState
575+
Assert-AreEqual "Connected" $ckt.Peerings[0].Connections[0].CircuitConnectionStatus
576+
577+
#Get Express Route Circuit Resource
578+
$ckt = Get-AzureRmExpressRouteCircuit -Name $circuitName -ResourceGroupName $groupName
579+
580+
#Delete the circuit connection Resource
581+
Remove-AzureRmExpressRouteCircuitConnectionConfig -Name $connectionName -ExpressRouteCircuit $ckt
582+
583+
#Set on Express Route Circuit
584+
Set-AzureRmExpressRouteCircuit -ExpressRouteCircuit $ckt
585+
586+
#Get Express Route Circuit Resource
587+
$ckt = Get-AzureRmExpressRouteCircuit -Name $circuitName -ResourceGroupName $groupName
588+
$ckt
589+
590+
#Verify Circuit Connection does not exist
591+
Assert-AreEqual 0 $ckt.Peerings[0].Connections.Count
592+
}
593+
finally
594+
{
595+
#Cleanup
596+
}
597+
}
598+

0 commit comments

Comments
 (0)