docs: def list_datastore_full(service_instance, datastore):
      '''
      Returns a dictionary with the basic information for the given datastore:
          name, type, url, capacity, free, used, usage, hosts
  
      service_instance
          The Service Instance Object from which to obtain datastores.
  
      datastore
          Name of the datastore.
      '''
      datastore_object = get_mor_by_name(service_instance, vim.Datastore, datastore)
  
      if not datastore_object:
          raise salt.exceptions.VMwareObjectRetrievalError(
              'Datastore \'{0}\' does not exist.'.format(datastore)
          )
  
      items = {}
      items['name'] = str(datastore_object.summary.name).replace("'", "")
      items['type'] = str(datastore_object.summary.type).replace("'", "")
      items['url'] = str(datastore_object.summary.url).replace("'", "")
      items['capacity'] = datastore_object.summary.capacity / 1024 / 1024
      items['free'] = datastore_object.summary.freeSpace / 1024 / 1024
      items['used'] = items['capacity'] - items['free']
      items['usage'] = (float(items['used']) / float(items['capacity'])) * 100
      items['hosts'] = []
  
      for host in datastore_object.host:
          host_key = str(host.key).replace("'", "").split(":", 1)[1]
          host_object = get_mor_by_moid(service_instance, vim.HostSystem, host_key)
          items['hosts'].append(host_object.name)
  
      return items