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-type --clear-custom-time --content-disposition=CONTENT_DISPOSITION --content-encoding=CONTENT_ENCODING --content-language=CONTENT_LANGUAGE --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] [--clear-retention --override-unlocked-retention --retain-until=DATETIME --retention-mode=RETENTION_MODE] [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. See the ObjectAccessControls resource (https://cloud.google.com/storage/docs/json_api/v1/objectAccessControls) for a representation of JSON formatted files. 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 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 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 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 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 encrypted 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-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-type=CONTENT_TYPE Type of data contained in the object (e.g. text/html). --custom-time=CUSTOM_TIME Custom time for 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. RETENTION FLAGS --clear-retention Clears object retention settings and unlocks the configuration. Requires --override-unlocked-retention flag as confirmation. --override-unlocked-retention Needed for certain retention configuration modifications, such as clearing retention settings and reducing retention time. Note that locked configurations cannot be edited even with this flag. --retain-until=DATETIME Ensures the object is retained until the specified time in RFC 3339 format. Requires --override-unlocked-retention flag to shorten the retain-until time in unlocked configurations. --retention-mode=RETENTION_MODE Sets the object retention mode to either "Locked" or "Unlocked". When retention mode is "Locked", the retain until time can only be increased. RETENTION_MODE must be one of: Locked, Unlocked. 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