class_docstr: Represent a GCS Object, including all its revisions.
class_docstr_tok: ["Represent","a","GCS","Object",",","including","all","its","revisions","."]
docstr: Get the information about a particular object revision or raise.
  
  :param request:flask.Request the contents of the http request.
  :param version_field_name:str the name of the generation
      parameter, typically 'generation', but sometimes 'sourceGeneration'.
  :return: the object revision.
  :rtype: GcsObjectVersion
  :raises:ErrorResponse if the request contains an invalid generation
      number.
docstr_tok: ["Get","the","information","about","a","particular","object","revision","or","raise",".",":","param","request",":","flask.Request","the","contents","of","the","http","request",".",":","param","version_field_name",":","str","the","name","of","the","generation","parameter",",","typically","'generation","'",",","but","sometimes","'sourceGeneration","'",".",":","return",":","the","object","revision",".",":","rtype",":","GcsObjectVersion",":","raises",":","ErrorResponse","if","the","request","contains","an","invalid","generation","number","."]
code: def get_revision(self, request, version_field_name="generation"):
      """Get the information about a particular object revision or raise.
  
      :param request:flask.Request the contents of the http request.
      :param version_field_name:str the name of the generation
          parameter, typically 'generation', but sometimes 'sourceGeneration'.
      :return: the object revision.
      :rtype: GcsObjectVersion
      :raises:ErrorResponse if the request contains an invalid generation
          number.
      """
      generation = request.args.get(version_field_name)
      if generation is None:
          return self.get_latest()
      version = self.revisions.get(generation)
      if version is None:
          raise error_response.ErrorResponse(
              "Precondition Failed: generation %s not found"
              % generation
          )
      return version
  
imports: import base64
  import crc32c
  import error_response
  import hashlib
  import json
  import struct
  import testbench_utils
  import time
label_desc: Use image node_id 2 for calling the GcsObject obj's underlying member method code with example usage: obj.get_revision(request, version_field_name) and returns: version, self