using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CloudStack.Plugin.WmiWrappers.ROOT.VIRTUALIZATION.V2; using System.Management; namespace HypervResource { public interface IWmiCallsV2 { System.Management.ManagementPath AddDiskDriveToVm(ComputerSystem vm, string vhdfile, string cntrllerAddr, string driveResourceType); ComputerSystem AddUserData(ComputerSystem vm, string userData); void AttachIso(string displayName, string iso); void CreateDynamicVirtualHardDisk(ulong MaxInternalSize, string Path); SyntheticEthernetPortSettingData CreateNICforVm(ComputerSystem vm, string mac); ComputerSystem CreateVM(string name, long memory_mb, int vcpus); void DeleteHostKvpItem(ComputerSystem vm, string key); void DeleteSwitchPort(string elementName); ComputerSystem DeployVirtualMachine(dynamic jsonObj, string systemVmIso); void DestroyVm(dynamic jsonObj); void DestroyVm(string displayName); void DetachDisk(string displayName, string diskFileName); ComputerSystem GetComputerSystem(string displayName); string GetDefaultDataRoot(); string GetDefaultVirtualDiskFolder(); ResourceAllocationSettingData GetDvdDriveSettings(VirtualSystemSettingData vmSettings); EthernetPortAllocationSettingData[] GetEthernetConnections(ComputerSystem vm); SyntheticEthernetPortSettingData[] GetEthernetPortSettings(ComputerSystem vm); ResourceAllocationSettingData GetIDEControllerSettings(VirtualSystemSettingData vmSettings, string cntrllerAddr); ImageManagementService GetImageManagementService(); KvpExchangeComponentSettingData GetKvpSettings(VirtualSystemSettingData vmSettings); void GetMemoryResources(out ulong physicalRamKBs, out ulong freeMemoryKBs); MemorySettingData GetMemSettings(VirtualSystemSettingData vmSettings); void GetProcessorResources(out uint cores, out uint mhz); void GetProcessorUsageInfo(out double cpuUtilization); ProcessorSettingData GetProcSettings(VirtualSystemSettingData vmSettings); ResourceAllocationSettingData.ResourceAllocationSettingDataCollection GetResourceAllocationSettings(VirtualSystemSettingData vmSettings); void GetSummaryInfo(System.Collections.Generic.Dictionary vmProcessorInfo, System.Collections.Generic.List vmsToInspect); SyntheticEthernetPortSettingData GetSyntheticEthernetPortSettings(EthernetSwitchPort port); VirtualSystemManagementService GetVirtualisationSystemManagementService(); VirtualEthernetSwitchManagementService GetVirtualSwitchManagementService(); EthernetSwitchPortVlanSettingData GetVlanSettings(EthernetPortAllocationSettingData ethernetConnection); System.Collections.Generic.List GetVmElementNames(); VirtualSystemSettingData GetVmSettings(ComputerSystem vm); void patchSystemVmIso(string vmName, string systemVmIso); void SetState(ComputerSystem vm, ushort requiredState); } }