From c9f7fc26164af5041c90df9badfe72673051634a Mon Sep 17 00:00:00 2001 From: Gaurav Talreja Date: Mon, 27 Jan 2025 23:07:24 +0530 Subject: [PATCH] Add method to fetch virtual devices attached to VM on VMware Signed-off-by: Gaurav Talreja --- wrapanapi/systems/virtualcenter.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/wrapanapi/systems/virtualcenter.py b/wrapanapi/systems/virtualcenter.py index 1c033aee..27c915b3 100644 --- a/wrapanapi/systems/virtualcenter.py +++ b/wrapanapi/systems/virtualcenter.py @@ -697,6 +697,21 @@ def add_disk(self, capacity_in_kb, provision_type=None, unit=None): result = (None, None) return result + def get_virtual_device_type_names(self): + """ + Retrieves the names of all subclasses of vim.vm.device.VirtualDevice. + + Returns: + list: A list of class names (as strings) representing the types of virtual devices. + """ + # Get all subclasses of vim.vm.device.VirtualDevice + subclasses = vim.vm.device.VirtualDevice.__subclasses__() + + # Extract only the class names (not fully qualified names) and return + class_names = [cls.__name__.split(".")[-1] for cls in subclasses] + + return class_names + class VMWareVirtualMachine(VMWareVMOrTemplate, Vm): state_map = {