---
title: "PATCH /v1/{+name}"
method: PATCH
path: "/v1/{+name}"
tags: ["projects"]
---

# PATCH /v1/{+name}

`PATCH /v1/{+name}`

Updates the parameters of a single Cluster.

## Path parameters

- `name` string, required

## Query parameters

- `requestId` string
- `updateMask` string

## Request body

- Cluster — A collection of virtual machines and connected resources forming a high-performance computing cluster capable of running large-scale, tightly coupled workloads. A cluster combines a set a compute resources that perform computations, storage resources that contain inputs and store outputs, an orchestrator that is responsible for assigning jobs to compute resources, and network resources that connect everything together.
  - `name` string — Identifier. [Relative resource name](https://google.aip.dev/122) of the cluster, in the format `projects/{project}/locations/{location}/clusters/{cluster}`.
  - `description` string — Optional. A description for your cluster. You can use up to 2,048 characters.
  - `networkResources` object — Optional. Network resources available to the cluster. Must contain exactly one value. Keys specify the ID of the network resource by which it can be referenced elsewhere, and must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).
  - `storageResources` object — Optional. Storage resources available to the cluster. Keys specify the ID of the storage resource by which it can be referenced elsewhere, and must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).
  - `createTime` string, google-datetime — Output only. Time that the cluster was originally created.
  - `labels` object — Optional. [Labels](https://cloud.google.com/compute/docs/labeling-resources) applied to the cluster. Labels can be used to organize clusters and to filter them in queries.
  - `reconciling` boolean — Output only. Indicates whether changes to the cluster are currently in flight. If this is `true`, then the current state might not match the cluster's intended state.
  - `updateTime` string, google-datetime — Output only. Time that the cluster was most recently updated.
  - `computeResources` object — Optional. Compute resources available to the cluster. Keys specify the ID of the compute resource by which it can be referenced elsewhere, and must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).
  - `orchestrator` Orchestrator — The component responsible for scheduling and running workloads on the cluster as well as providing the user interface for interacting with the cluster at runtime.
    - `slurm` SlurmOrchestrator — When set in Orchestrator, indicates that the cluster should use [Slurm](https://slurm.schedmd.com/) as the orchestrator.
      - `partitions` SlurmPartition[] — Optional. Configuration for the Slurm partitions in your cluster. Each partition can contain one or more nodesets, and you can submit separate jobs on each partition. If you don't specify at least one partition in your cluster, you can't submit jobs to the cluster.
        - `id` string — Required. ID of the partition, which is how users will identify it. Must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).
        - `nodeSetIds` string[] — Required. IDs of the nodesets that make up this partition. Values must match SlurmNodeSet.id.
      - `defaultPartition` string — Optional. Default partition to use for submitted jobs that do not explicitly specify a partition. Required if and only if there is more than one partition, in which case it must match the id of one of the partitions.
      - `loginNodes` SlurmLoginNodes — Configuration for Slurm [login nodes](https://slurm.schedmd.com/quickstart_admin.html#login) in the cluster. Login nodes are Compute Engine VM instances that allow users to access the cluster over SSH.
        - `zone` string — Required. Name of the zone in which login nodes should run, e.g., `us-central1-a`. Must be in the same region as the cluster, and must match the zone of any other resources specified in the cluster.
        - `enablePublicIps` boolean — Optional. Whether login node instances should be assigned [external IP addresses](https://cloud.google.com/compute/docs/ip-addresses#externaladdresses).
        - `instances` ComputeInstance[] — Output only. Information about the login node instances that were created in Compute Engine.
          - `instance` string — Output only. Name of the VM instance, in the format `projects/{project}/zones/{zone}/instances/{instance}`.
        - `machineType` string — Required. Name of the Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-resource) to use for login nodes, e.g. `n2-standard-2`.
        - `startupScript` string — Optional. [Startup script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux) to be run on each login node instance. Max 256KB. The script must complete within the system-defined default timeout of 5 minutes. For tasks that require more time, consider running them in the background using methods such as `&` or `nohup`.
        - `count` string, int64 — Required. Number of login node instances to create.
        - `enableOsLogin` boolean — Optional. Whether [OS Login](https://cloud.google.com/compute/docs/oslogin) should be enabled on login node instances.
        - `storageConfigs` StorageConfig[] — Optional. How storage resources should be mounted on each login node.
          - `id` string — Required. ID of the storage resource to mount, which must match a key in the cluster's storage_resources.
          - `localMount` string — Required. A directory inside the VM instance's file system where the storage resource should be mounted (e.g., `/mnt/share`).
        - `labels` object — Optional. [Labels](https://cloud.google.com/compute/docs/labeling-resources) that should be applied to each login node instance.
        - `bootDisk` BootDisk — A [Persistent disk](https://cloud.google.com/compute/docs/disks) used as the boot disk for a Compute Engine VM instance.
          - `type` string — Optional. [Persistent disk type](https://cloud.google.com/compute/docs/disks#disk-types), in the format `projects/{project}/zones/{zone}/diskTypes/{disk_type}`.
          - `sizeGb` string, int64 — Optional. The size of the disk in gigabytes (GB), which must be at least 40 GB.
      - `nodeSets` SlurmNodeSet[] — Optional. Compute resource configuration for the Slurm nodesets in your cluster. If not specified, the cluster won't create any nodes.
        - `staticNodeCount` string, int64 — Optional. Number of nodes to be statically created for this nodeset. The cluster will attempt to ensure that at least this many nodes exist at all times.
        - `maxDynamicNodeCount` string, int64 — Optional. Controls how many additional nodes a cluster can bring online to handle workloads. Set this value to enable dynamic node creation and limit the number of additional nodes the cluster can bring online. Leave empty if you do not want the cluster to create nodes dynamically, and instead rely only on static nodes.
        - `id` string — Required. The ID for the nodeset, which allows it to be referenced by cluster partitions. The nodeset ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 15 characters. For example, specify `nodeset001`.
        - `computeId` string — Required. The ID of the compute resource on which this nodeset runs. Must match a key in the cluster's compute_resources.
        - `computeInstance` ComputeInstanceSlurmNodeSet — When set in a SlurmNodeSet, indicates that the nodeset should be backed by Compute Engine VM instances.
          - `startupScript` string — Optional. [Startup script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux) to be run on each VM instance in the nodeset. Max 256KB.
          - `labels` object — Optional. [Labels](https://cloud.google.com/compute/docs/labeling-resources) that should be applied to each VM instance in the nodeset.
          - `bootDisk` BootDisk — A [Persistent disk](https://cloud.google.com/compute/docs/disks) used as the boot disk for a Compute Engine VM instance.
            - `type` string — Optional. [Persistent disk type](https://cloud.google.com/compute/docs/disks#disk-types), in the format `projects/{project}/zones/{zone}/diskTypes/{disk_type}`.
            - `sizeGb` string, int64 — Optional. The size of the disk in gigabytes (GB), which must be at least 40 GB.
        - `storageConfigs` StorageConfig[] — Optional. How storage resources should be mounted on each compute node.
          - `id` string — Required. ID of the storage resource to mount, which must match a key in the cluster's storage_resources.
          - `localMount` string — Required. A directory inside the VM instance's file system where the storage resource should be mounted (e.g., `/mnt/share`).
      - `prologBashScripts` string[] — Optional. Slurm [prolog scripts](https://slurm.schedmd.com/prolog_epilog.html), which will be executed by compute nodes before a node begins running a new job. Values must not be empty.
      - `epilogBashScripts` string[] — Optional. Slurm [epilog scripts](https://slurm.schedmd.com/prolog_epilog.html), which will be executed by compute nodes whenever a node finishes running a job. Values must not be empty.

## Response `200`

Successful response

---

[API](https://skmtc.dev/google/apis/hypercomputecluster.md) · [All operations](https://skmtc.dev/google/apis/hypercomputecluster/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/google/hypercomputecluster/revisions/be12a86d7ff5/schema)
