/// <summary> /// Generates a disk used when the DiskCreateOption is Import /// </summary> /// <returns></returns> private Disk GenerateImportDisk(string diskCreateOption, string rgName) { // Create a VM, so we can use its OS disk for creating the image string storageAccountName = ComputeManagementTestUtilities.GenerateName(DiskNamePrefix); string asName = ComputeManagementTestUtilities.GenerateName("as"); ImageReference imageRef = GetPlatformVMImage(useWindowsImage: true); VirtualMachine inputVM = null; // Create Storage Account var storageAccountOutput = CreateStorageAccount(rgName, storageAccountName); // Create the VM, whose OS disk will be used in creating the image var createdVM = CreateVM(rgName, asName, storageAccountOutput, imageRef, out inputVM); var listResponse = m_CrpClient.VirtualMachines.ListAll(); Assert.True(listResponse.Count() >= 1); string[] id = createdVM.Id.Split('/'); string subscription = id[2]; var uri = createdVM.StorageProfile.OsDisk.Vhd.Uri; m_CrpClient.VirtualMachines.Delete(rgName, inputVM.Name); m_CrpClient.VirtualMachines.Delete(rgName, createdVM.Name); Disk disk = GenerateBaseDisk(diskCreateOption); disk.CreationData.SourceUri = uri; disk.CreationData.StorageAccountId = "subscriptions/" + subscription + "/resourceGroups/" + rgName + "/providers/Microsoft.Storage/storageAccounts/" + storageAccountName; return(disk); }
public void DiskManagedByTest() { using (MockContext context = MockContext.Start(this.GetType().FullName)) { EnsureClientsInitialized(context); var rgName = TestUtilities.GenerateName(TestPrefix); var diskName = TestUtilities.GenerateName(DiskNamePrefix); // Create a VM, so we can use its OS disk for testing managedby string storageAccountName = ComputeManagementTestUtilities.GenerateName(DiskNamePrefix); string avSet = ComputeManagementTestUtilities.GenerateName("avSet"); ImageReference imageRef = GetPlatformVMImage(useWindowsImage: true); VirtualMachine inputVM = null; // Create Storage Account for creating vm var storageAccountOutput = CreateStorageAccount(rgName, storageAccountName); // Create the VM, whose OS disk will be used in creating the image var createdVM = CreateVM(rgName, avSet, storageAccountOutput, imageRef, out inputVM, hasManagedDisks: true); var listResponse = m_CrpClient.VirtualMachines.ListAll(); Assert.True(listResponse.Count() >= 1); var vmName = createdVM.Name; var vmDiskName = createdVM.StorageProfile.OsDisk.Name; //get disk from VM Disk diskFromVM = m_CrpClient.Disks.Get(rgName, vmDiskName); //managedby should have format: "/subscriptions/{subId}/resourceGroups/{rg}/Microsoft.Compute/virtualMachines/vm1" Assert.Contains(vmName, diskFromVM.ManagedBy); m_CrpClient.VirtualMachines.Delete(rgName, inputVM.Name); m_CrpClient.VirtualMachines.Delete(rgName, createdVM.Name); m_CrpClient.Disks.Delete(rgName, diskName); m_ResourcesClient.ResourceGroups.Delete(rgName); } }