NAME
    gcloud alpha apihub apis versions operations update - update apiOperations

SYNOPSIS
    gcloud alpha apihub apis versions operations update
        (OPERATION : --api=API --location=LOCATION --version=VERSION)
        [--attributes=[ATTRIBUTES,...]
          | --update-attributes=[UPDATE_ATTRIBUTES,...] --clear-attributes
          | --remove-attributes=REMOVE_ATTRIBUTES]
        [--clear-details --[no-]details-deprecated
          --details-description=DETAILS_DESCRIPTION
          --documentation-external-uri=DOCUMENTATION_EXTERNAL_URI
          --http-operation-method=HTTP_OPERATION_METHOD
          --http-operation-path=HTTP_OPERATION_PATH
          --http-operation-path-description=HTTP_OPERATION_PATH_DESCRIPTION
          | --mcp-tool-description=MCP_TOOL_DESCRIPTION
          --mcp-tool-input-schema-json=MCP_TOOL_INPUT_SCHEMA_JSON
          --mcp-tool-name=MCP_TOOL_NAME
          --mcp-tool-output-schema-json=MCP_TOOL_OUTPUT_SCHEMA_JSON
          --mcp-tool-title=MCP_TOOL_TITLE
          --[no-]mcp-tool-annotations-destructive-hint
          --[no-]mcp-tool-annotations-idempotent-hint
          --[no-]mcp-tool-annotations-open-world-hint
          --[no-]mcp-tool-annotations-read-only-hint
          --mcp-tool-annotations-title=MCP_TOOL_ANNOTATIONS_TITLE
          --mcp-tool-annotations-additional-hints=[MCP_TOOL_ANNOTATIONS_ADDITIONAL_HINTS,
          ...]
          | --update-mcp-tool-annotations-additional-hints=[UPDATE_MCP_TOOL_ANNOTATIONS_ADDITIONAL_HINTS,
          ...] --clear-mcp-tool-annotations-additional-hints
          | --remove-mcp-tool-annotations-additional-hints=REMOVE_MCP_TOOL_ANNOTATIONS_ADDITIONAL_HINTS]
        [GCLOUD_WIDE_FLAG ...]

DESCRIPTION
    (ALPHA) Update an apiOperation

EXAMPLES
    To update an operation with the ID my-operation for version my-version and
    API my-api, run:

        $ gcloud alpha apihub apis versions operations update my-operation \
            --version=my-version --api=my-api \
            --details-description="New Description" --project=my-project \
            --location=us-central1

POSITIONAL ARGUMENTS
     Operation resource - Identifier. The name of the operation.

     Format:
     projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}
     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 operation 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.

       OPERATION
          ID of the operation or fully qualified identifier for the operation.

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

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

       --api=API
          The api id of the operation resource.

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

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

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

       --version=VERSION
          The version id of the operation resource.

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

FLAGS
     Update attributes.

     At most one of these can be specified:

       --attributes=[ATTRIBUTES,...]
          Set attributes to new value. The list of user defined attributes
          associated with the API operation resource. The key is the attribute
          name. It will be of the format:
          projects/{project}/locations/{location}/attributes/{attribute}. The
          value is the attribute values associated with the resource.

           KEY
              Sets KEY value.

           VALUE
              Sets VALUE value.

               enumValues
                  The attribute values associated with a resource in case
                  attribute data type is enum.

                   values
                      The attribute values in case attribute data type is enum.

                       description
                          The detailed description of the allowed value.

                       displayName
                          The display name of the allowed value.

                       id
                          The ID of the allowed value.
                          ▪ If provided, the same will be used. The service
                            will throw an error if the specified id is already
                            used by another allowed value in the same attribute
                            resource.
                          ▪ If not provided, a system generated id derived
                            from the display name will be used. In this case,
                            the service will handle conflict resolution by
                            adding a system generated suffix in case of
                            duplicates.

                          This value should be 4-63 characters, and valid
                          characters are /[a-z][0-9]-/.

                       immutable
                          When set to true, the allowed value cannot be updated
                          or deleted by the user. It can only be true for
                          System defined attributes.

               jsonValues
                  The attribute values associated with a resource in case
                  attribute data type is JSON.

                   values
                      The attribute values in case attribute data type is
                      string or JSON.

               stringValues
                  The attribute values associated with a resource in case
                  attribute data type is string.

                   values
                      The attribute values in case attribute data type is
                      string or JSON.

               uriValues
                  The attribute values associated with a resource in case
                  attribute data type is URL, URI or IP, like
                  gs://bucket-name/object-name.

                   values
                      The attribute values in case attribute data type is
                      string or JSON.

          Shorthand Example:

              --attributes=string={enumValues={values=[{description=string,displayName=string,id=string,immutable=boolean}]},jsonValues={values=[string]},stringValues={values=[string]},uriValues={values=[string]}}

          JSON Example:

              --attributes='{"string": {"enumValues": {"values": [{"description": "string", "displayName": "string", "id": "string", "immutable": boolean}]}, "jsonValues": {"values": ["string"]}, "stringValues": {"values": ["string"]}, "uriValues": {"values": ["string"]}}}'

          File Example:

              --attributes=path_to_file.(yaml|json)

       Or at least one of these can be specified:

         --update-attributes=[UPDATE_ATTRIBUTES,...]
            Update attributes value or add key value pair. The list of user
            defined attributes associated with the API operation resource. The
            key is the attribute name. It will be of the format:
            projects/{project}/locations/{location}/attributes/{attribute}. The
            value is the attribute values associated with the resource.

             KEY
                Sets KEY value.

             VALUE
                Sets VALUE value.

                 enumValues
                    The attribute values associated with a resource in case
                    attribute data type is enum.

                     values
                        The attribute values in case attribute data type is
                        enum.

                         description
                            The detailed description of the allowed value.

                         displayName
                            The display name of the allowed value.

                         id
                            The ID of the allowed value.
                            ◆ If provided, the same will be used. The service
                              will throw an error if the specified id is
                              already used by another allowed value in the same
                              attribute resource.
                            ◆ If not provided, a system generated id derived
                              from the display name will be used. In this case,
                              the service will handle conflict resolution by
                              adding a system generated suffix in case of
                              duplicates.

                            This value should be 4-63 characters, and valid
                            characters are /[a-z][0-9]-/.

                         immutable
                            When set to true, the allowed value cannot be
                            updated or deleted by the user. It can only be true
                            for System defined attributes.

                 jsonValues
                    The attribute values associated with a resource in case
                    attribute data type is JSON.

                     values
                        The attribute values in case attribute data type is
                        string or JSON.

                 stringValues
                    The attribute values associated with a resource in case
                    attribute data type is string.

                     values
                        The attribute values in case attribute data type is
                        string or JSON.

                 uriValues
                    The attribute values associated with a resource in case
                    attribute data type is URL, URI or IP, like
                    gs://bucket-name/object-name.

                     values
                        The attribute values in case attribute data type is
                        string or JSON.

            Shorthand Example:

                --update-attributes=string={enumValues={values=[{description=string,displayName=string,id=string,immutable=boolean}]},jsonValues={values=[string]},stringValues={values=[string]},uriValues={values=[string]}}

            JSON Example:

                --update-attributes='{"string": {"enumValues": {"values": [{"description": "string", "displayName": "string", "id": "string", "immutable": boolean}]}, "jsonValues": {"values": ["string"]}, "stringValues": {"values": ["string"]}, "uriValues": {"values": ["string"]}}}'

            File Example:

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

         At most one of these can be specified:

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

           --remove-attributes=REMOVE_ATTRIBUTES
              Remove existing value from map attributes. Sets remove_attributes
              value.

              Shorthand Example:

                  --remove-attributes=string,string

              JSON Example:

                  --remove-attributes=["string"]

              File Example:

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

     The operation details parsed from the spec.

     --clear-details
        Set googleCloudApihubV1ApiOperation.details back to default value.

     --[no-]details-deprecated
        For OpenAPI spec, this will be set if operation.deprecated`is marked as
        true in the spec. Use *--details-deprecated* to enable and
        *--no-details-deprecated* to disable.

     --details-description=DETAILS_DESCRIPTION
        Description of the operation behavior. For OpenAPI spec, this will map
        to operation.description in the spec, in case description is empty,
        operation.summary will be used.

     Documentation details.

     --documentation-external-uri=DOCUMENTATION_EXTERNAL_URI
        The uri of the externally hosted documentation.

     Arguments for the operation.

     At most one of these can be specified:

       The HTTP Operation.

       --http-operation-method=HTTP_OPERATION_METHOD
          Operation method Note: Even though this field is optional, it is
          required for
          [CreateApiOperation][google.cloud.apihub.v1.ApiHub.CreateApiOperation]
          API and we will fail the request if not provided.
          HTTP_OPERATION_METHOD must be one of:

           delete
              Delete Operation type.
           get
              Get Operation type.
           head
              Head Operation type.
           options
              Options Operation type.
           patch
              Patch Operation type.
           post
              Post Operation type.
           put
              Put Operation type.
           trace
              Trace Operation type.

       The path details derived from the spec.

       --http-operation-path=HTTP_OPERATION_PATH
          Complete path relative to server endpoint. Note: Even though this
          field is optional, it is required for
          [CreateApiOperation][google.cloud.apihub.v1.ApiHub.CreateApiOperation]
          API and we will fail the request if not provided.

       --http-operation-path-description=HTTP_OPERATION_PATH_DESCRIPTION
          A short description for the path applicable to all operations.

       Details describing an MCP Tool.

       --mcp-tool-description=MCP_TOOL_DESCRIPTION
          Description of what the tool does.

       The operation schema needed for an operation.

       Arguments for the value.

       --mcp-tool-input-schema-json=MCP_TOOL_INPUT_SCHEMA_JSON
          The JSON schema. Only valid JSON is accepted but semantic validation
          of schema is not supported right now.

       --mcp-tool-name=MCP_TOOL_NAME
          The name of the tool, unique within its parent scope (version).

       The operation schema needed for an operation.

       Arguments for the value.

       --mcp-tool-output-schema-json=MCP_TOOL_OUTPUT_SCHEMA_JSON
          The JSON schema. Only valid JSON is accepted but semantic validation
          of schema is not supported right now.

       --mcp-tool-title=MCP_TOOL_TITLE
          Optional title for the tool.

       Annotations for a Tool.

       Arguments for the destructive hint.

       --[no-]mcp-tool-annotations-destructive-hint
          Hint indicating if the tool may have destructive side effects. Use
          --mcp-tool-annotations-destructive-hint to enable and
          --no-mcp-tool-annotations-destructive-hint to disable.

       Arguments for the idempotent hint.

       --[no-]mcp-tool-annotations-idempotent-hint
          Hint indicating if the tool is idempotent. Use
          --mcp-tool-annotations-idempotent-hint to enable and
          --no-mcp-tool-annotations-idempotent-hint to disable.

       Arguments for the open world hint.

       --[no-]mcp-tool-annotations-open-world-hint
          Hint indicating if the tool interacts with the open world (e.g.,
          internet). Use --mcp-tool-annotations-open-world-hint to enable and
          --no-mcp-tool-annotations-open-world-hint to disable.

       Arguments for the read only hint.

       --[no-]mcp-tool-annotations-read-only-hint
          Hint indicating if the tool is read-only. Use
          --mcp-tool-annotations-read-only-hint to enable and
          --no-mcp-tool-annotations-read-only-hint to disable.

       --mcp-tool-annotations-title=MCP_TOOL_ANNOTATIONS_TITLE
          A human-readable title for the tool (if different from Tool.title).

       Update mcp_tool_annotations_additional_hints.

       At most one of these can be specified:

         --mcp-tool-annotations-additional-hints=[MCP_TOOL_ANNOTATIONS_ADDITIONAL_HINTS,...]
            Set mcp_tool_annotations_additional_hints to new value. Additional
            hints which may help tools and not covered in defaults.

             KEY
                Sets KEY value.

             VALUE
                Sets VALUE value.

            Shorthand Example:

                --mcp-tool-annotations-additional-hints=string=string

            JSON Example:

                --mcp-tool-annotations-additional-hints='{"string": "string"}'

            File Example:

                --mcp-tool-annotations-additional-hints=path_to_file.(yaml|json)

         Or at least one of these can be specified:

           --update-mcp-tool-annotations-additional-hints=[UPDATE_MCP_TOOL_ANNOTATIONS_ADDITIONAL_HINTS,...]
              Update mcp_tool_annotations_additional_hints value or add key
              value pair. Additional hints which may help tools and not covered
              in defaults.

               KEY
                  Sets KEY value.

               VALUE
                  Sets VALUE value.

              Shorthand Example:

                  --update-mcp-tool-annotations-additional-hints=string=string

              JSON Example:

                  --update-mcp-tool-annotations-additional-hints='{"string": "string"}'

              File Example:

                  --update-mcp-tool-annotations-additional-hints=path_to_file.(yaml|json)

           At most one of these can be specified:

             --clear-mcp-tool-annotations-additional-hints
                Clear mcp_tool_annotations_additional_hints value and set to
                empty map.

             --remove-mcp-tool-annotations-additional-hints=REMOVE_MCP_TOOL_ANNOTATIONS_ADDITIONAL_HINTS
                Remove existing value from map
                mcp_tool_annotations_additional_hints. Sets
                remove_mcp_tool_annotations_additional_hints value.

                Shorthand Example:

                    --remove-mcp-tool-annotations-additional-hints=string,string

                JSON Example:

                    --remove-mcp-tool-annotations-additional-hints=["string"]

                File Example:

                    --remove-mcp-tool-annotations-additional-hints=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 apihub/v1 API. The full documentation for this API
    can be found at:
    https://cloud.google.com/apigee/docs/api-hub/what-is-api-hub

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 apihub apis versions operations update

