NAME
    gcloud storage buckets update - update bucket settings

SYNOPSIS
    gcloud storage buckets update URL [URL ...]
        [--additional-headers=HEADER=VALUE] [--continue-on-error, -c]
        [--[no-]default-event-based-hold] [--[no-]enable-autoclass]
        [--lock-retention-period]
        [--recovery-point-objective=SETTING, --rpo=SETTING]
        [--[no-]requester-pays] [--[no-]uniform-bucket-level-access]
        [--[no-]versioning]
        [--acl-file=ACL_FILE --add-acl-grant=[ACL_GRANT,...]
          --canned-acl=PREDEFINED_ACL, --predefined-acl=PREDEFINED_ACL,
          -a PREDEFINED_ACL --remove-acl-grant=REMOVE_ACL_GRANT]
        [--add-default-object-acl-grant=[DEFAULT_OBJECT_ACL_GRANT,...]
          --default-object-acl-file=DEFAULT_OBJECT_ACL_FILE
          --predefined-default-object-acl=PREDEFINED_DEFAULT_OBJECT_ACL
          --remove-default-object-acl-grant=REMOVE_DEFAULT_OBJECT_ACL_GRANT]
        [--clear-cors | --cors-file=CORS_FILE]
        [--clear-default-encryption-key
          | --default-encryption-key=DEFAULT_ENCRYPTION_KEY]
        [--clear-labels | --labels-file=LABELS_FILE
          | --remove-labels=[LABEL_KEYS,...]
          --update-labels=[LABEL_KEYS_AND_VALUES,...]]
        [--clear-lifecycle | --lifecycle-file=LIFECYCLE_FILE]
        [--clear-log-bucket | --log-bucket=LOG_BUCKET]
        [--clear-log-object-prefix | --log-object-prefix=LOG_OBJECT_PREFIX]
        [--clear-pap, --clear-public-access-prevention
          | --[no-]pap, --[no-]public-access-prevention]
        [--clear-retention-period | --retention-period=RETENTION_PERIOD]
        [--clear-web-error-page | --web-error-page=WEB_ERROR_PAGE]
        [--clear-web-main-page-suffix
          | --web-main-page-suffix=WEB_MAIN_PAGE_SUFFIX] [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    Update a bucket.

EXAMPLES
    The following command updates the default storage class of a Cloud Storage
    bucket named "my-bucket" to NEARLINE and sets requester pays to true:

        $ gcloud storage buckets update gs://my-bucket \
            --default-storage-class=NEARLINE --requester-pays

    The following command updates the retention period of a Cloud Storage
    bucket named "my-bucket" to one year and thirty-six minutes:

        $ gcloud storage buckets update gs://my-bucket \
            --retention-period=1y36m

    The following command clears the retention period of a bucket:

        $ gcloud storage buckets update gs://my-bucket \
            --clear-retention-period

POSITIONAL ARGUMENTS
     URL [URL ...]
        URLs of the buckets 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.

     --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-]default-event-based-hold
        Sets the default value for an event-based hold on the bucket. By
        setting the default event-based hold on a bucket, newly-created objects
        inherit that value as their event-based hold (it is not applied
        retroactively). Use --default-event-based-hold to enable and
        --no-default-event-based-hold to disable.

     --[no-]enable-autoclass
        The Autoclass feature automatically selects the best storage class for
        objects based on access patterns. Use --enable-autoclass to enable and
        --no-enable-autoclass to disable.

     --lock-retention-period
        Locks an unlocked retention policy on the buckets. Caution: A locked
        retention policy cannot be removed from a bucket or reduced in
        duration. Once locked, deleting the bucket is the only way to "remove"
        a retention policy.

     --recovery-point-objective=SETTING, --rpo=SETTING
        Sets the recovery point objective
        (https://cloud.google.com/architecture/dr-scenarios-planning-guide#basics_of_dr_planning)
        of a bucket. This flag can only be used with multi-region and
        dual-region buckets. DEFAULT option is valid for multi-region and
        dual-regions buckets. ASYNC_TURBO option is only valid for dual-region
        buckets. If unspecified when the bucket is created, it defaults to
        DEFAULT for dual-region and multi-region buckets. For more information,
        see Turbo Replication
        (https://cloud.google.com/storage/docs/turbo-replication). SETTING must
        be one of: ASYNC_TURBO, DEFAULT.

     --[no-]requester-pays
        Allows you to configure a Cloud Storage bucket so that the requester
        pays all costs related to accessing the bucket and its objects. Use
        --requester-pays to enable and --no-requester-pays to disable.

     --[no-]uniform-bucket-level-access
        Enables or disables uniform bucket-level access
        (https://cloud.google.com/storage/docs/bucket-policy-only) for the
        buckets. Use --uniform-bucket-level-access to enable and
        --no-uniform-bucket-level-access to disable.

     --[no-]versioning
        Allows you to configure a Cloud Storage bucket to keep old versions of
        objects. Use --versioning to enable and --no-versioning 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

     --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.

     --add-default-object-acl-grant=[DEFAULT_OBJECT_ACL_GRANT,...]
        Adds default object ACL grant. See --add-acl-grant help text for more
        details.

     --default-object-acl-file=DEFAULT_OBJECT_ACL_FILE
        Sets the default object ACL from file for the bucket.

     --predefined-default-object-acl=PREDEFINED_DEFAULT_OBJECT_ACL
        Apply a predefined set of default object access controls tobuckets

     --remove-default-object-acl-grant=REMOVE_DEFAULT_OBJECT_ACL_GRANT
        Removes default object ACL grant. See --remove-acl-grant help text for
        more details.

     At most one of these can be specified:

       --clear-cors
          Clears the bucket's CORS settings.

       --cors-file=CORS_FILE
          Sets the Cross-Origin Resource Sharing (CORS) configuration on a
          bucket. An example CORS JSON document looks like the following:

              [
                {
                  "origin": ["http://origin1.example.com"],
                  "responseHeader": ["Content-Type"],
                  "method": ["GET"],
                  "maxAgeSeconds": 3600
                }
              ]

          For more information about supported endpoints for CORS, see [Cloud
          Storage CORS support]
          (https://cloud.google.com/storage/docs/cross-origin#server-side-support).

     At most one of these can be specified:

       --clear-default-encryption-key
          Clears the bucket's default encryption key.

       --default-encryption-key=DEFAULT_ENCRYPTION_KEY
          Set the default KMS key for the bucket.

     At most one of these can be specified:

       --clear-labels
          Clear all labels associated with a bucket.

       --labels-file=LABELS_FILE
          Sets the label configuration for the bucket. An example label JSON
          document looks like the following:

              {
                "your_label_key": "your_label_value",
                "your_other_label_key": "your_other_label_value"
              }

       --remove-labels=[LABEL_KEYS,...]
          Remove labels by their key names.

       --update-labels=[LABEL_KEYS_AND_VALUES,...]
          Add or update labels. Example:
          --update-labels=key1=value1,key2=value2

     At most one of these can be specified:

       --clear-lifecycle
          Removes all lifecycle configuration for the bucket.

       --lifecycle-file=LIFECYCLE_FILE
          Sets the lifecycle management configuration on a bucket. For example,
          The following lifecycle management configuration JSON document
          specifies that all objects in this bucket that are more than 365 days
          old are deleted automatically:

              {
                "rule":
                [
                  {
                    "action": {"type": "Delete"},
                    "condition": {"age": 365}
                  }
                ]
              }

     At most one of these can be specified:

       --clear-log-bucket
          Clears logging bucket receiving the usage current bucket's data.

       --log-bucket=LOG_BUCKET
          Enables usage logging of the bucket, outputting log files to the
          specified logging_bucket in this flag. Cloud Storage doesn't validate
          the existence of the bucket receiving logs. In addition to enabling
          logging on your bucket, you will also need to grant
          cloud-storage-analytics@google.com write access to the log bucket.

     At most one of these can be specified:

       --clear-log-object-prefix
          Clears prefix used to determine what usage data to send to logging
          bucket.

       --log-object-prefix=LOG_OBJECT_PREFIX
          Specifies the object prefix for logging activity to the log bucket.
          The default prefix is the bucket name. All read and write activity to
          objects in the bucket will be logged for objects matching the prefix.

     At most one of these can be specified:

       --clear-pap, --clear-public-access-prevention
          Unsets the public access prevention setting on a bucket.

       --[no-]pap, --[no-]public-access-prevention
          If True, sets public access prevention to "enforced". If False, sets
          public access prevention to "inherited". For details on how exactly
          public access is blocked, see:
          http://cloud.google.com/storage/docs/public-access-prevention. Use
          --public-access-prevention to enable and
          --no-public-access-prevention to disable.

     At most one of these can be specified:

       --clear-retention-period
          Clears the object retention period for a bucket.

       --retention-period=RETENTION_PERIOD
          Minimum retention period
          (https://cloud.google.com/storage/docs/bucket-lock#retention-periods)
          for objects stored in the bucket, for example
          --retention-period=1Y1M1D5S. Objects added to the bucket cannot be
          deleted until they've been stored for the specified length of time.
          Default is no retention period. Only available for Cloud Storage
          using the JSON API.

     At most one of these can be specified:

       --clear-web-error-page
          Clear website error page if bucket is hosting website.

       --web-error-page=WEB_ERROR_PAGE
          Cloud Storage allows you to configure a bucket to behave like a
          static website. A subsequent GET bucket request through a custom
          domain for a non-existent object serves the specified error page
          instead of the standard Cloud Storage error.

     At most one of these can be specified:

       --clear-web-main-page-suffix
          Clear website main page suffix if bucket is hosting website.

       --web-main-page-suffix=WEB_MAIN_PAGE_SUFFIX
          Cloud Storage allows you to configure a bucket to behave like a
          static website. A subsequent GET bucket request through a custom
          domain serves the specified "main" page instead of performing the
          usual bucket listing.

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 buckets update

