cloudstack/plugins/hypervisors/hyperv/DotNet/ServerResource/WmiWrappers
Anshul Gangwar a27899aae1 Hyperv unit tests for the agent. Unit tests are written using NSubstitute and XUnit and
they test the create, stop and start commands in the agent.
2013-10-28 11:31:01 +05:30
..
Properties A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.CIMV2.Win32_OperatingSystem.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.CIMV2.Win32_Processor.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_ComputerSystem.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_ConcreteJob.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_ExternalEthernetPort.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_IDEController.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_ImageManagementService.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_MemorySettingData.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_ProcessorSettingData.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_ResourceAllocationSettingData.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_SummaryInformation.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_SwitchLANEndpoint.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_SwitchPort.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_SyntheticEthernetPort.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_SyntheticEthernetPortSettingData.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_VLANEndpoint.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_VLANEndpointSettingData.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_VirtualSwitch.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_VirtualSwitchManagementService.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_VirtualSystemGlobalSettingData.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_VirtualSystemManagementService.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_VirtualSystemManagementServiceSettingData.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_VirtualSystemSettingData.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.Msvm_VmLANEndpoint.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
ROOT.virtualization.v2.Msvm_ComputerSystem.cs Add ability to pass kvp data via the key cloudstack-vm-userdata 2013-10-10 18:11:58 +05:30
ROOT.virtualization.v2.Msvm_ConcreteJob.cs Add ability to pass kvp data via the key cloudstack-vm-userdata 2013-10-10 18:11:58 +05:30
ROOT.virtualization.v2.Msvm_KvpExchangeComponent.cs Add ability to pass kvp data via the key cloudstack-vm-userdata 2013-10-10 18:11:58 +05:30
ROOT.virtualization.v2.Msvm_KvpExchangeComponentSettingData.cs Add ability to pass kvp data via the key cloudstack-vm-userdata 2013-10-10 18:11:58 +05:30
ROOT.virtualization.v2.Msvm_KvpExchangeDataItem.cs Add ability to pass kvp data via the key cloudstack-vm-userdata 2013-10-10 18:11:58 +05:30
ROOT.virtualization.v2.Msvm_VirtualSystemManagementService.cs Add ability to pass kvp data via the key cloudstack-vm-userdata 2013-10-10 18:11:58 +05:30
ROOT.virtualization.v2.Msvm_VirtualSystemManagementServiceSettingData.cs Changes for attaching the systemvm iso to virtual router will booting it - 2013-10-25 16:54:43 +05:30
ROOT.virtualization.v2.Msvm_VirtualSystemSettingData.cs Add ability to pass kvp data via the key cloudstack-vm-userdata 2013-10-10 18:11:58 +05:30
Readme.txt A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30
WmiWrappers.csproj Hyperv unit tests for the agent. Unit tests are written using NSubstitute and XUnit and 2013-10-28 11:31:01 +05:30
root.CIMV2.Win32_PerfFormattedData_Counters_ProcessorInformation.cs A plugin for Hyper-V control is available for CloudStack. The plugin implements basic VM control; however, its 2013-10-02 14:37:22 +05:30

Readme.txt

Classes were generated on a hyper-v server using the Visual Studio GUI, but you can do the same using
mgmtclassgen.exe.  Below are some examples:

mgmtclassgen.exe Msvm_ComputerSystem /N root\virtualization /L CS /O CloudStack.Plugin.WmiWrappers /P ComputerSystem.cs
mgmtclassgen.exe Msvm_VirtualSystemManagementService /N root\virtualization /L CS /O CloudStack.Plugin.WmiWrappers /P VirtualSystemManagementService.cs
mgmtclassgen.exe Msvm_VirtualSystemGlobalSettingData /N root\virtualization /L CS /O CloudStack.Plugin.WmiWrappers /P VirtualSystemGlobalSettingData.cs


BUT, you have to tweak the generated code, because it does not deal with NULL method parameters properly.
E.g. when a method completes immediately, the returned out parameters include a "Job" property that has a NULL value.
The generated code will attempt to call ToString() on this NULL value.

ALSO, you have to tweak the generated code to expose useful details such as the WMI name for the class.
E.g. the generated code creates a wrapper called class ComputerSystem for WMI objects of class Msvm_ComputerSystem.
Thus, there is a mismatch in the class name and the corresponding WMI class, and the WMI class name is a private
constant static member.  The tweak involves making this member public.