[PATCH 1/3] hyperv: Add snapshot related WMI class definitions

Jonathon Jongsma via Devel posted 3 patches 4 days, 4 hours ago
[PATCH 1/3] hyperv: Add snapshot related WMI class definitions
Posted by Jonathon Jongsma via Devel 4 days, 4 hours ago
Msvm_VirtualSystemSnapshotService and  Msvm_VirtualSystemSnapshotSettingData
---
 src/hyperv/hyperv_wmi.h               | 11 +++++++
 src/hyperv/hyperv_wmi_generator.input | 42 +++++++++++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/src/hyperv/hyperv_wmi.h b/src/hyperv/hyperv_wmi.h
index 977245bed5..0560f83e0d 100644
--- a/src/hyperv/hyperv_wmi.h
+++ b/src/hyperv/hyperv_wmi.h
@@ -41,6 +41,17 @@
 #define MSVM_VIRTUALSYSTEMSETTINGDATA_VIRTUALTYPE_SNAPSHOT \
     "Microsoft:Hyper-V:Snapshot:Realized"
 
+#define MSVM_VIRTUALSYSTEMSNAPSHOTSERVICE_SELECTOR \
+    "CreationClassName=Msvm_VirtualSystemSnapshotService"
+
+/* Msvm_VirtualSystemSnapshotSettingData ConsistencyLevel values */
+#define HYPERV_SNAPSHOT_CONSISTENCY_APP_CONSISTENT   "1" /* VSS (production checkpoint) */
+#define HYPERV_SNAPSHOT_CONSISTENCY_CRASH_CONSISTENT "2" /* Standard checkpoint */
+
+/* Msvm_VirtualSystemSnapshotService CreateSnapshot SnapshotType values */
+#define HYPERV_SNAPSHOT_TYPE_FULL      "2" /* Full snapshot including memory if running */
+#define HYPERV_SNAPSHOT_TYPE_DISK_ONLY "3" /* Disk-only, no memory state */
+
 int hypervVerifyResponse(WsManClient *client, WsXmlDocH response,
                          const char *detail);
 
diff --git a/src/hyperv/hyperv_wmi_generator.input b/src/hyperv/hyperv_wmi_generator.input
index b3cd9d19fb..4ba69aa77a 100644
--- a/src/hyperv/hyperv_wmi_generator.input
+++ b/src/hyperv/hyperv_wmi_generator.input
@@ -1261,3 +1261,45 @@ class Msvm_SecuritySettingData
     boolean EncryptStateAndVmMigrationTraffic
     boolean VirtualizationBasedSecurityOptOut
 end
+
+class Msvm_VirtualSystemSnapshotService
+    string   InstanceID
+    string   Caption
+    string   Description
+    string   ElementName
+    datetime InstallDate
+    string   Name
+    uint16   OperationalStatus[]
+    string   StatusDescriptions[]
+    string   Status
+    uint16   HealthState
+    uint16   CommunicationStatus
+    uint16   DetailedStatus
+    uint16   OperatingStatus
+    uint16   PrimaryStatus
+    uint16   EnabledState
+    string   OtherEnabledState
+    uint16   RequestedState
+    uint16   EnabledDefault
+    datetime TimeOfLastStateChange
+    uint16   AvailableRequestedStates[]
+    uint16   TransitioningToState
+    string   SystemCreationClassName
+    string   SystemName
+    string   CreationClassName
+    string   PrimaryOwnerName
+    string   PrimaryOwnerContact
+    string   StartMode
+    boolean  Started
+end
+
+
+class Msvm_VirtualSystemSnapshotSettingData
+    string  InstanceID
+    string  Caption
+    string  Description
+    string  ElementName
+    uint8   ConsistencyLevel
+    boolean IgnoreNonSnapshottableDisks
+    uint8   GuestBackupType
+end
-- 
2.53.0