public VirtualHardDiskInfo GetVirtualHardDiskInfo(string vhdPath) { try { Log.WriteStart("'{0}' GetVirtualHardDiskInfo", ProviderSettings.ProviderName); VirtualHardDiskInfo result = VirtualizationProvider.GetVirtualHardDiskInfo(vhdPath); Log.WriteEnd("'{0}' GetVirtualHardDiskInfo", ProviderSettings.ProviderName); return(result); } catch (Exception ex) { Log.WriteError(String.Format("'{0}' GetVirtualHardDiskInfo", ProviderSettings.ProviderName), ex); throw; } }
public static VirtualHardDiskInfo[] Get(String Content) { List <VirtualHardDiskInfo> disks = new List <VirtualHardDiskInfo>(); try { JsonObject jsonResponse = (JsonObject)SimpleJson.DeserializeObject(Content); JsonObject configvalue = (JsonObject)SimpleJson.DeserializeObject(jsonResponse["data"].ToString()); foreach (var key in configvalue.Keys) { string val = configvalue[key].ToString(); if ((key.Contains("ide") || key.Contains("sata") || key.Contains("virtio") || key.Contains("scsi")) && val.Contains(":")) { VirtualHardDiskInfo disk = new VirtualHardDiskInfo(); disk.ControllerNumber = 1; disk.ControllerLocation = 1; if (key.Contains("ide") || key.Contains("virtio")) { disk.VHDControllerType = ControllerType.IDE; } else { disk.VHDControllerType = ControllerType.SCSI; } disk.Path = parsepath(val); disk.Name = key; disks.Add(disk); } } } catch { disks = null; } return(disks.ToArray()); }