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 = {