{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Object", "type": "object", "description": "An object in Cloud Storage. Objects are the individual pieces of data that you store in Cloud Storage.", "properties": { "kind": { "type": "string", "description": "The kind of item this is. For objects, this is always storage#object." }, "id": { "type": "string", "description": "The ID of the object, including the bucket name, object name, and generation number." }, "selfLink": { "type": "string", "description": "The link to this object." }, "mediaLink": { "type": "string", "description": "The link to download the object's data." }, "name": { "type": "string", "description": "The name of the object." }, "bucket": { "type": "string", "description": "The name of the bucket containing this object." }, "generation": { "type": "string", "description": "The content generation of this object. Used for object versioning." }, "metageneration": { "type": "string", "description": "The version of the metadata for this object. Used for preconditions and detecting metadata changes." }, "contentType": { "type": "string", "description": "Content-Type of the object data." }, "timeCreated": { "type": "string", "description": "The creation time of the object in RFC 3339 format." }, "updated": { "type": "string", "description": "The modification time of the object metadata in RFC 3339 format." }, "timeDeleted": { "type": "['string', 'null']", "description": "The deletion time of the object in RFC 3339 format. Set only when the object is noncurrent." }, "temporaryHold": { "type": "boolean", "description": "Whether the object is under a temporary hold." }, "eventBasedHold": { "type": "boolean", "description": "Whether the object is under an event-based hold." }, "retentionExpirationTime": { "type": "['string', 'null']", "description": "The earliest time that the object can be deleted or replaced, based on the retention policy." }, "storageClass": { "type": "string", "description": "Storage class of the object." }, "timeStorageClassUpdated": { "type": "string", "description": "The time at which the object's storage class was last changed." }, "size": { "type": "string", "description": "Content-Length of the data in bytes." }, "md5Hash": { "type": "string", "description": "MD5 hash of the data, encoded using base64. Not available for composite objects." }, "crc32c": { "type": "string", "description": "CRC32c checksum, encoded using base64." }, "etag": { "type": "string", "description": "HTTP 1.1 Entity tag for the object." }, "componentCount": { "type": "integer", "description": "Number of underlying components that make up a composite object." }, "contentEncoding": { "type": "string", "description": "Content-Encoding of the object data." }, "contentDisposition": { "type": "string", "description": "Content-Disposition of the object data." }, "contentLanguage": { "type": "string", "description": "Content-Language of the object data." }, "cacheControl": { "type": "string", "description": "Cache-Control directive for the object data." }, "metadata": { "type": "object", "description": "User-provided metadata in key/value pairs." }, "acl": { "type": "array", "description": "Access controls on the object." }, "owner": { "type": "object", "description": "The owner of the object." }, "customerEncryption": { "type": "object", "description": "Metadata of customer-supplied encryption key, if the object is encrypted by such a key." }, "kmsKeyName": { "type": "string", "description": "Cloud KMS key used to encrypt the object, if one has been specified." }, "customTime": { "type": "string", "description": "A timestamp in RFC 3339 format specified by the user for an object. Typically set to enable lifecycle management conditions based on custom time." }, "softDeleteTime": { "type": "['string', 'null']", "description": "The time at which the object was soft-deleted, if applicable." }, "hardDeleteTime": { "type": "['string', 'null']", "description": "The time at which the soft-deleted object will be permanently deleted." } } }