Firebase App Distribution API . media

Instance Methods

close()

Close httplib2 connections.

upload(app, body=None, media_body=None, media_mime_type=None, x__xgafv=None)

Uploads a binary. Uploading a binary can result in a new release being created, an update to an existing release, or a no-op if a release with the same binary already exists.

Method Details

close()
Close httplib2 connections.
upload(app, body=None, media_body=None, media_mime_type=None, x__xgafv=None)
Uploads a binary. Uploading a binary can result in a new release being created, an update to an existing release, or a no-op if a release with the same binary already exists.

Args:
  app: string, The name of the app resource. Format: `projects/{project_number}/apps/{app_id}` (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for `UploadRelease`.
  "blob": { # A reference to data stored on the filesystem, on GFS or in blobstore. # Binary to upload
    "algorithm": "A String", # Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, "MD5" is the only possible value for this field. New values may be added at any time.
    "bigstoreObjectRef": "A String", # Use object_id instead.
    "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
    "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
      "blobGeneration": "A String", # The blob generation id.
      "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
      "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
      "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
      "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
    },
    "compositeMedia": [ # A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified.
      { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites.
        "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
        "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
          "blobGeneration": "A String", # The blob generation id.
          "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
          "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
          "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
          "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
        },
        "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
        "crc32cHash": 42, # crc32.c hash for the payload.
        "inline": "A String", # Media data, set if reference_type is INLINE
        "length": "A String", # Size of the data, in bytes
        "md5Hash": "A String", # MD5 hash for the payload.
        "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
          "bucketName": "A String", # The name of the bucket to which this object belongs.
          "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
          "objectName": "A String", # The name of the object.
        },
        "path": "A String", # Path to the data, set if reference_type is PATH
        "referenceType": "A String", # Describes what the field reference contains.
        "sha1Hash": "A String", # SHA-1 hash for the payload.
      },
    ],
    "contentType": "A String", # MIME type of the data
    "contentTypeInfo": { # Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty. # Extended content type information provided for Scotty uploads.
      "bestGuess": "A String", # Scotty's best guess of what the content type of the file is.
      "fromBytes": "A String", # The content type of the file derived by looking at specific bytes (i.e. "magic bytes") of the actual file.
      "fromFileName": "A String", # The content type of the file derived from the file extension of the original file name used by the client.
      "fromHeader": "A String", # The content type of the file as specified in the request headers, multipart headers, or RUPIO start request.
      "fromUrlPath": "A String", # The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API).
    },
    "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
    "crc32cHash": 42, # For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported.
    "diffChecksumsResponse": { # Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_CHECKSUMS_RESPONSE.
      "checksumsLocation": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol.
        "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
        "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
          "blobGeneration": "A String", # The blob generation id.
          "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
          "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
          "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
          "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
        },
        "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
        "crc32cHash": 42, # crc32.c hash for the payload.
        "inline": "A String", # Media data, set if reference_type is INLINE
        "length": "A String", # Size of the data, in bytes
        "md5Hash": "A String", # MD5 hash for the payload.
        "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
          "bucketName": "A String", # The name of the bucket to which this object belongs.
          "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
          "objectName": "A String", # The name of the object.
        },
        "path": "A String", # Path to the data, set if reference_type is PATH
        "referenceType": "A String", # Describes what the field reference contains.
        "sha1Hash": "A String", # SHA-1 hash for the payload.
      },
      "chunkSizeBytes": "A String", # The chunk size of checksums. Must be a multiple of 256KB.
      "objectLocation": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # If set, calculate the checksums based on the contents and return them to the caller.
        "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
        "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
          "blobGeneration": "A String", # The blob generation id.
          "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
          "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
          "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
          "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
        },
        "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
        "crc32cHash": 42, # crc32.c hash for the payload.
        "inline": "A String", # Media data, set if reference_type is INLINE
        "length": "A String", # Size of the data, in bytes
        "md5Hash": "A String", # MD5 hash for the payload.
        "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
          "bucketName": "A String", # The name of the bucket to which this object belongs.
          "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
          "objectName": "A String", # The name of the object.
        },
        "path": "A String", # Path to the data, set if reference_type is PATH
        "referenceType": "A String", # Describes what the field reference contains.
        "sha1Hash": "A String", # SHA-1 hash for the payload.
      },
      "objectSizeBytes": "A String", # The total size of the server object.
      "objectVersion": "A String", # The object version of the object the checksums are being returned for.
    },
    "diffDownloadResponse": { # Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_DOWNLOAD_RESPONSE.
      "objectLocation": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The original object location.
        "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
        "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
          "blobGeneration": "A String", # The blob generation id.
          "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
          "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
          "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
          "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
        },
        "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
        "crc32cHash": 42, # crc32.c hash for the payload.
        "inline": "A String", # Media data, set if reference_type is INLINE
        "length": "A String", # Size of the data, in bytes
        "md5Hash": "A String", # MD5 hash for the payload.
        "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
          "bucketName": "A String", # The name of the bucket to which this object belongs.
          "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
          "objectName": "A String", # The name of the object.
        },
        "path": "A String", # Path to the data, set if reference_type is PATH
        "referenceType": "A String", # Describes what the field reference contains.
        "sha1Hash": "A String", # SHA-1 hash for the payload.
      },
    },
    "diffUploadRequest": { # A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_UPLOAD_REQUEST.
      "checksumsInfo": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol.
        "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
        "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
          "blobGeneration": "A String", # The blob generation id.
          "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
          "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
          "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
          "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
        },
        "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
        "crc32cHash": 42, # crc32.c hash for the payload.
        "inline": "A String", # Media data, set if reference_type is INLINE
        "length": "A String", # Size of the data, in bytes
        "md5Hash": "A String", # MD5 hash for the payload.
        "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
          "bucketName": "A String", # The name of the bucket to which this object belongs.
          "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
          "objectName": "A String", # The name of the object.
        },
        "path": "A String", # Path to the data, set if reference_type is PATH
        "referenceType": "A String", # Describes what the field reference contains.
        "sha1Hash": "A String", # SHA-1 hash for the payload.
      },
      "objectInfo": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received.
        "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
        "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
          "blobGeneration": "A String", # The blob generation id.
          "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
          "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
          "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
          "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
        },
        "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
        "crc32cHash": 42, # crc32.c hash for the payload.
        "inline": "A String", # Media data, set if reference_type is INLINE
        "length": "A String", # Size of the data, in bytes
        "md5Hash": "A String", # MD5 hash for the payload.
        "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
          "bucketName": "A String", # The name of the bucket to which this object belongs.
          "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
          "objectName": "A String", # The name of the object.
        },
        "path": "A String", # Path to the data, set if reference_type is PATH
        "referenceType": "A String", # Describes what the field reference contains.
        "sha1Hash": "A String", # SHA-1 hash for the payload.
      },
      "objectVersion": "A String", # The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in.
    },
    "diffUploadResponse": { # Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_UPLOAD_RESPONSE.
      "objectVersion": "A String", # The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload.
      "originalObject": { # A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites. # The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification.
        "blobRef": "A String", # Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.
        "blobstore2Info": { # Information to read/write to blobstore2. # Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob.
          "blobGeneration": "A String", # The blob generation id.
          "blobId": "A String", # The blob id, e.g., /blobstore/prod/playground/scotty
          "downloadReadHandle": "A String", # Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.
          "readToken": "A String", # The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.
          "uploadMetadataContainer": "A String", # Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.
        },
        "cosmoBinaryReference": "A String", # A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.
        "crc32cHash": 42, # crc32.c hash for the payload.
        "inline": "A String", # Media data, set if reference_type is INLINE
        "length": "A String", # Size of the data, in bytes
        "md5Hash": "A String", # MD5 hash for the payload.
        "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
          "bucketName": "A String", # The name of the bucket to which this object belongs.
          "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
          "objectName": "A String", # The name of the object.
        },
        "path": "A String", # Path to the data, set if reference_type is PATH
        "referenceType": "A String", # Describes what the field reference contains.
        "sha1Hash": "A String", # SHA-1 hash for the payload.
      },
    },
    "diffVersionResponse": { # Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol. # Set if reference_type is DIFF_VERSION_RESPONSE.
      "objectSizeBytes": "A String", # The total size of the server object.
      "objectVersion": "A String", # The version of the object stored at the server.
    },
    "downloadParameters": { # Parameters specific to media downloads. # Parameters for a media download.
      "allowGzipCompression": True or False, # A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client.
      "ignoreRange": True or False, # Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty.
    },
    "filename": "A String", # Original file name
    "hash": "A String", # Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/blobstore2/api/scotty/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media.
    "hashVerified": True or False, # For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification.
    "inline": "A String", # Media data, set if reference_type is INLINE
    "isPotentialRetry": True or False, # |is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence.
    "length": "A String", # Size of the data, in bytes
    "md5Hash": "A String", # Scotty-provided MD5 hash for an upload.
    "mediaId": "A String", # Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA.
    "objectId": { # This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763. # Reference to a TI Blob, set if reference_type is BIGSTORE_REF.
      "bucketName": "A String", # The name of the bucket to which this object belongs.
      "generation": "A String", # Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions
      "objectName": "A String", # The name of the object.
    },
    "path": "A String", # Path to the data, set if reference_type is PATH
    "referenceType": "A String", # Describes what the field reference contains.
    "sha1Hash": "A String", # Scotty-provided SHA1 hash for an upload.
    "sha256Hash": "A String", # Scotty-provided SHA256 hash for an upload.
    "timestamp": "A String", # Time at which the media data was last updated, in milliseconds since UNIX epoch
    "token": "A String", # A unique fingerprint/version id for the media data
  },
}

  media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
  media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}