NAME
    gcloud alpha storage objects compose - concatenate a sequence of objects
        into a new composite object

SYNOPSIS
    gcloud alpha storage objects compose SOURCE [SOURCE ...] DESTINATION
        [--additional-headers=HEADER=VALUE] [--delete-source-objects]
        [--clear-custom-contexts
          | --custom-contexts=[CUSTOM_CONTEXTS_KEYS_AND_VALUES,...]
          | --custom-contexts-file=CUSTOM_CONTEXTS_FILE]
        [--if-generation-match=GENERATION
          --if-metageneration-match=METAGENERATION]
        [--retain-until=DATETIME --retention-mode=RETENTION_MODE]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (ALPHA) gcloud alpha storage objects compose creates a new object whose
    content is the concatenation of a given sequence of source objects in the
    same bucket. For more information, please see: composite objects
    documentation (https://cloud.google.com/storage/docs/composite-objects).

    There is a limit (currently 32) to the number of components that can be
    composed in a single operation.

EXAMPLES
    The following command creates a new object target.txt by concatenating
    a.txt and b.txt:

        $ gcloud alpha storage objects compose gs://bucket/a.txt \
            gs://bucket/b.txt gs://bucket/target.txt

    Contexts are merged from source objects on the composed object by default.
    However, the following command overwrites custom contexts on composed
    object:

        $ gcloud alpha storage objects compose gs://bucket/a.txt \
            gs://bucket/b.txt gs://bucket/target.txt \
            --custom-contexts=key1=value1,key2=value2

    The following command creates a new object target.txt by concatenating
    a.txt and b.txt, and deletes the source objects after a successful
    composition:

        $ gcloud alpha storage objects compose gs://bucket/a.txt \
            gs://bucket/b.txt gs://bucket/target.txt --delete-source-objects

POSITIONAL ARGUMENTS
     SOURCE [SOURCE ...]
        The list of source objects that will be concatenated into a single
        object.

     DESTINATION
        The destination object.

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.

     --delete-source-objects
        If set, the source objects will be deleted after a successful
        composition. Note that this deletion bypasses the soft delete policy if
        configured on the bucket.

OBJECT CONTEXTS FLAGS
     Group that allow users to handle object contexts.

     At most one of these can be specified:

       --clear-custom-contexts
          Clears all custom contexts on objects.

       --custom-contexts=[CUSTOM_CONTEXTS_KEYS_AND_VALUES,...]
          Sets custom contexts on objects. The existing custom contexts (if
          any) would be overwritten.

       --custom-contexts-file=CUSTOM_CONTEXTS_FILE
          Path to a local JSON or YAML file containing custom contexts one
          wants to set on an object. For example:

          1. The following JSON document shows two key value pairs, i.e. (key1,
          value1) and (key2, value2):

                {
                  "key1": {"value": "value1"},
                  "key2": {"value": "value2"}
                }

          2. The following YAML document shows two key value pairs, i.e. (key1,
          value1) and (key2, value2):

                key1:
                  value: value1
                key2:
                  value: value2

          Note: Currently object contexts only supports string format for
          values.

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
     --retain-until=DATETIME
        Ensures the destination object is retained until the specified time in
        RFC 3339 format.

     --retention-mode=RETENTION_MODE
        Sets the destination 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 command is currently in alpha and might change without notice. If this
    command fails with API permission errors despite specifying the correct
    project, you might be trying to access an API with an invitation-only early
    access allowlist. This variant is also available:

        $ gcloud storage objects compose

