Skip to content

Commit aecab47

Browse files
committed
Fix LicenseType issue when piping to New-AzureRmVM.
1 parent 6af0ac7 commit aecab47

File tree

2 files changed

+8
-45
lines changed

2 files changed

+8
-45
lines changed

src/ResourceManager/Compute/Commands.Compute.Test/ScenarioTests/VirtualMachineTests.ps1

Lines changed: 7 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,6 @@ function Test-VirtualMachinePiping
237237
# VM Profile & Hardware
238238
$vmsize = 'Standard_A4';
239239
$vmname = 'vm' + $rgname;
240-
$p = New-AzureRmVMConfig -VMName $vmname -VMSize $vmsize;
241-
Assert-AreEqual $p.HardwareProfile.VmSize $vmsize;
242240

243241
# NRP
244242
$subnet = New-AzureRmVirtualNetworkSubnetConfig -Name ('subnet' + $rgname) -AddressPrefix "10.0.0.0/24";
@@ -252,16 +250,6 @@ function Test-VirtualMachinePiping
252250
$nic = Get-AzureRmNetworkInterface -Name ('nic' + $rgname) -ResourceGroupName $rgname;
253251
$nicId = $nic.Id;
254252

255-
$p = Add-AzureRmVMNetworkInterface -VM $p -Id $nicId;
256-
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1;
257-
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].Id $nicId;
258-
259-
# Adding the same Nic but not set it Primary
260-
$p = Add-AzureRmVMNetworkInterface -VM $p -Id $nicId -Primary;
261-
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces.Count 1;
262-
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].Id $nicId;
263-
Assert-AreEqual $p.NetworkProfile.NetworkInterfaces[0].Primary $true;
264-
265253
# Storage Account (SA)
266254
$stoname = 'sto' + $rgname;
267255
$stotype = 'Standard_GRS';
@@ -275,23 +263,6 @@ function Test-VirtualMachinePiping
275263
$dataDiskVhdUri2 = "https://$stoname.blob.core.windows.net/test/data2.vhd";
276264
$dataDiskVhdUri3 = "https://$stoname.blob.core.windows.net/test/data3.vhd";
277265

278-
$p = Set-AzureRmVMOSDisk -VM $p -Name $osDiskName -VhdUri $osDiskVhdUri -Caching $osDiskCaching -CreateOption FromImage;
279-
$p = Add-AzureRmVMDataDisk -VM $p -Name 'testDataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 1 -VhdUri $dataDiskVhdUri1 -CreateOption Empty;
280-
$p = Add-AzureRmVMDataDisk -VM $p -Name 'testDataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 2 -VhdUri $dataDiskVhdUri2 -CreateOption Empty;
281-
282-
Assert-AreEqual $p.StorageProfile.OSDisk.Caching $osDiskCaching;
283-
Assert-AreEqual $p.StorageProfile.OSDisk.Name $osDiskName;
284-
Assert-AreEqual $p.StorageProfile.OSDisk.Vhd.Uri $osDiskVhdUri;
285-
Assert-AreEqual $p.StorageProfile.DataDisks.Count 2;
286-
Assert-AreEqual $p.StorageProfile.DataDisks[0].Caching 'ReadOnly';
287-
Assert-AreEqual $p.StorageProfile.DataDisks[0].DiskSizeGB 10;
288-
Assert-AreEqual $p.StorageProfile.DataDisks[0].Lun 1;
289-
Assert-AreEqual $p.StorageProfile.DataDisks[0].Vhd.Uri $dataDiskVhdUri1;
290-
Assert-AreEqual $p.StorageProfile.DataDisks[1].Caching 'ReadOnly';
291-
Assert-AreEqual $p.StorageProfile.DataDisks[1].DiskSizeGB 11;
292-
Assert-AreEqual $p.StorageProfile.DataDisks[1].Lun 2;
293-
Assert-AreEqual $p.StorageProfile.DataDisks[1].Vhd.Uri $dataDiskVhdUri2;
294-
295266
# OS & Image
296267
$user = "Foo12";
297268
$password = 'BaR@123' + $rgname;
@@ -300,23 +271,15 @@ function Test-VirtualMachinePiping
300271
$computerName = 'test';
301272
$vhdContainer = "https://$stoname.blob.core.windows.net/test";
302273

303-
$p = Set-AzureRmVMOperatingSystem -VM $p -Windows -ComputerName $computerName -Credential $cred;
274+
$p = New-AzureRmVMConfig -VMName $vmname -VMSize $vmsize `
275+
| Add-AzureRmVMNetworkInterface -Id $nicId -Primary `
276+
| Set-AzureRmVMOSDisk -Name $osDiskName -VhdUri $osDiskVhdUri -Caching $osDiskCaching -CreateOption FromImage `
277+
| Add-AzureRmVMDataDisk -Name 'testDataDisk1' -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 1 -VhdUri $dataDiskVhdUri1 -CreateOption Empty `
278+
| Add-AzureRmVMDataDisk -Name 'testDataDisk2' -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 2 -VhdUri $dataDiskVhdUri2 -CreateOption Empty `
279+
| Set-AzureRmVMOperatingSystem -Windows -ComputerName $computerName -Credential $cred;
304280

305281
$imgRef = Get-DefaultCRPImage -loc $loc;
306-
$p = ($imgRef | Set-AzureRmVMSourceImage -VM $p);
307-
308-
Assert-AreEqual $p.OSProfile.AdminUsername $user;
309-
Assert-AreEqual $p.OSProfile.ComputerName $computerName;
310-
Assert-AreEqual $p.OSProfile.AdminPassword $password;
311-
312-
Assert-AreEqual $p.StorageProfile.ImageReference.Offer $imgRef.Offer;
313-
Assert-AreEqual $p.StorageProfile.ImageReference.Publisher $imgRef.PublisherName;
314-
Assert-AreEqual $p.StorageProfile.ImageReference.Sku $imgRef.Skus;
315-
Assert-AreEqual $p.StorageProfile.ImageReference.Version $imgRef.Version;
316-
317-
# Virtual Machine
318-
# TODO: Still need to do retry for New-AzureRmVM for SA, even it's returned in Get-.
319-
New-AzureRmVM -ResourceGroupName $rgname -Location $loc -VM $p;
282+
$imgRef | Set-AzureRmVMSourceImage -VM $p | New-AzureRmVM -ResourceGroupName $rgname -Location $loc;
320283

321284
# Get VM
322285
$vm1 = Get-AzureRmVM -Name $vmname -ResourceGroupName $rgname;

src/ResourceManager/Compute/Commands.Compute/VirtualMachine/Operation/NewAzureVMCommand.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public class NewAzureVMCommand : VirtualMachineBaseCmdlet
7070

7171
[Parameter(
7272
Mandatory = false,
73-
ValueFromPipelineByPropertyName = true)]
73+
ValueFromPipelineByPropertyName = false)]
7474
[ValidateNotNullOrEmpty]
7575
public string LicenseType { get; set; }
7676

0 commit comments

Comments
 (0)