ExtendVirtualDisk_Task, SDK для веб-сервисов vSphere - PullRequest
1 голос
/ 01 февраля 2012

Я хочу автоматически увеличить размер файла виртуального диска, но у меня возникло исключение.Моя система работает с vCenter 4 и vSphere 4. Я не знаю, правильный ли следующий код.Любое решение?

public bool ExpandDiskSize(string vmname, int diskNumber, int diskSize)
        {
            NameValueCollection filter = new NameValueCollection();
            filter.Add("Summary.vm", vmname);
            VMware.Vim.VirtualMachine vm = (VMware.Vim.VirtualMachine)client.FindEntityView(typeof(VMware.Vim.VirtualMachine), null, filter, null);
            try
            {
                NameValueCollection nvc = new NameValueCollection();
                nvc.Add("name", "Datacenter");
                VMware.Vim.Datacenter dc = (VMware.Vim.Datacenter)client.FindEntityView(typeof(VMware.Vim.Datacenter), null, nvc, null);
                VirtualDiskManager vdm = new VirtualDiskManager(client,  new ManagedObjectReference());
                vdm.ExtendVirtualDisk_Task(vm.Layout.Disk[diskNumber].DiskFile[0].ToString(), dc.MoRef, diskSize *1024 * 1024, false);
                return true;
            }
            catch (Exception ex) 
            {
                Logger.Instance.WriteLog(LoggingLevel.ERROR, ex.Message);
                return false;
            }
        }

Спасибо за вашу помощь!

...