---
title: "POST /v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setAddons"
method: POST
path: "/v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setAddons"
tags: ["projects"]
---

# POST /v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setAddons

`POST /v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setAddons`

## Request

- Base URL: `https://container.googleapis.com`
- URL: `https://container.googleapis.com/v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setAddons`
- Auth: one of:
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/cloud-platform`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/cloud-platform`
  - OAuth 2 and OAuth 2
    - Implicit: `https://accounts.google.com/o/oauth2/auth`
    - Scopes: `https://www.googleapis.com/auth/container`
    - Authorization code: `https://accounts.google.com/o/oauth2/auth`
    - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/container`

Sets the addons for a specific cluster.

## Path parameters

- `projectsId` string, required
- `locationsId` string, required
- `clustersId` string, required

## Request body

- SetAddonsConfigRequest: SetAddonsConfigRequest sets the addons associated with the cluster.
  - `addonsConfig` AddonsConfig: Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality.
    - `agentSandboxConfig` AgentSandboxConfig: Configuration for the AgentSandbox addon.
      - `enabled` boolean: Optional. Whether AgentSandbox is enabled for this cluster.
    - `cloudRunConfig` CloudRunConfig: Configuration options for the Cloud Run feature.
      - `disabled` boolean: Whether Cloud Run addon is enabled for this cluster.
      - `loadBalancerType` 'LOAD_BALANCER_TYPE_UNSPECIFIED' | 'LOAD_BALANCER_TYPE_EXTERNAL' | 'LOAD_BALANCER_TYPE_INTERNAL': Which load balancer type is installed for Cloud Run.
    - `configConnectorConfig` ConfigConnectorConfig: Configuration options for the Config Connector add-on.
      - `enabled` boolean: Whether Cloud Connector is enabled for this cluster.
    - `dnsCacheConfig` DnsCacheConfig: Configuration for NodeLocal DNSCache
      - `enabled` boolean: Whether NodeLocal DNSCache is enabled for this cluster.
    - `gcePersistentDiskCsiDriverConfig` GcePersistentDiskCsiDriverConfig: Configuration for the Compute Engine PD CSI driver.
      - `enabled` boolean: Whether the Compute Engine PD CSI driver is enabled for this cluster.
    - `gcpFilestoreCsiDriverConfig` GcpFilestoreCsiDriverConfig: Configuration for the Filestore CSI driver.
      - `enabled` boolean: Whether the Filestore CSI driver is enabled for this cluster.
    - `gcsFuseCsiDriverConfig` GcsFuseCsiDriverConfig: Configuration for the Cloud Storage Fuse CSI driver.
      - `enabled` boolean: Whether the Cloud Storage Fuse CSI driver is enabled for this cluster.
    - `gkeBackupAgentConfig` GkeBackupAgentConfig: Configuration for the Backup for GKE Agent.
      - `enabled` boolean: Whether the Backup for GKE agent is enabled for this cluster.
    - `highScaleCheckpointingConfig` HighScaleCheckpointingConfig: Configuration for the High Scale Checkpointing.
      - `enabled` boolean: Whether the High Scale Checkpointing is enabled for this cluster.
    - `horizontalPodAutoscaling` HorizontalPodAutoscaling: Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods.
      - `disabled` boolean: Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. When enabled, it ensures that metrics are collected into Stackdriver Monitoring.
    - `httpLoadBalancing` HttpLoadBalancing: Configuration options for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster.
      - `disabled` boolean: Whether the HTTP Load Balancing controller is enabled in the cluster. When enabled, it runs a small pod in the cluster that manages the load balancers.
    - `kubernetesDashboard` KubernetesDashboard: Configuration for the Kubernetes Dashboard.
      - `disabled` boolean: Whether the Kubernetes Dashboard is enabled for this cluster.
    - `lustreCsiDriverConfig` LustreCsiDriverConfig: Configuration for the Lustre CSI driver.
      - `disableMultiNic` boolean: When set to true, this disables multi-NIC support for the Lustre CSI driver. By default, GKE enables multi-NIC support, which allows the Lustre CSI driver to automatically detect and configure all suitable network interfaces on a node to maximize I/O performance for demanding workloads.
      - `enableLegacyLustrePort` boolean: If set to true, the Lustre CSI driver will install Lustre kernel modules using port 6988. This serves as a workaround for a port conflict with the gke-metadata-server. This field is required ONLY under the following conditions: 1. The GKE node version is older than 1.33.2-gke.4655000. 2. You're connecting to a Lustre instance that has the 'gke-support-enabled' flag. Deprecated: This flag is no longer required as of GKE node version 1.33.2-gke.4655000, unless you are connecting to a Lustre instance that has the `gke-support-enabled` flag.
      - `enabled` boolean: Whether the Lustre CSI driver is enabled for this cluster.
    - `networkPolicyConfig` NetworkPolicyConfig: Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes.
      - `disabled` boolean: Whether NetworkPolicy is enabled for this cluster.
    - `nodeReadinessConfig` NodeReadinessConfig: Configuration for the GKE Node Readiness Controller.
      - `enabled` boolean: Optional. Whether the GKE Node Readiness Controller is enabled for this cluster.
    - `parallelstoreCsiDriverConfig` ParallelstoreCsiDriverConfig: Deprecated: The Parallelstore CSI driver is no longer supported. Configuration for the Cloud Storage Parallelstore CSI driver.
      - `enabled` boolean: Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster.
    - `podSnapshotConfig` PodSnapshotConfig: PodSnapshotConfig is the configuration for GKE Pod Snapshots feature.
      - `enabled` boolean: Whether or not the Pod Snapshots feature is enabled.
    - `rayOperatorConfig` RayOperatorConfig: Configuration options for the Ray Operator add-on.
      - `enabled` boolean: Whether the Ray Operator addon is enabled for this cluster.
      - `rayClusterLoggingConfig` RayClusterLoggingConfig: RayClusterLoggingConfig specifies configuration of Ray logging.
        - `enabled` boolean: Enable log collection for Ray clusters.
      - `rayClusterMonitoringConfig` RayClusterMonitoringConfig: RayClusterMonitoringConfig specifies monitoring configuration for Ray clusters.
        - `enabled` boolean: Enable metrics collection for Ray clusters.
    - `sliceControllerConfig` SliceControllerConfig: Configuration for the Slice Controller.
      - `enabled` boolean: Optional. Indicates whether Slice Controller is enabled in the cluster.
    - `slurmOperatorConfig` SlurmOperatorConfig: Configuration for the Slurm Operator.
      - `enabled` boolean: When enabled, it runs a Slurm Operator that manages the set of compute pods for Slurm Cluster.
    - `statefulHaConfig` StatefulHAConfig: Configuration for the Stateful HA add-on.
      - `enabled` boolean: Whether the Stateful HA add-on is enabled for this cluster.
    - `wizSensorConfig` WizSensorConfig: Configuration for the Wiz Sensor add-on.
      - `apiKeySecretUri` string: Optional. The GCP Secret Manager URI for the Wiz API key secret. Format: "projects/{project_id}/secrets/{secret_name}/versions/{version}" or Format: "projects/{project_id}/locations/{location_id}/secrets/{secret_name}/versions/{version}"
      - `enabled` boolean: Optional. Whether the Wiz Sensor add-on is enabled for this cluster.
      - `proxySecretUri` string: Optional. The GCP Secret Manager URI for the Wiz proxy configuration. Format: "projects/{project_id}/secrets/{secret_name}/versions/{version}" or Format: "projects/{project_id}/locations/{location_id}/secrets/{secret_name}/versions/{version}"
      - `registrySecretUri` string: Optional. The GCP Secret Manager URI for the Wiz registry secret. Format: "projects/{project_id}/secrets/{secret_name}/versions/{version}" or Format: "projects/{project_id}/locations/{location_id}/secrets/{secret_name}/versions/{version}"
  - `clusterId` string: Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.
  - `name` string: The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.
  - `projectId` string: Deprecated. The Google Developers Console [project ID or project number](https://cloud.google.com/resource-manager/docs/creating-managing-projects). This field has been deprecated and replaced by the name field.
  - `zone` string: Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.

## Response `200`

Successful response

- Operation: This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only.
  - `clusterConditions` StatusCondition[]: Which conditions caused the current cluster state. Deprecated. Use field error instead.
    - `canonicalCode` 'OK' | 'CANCELLED' | 'UNKNOWN' | 'INVALID_ARGUMENT' | 'DEADLINE_EXCEEDED' | 'NOT_FOUND' | 'ALREADY_EXISTS' | 'PERMISSION_DENIED' | 'UNAUTHENTICATED' | 'RESOURCE_EXHAUSTED' | 'FAILED_PRECONDITION' | 'ABORTED' | 'OUT_OF_RANGE' | 'UNIMPLEMENTED' | 'INTERNAL' | 'UNAVAILABLE' | 'DATA_LOSS': Canonical code of the condition.
    - `code` 'UNKNOWN' | 'GCE_STOCKOUT' | 'GKE_SERVICE_ACCOUNT_DELETED' | 'GCE_QUOTA_EXCEEDED' | 'SET_BY_OPERATOR' | 'CLOUD_KMS_KEY_ERROR' | 'CA_EXPIRING' | 'NODE_SERVICE_ACCOUNT_MISSING_PERMISSIONS' | 'CLOUD_KMS_KEY_DESTROYED': Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
    - `message` string: Human-friendly representation of the condition
  - `detail` string: Output only. Detailed operation progress, if available.
  - `endTime` string: Output only. The time the operation completed, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
  - `error` Status: The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
    - `code` integer: The status code, which should be an enum value of google.rpc.Code.
    - `details` object[]: A list of messages that carry the error details. There is a common set of message types for APIs to use.
    - `message` string: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  - `location` string: Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides.
  - `name` string: Output only. The server-assigned ID for the operation.
  - `nodepoolConditions` StatusCondition[]: Which conditions caused the current node pool state. Deprecated. Use field error instead.
    - `canonicalCode` 'OK' | 'CANCELLED' | 'UNKNOWN' | 'INVALID_ARGUMENT' | 'DEADLINE_EXCEEDED' | 'NOT_FOUND' | 'ALREADY_EXISTS' | 'PERMISSION_DENIED' | 'UNAUTHENTICATED' | 'RESOURCE_EXHAUSTED' | 'FAILED_PRECONDITION' | 'ABORTED' | 'OUT_OF_RANGE' | 'UNIMPLEMENTED' | 'INTERNAL' | 'UNAVAILABLE' | 'DATA_LOSS': Canonical code of the condition.
    - `code` 'UNKNOWN' | 'GCE_STOCKOUT' | 'GKE_SERVICE_ACCOUNT_DELETED' | 'GCE_QUOTA_EXCEEDED' | 'SET_BY_OPERATOR' | 'CLOUD_KMS_KEY_ERROR' | 'CA_EXPIRING' | 'NODE_SERVICE_ACCOUNT_MISSING_PERMISSIONS' | 'CLOUD_KMS_KEY_DESTROYED': Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
    - `message` string: Human-friendly representation of the condition
  - `operationType` 'TYPE_UNSPECIFIED' | 'CREATE_CLUSTER' | 'DELETE_CLUSTER' | 'UPGRADE_MASTER' | 'UPGRADE_NODES' | 'REPAIR_CLUSTER' | 'UPDATE_CLUSTER' | 'CREATE_NODE_POOL' | 'DELETE_NODE_POOL' | 'SET_NODE_POOL_MANAGEMENT' | 'AUTO_REPAIR_NODES' | 'AUTO_UPGRADE_NODES' | 'SET_LABELS' | 'SET_MASTER_AUTH' | 'SET_NODE_POOL_SIZE' | 'SET_NETWORK_POLICY' | 'SET_MAINTENANCE_POLICY' | 'RESIZE_CLUSTER' | 'FLEET_FEATURE_UPGRADE': Output only. The operation type.
  - `progress` OperationProgress: Information about operation (or operation stage) progress.
    - `metrics` Metric[]: Progress metric bundle, for example: metrics: [{name: "nodes done", int_value: 15}, {name: "nodes total", int_value: 32}] or metrics: [{name: "progress", double_value: 0.56}, {name: "progress scale", double_value: 1.0}]
      - `doubleValue` number, double: For metrics with floating point value.
      - `intValue` string, int64: For metrics with integer value.
      - `name` string: Required. Metric name, e.g., "nodes total", "percent done".
      - `stringValue` string: For metrics with custom values (ratios, visual progress, etc.).
    - `name` string: A non-parameterized string describing an operation stage. Unset for single-stage operations.
    - `stages` OperationProgress[]: Substages of an operation or a stage.
    - `status` 'STATUS_UNSPECIFIED' | 'PENDING' | 'RUNNING' | 'DONE' | 'ABORTING': Status of an operation stage. Unset for single-stage operations.
  - `selfLink` string: Output only. Server-defined URI for the operation. Example: `https://container.googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/operation-123`.
  - `startTime` string: Output only. The time the operation started, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
  - `status` 'STATUS_UNSPECIFIED' | 'PENDING' | 'RUNNING' | 'DONE' | 'ABORTING': Output only. The current status of the operation.
  - `statusMessage` string: Output only. If an error has occurred, a textual description of the error. Deprecated. Use the field error instead.
  - `targetLink` string: Output only. Server-defined URI for the target of the operation. The format of this is a URI to the resource being modified (such as a cluster, node pool, or node). For node pool repairs, there may be multiple nodes being repaired, but only one will be the target. Examples: - ## `https://container.googleapis.com/v1/projects/123/locations/us-central1/clusters/my-cluster` ## `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np` `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node`
  - `zone` string: Output only. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation is taking place. This field is deprecated, use location instead.

## Changes

- **2026-11-03** `649eae563481`: 4 info
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was added to the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/cloud-platform` was added to the endpoint's security scheme `Oauth2c`
  - the security scope `https://www.googleapis.com/auth/container` was removed from the endpoint's security scheme `Oauth2`
  - the security scope `https://www.googleapis.com/auth/container` was removed from the endpoint's security scheme `Oauth2c`

[Operation history](https://skmtc.dev/google/apis/container/changes/v1/projects/:projectsId/locations/:locationsId/clusters/:clustersId:setAddons/post.md)

---

[API](https://skmtc.dev/google/apis/container.md) - [All operations](https://skmtc.dev/google/apis/container/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/container/revisions/649eae563481?raw)
