code: func (d *driver) Move(context context.Context, sourcePath string, destPath string) error {
  	gcsContext := d.context(context)
  	_, err := storageCopyObject(gcsContext, d.bucket, d.pathToKey(sourcePath), d.bucket, d.pathToKey(destPath), nil)
  	if err != nil {
  		if status, ok := err.(*googleapi.Error); ok {
  			if status.Code == http.StatusNotFound {
  				return storagedriver.PathNotFoundError{Path: sourcePath}
  			}
  		}
  		return err
  	}
  	err = storageDeleteObject(gcsContext, d.bucket, d.pathToKey(sourcePath))
  	// if deleting the file fails, log the error, but do not fail; the file was successfully copied,
  	// and the original should eventually be cleaned when purging the uploads folder.
  	if err != nil {
  		logrus.Infof("error deleting file: %v due to %v", sourcePath, err)
  	}
  	return nil
  }
docs: // Move moves an object stored at sourcePath to destPath, removing the
  // original object.