File: //proc/thread-self/root/snap/google-cloud-cli/396/lib/surface/compute/tpus/tpu_vm/update.yaml
- release_tracks: [GA, ALPHA]
  help_text:
    brief: Update a Cloud TPU VM node.
    description: Update a Cloud TPU VM node.
    examples: |
      To modify a TPU VM node with ID `my-tpu` in the default user project and compute/zone by
      updating the description to "A new description", run:
        $ {command} my-tpu --description="A new description"
      To modify a TPU VM node with ID `my-tpu` in the default user project, network and compute/zone
      (with other defaults supplied by API) by adding labels `k0`, with value `value0` and label
      `k1` with value `value1` and removing labels with key `k2`, run:
        $ {command} my-tpu --update-labels=k0=value0,k1=value1 --remove-labels=k2
      Labels can be used to identify the TPU VM node. To list TPU VM nodes with the `k1:value1`
      label, run:
        $ {parent_command} list --filter='labels.k1=value1'
      To list only the labels when describing a resource, use `--format` to filter the result:
        $ {parent_command} describe my-tpu --format="default(labels)"
  request:
    collection: tpu.projects.locations.nodes
    ALPHA:
      api_version: v2alpha1
      modify_request_hooks:
      - googlecloudsdk.command_lib.compute.tpus.tpu_vm.util:GenerateUpdateMask:api_version=v2alpha1
    GA:
      api_version: v2
      modify_request_hooks:
      - googlecloudsdk.command_lib.compute.tpus.tpu_vm.util:GenerateUpdateMask:api_version=v2
  async:
    collection: tpu.projects.locations.operations
    extract_resource_result: false
    ALPHA:
      api_version: v2alpha1
    GA:
      api_version: v2
  arguments:
    resource:
      help_text: Name of the Cloud TPU VM node to update.
      spec: !REF googlecloudsdk.command_lib.compute.tpus.tpu_vm.resources:tpu
    params:
    - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:description
    - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:enable_external_ips
    - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:update_labels
    - group:
        required: false
        mutex: true
        params:
        - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:clear_labels
        - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:remove_labels
    - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:add_tags
    - group:
        required: false
        mutex: true
        params:
        - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:clear_tags
        - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:remove_tags
    - group:
        required: false
        mutex: true
        params:
        - _REF_: googlecloudsdk.command_lib.compute.tpus.flags:metadata_from_file
        - group:
            required: false
            params:
            - _REF_: googlecloudsdk.command_lib.compute.tpus.flags:update_metadata
            - group:
                required: false
                mutex: true
                params:
                - _REF_: googlecloudsdk.command_lib.compute.tpus.flags:clear_metadata
                - _REF_: googlecloudsdk.command_lib.compute.tpus.flags:remove_metadata
    - group:
        required: false
        params:
        - group:
            mutex: true
            params:
            - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:attach_disk
            - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:detach_disk
        - _REF_: googlecloudsdk.command_lib.compute.tpus.tpu_vm.flags:worker
          release_tracks: [ALPHA]
  update:
    read_modify_update: true
    disable_auto_field_mask: true
  output:
    format: none