NAME
    gcloud alpha agent-registry services update - update services

SYNOPSIS
    gcloud alpha agent-registry services update (SERVICE : --location=LOCATION)
        [--async] [--description=DESCRIPTION] [--display-name=DISPLAY_NAME]
        [--request-id=REQUEST_ID]
        [--agent-spec-content=AGENT_SPEC_CONTENT
          --agent-spec-type=AGENT_SPEC_TYPE --clear-agent-spec
          | --clear-endpoint-spec --endpoint-spec-content=ENDPOINT_SPEC_CONTENT
          --endpoint-spec-type=ENDPOINT_SPEC_TYPE | --clear-mcp-server-spec
          --mcp-server-spec-content=MCP_SERVER_SPEC_CONTENT
          --mcp-server-spec-type=MCP_SERVER_SPEC_TYPE]
        [--interfaces=[protocolBinding=PROTOCOLBINDING],[url=URL]
          | --add-interfaces=[protocolBinding=PROTOCOLBINDING],[url=URL]
          --clear-interfaces
          | --remove-interfaces=[protocolBinding=PROTOCOLBINDING],[url=URL]]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (ALPHA) Update a service

EXAMPLES
    To update the service, run:

        $ gcloud alpha agent-registry services update

POSITIONAL ARGUMENTS
     Service resource - Identifier. The resource name of the Service. Format:
     projects/{project}/locations/{location}/services/{service}. 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 service 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.

       SERVICE
          ID of the service or fully qualified identifier for the service.

          To set the service attribute:
          ▸ provide the argument service 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 service resource.

          To set the location attribute:
          ▸ provide the argument service 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.

     --description=DESCRIPTION
        User-defined description of an Service. Can have a maximum length of
        2048 characters.

     --display-name=DISPLAY_NAME
        User-defined display name for the Service. Can have a maximum length of
        63 characters.

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

     Arguments for the spec.

     At most one of these can be specified:

       The spec of the agent.

       --agent-spec-content=AGENT_SPEC_CONTENT
          The content of the Agent spec in the JSON format. This payload is
          validated against the schema for the specified type. The content size
          is limited to 10KB.

       --agent-spec-type=AGENT_SPEC_TYPE
          The type of the agent spec content. AGENT_SPEC_TYPE must be one of:

           a2a-agent-card
              The content is an A2A Agent Card following the A2A specification.
              The interfaces field must be empty.
           no-spec
              There is no spec for the Agent. The content field must be empty.

       --clear-agent-spec
          Set service.agentSpec back to default value.

       The spec of the endpoint.

       --clear-endpoint-spec
          Set service.endpointSpec back to default value.

       --endpoint-spec-content=ENDPOINT_SPEC_CONTENT
          The content of the endpoint spec. Reserved for future use.

       --endpoint-spec-type=ENDPOINT_SPEC_TYPE
          The type of the endpoint spec content. ENDPOINT_SPEC_TYPE must be
          (only one value is supported):

           no-spec
              There is no spec for the Endpoint. The content field must be
              empty.

       The spec of the MCP Server.

       --clear-mcp-server-spec
          Set service.mcpServerSpec back to default value.

       --mcp-server-spec-content=MCP_SERVER_SPEC_CONTENT
          The content of the MCP Server spec. This payload is validated against
          the schema for the specified type. The content size is limited to
          10KB.

       --mcp-server-spec-type=MCP_SERVER_SPEC_TYPE
          The type of the MCP Server spec content. MCP_SERVER_SPEC_TYPE must be
          one of:

           no-spec
              There is no spec for the MCP Server. The content field must be
              empty.
           tool-spec
              The content is a MCP Tool Spec following the One MCP
              specification. The payload is the same as the tools/list
              response.

     Update interfaces.

     At most one of these can be specified:

       --interfaces=[protocolBinding=PROTOCOLBINDING],[url=URL]
          Set interfaces to new value. The connection details for the Service.

           protocolBinding
              The protocol binding of the interface.

           url
              The destination URL.

          Shorthand Example:

              --interfaces=protocolBinding=string,url=string --interfaces=protocolBinding=string,url=string

          JSON Example:

              --interfaces='[{"protocolBinding": "string", "url": "string"}]'

          File Example:

              --interfaces=path_to_file.(yaml|json)

       Or at least one of these can be specified:

         --add-interfaces=[protocolBinding=PROTOCOLBINDING],[url=URL]
            Add new value to interfaces list. The connection details for the
            Service.

             protocolBinding
                The protocol binding of the interface.

             url
                The destination URL.

            Shorthand Example:

                --add-interfaces=protocolBinding=string,url=string --add-interfaces=protocolBinding=string,url=string

            JSON Example:

                --add-interfaces='[{"protocolBinding": "string", "url": "string"}]'

            File Example:

                --add-interfaces=path_to_file.(yaml|json)

         At most one of these can be specified:

           --clear-interfaces
              Clear interfaces value and set to empty list.

           --remove-interfaces=[protocolBinding=PROTOCOLBINDING],[url=URL]
              Remove existing value from interfaces list. The connection
              details for the Service.

               protocolBinding
                  The protocol binding of the interface.

               url
                  The destination URL.

              Shorthand Example:

                  --remove-interfaces=protocolBinding=string,url=string --remove-interfaces=protocolBinding=string,url=string

              JSON Example:

                  --remove-interfaces='[{"protocolBinding": "string", "url": "string"}]'

              File Example:

                  --remove-interfaces=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 agentregistry/v1alpha API. The full documentation for
    this API can be found at:
    https://docs.cloud.google.com/agent-registry/overview

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.

