def find_child(vm_name): e = None try: vm = FindChild(GetVmFolder(), vm_name) except Exception as e: vm = None return vm, e
def get_vm_uuid_by_name(vm_name): """ Returns vm_uuid for given vm_name, or None """ si = vmdk_ops.get_si() try: vm = FindChild(GetVmFolder(), vm_name) return vm.config.uuid except: return None
def get_vm_config_path(vm_name): """Returns vm_uuid for given vm_name, or None """ si = vmdk_ops.get_si() try: vm = FindChild(GetVmFolder(), vm_name) config_path = vm.summary.config.vmPathName except: return None # config path has the format like this "[datastore1] test_vm1/test_vm1/test_vm1.vmx" datastore, path = config_path.split() datastore = datastore[1:-1] datastore_path = os.path.join("/vmfs/volumes/", datastore) # datastore_path has the format like this /vmfs/volumes/datastore_name vm_config_path = os.path.join(datastore_path, path) return vm_config_path