@@ -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