code: def _get_vms_from_inventory(self, inventory_path):
          
  
          vm_entries = {}
          vmware_vms = []
          log.info('Searching for VMware VMs in inventory file "{}"'.format(inventory_path))
          try:
              pairs = self.parse_vmware_file(inventory_path)
              for key, value in pairs.items():
                  if key.startswith("vmlist"):
                      try:
                          vm_entry, variable_name = key.split('.', 1)
                      except ValueError:
                          continue
                      if vm_entry not in vm_entries:
                          vm_entries[vm_entry] = {}
                      vm_entries[vm_entry][variable_name.strip()] = value
          except OSError as e:
              log.warning("Could not read VMware inventory file {}: {}".format(inventory_path, e))
  
          for vm_settings in vm_entries.values():
              if "displayname" in vm_settings and "config" in vm_settings:
                  if os.path.exists(vm_settings["config"]):
                      log.debug('Found VM named "{}" with VMX file "{}"'.format(vm_settings["displayname"], vm_settings["config"]))
                      vmware_vms.append({"vmname": vm_settings["displayname"], "vmx_path": vm_settings["config"]})
          return vmware_vms
docs: Searches for VMs by parsing a VMware inventory file.
  
          :param inventory_path: path to the inventory file
  
          :returns: list of VMs