Skip to content

Commit e6fb94c

Browse files
authored
Add TrafficSelectorPolicy param in VpnConnection for VWAN (#14354)
* Add suppot for TrafficSelectorPolicy parameter in VpnConnection (VWAN) * Update Network module version * Fix new lines * Add recorded test and update help md * Add trafficSelectorPolicy in Update AzVpnConnection command * Update cortexTests * Update recorded test * Update Network changeLog.md
1 parent 00f5bae commit e6fb94c

File tree

12 files changed

+2119
-2405
lines changed

12 files changed

+2119
-2405
lines changed

src/CosmosDB/CosmosDB.Test/CosmosDB.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
<PackageReference Include="Microsoft.Azure.Management.Network" Version="20.4.0" />
88
<PackageReference Include="Microsoft.Azure.Management.CosmosDB" Version="2.0.0" />
99
</ItemGroup>
10-
</Project>
10+
</Project>

src/Dns/Dns.Test/Dns.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@
1515
<PackageReference Include="Microsoft.Azure.Management.Network" Version="20.4.0" />
1616
</ItemGroup>
1717

18-
</Project>
18+
</Project>

src/Network/Network.Test/ScenarioTests/CortexTests.ps1

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,11 +397,16 @@ function Test-CortexDownloadConfig
397397
$vpnGateway = Get-AzVpnGateway -ResourceGroupName $rgName -Name $vpnGatewayName
398398
Assert-AreEqual $rgName $vpnGateway.ResourceGroupName
399399
Assert-AreEqual $vpnGatewayName $vpnGateway.Name
400+
401+
# Create traffic selector policy
402+
$trafficSelector = New-AzIpsecTrafficSelectorPolicy -LocalAddressRange ("2.2.2.2/32", "4.4.4.4/32") -RemoteAddressRange ("3.3.3.3/32", "5.5.5.5/32")
400403

401404
# Create the VpnConnection
402-
$createdVpnConnection = New-AzVpnConnection -ResourceGroupName $rgName -ParentResourceName $vpnGatewayName -Name $vpnConnectionName -VpnSite $vpnSite -ConnectionBandwidth 20
405+
$createdVpnConnection = New-AzVpnConnection -ResourceGroupName $rgName -ParentResourceName $vpnGatewayName -Name $vpnConnectionName -VpnSite $vpnSite -ConnectionBandwidth 20 -TrafficSelectorPolicy ($trafficSelector)
403406
$vpnConnection = Get-AzVpnConnection -ResourceGroupName $rgName -ParentResourceName $vpnGatewayName -Name $vpnConnectionName
404407
Assert-AreEqual $vpnConnectionName $vpnConnection.Name
408+
Assert-AreEqual $trafficSelector.LocalAddressRanges[0] $createdVpnConnection.TrafficSelectorPolicies[0].LocalAddressRanges[0]
409+
Assert-AreEqual $trafficSelector.RemoteAddressRanges[0] $createdVpnConnection.TrafficSelectorPolicies[0].RemoteAddressRanges[0]
405410

406411
# Create the VpnConnection with site with links
407412
$vpnSiteLinkConnection1 = New-AzVpnSiteLinkConnection -Name $vpnLink1ConnectionName -VpnSiteLink $vpnSite2.VpnSiteLinks[0] -ConnectionBandwidth 100
@@ -415,6 +420,9 @@ function Test-CortexDownloadConfig
415420
# Test Reset VpnSiteLinkConnection
416421
Reset-AzVpnSiteLinkConnection -InputObject $vpnConnection2.VpnLinkConnections[0]
417422

423+
# Update VpnConnection with -TrafficSelectorPolicy
424+
$updatedVpnConnection2 = Update-AzVpnConnection -ResourceGroupName $rgName -ParentResourceName $vpnGatewayName -Name $vpnConnection2Name -TrafficSelectorPolicy ($trafficSelector)
425+
418426
# Download config
419427
$storetype = 'Standard_GRS'
420428
$containerName = "cont$($rgName)"

src/Network/Network.Test/SessionRecords/Commands.Network.Test.ScenarioTests.CortexTests/TestCortexDownloadConfig.json

Lines changed: 2039 additions & 2389 deletions
Large diffs are not rendered by default.

src/Network/Network/ChangeLog.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@
2525
- `Update-AzVpnConnection`
2626
* Added new cmdlet to fetch IKE Security Associations for VPN Site Link Connections.
2727
- `Get-VpnSiteLinkConnectionIkeSa`
28+
* Added new cmdlet to reset a Virtual Network Gateway Connection.
29+
- `Reset-AzVirtualNetworkGatewayConnection`
30+
* Added new cmdlet to reset a Vpn Site Link Connection.
31+
- `Reset-VpnSiteLinkConnection`
32+
* Updated cmdlets to enable setting an optional parameter -TrafficSelectorPolicies
33+
- `New-AzVpnConnection`
34+
- `Update-AzVpnConnection`
2835
* Bug fix for update vpnServerConfiguration.
2936
* Add scenarioTest for p2s multi auth VWAN.
3037
* Added multi auth feature support for VNG
@@ -79,10 +86,6 @@
7986
- Updated New-AzVpnServerConfiguration and Update-AzVpnServerConfiguration to allow multiple authentication parameters to be set.
8087
* Updated `New-AzVpnGateway` and `New-AzP2sVpnGateway` cmdlet:
8188
- Added parameter EnableRoutingPreferenceInternetFlag
82-
* Added new cmdlet to reset a Virtual Network Gateway Connection.
83-
- `Reset-AzVirtualNetworkGatewayConnection`
84-
* Added new cmdlet to reset a Vpn Site Link Connection.
85-
- `Reset-VpnSiteLinkConnection`
8689

8790
## Version 4.4.0
8891
* Fixed issue in remove peering and connection cmdlet for ExpressRouteCircuit scenario

src/Network/Network/Cortex/VpnConnection/NewAzureRmVpnConnectionCommand.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,12 @@ public class NewAzureRmVpnConnectionCommand : VpnConnectionBaseCmdlet
183183
HelpMessage = "The routing configuration for this vpn connection")]
184184
public PSRoutingConfiguration RoutingConfiguration { get; set; }
185185

186+
[Parameter(
187+
Mandatory = false,
188+
ValueFromPipelineByPropertyName = true,
189+
HelpMessage = "A list of traffic selector policies.")]
190+
public PSTrafficSelectorPolicy[] TrafficSelectorPolicy { get; set; }
191+
186192
[Parameter(
187193
Mandatory = false,
188194
HelpMessage = "Run cmdlet in the background")]
@@ -312,6 +318,11 @@ private PSVpnConnection CreateVpnConnection()
312318

313319
parentVpnGateway.Connections.Add(vpnConnection);
314320

321+
if (this.TrafficSelectorPolicy != null)
322+
{
323+
vpnConnection.TrafficSelectorPolicies = this.TrafficSelectorPolicy?.ToList();
324+
}
325+
315326
WriteVerbose(string.Format(Properties.Resources.CreatingLongRunningOperationMessage, this.ResourceGroupName, this.Name));
316327

317328
PSVpnConnection connectionToReturn = null;

src/Network/Network/Cortex/VpnConnection/UpdateAzureRmVpnConnectionCommand.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,12 @@ public class UpdateAzureRmVpnConnectionCommand : VpnConnectionBaseCmdlet
130130
[PSArgumentCompleter("Default", "ResponderOnly", "InitiatorOnly")]
131131
public string VpnLinkConnectionMode { get; set; }
132132

133+
[Parameter(
134+
Mandatory = false,
135+
ValueFromPipelineByPropertyName = true,
136+
HelpMessage = "A list of traffic selector policies.")]
137+
public PSTrafficSelectorPolicy[] TrafficSelectorPolicy { get; set; }
138+
133139
[Parameter(
134140
Mandatory = false,
135141
HelpMessage = "Run cmdlet in the background")]
@@ -245,6 +251,11 @@ public override void Execute()
245251
}
246252
}
247253

254+
if (this.TrafficSelectorPolicy != null)
255+
{
256+
vpnConnectionToModify.TrafficSelectorPolicies = this.TrafficSelectorPolicy?.ToList();
257+
}
258+
248259
ConfirmAction(
249260
Properties.Resources.SettingResourceMessage,
250261
this.Name,

src/Network/Network/Models/Cortex/PSVpnConnection.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public class PSVpnConnection : PSChildResource
3939

4040
public List<PSIpsecPolicy> IpsecPolicies { get; set; }
4141

42+
public List<PSTrafficSelectorPolicy> TrafficSelectorPolicies { get; set; }
43+
4244
[Ps1Xml(Label = "Connection Bandwidth", Target = ViewControl.Table)]
4345
public int ConnectionBandwidth { get; set; }
4446

src/Network/Network/help/New-AzVpnConnection.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Creates a IPSec connection that connects a VpnGateway to a remote customer branc
1616
```
1717
New-AzVpnConnection -ResourceGroupName <String> -ParentResourceName <String> -Name <String>
1818
-VpnSite <PSVpnSite> [-SharedKey <SecureString>] [-ConnectionBandwidthInMbps <UInt32>]
19-
[-IpSecPolicy <PSIpsecPolicy>] [-VpnConnectionProtocolType <String>] [-EnableBgp] [-UseLocalAzureIpAddress]
19+
[-IpSecPolicy <PSIpsecPolicy>] [-TrafficSelectorPolicy <PSTrafficSelectorPolicy[]>] [-VpnConnectionProtocolType <String>] [-EnableBgp] [-UseLocalAzureIpAddress]
2020
[-UsePolicyBasedTrafficSelectors] [-VpnSiteLinkConnection <PSVpnSiteLinkConnection[]>]
2121
[-EnableInternetSecurity] [-RoutingConfiguration <PSRoutingConfiguration>] [-AsJob] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
2222
[<CommonParameters>]
@@ -25,7 +25,7 @@ New-AzVpnConnection -ResourceGroupName <String> -ParentResourceName <String> -Na
2525
### ByVpnGatewayNameByVpnSiteResourceId
2626
```
2727
New-AzVpnConnection -ResourceGroupName <String> -ParentResourceName <String> -Name <String> -VpnSiteId <String>
28-
[-SharedKey <SecureString>] [-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>]
28+
[-SharedKey <SecureString>] [-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-TrafficSelectorPolicy <PSTrafficSelectorPolicy[]>]
2929
[-VpnConnectionProtocolType <String>] [-EnableBgp] [-UseLocalAzureIpAddress] [-UsePolicyBasedTrafficSelectors]
3030
[-VpnSiteLinkConnection <PSVpnSiteLinkConnection[]>] [-EnableInternetSecurity] [-RoutingConfiguration <PSRoutingConfiguration>] [-AsJob]
3131
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
@@ -34,7 +34,7 @@ New-AzVpnConnection -ResourceGroupName <String> -ParentResourceName <String> -Na
3434
### ByVpnGatewayObjectByVpnSiteObject
3535
```
3636
New-AzVpnConnection -ParentObject <PSVpnGateway> -Name <String> -VpnSite <PSVpnSite>
37-
[-SharedKey <SecureString>] [-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>]
37+
[-SharedKey <SecureString>] [-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-TrafficSelectorPolicy <PSTrafficSelectorPolicy[]>]
3838
[-VpnConnectionProtocolType <String>] [-EnableBgp] [-UseLocalAzureIpAddress] [-UsePolicyBasedTrafficSelectors]
3939
[-VpnSiteLinkConnection <PSVpnSiteLinkConnection[]>] [-EnableInternetSecurity] [-RoutingConfiguration <PSRoutingConfiguration>] [-AsJob]
4040
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
@@ -43,7 +43,7 @@ New-AzVpnConnection -ParentObject <PSVpnGateway> -Name <String> -VpnSite <PSVpnS
4343
### ByVpnGatewayObjectByVpnSiteResourceId
4444
```
4545
New-AzVpnConnection -ParentObject <PSVpnGateway> -Name <String> -VpnSiteId <String> [-SharedKey <SecureString>]
46-
[-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-VpnConnectionProtocolType <String>]
46+
[-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-TrafficSelectorPolicy <PSTrafficSelectorPolicy[]>] [-VpnConnectionProtocolType <String>]
4747
[-EnableBgp] [-UseLocalAzureIpAddress] [-UsePolicyBasedTrafficSelectors]
4848
[-VpnSiteLinkConnection <PSVpnSiteLinkConnection[]>] [-EnableInternetSecurity] [-RoutingConfiguration <PSRoutingConfiguration>] [-AsJob]
4949
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
@@ -52,7 +52,7 @@ New-AzVpnConnection -ParentObject <PSVpnGateway> -Name <String> -VpnSiteId <Stri
5252
### ByVpnGatewayResourceIdByVpnSiteObject
5353
```
5454
New-AzVpnConnection -ParentResourceId <String> -Name <String> -VpnSite <PSVpnSite> [-SharedKey <SecureString>]
55-
[-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-VpnConnectionProtocolType <String>]
55+
[-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-TrafficSelectorPolicy <PSTrafficSelectorPolicy[]>] [-VpnConnectionProtocolType <String>]
5656
[-EnableBgp] [-UseLocalAzureIpAddress] [-UsePolicyBasedTrafficSelectors]
5757
[-VpnSiteLinkConnection <PSVpnSiteLinkConnection[]>] [-EnableInternetSecurity] [-RoutingConfiguration <PSRoutingConfiguration>] [-AsJob]
5858
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
@@ -61,7 +61,7 @@ New-AzVpnConnection -ParentResourceId <String> -Name <String> -VpnSite <PSVpnSit
6161
### ByVpnGatewayResourceIdByVpnSiteResourceId
6262
```
6363
New-AzVpnConnection -ParentResourceId <String> -Name <String> -VpnSiteId <String> [-SharedKey <SecureString>]
64-
[-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-VpnConnectionProtocolType <String>]
64+
[-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-TrafficSelectorPolicy <PSTrafficSelectorPolicy[]>] [-VpnConnectionProtocolType <String>]
6565
[-EnableBgp] [-UseLocalAzureIpAddress] [-UsePolicyBasedTrafficSelectors]
6666
[-VpnSiteLinkConnection <PSVpnSiteLinkConnection[]>] [-EnableInternetSecurity] [-RoutingConfiguration <PSRoutingConfiguration>] [-AsJob]
6767
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
@@ -243,6 +243,21 @@ Accept pipeline input: False
243243
Accept wildcard characters: False
244244
```
245245
246+
### -TrafficSelectorPolicy
247+
A list of Traffic Selector policies.
248+
249+
```yaml
250+
Type: Microsoft.Azure.Commands.Network.Models.PSTrafficSelectorPolicy[]
251+
Parameter Sets: (All)
252+
Aliases:
253+
254+
Required: False
255+
Position: Named
256+
Default value: None
257+
Accept pipeline input: False
258+
Accept wildcard characters: False
259+
```
260+
246261
### -Name
247262
The resource name.
248263

src/Network/Network/help/Update-AzVpnConnection.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Updates a VPN connection.
1515
### ByVpnConnectionName (Default)
1616
```
1717
Update-AzVpnConnection -ResourceGroupName <String> -ParentResourceName <String> -Name <String>
18-
[-SharedKey <SecureString>] [-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>]
18+
[-SharedKey <SecureString>] [-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-TrafficSelectorPolicy <PSTrafficSelectorPolicy[]>]
1919
[-EnableBgp <Boolean>] [-UseLocalAzureIpAddress <Boolean>] [-UsePolicyBasedTrafficSelectors <Boolean>]
2020
[-VpnSiteLinkConnection <PSVpnSiteLinkConnection[]>] [-EnableInternetSecurity <Boolean>] [-RoutingConfiguration <PSRoutingConfiguration>] [-VpnLinkConnectionMode <String>] [-AsJob]
2121
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
@@ -24,7 +24,7 @@ Update-AzVpnConnection -ResourceGroupName <String> -ParentResourceName <String>
2424
### ByVpnConnectionResourceId
2525
```
2626
Update-AzVpnConnection -ResourceId <String> [-SharedKey <SecureString>] [-ConnectionBandwidthInMbps <UInt32>]
27-
[-IpSecPolicy <PSIpsecPolicy>] [-EnableBgp <Boolean>] [-UseLocalAzureIpAddress <Boolean>]
27+
[-IpSecPolicy <PSIpsecPolicy>] [-TrafficSelectorPolicy <PSTrafficSelectorPolicy[]>] [-EnableBgp <Boolean>] [-UseLocalAzureIpAddress <Boolean>]
2828
[-UsePolicyBasedTrafficSelectors <Boolean>] [-VpnSiteLinkConnection <PSVpnSiteLinkConnection[]>]
2929
[-EnableInternetSecurity <Boolean>] [-RoutingConfiguration <PSRoutingConfiguration>] [-VpnLinkConnectionMode <String>] [-AsJob] [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
3030
[<CommonParameters>]
@@ -33,7 +33,7 @@ Update-AzVpnConnection -ResourceId <String> [-SharedKey <SecureString>] [-Connec
3333
### ByVpnConnectionObject
3434
```
3535
Update-AzVpnConnection -InputObject <PSVpnConnection> [-SharedKey <SecureString>]
36-
[-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-EnableBgp <Boolean>]
36+
[-ConnectionBandwidthInMbps <UInt32>] [-IpSecPolicy <PSIpsecPolicy>] [-TrafficSelectorPolicy <PSTrafficSelectorPolicy[]>] [-EnableBgp <Boolean>]
3737
[-UseLocalAzureIpAddress <Boolean>] [-UsePolicyBasedTrafficSelectors <Boolean>]
3838
[-VpnSiteLinkConnection <PSVpnSiteLinkConnection[]>] [-EnableInternetSecurity <Boolean>] [-RoutingConfiguration <PSRoutingConfiguration>] [-VpnLinkConnectionMode <String>] [-AsJob]
3939
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
@@ -262,6 +262,20 @@ Accept pipeline input: False
262262
Accept wildcard characters: False
263263
```
264264
265+
### -TrafficSelectorPolicy
266+
A list of Traffic Selector policies.
267+
268+
```yaml
269+
Type: Microsoft.Azure.Commands.Network.Models.PSTrafficSelectorPolicy[]
270+
Parameter Sets: (All)
271+
Aliases:
272+
Required: False
273+
Position: Named
274+
Default value: None
275+
Accept pipeline input: False
276+
Accept wildcard characters: False
277+
```
278+
265279
### -Name
266280
The resource name.
267281
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)