- [HTTP request](https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.regions.clusters/patch#body.HTTP_TEMPLATE)
- [Path parameters](https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.regions.clusters/patch#body.PATH_PARAMETERS)
- [Query parameters](https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.regions.clusters/patch#body.QUERY_PARAMETERS)
- [Request body](https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.regions.clusters/patch#body.request_body)
- [Response body](https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.regions.clusters/patch#body.response_body)
- [Authorization scopes](https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.regions.clusters/patch#body.aspect)
- [Try it!](https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.regions.clusters/patch#try-it)

Updates a cluster in a project. The returned `https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.locations.operations#Operation.FIELDS.metadata` will be [ClusterOperationMetadata](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#clusteroperationmetadata). The cluster must be in a `https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.regions.clusters#State` state or an error is returned.

### HTTP request

`PATCH https://dataproc.googleapis.com/v1/projects/{projectId}/regions/{region}/clusters/{clusterName}`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `projectId` | `string` Required. The ID of the Google Cloud Platform project the cluster belongs to. |
| `region` | `string` Required. The region in which to handle the request. |
| `clusterName` | `string` Required. The cluster name. |

### Query parameters

| Parameters ||
|---|---|
| `gracefulDecommissionTimeout` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#duration` format)`` Optional. Timeout for graceful YARN decommissioning. Graceful decommissioning allows removing nodes from the cluster without interrupting jobs in progress. Timeout specifies how long to wait for jobs in progress to finish before forcefully removing nodes (and potentially interrupting jobs). Default timeout is 0 (for forceful decommission), and the maximum allowed timeout is 1 day. (see JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json)). Supported in image versions 1.2 and higher. |
| `updateMask` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#field-mask` format)`` Required. Specifies the path, relative to `Cluster`, of the field to update. For example, to change the number of workers in a cluster to 5, the `updateMask` parameter would be specified as `config.worker_config.num_instances`, and the `PATCH` request body would specify the new value, as follows: { "config":{ "workerConfig":{ "numInstances":"5" } } } Similarly, to change the number of preemptible workers in a cluster to 5, the `updateMask` parameter would be `config.secondary_worker_config.num_instances`, and the `PATCH` request body would be set as follows: { "config":{ "secondaryWorkerConfig":{ "numInstances":"5" } } } Wildcard `*` is not supported. Currently, only the following fields can be updated: - `labels`: Updates `labels` - `config.worker_config.num_instances`: Resizes primary worker group - `config.secondary_worker_config.num_instances`: Resizes secondary worker group - `config.autoscaling_config.policy_uri`: Uses, stops using, or changes autoscaling policies This is a comma-separated list of fully qualified names of fields. Example: `"user.displayName,photo"`. |
| `requestId` | `string` Optional. A unique ID used to identify the request. If the server receives two [UpdateClusterRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.UpdateClusterRequest)s with the same id, then the second request will be ignored and the first `https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.locations.operations#Operation` created and stored in the backend is returned. It is recommended to always set this value to a [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. |

### Request body

The request body contains an instance of `https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.regions.clusters#Cluster`.

### Response body

If successful, the response body contains an instance of `https://docs.cloud.google.com/managed-spark/docs/reference/rest/v1/projects.locations.operations#Operation`.

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/cloud-platform`
- `
  https://www.googleapis.com/auth/dataproc`

For more information, see the [Authentication Overview](https://docs.cloud.google.com/docs/authentication#authorization-gcp).