Skip to content

Commit 037b3bb

Browse files
Add NVA In VNet support for Network VirtualAppliance (#28776)
Co-authored-by: Copilot <[email protected]>
1 parent f76dd2a commit 037b3bb

File tree

15 files changed

+10400
-27
lines changed

15 files changed

+10400
-27
lines changed

src/Network/Network.Test/ScenarioTests/NetworkVirtualApplianceTests.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,13 @@ public void TestVirtualApplianceSiteCRUD()
4848
{
4949
TestRunner.RunTestScript("Test-VirtualApplianceSiteCRUD");
5050
}
51-
}
51+
52+
[Fact]
53+
[Trait(Category.AcceptanceType, Category.CheckIn)]
54+
[Trait(Category.Owner, NrpTeamAlias.nvadev)]
55+
public void TestNVAInVNetCRUD()
56+
{
57+
TestRunner.RunTestScript("Test-NVAInVnetCRUD");
58+
}
59+
}
5260
}

src/Network/Network.Test/ScenarioTests/NetworkVirtualApplianceTests.ps1

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,59 @@ function Test-VirtualApplianceSiteCRUD
151151
}
152152
}
153153

154+
<#
155+
.SYNOPSIS
156+
Test creating new NVA in VNet
157+
#>
158+
function Test-NVAInVnetCRUD
159+
{
160+
$rgname = Get-ResourceGroupName
161+
$location = "eastus2"
162+
$nvaname = Get-ResourceName
163+
$resourceTypeParent = "Microsoft.Network/networkVirtualAppliance"
164+
$vendor = "barracuda sdwan release"
165+
$scaleunit = 2
166+
$version = 'latest'
167+
$asn = 1270
168+
$vnetName = "MyVNet"
169+
$vnetAddressPrefix = "10.1.0.0/16"
170+
$publicSubnetName = "publicSubnet"
171+
$publicSubnetPrefix = "10.1.1.0/24"
172+
$privateSubnetName = "privateSubnet"
173+
$privateSubnetPrefix = "10.1.2.0/24"
174+
175+
try{
176+
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $location
177+
$sku = New-AzVirtualApplianceSkuProperty -VendorName $vendor -BundledScaleUnit $scaleunit -MarketPlaceVersion $version
178+
Assert-NotNull $sku
179+
180+
# Create the subnets
181+
$publicSubnet = New-AzVirtualNetworkSubnetConfig -Name $publicSubnetName -AddressPrefix $publicSubnetPrefix
182+
$privateSubnet = New-AzVirtualNetworkSubnetConfig -Name $privateSubnetName -AddressPrefix $privateSubnetPrefix
183+
New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname -Location $location -AddressPrefix $vnetAddressPrefix -Subnet $publicSubnet, $privateSubnet
184+
185+
$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgname
186+
# Get Subnet Resource IDs
187+
$publicSubnetId = ($vnet.Subnets | Where-Object { $_.Name -eq $publicSubnetName }).Id
188+
$privateSubnetId = ($vnet.Subnets | Where-Object { $_.Name -eq $privateSubnetName }).Id
189+
Assert-NotNull $publicSubnetId
190+
Assert-NotNull $privateSubnetId
191+
192+
$privateNicConfig = New-AzNvaInterfaceConfiguration -NicType "PrivateNic" -Name "privateInterface" -SubnetId $privateSubnetId
193+
$publicNicConfig = New-AzNvaInterfaceConfiguration -NicType "PublicNic" -Name "publicInterface" -SubnetId $publicSubnetId
194+
195+
$nva = New-AzNetworkVirtualAppliance -ResourceGroupName $rgname -Name $nvaname -Location $location -VirtualApplianceAsn $asn -NvaInterfaceConfiguration $privateNicConfig,$publicNicConfig -Sku $sku -CloudInitConfiguration "echo hi"
196+
$getnva = Get-AzNetworkVirtualAppliance -ResourceGroupName $rgname -Name $nvaname
197+
Assert-NotNull $getnva
198+
Assert-NotNull $getnva.NvaInterfaceConfigurations
199+
200+
Start-Sleep -Seconds 600
201+
Remove-AzNetworkVirtualAppliance -ResourceGroupName $rgname -Name $nvaname -Force
202+
}
203+
finally{
204+
# Clean up.
205+
Clean-ResourceGroup $rgname
206+
}
207+
}
208+
154209

0 commit comments

Comments
 (0)