Optional. A Cloud Storage bucket used to stage job
dependencies, config files, and job driver console output.
If you do not specify a staging bucket, Cloud
Dataproc will determine a Cloud Storage location (US,
ASIA, or EU) for your cluster's staging bucket according to the
Compute Engine zone where your cluster is deployed, and then create
and manage this project-level, per-location bucket (see
Dataproc staging and temp
buckets).
This field requires a Cloud Storage bucket name, not a gs://... URI to
a Cloud Storage bucket.
public RepeatedField<NodeInitializationAction> InitializationActions { get; }
Optional. Commands to execute on each node after config is
completed. By default, executables are run on master and all worker nodes.
You can test a node's role metadata to run an executable on
a master or worker node, as shown below using curl (you can also use
wget):
ROLE=$(curl -H Metadata-Flavor:Google
http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)
if [[ "${ROLE}" == 'Master' ]]; then
... master specific actions ...
else
... worker specific actions ...
fi
Optional. A Cloud Storage bucket used to store ephemeral cluster and jobs
data, such as Spark and MapReduce history files. If you do not specify a
temp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or
EU) for your cluster's temp bucket according to the Compute Engine zone
where your cluster is deployed, and then create and manage this
project-level, per-location bucket. The default bucket has a TTL of 90
days, but you can use any TTL (or none) if you specify a bucket (see
Dataproc staging and temp
buckets).
This field requires a Cloud Storage bucket name, not a gs://... URI to
a Cloud Storage bucket.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version available for \u003ccode\u003eClusterConfig\u003c/code\u003e in the Google Cloud Dataproc v1 API is 5.17.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eClusterConfig\u003c/code\u003e class in the Google Cloud Dataproc v1 API provides settings for configuring a Dataproc cluster, with the most recent documented version being 5.17.0 and older versions going back to 3.1.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eClusterConfig\u003c/code\u003e has optional settings, such as \u003ccode\u003eAutoscalingConfig\u003c/code\u003e, \u003ccode\u003eAuxiliaryNodeGroups\u003c/code\u003e, and \u003ccode\u003eConfigBucket\u003c/code\u003e, allowing customization of the cluster's behavior and resources.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eClusterConfig\u003c/code\u003e includes settings for Compute Engine configuration, like \u003ccode\u003eGceClusterConfig\u003c/code\u003e, \u003ccode\u003eMasterConfig\u003c/code\u003e, and \u003ccode\u003eWorkerConfig\u003c/code\u003e, that define the underlying infrastructure of the cluster's instances.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eClusterConfig\u003c/code\u003e implements multiple interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e and \u003ccode\u003eIBufferMessage\u003c/code\u003e, which are utilized for serialization, equality checks, deep cloning, and buffered message handling.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Dataproc v1 API - Class ClusterConfig (5.20.0)\n\nVersion latestkeyboard_arrow_down\n\n- [5.20.0 (latest)](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.19.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.19.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.18.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.18.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.17.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.17.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.16.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.16.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.15.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.15.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.14.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.14.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.13.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.13.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.12.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.12.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.11.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.11.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.10.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.10.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.9.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.9.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.8.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.8.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.7.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.7.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.6.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.6.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.5.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.5.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.4.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.4.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.3.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.3.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.2.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.2.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.1.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.1.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [5.0.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.0.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [4.0.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/4.0.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.4.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.3.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.2.0/Google.Cloud.Dataproc.V1.ClusterConfig)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.1.0/Google.Cloud.Dataproc.V1.ClusterConfig) \n\n public sealed class ClusterConfig : IMessage\u003cClusterConfig\u003e, IEquatable\u003cClusterConfig\u003e, IDeepCloneable\u003cClusterConfig\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Dataproc v1 API class ClusterConfig.\n\nThe cluster config. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e ClusterConfig \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[ClusterConfig](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.ClusterConfig), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[ClusterConfig](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.ClusterConfig), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[ClusterConfig](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.ClusterConfig), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Dataproc.V1](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1)\n\nAssembly\n--------\n\nGoogle.Cloud.Dataproc.V1.dll\n\nConstructors\n------------\n\n### ClusterConfig()\n\n public ClusterConfig()\n\n### ClusterConfig(ClusterConfig)\n\n public ClusterConfig(ClusterConfig other)\n\nProperties\n----------\n\n### AutoscalingConfig\n\n public AutoscalingConfig AutoscalingConfig { get; set; }\n\nOptional. Autoscaling config for the policy associated with the cluster.\nCluster does not autoscale if this field is unset.\n\n### AuxiliaryNodeGroups\n\n public RepeatedField\u003cAuxiliaryNodeGroup\u003e AuxiliaryNodeGroups { get; }\n\nOptional. The node group settings.\n\n### ClusterTier\n\n public ClusterConfig.Types.ClusterTier ClusterTier { get; set; }\n\nOptional. The cluster tier.\n\n### ConfigBucket\n\n public string ConfigBucket { get; set; }\n\nOptional. A Cloud Storage bucket used to stage job\ndependencies, config files, and job driver console output.\nIf you do not specify a staging bucket, Cloud\nDataproc will determine a Cloud Storage location (US,\nASIA, or EU) for your cluster's staging bucket according to the\nCompute Engine zone where your cluster is deployed, and then create\nand manage this project-level, per-location bucket (see\n[Dataproc staging and temp\nbuckets](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).\n**This field requires a Cloud Storage bucket name, not a `gs://...` URI to\na Cloud Storage bucket.**\n\n### DataprocMetricConfig\n\n public DataprocMetricConfig DataprocMetricConfig { get; set; }\n\nOptional. The config for Dataproc metrics.\n\n### EncryptionConfig\n\n public EncryptionConfig EncryptionConfig { get; set; }\n\nOptional. Encryption settings for the cluster.\n\n### EndpointConfig\n\n public EndpointConfig EndpointConfig { get; set; }\n\nOptional. Port/endpoint configuration for this cluster\n\n### GceClusterConfig\n\n public GceClusterConfig GceClusterConfig { get; set; }\n\nOptional. The shared Compute Engine config settings for\nall instances in a cluster.\n\n### InitializationActions\n\n public RepeatedField\u003cNodeInitializationAction\u003e InitializationActions { get; }\n\nOptional. Commands to execute on each node after config is\ncompleted. By default, executables are run on master and all worker nodes.\nYou can test a node's `role` metadata to run an executable on\na master or worker node, as shown below using `curl` (you can also use\n`wget`): \n\n ROLE=$(curl -H Metadata-Flavor:Google\n http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)\n if [[ \"${ROLE}\" == 'Master' ]]; then\n ... master specific actions ...\n else\n ... worker specific actions ...\n fi\n\n### LifecycleConfig\n\n public LifecycleConfig LifecycleConfig { get; set; }\n\nOptional. Lifecycle setting for the cluster.\n\n### MasterConfig\n\n public InstanceGroupConfig MasterConfig { get; set; }\n\nOptional. The Compute Engine config settings for\nthe cluster's master instance.\n\n### MetastoreConfig\n\n public MetastoreConfig MetastoreConfig { get; set; }\n\nOptional. Metastore configuration.\n\n### SecondaryWorkerConfig\n\n public InstanceGroupConfig SecondaryWorkerConfig { get; set; }\n\nOptional. The Compute Engine config settings for\na cluster's secondary worker instances\n\n### SecurityConfig\n\n public SecurityConfig SecurityConfig { get; set; }\n\nOptional. Security settings for the cluster.\n\n### SoftwareConfig\n\n public SoftwareConfig SoftwareConfig { get; set; }\n\nOptional. The config settings for cluster software.\n\n### TempBucket\n\n public string TempBucket { get; set; }\n\nOptional. A Cloud Storage bucket used to store ephemeral cluster and jobs\ndata, such as Spark and MapReduce history files. If you do not specify a\ntemp bucket, Dataproc will determine a Cloud Storage location (US, ASIA, or\nEU) for your cluster's temp bucket according to the Compute Engine zone\nwhere your cluster is deployed, and then create and manage this\nproject-level, per-location bucket. The default bucket has a TTL of 90\ndays, but you can use any TTL (or none) if you specify a bucket (see\n[Dataproc staging and temp\nbuckets](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/staging-bucket)).\n**This field requires a Cloud Storage bucket name, not a `gs://...` URI to\na Cloud Storage bucket.**\n\n### WorkerConfig\n\n public InstanceGroupConfig WorkerConfig { get; set; }\n\nOptional. The Compute Engine config settings for\nthe cluster's worker instances."]]