class_docstr: Use the Google Cloud connection to interact with Google Cloud Storage.
class_docstr_tok: ["Use","the","Google","Cloud","connection","to","interact","with","Google","Cloud","Storage","."]
docstr: List all objects from the bucket with the given a single prefix or multiple prefixes.
  
  :param bucket_name: bucket name
  :param versions: if true, list all versions of the objects
  :param max_results: max count of items to return in a single page of responses
  :param prefix: string or list of strings which filter objects whose name begin with it/them
  :param delimiter: (Deprecated) filters objects based on the delimiter (for e.g '.csv')
  :param match_glob: (Optional) filters objects based on the glob pattern given by the string
      (e.g, ``'**/*/.json'``).
  :param user_project: The identifier of the Google Cloud project to bill for the request.
      Required for Requester Pays buckets.
  :return: a stream of object names matching the filtering criteria
docstr_tok: ["List","all","objects","from","the","bucket","with","the","given","a","single","prefix","or","multiple","prefixes",".",":","param","bucket_name",":","bucket","name",":","param","versions",":","if","true",",","list","all","versions","of","the","objects",":","param","max_results",":","max","count","of","items","to","return","in","a","single","page","of","responses",":","param","prefix",":","string","or","list","of","strings","which","filter","objects","whose","name","begin","with","it\/them",":","param","delimiter",":","(","Deprecated",")","filters","objects","based","on","the","delimiter","(","for","e.g","'.csv","'",")",":","param","match_glob",":","(","Optional",")","filters","objects","based","on","the","glob","pattern","given","by","the","string","(","e.g",",","``","'","*","*","\/","*","\/.json","'","``",")",".",":","param","user_project",":","The","identifier","of","the","Google","Cloud","project","to","bill","for","the","request",".","Required","for","Requester","Pays","buckets",".",":","return",":","a","stream","of","object","names","matching","the","filtering","criteria"]
code: def list(
      self,
      bucket_name: str,
      versions: bool | None = None,
      max_results: int | None = None,
      prefix: str | List[str] | None = None,
      delimiter: str | None = None,
      match_glob: str | None = None,
      user_project: str | None = None,
  ):
      """
      List all objects from the bucket with the given a single prefix or multiple prefixes.
  
      :param bucket_name: bucket name
      :param versions: if true, list all versions of the objects
      :param max_results: max count of items to return in a single page of responses
      :param prefix: string or list of strings which filter objects whose name begin with it/them
      :param delimiter: (Deprecated) filters objects based on the delimiter (for e.g '.csv')
      :param match_glob: (Optional) filters objects based on the glob pattern given by the string
          (e.g, ``'**/*/.json'``).
      :param user_project: The identifier of the Google Cloud project to bill for the request.
          Required for Requester Pays buckets.
      :return: a stream of object names matching the filtering criteria
      """
      if delimiter and delimiter != "/":
          warnings.warn(
              "Usage of 'delimiter' param is deprecated, please use 'match_glob' instead",
              AirflowProviderDeprecationWarning,
              stacklevel=2,
          )
      if match_glob and delimiter and delimiter != "/":
          raise AirflowException(
              "'match_glob' param cannot be used with 'delimiter' that differs than '/'"
          )
      objects = []
      if isinstance(prefix, list):
          for prefix_item in prefix:
              objects.extend(
                  self._list(
                      bucket_name=bucket_name,
                      versions=versions,
                      max_results=max_results,
                      prefix=prefix_item,
                      delimiter=delimiter,
                      match_glob=match_glob,
                      user_project=user_project,
                  )
              )
      else:
          objects.extend(
              self._list(
                  bucket_name=bucket_name,
                  versions=versions,
                  max_results=max_results,
                  prefix=prefix,
                  delimiter=delimiter,
                  match_glob=match_glob,
                  user_project=user_project,
              )
          )
      return objects
  
imports: from __future__ import annotations
  import functools
  import gzip
  import json
  import os
  import shutil
  import time
  import warnings
  from contextlib import contextmanager
  from functools import partial
  from io import BytesIO
  from tempfile import NamedTemporaryFile
  from typing import IO, TYPE_CHECKING, Any, Callable, Generator, Sequence, TypeVar, cast, overload
  from urllib.parse import urlsplit
  from gcloud.aio.storage import Storage
  from google.api_core.exceptions import GoogleAPICallError, NotFound
  from google.cloud import storage
  from google.cloud.exceptions import GoogleCloudError
  from google.cloud.storage.retry import DEFAULT_RETRY
  from requests import Session
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
  from airflow.providers.google.cloud.utils.helpers import normalize_directory_path
  from airflow.providers.google.common.consts import CLIENT_INFO
  from airflow.providers.google.common.hooks.base_google import GoogleBaseAsyncHook, GoogleBaseHook
  from airflow.typing_compat import ParamSpec
  from airflow.utils import timezone
  from airflow.version import version
label_desc: Use image node_id 20 for calling the GCSHook obj's underlying member method code with example usage: obj.list(bucket_name, versions, max_results, prefix, delimiter, match_glob, user_project) and returns: objects