Skip to content

Commit 0a38851

Browse files
authored
[Network] - Added support for DefaultOutboundAccess property in Set-AzVirtualNetworkSubnetConfig command (#25794)
1 parent 0dec092 commit 0a38851

File tree

5 files changed

+1297
-513
lines changed

5 files changed

+1297
-513
lines changed

src/Network/Network.Test/ScenarioTests/VirtualNetworkTests.ps1

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,17 @@ function Test-subnetWithDefaultOutboundAccessCRUD
245245
Assert-AreEqual "10.0.2.0/24" $vnetExpected.Subnets[1].AddressPrefix
246246
Assert-AreEqual $true $vnetExpected.Subnets[0].DefaultOutboundAccess
247247
Assert-AreEqual $true $vnetExpected.Subnets[1].DefaultOutboundAccess
248+
249+
Set-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $vnetExpected -DefaultOutboundAccess $false -AddressPrefix 10.0.1.0/24
250+
$vnetExpected | Set-AzVirtualNetwork
251+
252+
$vnetExpected = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname
253+
Assert-AreEqual 2 @($vnetExpected.Subnets).Count
254+
Assert-AreEqual $subnetName $vnetExpected.Subnets[0].Name
255+
Assert-AreEqual $subnet2Name $vnetExpected.Subnets[1].Name
256+
Assert-AreEqual "10.0.2.0/24" $vnetExpected.Subnets[1].AddressPrefix
257+
Assert-AreEqual $false $vnetExpected.Subnets[0].DefaultOutboundAccess
258+
Assert-AreEqual $true $vnetExpected.Subnets[1].DefaultOutboundAccess
248259

249260
# Remove a subnet
250261
Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname | Remove-AzVirtualNetworkSubnetConfig -Name $subnet2Name | Set-AzVirtualNetwork

src/Network/Network.Test/SessionRecords/Commands.Network.Test.ScenarioTests.VirtualNetworkTests/TestSubnetWithDefaultOutboundAccessCRUD.json

Lines changed: 1229 additions & 509 deletions
Large diffs are not rendered by default.

src/Network/Network/ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
--->
2020

2121
## Upcoming Release
22+
* Added support for `DefaultOutboundAccess` property in `Set-AzVirtualNetworkSubnetConfig` command
2223
* Added support for `EnabledFilteringCriteria` property in `New-AzNetworkWatcherFlowLog` and `Set-AzNetworkWatcherFlowLog` commands
2324
* Added support of `UserAssignedIdentityId` Property in `New-AzNetworkWatcherFlowLog` and `Set-AzNetworkWatcherFlowLog` commands
2425

src/Network/Network/VirtualNetwork/Subnet/SetAzureVirtualNetworkSubnetConfigCommand.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,11 @@ public override void Execute()
130130
subnet.Delegations = null;
131131
}
132132

133+
if (this.DefaultOutboundAccess != null)
134+
{
135+
subnet.DefaultOutboundAccess = this.DefaultOutboundAccess;
136+
}
137+
133138
if (!string.IsNullOrEmpty(this.PrivateEndpointNetworkPoliciesFlag))
134139
{
135140
subnet.PrivateEndpointNetworkPolicies = this.PrivateEndpointNetworkPoliciesFlag;

src/Network/Network/help/Set-AzVirtualNetworkSubnetConfig.md

Lines changed: 51 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,22 @@ Updates a subnet configuration for a virtual network.
1717
```
1818
Set-AzVirtualNetworkSubnetConfig -Name <String> -VirtualNetwork <PSVirtualNetwork> -AddressPrefix <String[]>
1919
[-NetworkSecurityGroup <PSNetworkSecurityGroup>] [-RouteTable <PSRouteTable>] [-InputObject <PSNatGateway>]
20-
[-ServiceEndpoint <String[]>] [-NetworkIdentifier <PSResourceId>] [-ServiceEndpointConfig <PSServiceEndpoint[]>] [-ServiceEndpointPolicy <PSServiceEndpointPolicy[]>]
20+
[-ServiceEndpoint <String[]>] [-NetworkIdentifier <PSResourceId>]
21+
[-ServiceEndpointConfig <PSServiceEndpoint[]>] [-ServiceEndpointPolicy <PSServiceEndpointPolicy[]>]
2122
[-Delegation <PSDelegation[]>] [-PrivateEndpointNetworkPoliciesFlag <String>]
2223
[-PrivateLinkServiceNetworkPoliciesFlag <String>] [-IpAllocation <PSIpAllocation[]>]
23-
[-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
24+
[-DefaultOutboundAccess <Boolean>] [-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
2425
```
2526

2627
### SetByResourceId
2728
```
2829
Set-AzVirtualNetworkSubnetConfig -Name <String> -VirtualNetwork <PSVirtualNetwork> -AddressPrefix <String[]>
2930
[-NetworkSecurityGroupId <String>] [-RouteTableId <String>] [-ResourceId <String>]
30-
[-ServiceEndpoint <String[]>] [-NetworkIdentifier <PSResourceId>] [-ServiceEndpointConfig <PSServiceEndpoint[]>] [-ServiceEndpointPolicy <PSServiceEndpointPolicy[]>]
31+
[-ServiceEndpoint <String[]>] [-NetworkIdentifier <PSResourceId>]
32+
[-ServiceEndpointConfig <PSServiceEndpoint[]>] [-ServiceEndpointPolicy <PSServiceEndpointPolicy[]>]
3133
[-Delegation <PSDelegation[]>] [-PrivateEndpointNetworkPoliciesFlag <String>]
3234
[-PrivateLinkServiceNetworkPoliciesFlag <String>] [-IpAllocation <PSIpAllocation[]>]
33-
[-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
35+
[-DefaultOutboundAccess <Boolean>] [-DefaultProfile <IAzureContextContainer>] [<CommonParameters>]
3436
```
3537

3638
## DESCRIPTION
@@ -114,6 +116,21 @@ Accept pipeline input: False
114116
Accept wildcard characters: False
115117
```
116118
119+
### -DefaultOutboundAccess
120+
Default outbound connectivity for all VMs in the subnet
121+
122+
```yaml
123+
Type: System.Nullable`1[System.Boolean]
124+
Parameter Sets: (All)
125+
Aliases:
126+
127+
Required: False
128+
Position: Named
129+
Default value: None
130+
Accept pipeline input: True (ByPropertyName)
131+
Accept wildcard characters: False
132+
```
133+
117134
### -DefaultProfile
118135
The credentials, account, tenant, and subscription used for communication with azure.
119136
@@ -189,6 +206,21 @@ Accept pipeline input: False
189206
Accept wildcard characters: False
190207
```
191208
209+
### -NetworkIdentifier
210+
NetworkIdentifier Value for ServiceEndpoint
211+
212+
```yaml
213+
Type: Microsoft.Azure.Commands.Network.Models.PSResourceId
214+
Parameter Sets: (All)
215+
Aliases:
216+
217+
Required: False
218+
Position: Named
219+
Default value: None
220+
Accept pipeline input: True (ByPropertyName)
221+
Accept wildcard characters: False
222+
```
223+
192224
### -NetworkSecurityGroup
193225
Specifies a **NetworkSecurityGroup** object.
194226
@@ -309,6 +341,21 @@ Accept pipeline input: True (ByPropertyName)
309341
Accept wildcard characters: False
310342
```
311343
344+
### -ServiceEndpointConfig
345+
Service Endpoint with NetworkIdentifier Value
346+
347+
```yaml
348+
Type: Microsoft.Azure.Commands.Network.Models.PSServiceEndpoint[]
349+
Parameter Sets: (All)
350+
Aliases:
351+
352+
Required: False
353+
Position: Named
354+
Default value: None
355+
Accept pipeline input: True (ByPropertyName)
356+
Accept wildcard characters: False
357+
```
358+
312359
### -ServiceEndpointPolicy
313360
Service Endpoint Policies
314361

0 commit comments

Comments
 (0)