public sealed class InstanceGroupConfig : IMessage<InstanceGroupConfig>, IEquatable<InstanceGroupConfig>, IDeepCloneable<InstanceGroupConfig>, IBufferMessage, IMessage
Reference documentation and code samples for the Google Cloud Dataproc v1 API class InstanceGroupConfig.
The config settings for Compute Engine resources in
an instance group, such as a master or worker group.
Auto Zone Exception: If you are using the Dataproc
Auto Zone
Placement
feature, you must use the short name of the machine type
resource, for example, n1-standard-2.
Optional. The minimum number of primary worker instances to create.
If min_num_instances is set, cluster creation will succeed if
the number of primary workers created is at least equal to the
min_num_instances number.
Example: Cluster creation request with num_instances = 5 and
min_num_instances = 3:
If 4 VMs are created and 1 instance fails,
the failed VM is deleted. The cluster is
resized to 4 instances and placed in a RUNNING state.
If 2 instances are created and 3 instances fail,
the cluster in placed in an ERROR state. The failed VMs
are not deleted.
Optional. The number of VM instances in the instance group.
For HA
clustermaster_config groups, must be set to 3.
For standard cluster master_config groups,
must be set to 1.
[[["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 the Google Cloud Dataproc v1 API class \u003ccode\u003eInstanceGroupConfig\u003c/code\u003e is 5.17.0.\u003c/p\u003e\n"],["\u003cp\u003eThis API class provides configuration settings for Compute Engine resources within a master or worker instance group.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eInstanceGroupConfig\u003c/code\u003e allows setting properties such as accelerators, disk options, machine type, image URI, and instance flexibility policies.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eInstanceGroupConfig\u003c/code\u003e class implements interfaces like \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, and \u003ccode\u003eIDeepCloneable\u003c/code\u003e for enhanced functionality.\u003c/p\u003e\n"],["\u003cp\u003eMultiple previous versions of \u003ccode\u003eInstanceGroupConfig\u003c/code\u003e are accessible, ranging from 3.1.0 to 5.16.0.\u003c/p\u003e\n"]]],[],null,["# Google Cloud Dataproc v1 API - Class InstanceGroupConfig (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.InstanceGroupConfig)\n- [5.19.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.19.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.18.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.18.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.17.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.17.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.16.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.16.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.15.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.15.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.14.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.14.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.13.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.13.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.12.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.12.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.11.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.11.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.10.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.10.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.9.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.9.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.8.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.8.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.7.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.7.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.6.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.6.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.5.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.5.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.4.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.4.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.3.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.3.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.2.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.2.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.1.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.1.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [5.0.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/5.0.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [4.0.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/4.0.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.4.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.3.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.2.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/3.1.0/Google.Cloud.Dataproc.V1.InstanceGroupConfig) \n\n public sealed class InstanceGroupConfig : IMessage\u003cInstanceGroupConfig\u003e, IEquatable\u003cInstanceGroupConfig\u003e, IDeepCloneable\u003cInstanceGroupConfig\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Cloud Dataproc v1 API class InstanceGroupConfig.\n\nThe config settings for Compute Engine resources in\nan instance group, such as a master or worker group. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e InstanceGroupConfig \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[InstanceGroupConfig](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.InstanceGroupConfig), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[InstanceGroupConfig](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.InstanceGroupConfig), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[InstanceGroupConfig](/dotnet/docs/reference/Google.Cloud.Dataproc.V1/latest/Google.Cloud.Dataproc.V1.InstanceGroupConfig), [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### InstanceGroupConfig()\n\n public InstanceGroupConfig()\n\n### InstanceGroupConfig(InstanceGroupConfig)\n\n public InstanceGroupConfig(InstanceGroupConfig other)\n\nProperties\n----------\n\n### Accelerators\n\n public RepeatedField\u003cAcceleratorConfig\u003e Accelerators { get; }\n\nOptional. The Compute Engine accelerator configuration for these\ninstances.\n\n### DiskConfig\n\n public DiskConfig DiskConfig { get; set; }\n\nOptional. Disk option config settings.\n\n### ImageUri\n\n public string ImageUri { get; set; }\n\nOptional. The Compute Engine image resource used for cluster instances.\n\nThe URI can represent an image or image family.\n\nImage examples:\n\n- `https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/[image-id]`\n- `projects/[project_id]/global/images/[image-id]`\n- `image-id`\n\nImage family examples. Dataproc will use the most recent\nimage from the family:\n\n- `https://www.googleapis.com/compute/v1/projects/[project_id]/global/images/family/[custom-image-family-name]`\n- `projects/[project_id]/global/images/family/[custom-image-family-name]`\n\nIf the URI is unspecified, it will be inferred from\n`SoftwareConfig.image_version` or the system default.\n\n### InstanceFlexibilityPolicy\n\n public InstanceFlexibilityPolicy InstanceFlexibilityPolicy { get; set; }\n\nOptional. Instance flexibility Policy allowing a mixture of VM shapes and\nprovisioning models.\n\n### InstanceNames\n\n public RepeatedField\u003cstring\u003e InstanceNames { get; }\n\nOutput only. The list of instance names. Dataproc derives the names\nfrom `cluster_name`, `num_instances`, and the instance group.\n\n### InstanceReferences\n\n public RepeatedField\u003cInstanceReference\u003e InstanceReferences { get; }\n\nOutput only. List of references to Compute Engine instances.\n\n### IsPreemptible\n\n public bool IsPreemptible { get; set; }\n\nOutput only. Specifies that this instance group contains preemptible\ninstances.\n\n### MachineTypeUri\n\n public string MachineTypeUri { get; set; }\n\nOptional. The Compute Engine machine type used for cluster instances.\n\nA full URL, partial URI, or short name are valid. Examples:\n\n- `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2`\n- `projects/[project_id]/zones/[zone]/machineTypes/n1-standard-2`\n- `n1-standard-2`\n\n**Auto Zone Exception** : If you are using the Dataproc\n[Auto Zone\nPlacement](https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone#using_auto_zone_placement)\nfeature, you must use the short name of the machine type\nresource, for example, `n1-standard-2`.\n\n### ManagedGroupConfig\n\n public ManagedGroupConfig ManagedGroupConfig { get; set; }\n\nOutput only. The config for Compute Engine Instance Group\nManager that manages this group.\nThis is only used for preemptible instance groups.\n\n### MinCpuPlatform\n\n public string MinCpuPlatform { get; set; }\n\nOptional. Specifies the minimum cpu platform for the Instance Group.\nSee [Dataproc -\\\u003e Minimum CPU\nPlatform](https://cloud.google.com/dataproc/docs/concepts/compute/dataproc-min-cpu).\n\n### MinNumInstances\n\n public int MinNumInstances { get; set; }\n\nOptional. The minimum number of primary worker instances to create.\nIf `min_num_instances` is set, cluster creation will succeed if\nthe number of primary workers created is at least equal to the\n`min_num_instances` number.\n\nExample: Cluster creation request with `num_instances` = `5` and\n`min_num_instances` = `3`:\n\n- If 4 VMs are created and 1 instance fails, the failed VM is deleted. The cluster is resized to 4 instances and placed in a `RUNNING` state.\n- If 2 instances are created and 3 instances fail, the cluster in placed in an `ERROR` state. The failed VMs are not deleted.\n\n### NumInstances\n\n public int NumInstances { get; set; }\n\nOptional. The number of VM instances in the instance group.\nFor [HA\ncluster](/dataproc/docs/concepts/configuring-clusters/high-availability)\n[master_config](#FIELDS.master_config) groups, **must be set to 3** .\nFor standard cluster [master_config](#FIELDS.master_config) groups,\n**must be set to 1**.\n\n### Preemptibility\n\n public InstanceGroupConfig.Types.Preemptibility Preemptibility { get; set; }\n\nOptional. Specifies the preemptibility of the instance group.\n\nThe default value for master and worker groups is\n`NON_PREEMPTIBLE`. This default cannot be changed.\n\nThe default value for secondary instances is\n`PREEMPTIBLE`.\n\n### StartupConfig\n\n public StartupConfig StartupConfig { get; set; }\n\nOptional. Configuration to handle the startup of instances during cluster\ncreate and update process."]]