NAME
    gcloud vector-search collections update - update a collection

SYNOPSIS
    gcloud vector-search collections update (COLLECTION : --location=LOCATION)
        [--async] [--data-schema=DATA_SCHEMA] [--description=DESCRIPTION]
        [--display-name=DISPLAY_NAME] [--request-id=REQUEST_ID]
        [--labels=[LABELS,...]
          | --update-labels=[UPDATE_LABELS,...] --clear-labels
          | --remove-labels=REMOVE_LABELS]
        [--vector-schema=[VECTOR_SCHEMA,...]
          | --update-vector-schema=[UPDATE_VECTOR_SCHEMA,...]
          --clear-vector-schema | --remove-vector-schema=REMOVE_VECTOR_SCHEMA]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    Update a collection.

EXAMPLES
    To update a collection my-collection in project my-project and location
    us-central1, run:

        $ gcloud vector-search collections update my-collection \
            --location=us-central1 --display-name='My Updated Collection' \
            --project=my-project

POSITIONAL ARGUMENTS
     Collection resource - Identifier. name of resource The arguments in this
     group can be used to specify the attributes of this resource. (NOTE) Some
     attributes are not given arguments in this group but can be set in other
     ways.

     To set the project attribute:
      ◆ provide the argument collection on the command line with a fully
        specified name;
      ◆ provide the argument --project on the command line;
      ◆ set the property core/project.

     This must be specified.

       COLLECTION
          ID of the collection or fully qualified identifier for the
          collection.

          To set the collection attribute:
          ▸ provide the argument collection on the command line.

          This positional argument must be specified if any of the other
          arguments in this group are specified.

       --location=LOCATION
          The location id of the collection resource.

          To set the location attribute:
          ▸ provide the argument collection on the command line with a fully
            specified name;
          ▸ provide the argument --location on the command line.

FLAGS
     --async
        Return immediately, without waiting for the operation in progress to
        complete.

     --data-schema=DATA_SCHEMA
        JSON Schema for data. Field names must contain only alphanumeric
        characters, underscores, and hyphens. The schema must be compliant with
        JSON Schema Draft 7 (https://json-schema.org/draft-07/schema).

     --description=DESCRIPTION
        User-specified description of the collection

     --display-name=DISPLAY_NAME
        User-specified display name of the collection

     --request-id=REQUEST_ID
        An optional request ID to identify requests. Specify a unique request
        ID so that if you must retry your request, the server will know to
        ignore the request if it has already been completed. The server will
        guarantee that for at least 60 minutes since the first request.

        For example, consider a situation where you make an initial request and
        the request times out. If you make the request again with the same
        request ID, the server can check if original operation with the same
        request ID was received, and if so, will ignore the second request.
        This prevents clients from accidentally creating duplicate commitments.

        The request ID must be a valid UUID with the exception that zero UUID
        is not supported (00000000-0000-0000-0000-000000000000).

     Update labels.

     At most one of these can be specified:

       --labels=[LABELS,...]
          Set labels to new value. Labels as key value pairs.

           KEY
              Keys must start with a lowercase character and contain only
              hyphens (-), underscores (_), lowercase characters, and numbers.

           VALUE
              Values must contain only hyphens (-), underscores (_), lowercase
              characters, and numbers.

          Shorthand Example:

              --labels=string=string

          JSON Example:

              --labels='{"string": "string"}'

          File Example:

              --labels=path_to_file.(yaml|json)

       Or at least one of these can be specified:

         --update-labels=[UPDATE_LABELS,...]
            Update labels value or add key value pair. Labels as key value
            pairs.

             KEY
                Keys must start with a lowercase character and contain only
                hyphens (-), underscores (_), lowercase characters, and
                numbers.

             VALUE
                Values must contain only hyphens (-), underscores (_),
                lowercase characters, and numbers.

            Shorthand Example:

                --update-labels=string=string

            JSON Example:

                --update-labels='{"string": "string"}'

            File Example:

                --update-labels=path_to_file.(yaml|json)

         At most one of these can be specified:

           --clear-labels
              Clear labels value and set to empty map.

           --remove-labels=REMOVE_LABELS
              Remove existing value from map labels. Sets remove_labels value.

              Shorthand Example:

                  --remove-labels=string,string

              JSON Example:

                  --remove-labels=["string"]

              File Example:

                  --remove-labels=path_to_file.(yaml|json)

     Update vector_schema.

     At most one of these can be specified:

       --vector-schema=[VECTOR_SCHEMA,...]
          Set vector_schema to new value. Schema for vector fields. Only vector
          fields in this schema will be searchable. Field names must contain
          only alphanumeric characters, underscores, and hyphens.

           KEY
              Sets KEY value.

           VALUE
              Sets VALUE value.

               denseVector
                  Dense vector field.

                   dimensions
                      Dimensionality of the vector field.

                   vertexEmbeddingConfig
                      Configuration for generating embeddings for the vector
                      field. If not specified, the embedding field must be
                      populated in the DataObject.

                       modelId
                          Required: ID of the embedding model to use. See
                          https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#embeddings-models
                          for the list of supported models.

                       taskType
                          Required: Task type for the embeddings.

                       textTemplate
                          Required: Text template for the input to the model.
                          The template must contain one or more references to
                          fields in the DataObject, e.g.: "Movie Title: {title}
                          ---- Movie Plot: {plot}".

               sparseVector
                  Sparse vector field.

          Shorthand Example:

              --vector-schema=string={denseVector={dimensions=int,vertexEmbeddingConfig={modelId=string,taskType=string,textTemplate=string}},sparseVector}

          JSON Example:

              --vector-schema='{"string": {"denseVector": {"dimensions": int, "vertexEmbeddingConfig": {"modelId": "string", "taskType": "string", "textTemplate": "string"}}, "sparseVector": {}}}'

          File Example:

              --vector-schema=path_to_file.(yaml|json)

       Or at least one of these can be specified:

         --update-vector-schema=[UPDATE_VECTOR_SCHEMA,...]
            Update vector_schema value or add key value pair. Schema for vector
            fields. Only vector fields in this schema will be searchable. Field
            names must contain only alphanumeric characters, underscores, and
            hyphens.

             KEY
                Sets KEY value.

             VALUE
                Sets VALUE value.

                 denseVector
                    Dense vector field.

                     dimensions
                        Dimensionality of the vector field.

                     vertexEmbeddingConfig
                        Configuration for generating embeddings for the vector
                        field. If not specified, the embedding field must be
                        populated in the DataObject.

                         modelId
                            Required: ID of the embedding model to use. See
                            https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models#embeddings-models
                            for the list of supported models.

                         taskType
                            Required: Task type for the embeddings.

                         textTemplate
                            Required: Text template for the input to the model.
                            The template must contain one or more references to
                            fields in the DataObject, e.g.: "Movie Title:
                            {title} ---- Movie Plot: {plot}".

                 sparseVector
                    Sparse vector field.

            Shorthand Example:

                --update-vector-schema=string={denseVector={dimensions=int,vertexEmbeddingConfig={modelId=string,taskType=string,textTemplate=string}},sparseVector}

            JSON Example:

                --update-vector-schema='{"string": {"denseVector": {"dimensions": int, "vertexEmbeddingConfig": {"modelId": "string", "taskType": "string", "textTemplate": "string"}}, "sparseVector": {}}}'

            File Example:

                --update-vector-schema=path_to_file.(yaml|json)

         At most one of these can be specified:

           --clear-vector-schema
              Clear vector_schema value and set to empty map.

           --remove-vector-schema=REMOVE_VECTOR_SCHEMA
              Remove existing value from map vector_schema. Sets
              remove_vector_schema value.

              Shorthand Example:

                  --remove-vector-schema=string,string

              JSON Example:

                  --remove-vector-schema=["string"]

              File Example:

                  --remove-vector-schema=path_to_file.(yaml|json)

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.

API REFERENCE
    This command uses the vectorsearch/v1 API. The full documentation for this
    API can be found at:
    https://docs.cloud.google.com/vertex-ai/docs/vector-search-2/overview

NOTES
    This variant is also available:

        $ gcloud beta vector-search collections update

