class_docstr: Represent a GCS Object, including all its revisions.
class_docstr_tok: ["Represent","a","GCS","Object",",","including","all","its","revisions","."]
docstr: Initialize a fake GCS Blob.
  
  :param bucket_name:str the bucket that will contain the new object.
  :param name:str the name of the new object.
docstr_tok: ["Initialize","a","fake","GCS","Blob",".",":","param","bucket_name",":","str","the","bucket","that","will","contain","the","new","object",".",":","param","name",":","str","the","name","of","the","new","object","."]
code: def __init__(self, bucket_name, name):
      """Initialize a fake GCS Blob.
  
      :param bucket_name:str the bucket that will contain the new object.
      :param name:str the name of the new object.
      """
      self.bucket_name = bucket_name
      self.name = name
      # A counter to create new generation numbers for the object revisions.
      # Note that 0 is an invalid generation number. The application can use
      # ifGenerationMatch=0 as a pre-condition that means "object does not
      # exist".
      self.generation_generator = 0
      self.current_generation = None
      self.revisions = {}
      self.rewrite_token_generator = 0
      self.rewrite_operations = {}
  
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 1 to create a new GcsObject object  with example: obj = GcsObject(bucket_name, name)