public DiskData[] GetDisks(string virtualMachineName) { EnsureConnected(); VmWareServiceUtil serviceUtil = new VmWareServiceUtil(_connection); ManagedObjectReference virtualMachineRef = serviceUtil.GetDecendentMoRef(null, "VirtualMachine", virtualMachineName); Verifiers.VerifyNotNull(virtualMachineRef, "Cannot find virtual machine with specified name: {0}", virtualMachineName); String dataCenterName = serviceUtil.GetDataCenter(virtualMachineRef); String[] vmDirectory = serviceUtil.GetVmDirectory(virtualMachineRef); var virtualDiskPaths = serviceUtil.GetVirtualDiskPaths(virtualMachineRef); return(new DiskData[0]); }
public IReadOnlyCollection <string> GetVirtualDiskPaths(ManagedObjectReference virtualMachineRef) { var virtualDiskPaths = new List <string>(); VirtualMachineConfigInfo virtualMachineConfig = (VirtualMachineConfigInfo)GetDynamicProperty(virtualMachineRef, "config"); Verifiers.VerifyNotNull(virtualMachineConfig, "Failed to obtain virtual machine configuration information"); VirtualDevice[] virtualDevices = virtualMachineConfig.hardware.device; foreach (VirtualDevice virtualDevice in virtualDevices) { if (virtualDevice is VirtualDisk) { VirtualDeviceFileBackingInfo backingInfo = (VirtualDeviceFileBackingInfo)virtualDevice.backing; virtualDiskPaths.Add(backingInfo.fileName); } } return(virtualDiskPaths); }