docs: def set_contents(self, stream, chunk_size=None, size=None, size_limit=None,
                       progress_callback=None):
          """Save contents of stream to file instance.
  
          If a file instance has already been set, this methods raises an
          ``FileInstanceAlreadySetError`` exception.
  
          :param stream: File-like stream.
          :param size: Size of stream if known.
          :param chunk_size: Desired chunk size to read stream in. It is up to
              the storage interface if it respects this value.
          """
          if size_limit is None:
              size_limit = self.bucket.size_limit
  
          self.file = FileInstance.create()
          self.file.set_contents(
              stream, size_limit=size_limit, size=size, chunk_size=chunk_size,
              progress_callback=progress_callback,
              default_location=self.bucket.location.uri,
              default_storage_class=self.bucket.default_storage_class,
          )
  
          return self