Skip to content

Commit f4543f7

Browse files
authored
Merge pull request #325 from ritwikbasu/preview
Add new commandlets for VpnDevice Configuration Scripts
2 parents d4c47e3 + 8979839 commit f4543f7

18 files changed

+295444
-14
lines changed

ChangeLog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,9 @@
9797
- Updated New-AzureRmNetworkSecurityRuleConfig: Added optional parameters SourceApplicationSecurityGroup, SourceApplicationSecurityGroupId, DestinationApplicationSecurityGroup, and DestinationApplicationSecurityGroupId
9898
- Updated Add-AzureRmNetworkSecurityRuleConfig: Added optional parameters SourceApplicationSecurityGroup, SourceApplicationSecurityGroupId, DestinationApplicationSecurityGroup, and DestinationApplicationSecurityGroupId
9999
- Updated Set-AzureRmNetworkSecurityRuleConfig: Added optional parameters SourceApplicationSecurityGroup, SourceApplicationSecurityGroupId, DestinationApplicationSecurityGroup, and DestinationApplicationSecurityGroupId
100+
* Added new commands for VpnDeviceConfiguration Scripts
101+
- Get-AzureRmVirtualNetworkGatewaySupportedVpnDevices
102+
- Get-AzureRmVirtualNetworkGatewayConnectionVpnDeviceConfigScript
100103
* Resources
101104
* Add PolicySetDefinition cmdlets
102105
- New-AzureRmPolicySetDefinition cmdlet to create a policy set definition

src/ResourceManager/Compute/Commands.Compute.Test/Commands.Compute.Test.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@
6666
<Reference Include="Microsoft.Azure.Management.Compute">
6767
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Compute.16.3.0\lib\net452\Microsoft.Azure.Management.Compute.dll</HintPath>
6868
</Reference>
69-
<Reference Include="Microsoft.Azure.Management.Network, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
70-
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Network.14.2.0-preview\lib\net452\Microsoft.Azure.Management.Network.dll</HintPath>
69+
<Reference Include="Microsoft.Azure.Management.Network, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
70+
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Network.15.0.0-preview\lib\net452\Microsoft.Azure.Management.Network.dll</HintPath>
7171
<Private>True</Private>
7272
</Reference>
7373
<Reference Include="Microsoft.Azure.Management.Storage, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">

src/ResourceManager/Compute/Commands.Compute.Test/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<package id="Microsoft.Azure.Graph.RBAC" version="3.4.0-preview" targetFramework="net452" />
88
<package id="Microsoft.Azure.Management.Authorization" version="1.0.0" targetFramework="net45" />
99
<package id="Microsoft.Azure.Management.Compute" version="16.3.0" targetFramework="net452" />
10-
<package id="Microsoft.Azure.Management.Network" version="14.2.0-preview" targetFramework="net452" />
10+
<package id="Microsoft.Azure.Management.Network" version="15.0.0-preview" targetFramework="net452" />
1111
<package id="Microsoft.Azure.Management.Storage" version="4.1.0-preview" targetFramework="net45" />
1212
<package id="Microsoft.Azure.Test.Framework" version="1.0.6179.26854-prerelease" targetFramework="net45" />
1313
<package id="Microsoft.Azure.Test.HttpRecorder" version="1.6.7-preview" targetFramework="net45" />

src/ResourceManager/Network/AzureRM.Network.Netcore.psd1

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,8 @@ CmdletsToExport = 'Add-AzureRmApplicationGatewayAuthenticationCertificate',
294294
'Get-AzureRmVirtualNetworkGatewayAdvertisedRoute',
295295
'Get-AzureRmVirtualNetworkGatewayLearnedRoute',
296296
'Get-AzureRmNetworkUsage',
297+
'Get-AzureRmVirtualNetworkGatewaySupportedVpnDevice',
298+
'Get-AzureRmVirtualNetworkGatewayConnectionVpnDeviceConfigScript',
297299
'New-AzureRmApplicationSecurityGroup',
298300
'Remove-AzureRmApplicationSecurityGroup',
299301
'Get-AzureRmApplicationSecurityGroup'

src/ResourceManager/Network/AzureRM.Network.psd1

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -300,10 +300,13 @@ CmdletsToExport = 'Add-AzureRmApplicationGatewayAuthenticationCertificate',
300300
'Get-AzureRmVirtualNetworkGatewayBgpPeerStatus',
301301
'Get-AzureRmVirtualNetworkGatewayAdvertisedRoute',
302302
'Get-AzureRmVirtualNetworkGatewayLearnedRoute',
303-
'Get-AzureRmNetworkUsage', 'Get-AzureRmVirtualNetworkUsageList',
304-
'Get-AzureRmVirtualNetworkAvailableEndpointService',
305-
'New-AzureRmApplicationSecurityGroup',
306-
'Remove-AzureRmApplicationSecurityGroup',
303+
'Get-AzureRmNetworkUsage',
304+
'Get-AzureRmVirtualNetworkUsageList',
305+
'Get-AzureRmVirtualNetworkAvailableEndpointService',
306+
'Get-AzureRmVirtualNetworkGatewaySupportedVpnDevice',
307+
'Get-AzureRmVirtualNetworkGatewayConnectionVpnDeviceConfigScript',
308+
'New-AzureRmApplicationSecurityGroup',
309+
'Remove-AzureRmApplicationSecurityGroup',
307310
'Get-AzureRmApplicationSecurityGroup'
308311

309312
# Variables to export from this module
@@ -369,7 +372,7 @@ PrivateData = @{
369372
- Updated New-AzureRmNetworkSecurityRuleConfig: Updated SourcePortRange, DestinationPortRange, SourceAddressPrefix parameter to accept a list of strings
370373
- Updated Set-AzureRmNetworkSecurityRuleConfig: Updated SourcePortRange, DestinationPortRange, SourceAddressPrefix parameter to accept a list of strings
371374
- Updated Add-AzureRmNetworkSecurityRuleConfig: Updated SourcePortRange, DestinationPortRange, SourceAddressPrefix parameter to accept a list of strings
372-
- Updated New-AzureRmNetworkSecurityGroup : Updated SecurityRules parameter to accept SourcePortRange, DestinationPortRange, SourceAddressPrefix parameters which are list of strings in PSSecurityRule object
375+
- Updated New-AzureRmNetworkSecurityGroup : Updated SecurityRules parameter to accept SourcePortRange, DestinationPortRange, SourceAddressPrefix parameters which are list of strings in PSSecurityRule object
373376
- Updated Get-AzureRmEffectiveNetworkSecurityGroup: Added parameter TagMap
374377
- Updated Get-AzureRmEffectiveNetworkSecurityGroup: Updated returned PSEffectiveSecurityRule object with SourcePortRange, DestinationPortRange, SourceAddressPrefix parameters which are list of strings.
375378
* Added support for DDoS protection for virtual networks
@@ -390,6 +393,9 @@ PrivateData = @{
390393
- Updated New-AzureRmNetworkSecurityRuleConfig: Added optional parameters SourceApplicationSecurityGroup, SourceApplicationSecurityGroupId, DestinationApplicationSecurityGroup, and DestinationApplicationSecurityGroupId
391394
- Updated Add-AzureRmNetworkSecurityRuleConfig: Added optional parameters SourceApplicationSecurityGroup, SourceApplicationSecurityGroupId, DestinationApplicationSecurityGroup, and DestinationApplicationSecurityGroupId
392395
- Updated Set-AzureRmNetworkSecurityRuleConfig: Added optional parameters SourceApplicationSecurityGroup, SourceApplicationSecurityGroupId, DestinationApplicationSecurityGroup, and DestinationApplicationSecurityGroupId
396+
* Added new commands for VpnDeviceConfiguration Scripts
397+
- Get-AzureRmVirtualNetworkGatewaySupportedVpnDevices
398+
- Get-AzureRmVirtualNetworkGatewayConnectionVpnDeviceConfigScript
393399
'
394400

395401
# External dependent modules of this module

src/ResourceManager/Network/ChangeLog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@
4343
* Added support for IkeV2 P2S
4444
- Updated New-AzureRmVirtualNetworkGateway: Added optional parameter -VpnClientProtocol, defaults to [ "SSTP", "IkeV2" ]
4545
- Updated Set-AzureRmVirtualNetworkGateway: Added optional parameter -VpnClientProtocol
46+
* Added new commands for VpnDeviceConfiguration Scripts
47+
- Get-AzureRmVirtualNetworkGatewaySupportedVpnDevices
48+
- Get-AzureRmVirtualNetworkGatewayConnectionVpnDeviceConfigScript
4649
* Added support for MultiValued rules in Network Security Rules and Effective Network Security Rules
4750
- Updated Add-AzureRmNetworkSecurityRuleConfig: Updated SourcePortRange, DestinationPortRange, SourceAddressPrefix parameters to accept a list of strings
4851
- Updated New-AzureRmNetworkSecurityRuleConfig: Updated SourcePortRange, DestinationPortRange, SourceAddressPrefix parameter to accept a list of strings

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@
6464
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Authorization.2.0.0\lib\net40\Microsoft.Azure.Management.Authorization.dll</HintPath>
6565
<Private>True</Private>
6666
</Reference>
67-
<Reference Include="Microsoft.Azure.Management.Network, Version=14.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
68-
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Network.14.2.0-preview\lib\net452\Microsoft.Azure.Management.Network.dll</HintPath>
67+
<Reference Include="Microsoft.Azure.Management.Network, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
68+
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Network.15.0.0-preview\lib\net452\Microsoft.Azure.Management.Network.dll</HintPath>
6969
<Private>True</Private>
7070
</Reference>
7171
<Reference Include="Microsoft.Azure.Management.ResourceManager">
@@ -515,6 +515,9 @@
515515
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.VirtualNetworkGatewayConnectionTests\TestVirtualNetworkGatewayConnectionwithIpsecPoliciesCRUD.json">
516516
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
517517
</None>
518+
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.VirtualNetworkGatewayConnectionTests\TestVirtualNetworkGatewayVpnDeviceConfigurationScripts.json">
519+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
520+
</None>
518521
<None Include="SessionRecords\Commands.Network.Test.ScenarioTests.VirtualNetworkGatewayTests\TestSetVirtualNetworkGatewayCRUD.json">
519522
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
520523
</None>

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,5 +60,12 @@ public void TestVirtualNetworkGatewayConnectionWithActiveAcitveGateway()
6060
{
6161
NetworkResourcesController.NewInstance.RunPsTest("Test-VirtualNetworkGatewayConnectionWithActiveActiveGateway");
6262
}
63+
64+
[Fact]
65+
[Trait(Category.AcceptanceType, Category.CheckIn)]
66+
public void TestVirtualNetworkGatewayVpnDeviceConfigurationScripts()
67+
{
68+
NetworkResourcesController.NewInstance.RunPsTest("Test-VirtualNetworkGatewayConnectionVpnDeviceConfigurations");
69+
}
6370
}
6471
}

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

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,4 +466,76 @@ function Test-VirtualNetworkGatewayConnectionSharedKeyCRUD
466466
# Cleanup
467467
Clean-ResourceGroup $rgname
468468
}
469+
}
470+
471+
<#
472+
.SYNOPSIS
473+
Virtual network gateway vpn device configuration tests
474+
#>
475+
function Test-VirtualNetworkGatewayConnectionVpnDeviceConfigurations
476+
{
477+
# Setup
478+
$rgname = Get-ResourceGroupName
479+
$rname = Get-ResourceName
480+
$domainNameLabel = Get-ResourceName
481+
$vnetName = Get-ResourceName
482+
$localnetName = Get-ResourceName
483+
$vnetConnectionName = Get-ResourceName
484+
$publicIpName = Get-ResourceName
485+
$vnetGatewayConfigName = Get-ResourceName
486+
$rglocation = Get-ProviderLocation ResourceManagement
487+
$resourceTypeParent = "Microsoft.Network/connections"
488+
$location = Get-ProviderLocation $resourceTypeParent
489+
490+
try
491+
{
492+
# Create the resource group
493+
$resourceGroup = New-AzureRmResourceGroup -Name $rgname -Location $rglocation -Tags @{ testtag = "testval" }
494+
495+
# Create the Virtual Network
496+
$subnet = New-AzureRmVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix 10.0.0.0/24
497+
$vnet = New-AzureRmvirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $location -AddressPrefix 10.0.0.0/16 -Subnet $subnet
498+
$vnet = Get-AzureRmvirtualNetwork -Name $vnetName -ResourceGroupName $rgname
499+
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
500+
501+
# Create the publicip
502+
$publicip = New-AzureRmPublicIpAddress -ResourceGroupName $rgname -name $publicIpName -location $location -AllocationMethod Dynamic -DomainNameLabel $domainNameLabel
503+
504+
# Create VirtualNetworkGateway
505+
$vnetIpConfig = New-AzureRmVirtualNetworkGatewayIpConfig -Name $vnetGatewayConfigName -PublicIpAddress $publicip -Subnet $subnet
506+
$actual = New-AzureRmVirtualNetworkGateway -ResourceGroupName $rgname -name $rname -location $location -IpConfigurations $vnetIpConfig -GatewayType Vpn -VpnType RouteBased -GatewaySku Standard
507+
$vnetGateway = Get-AzureRmVirtualNetworkGateway -ResourceGroupName $rgname -name $rname
508+
509+
# Create LocalNetworkGateway
510+
$actual = New-AzureRmLocalNetworkGateway -ResourceGroupName $rgname -name $localnetName -location $location -AddressPrefix 192.168.0.0/16 -GatewayIpAddress 192.168.3.10
511+
$localnetGateway = Get-AzureRmLocalNetworkGateway -ResourceGroupName $rgname -name $localnetName
512+
513+
# Create IpsecPolicy and test defaults creation
514+
$ipsecPolicy = New-AzureRmIpsecPolicy -IpsecEncryption "GCMAES256" -IpsecIntegrity "GCMAES256" -IkeEncryption "AES256" -IkeIntegrity "SHA256" -DhGroup "DHGroup14" -PfsGroup "PFS2048"
515+
Assert-AreEqual $ipsecPolicy.SALifeTimeSeconds 27000
516+
Assert-AreEqual $ipsecPolicy.SADataSizeKilobytes 102400000
517+
$ipsecPolicy = New-AzureRmIpsecPolicy -SALifeTimeSeconds 3000 -SADataSizeKilobytes 10000 -IpsecEncryption "GCMAES256" -IpsecIntegrity "GCMAES256" -IkeEncryption "AES256" -IkeIntegrity "SHA256" -DhGroup "DHGroup14" -PfsGroup "PFS2048"
518+
519+
# Create & Get VirtualNetworkGatewayConnection w/ policy based TS
520+
$actual = New-AzureRmVirtualNetworkGatewayConnection -ResourceGroupName $rgname -name $vnetConnectionName -location $location -VirtualNetworkGateway1 $vnetGateway -LocalNetworkGateway2 $localnetGateway -ConnectionType IPsec -RoutingWeight 3 -SharedKey abc -EnableBgp $false -UsePolicyBasedTrafficSelectors $true -IpsecPolicies $ipsecPolicy
521+
$connection = Get-AzureRmVirtualNetworkGatewayConnection -ResourceGroupName $rgname -name $vnetConnectionName
522+
523+
# List supported vpn devices
524+
$supportedVpnDevices = Get-AzureRmVirtualNetworkGatewaySupportedVpnDevice -ResourceGroupName $rgname -name $rname
525+
526+
$supportedDevicesXml = [xml]$supportedVpnDevices
527+
$vendorNode = $supportedDevicesXml.SelectSingleNode("//Vendor")
528+
$deviceNode = $vendorNode.FirstChild
529+
$vendorName = $vendorNode.Attributes["name"].Value
530+
$deviceName = $deviceNode.Attributes["name"].Value
531+
$firmwareVersion = $deviceNode.FirstChild.Attributes["name"].Value
532+
533+
$vpnDeviceConfigurationScript = Get-AzureRmVirtualNetworkGatewayConnectionVpnDeviceConfigScript -ResourceGroupName $rgname -name $vnetConnectionName -DeviceVendor $vendorName -DeviceFamily $deviceName -FirmwareVersion $firmwareVersion
534+
Write-Host $vpnDeviceConfigurationScript
535+
}
536+
finally
537+
{
538+
# Cleanup
539+
Clean-ResourceGroup $rgname
540+
}
469541
}

0 commit comments

Comments
 (0)