NAME

gcloud storage objects update - update Cloud Storage objects

SYNOPSIS

gcloud storage objects update [URL ...] [--additional-headers=HEADER=VALUE] [--all-versions] [--continue-on-error, -c] [--[no-]event-based-hold] [--read-paths-from-stdin, -I] [--recursive, -R, -r] [--storage-class=STORAGE_CLASS, -s STORAGE_CLASS] [--[no-]temporary-hold] [--acl-file=ACL_FILE --add-acl-grant=[ACL_GRANT,...] --canned-acl=PREDEFINED_ACL, --predefined-acl=PREDEFINED_ACL, -a PREDEFINED_ACL --[no-]preserve-acl, -p --remove-acl-grant=REMOVE_ACL_GRANT] [--clear-encryption-key --decryption-keys=[DECRYPTION_KEY,...] --encryption-key=ENCRYPTION_KEY] [--cache-control=CACHE_CONTROL --clear-cache-control --clear-content-disposition --clear-content-encoding --clear-content-language --clear-content-md5 --clear-content-type --clear-custom-time --content-disposition=CONTENT_DISPOSITION --content-encoding=CONTENT_ENCODING --content-language=CONTENT_LANGUAGE --content-md5=MD5_DIGEST --content-type=CONTENT_TYPE --custom-time=CUSTOM_TIME --clear-custom-metadata | --custom-metadata=[CUSTOM_METADATA_KEYS_AND_VALUES,...] | --remove-custom-metadata=[METADATA_KEYS,...] --update-custom-metadata=[CUSTOM_METADATA_KEYS_AND_VALUES,...]] [--if-generation-match=GENERATION --if-metageneration-match=METAGENERATION] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION

Update Cloud Storage objects.

EXAMPLES

Update a Google Cloud Storage object's custom-metadata:

$ gcloud storage objects update gs://bucket/my-object \ --custom-metadata=key1=value1,key2=value2

Rewrite all JPEG images to the NEARLINE storage class:

$ gcloud storage objects update gs://bucket/*.jpg \ --storage-class=NEARLINE

You can also provide a precondition on an object's metageneration in order to avoid potential race conditions:

$ gcloud storage objects update gs://bucket/*.jpg \ --storage-class=NEARLINE --if-metageneration-match=123456789

POSITIONAL ARGUMENTS

[URL ...]

Specifies URLs of objects to update.

FLAGS

--additional-headers=HEADER=VALUE

Includes arbitrary headers in storage API calls. Accepts a comma separated list of key=value pairs, e.g. header1=value1,header2=value2. Overrides the default storage/additional_headers property value for this command invocation.

--all-versions

Perform the operation on all object versions.

--continue-on-error, -c

If any operations are unsuccessful, the command will exit with a non-zero exit status after completing the remaining operations. This flag takes effect only in sequential execution mode (i.e. processor and thread count are set to 1). Parallelism is default.

--[no-]event-based-hold

Enables or disables an event-based hold on objects. Use --event-based-hold to enable and --no-event-based-hold to disable.

--read-paths-from-stdin, -I

Read the list of objects to update from stdin. No need to enter a source argument if this flag is present. Example: "storage objects update -I --content-type=new-type"

--recursive, -R, -r

Recursively update objects under any buckets or directories that match the URL expression.

--storage-class=STORAGE_CLASS, -s STORAGE_CLASS

Specify the storage class of the object. Using this flag triggers a rewrite of underlying object data.

--[no-]temporary-hold

Enables or disables a temporary hold on objects. Use --temporary-hold to enable and --no-temporary-hold to disable.

--acl-file=ACL_FILE

Path to a local JSON or YAML formatted file containing a valid policy. The output of gcloud storage [buckets|objects] describe --format="multi(acl:format=json)" is a valid file and can be edited for more fine-grained control.

--add-acl-grant=[ACL_GRANT,...]

Key-value pairs mirroring the JSON accepted by your cloud provider. For example, for Google Cloud Storage,--add-acl-grant=entity=user-tim@gmail.com,role=OWNER

--canned-acl=PREDEFINED_ACL, --predefined-acl=PREDEFINED_ACL, -a PREDEFINED_ACL

Applies predefined, or "canned," ACLs to a resource. See docs for a list of predefined ACL constants: https://cloud.google.com/storage/docs/access-control/lists#predefined-acl

--[no-]preserve-acl, -p

Preserves ACLs when copying in the cloud. This option is Google Cloud Storage-only, and you need OWNER access to all copied objects. If all objects in the destination bucket should have the same ACL, you can also set a default object ACL on that bucket instead of using this flag. Preserving ACLs is the default behavior for updating existing objects. Use --preserve-acl to enable and --no-preserve-acl to disable.

--remove-acl-grant=REMOVE_ACL_GRANT

Key-value pairs mirroring the JSON accepted by your cloud provider. For example, for Google Cloud Storage, --remove-acl-grant=ENTITY, where ENTITY has a valid ACL entity format, such as user-tim@gmail.com, group-admins, allUsers, etc.

ENCRYPTION FLAGS

--clear-encryption-key

Clears the encryption key associated with an object. Using this flag triggers a rewrite of affected objects, which are then encrypted using the default encryption key set on the bucket, if one exists, or else with a Google-managed encryption key.

--decryption-keys=[DECRYPTION_KEY,...]

A comma-separated list of customer-supplied encryption keys (RFC 4648 section 4 base64-encoded AES256 strings) that will be used to decrypt Google Cloud Storage objects. Data encrypted with a customer-managed encryption key (CMEK) is decrypted automatically, so CMEKs do not need to be listed here.

--encryption-key=ENCRYPTION_KEY

The encryption key to use for encrypting target objects. The specified encryption key can be a customer-supplied encryption key (An RFC 4648 section 4 base64-encoded AES256 string), or a customer-managed encryption key of the form projects/{project}/locations/{location}/keyRings/ {key-ring}/cryptoKeys/{crypto-key}. The specified key also acts as a decryption key, which is useful when copying or moving encryted data to a new location. Using this flag in an objects update command triggers a rewrite of target objects.

OBJECT METADATA FLAGS

--cache-control=CACHE_CONTROL

How caches should handle requests and responses.

--clear-cache-control

Clears object cache control.

--clear-content-disposition

Clears object content disposition.

--clear-content-encoding

Clears content encoding.

--clear-content-language

Clears object content language.

--clear-content-md5

Clears object content MD5.

--clear-content-type

Clears object content type.

--clear-custom-time

Clears object custom time.

--content-disposition=CONTENT_DISPOSITION

How content should be displayed.

--content-encoding=CONTENT_ENCODING

How content is encoded (e.g. gzip).

--content-language=CONTENT_LANGUAGE

Content's language (e.g. en signifies "English").

--content-md5=MD5_DIGEST

Manually specified MD5 hash digest for the contents of an uploaded file. This flag cannot be used when uploading multiple files. The custom digest is used by the cloud provider for validation.

--content-type=CONTENT_TYPE

Type of data contained in the object (e.g. text/html).

--custom-time=CUSTOM_TIME

Custom time for Google Cloud Storage objects in RFC 3339 format.

At most one of these can be specified:
--clear-custom-metadata

Clears all custom metadata on objects. When used with --preserve-posix, POSIX attributes will still be stored in custom metadata.

--custom-metadata=[CUSTOM_METADATA_KEYS_AND_VALUES,...]

Sets custom metadata on objects. When used with --preserve-posix, POSIX attributes are also stored in custom metadata.

Flags that preserve unspecified existing metadata cannot be used with

--custom-metadata or --clear-custom-metadata, but can be specified together:

--remove-custom-metadata=[METADATA_KEYS,...]

Removes individual custom metadata keys from objects. This flag can be used with --update-custom-metadata. When used with --preserve-posix, POSIX attributes specified by this flag are not preserved.

--update-custom-metadata=[CUSTOM_METADATA_KEYS_AND_VALUES,...]

Adds or sets individual custom metadata key value pairs on objects. Existing custom metadata not specified with this flag is not changed. This flag can be used with --remove-custom-metadata. When keys overlap with those provided by --preserve-posix, values specified by this flag are used.

PRECONDITION FLAGS

--if-generation-match=GENERATION

Execute only if the generation matches the generation of the requested object.

--if-metageneration-match=METAGENERATION

Execute only if the metageneration matches the metageneration of the requested object.

GCLOUD WIDE FLAGS

These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.

Run $ gcloud help for details.

NOTES

This variant is also available:

$ gcloud alpha storage objects update