docs: def find_obj_by_path(self, si, path, name, type_name):
          """
          Finds object in the vCenter or returns "None"
  
          :param si:         pyvmomi 'ServiceInstance'
          :param path:       the path to find the object ('dc' or 'dc/folder' or 'dc/folder/folder/etc...')
          :param name:       the object name to return
          :param type_name:   the name of the type, can be (vm, network, host, datastore)
          """
  
          folder = self.get_folder(si, path)
          if folder is None:
              raise ValueError('vmomi managed object not found at: {0}'.format(path))
  
          look_in = None
          if hasattr(folder, type_name):
              look_in = getattr(folder, type_name)
          if hasattr(folder, self.ChildEntity):
              look_in = folder
          if look_in is None:
              raise ValueError('vmomi managed object not found at: {0}'.format(path))
  
          search_index = si.content.searchIndex
          '#searches for the specific vm in the folder'
          return search_index.FindChild(look_in, name)