Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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);
            }
        }