

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::EMR::Cluster InstanceGroupConfig
<a name="aws-properties-emr-cluster-instancegroupconfig"></a>

Use `InstanceGroupConfig` to define instance groups for an EMR cluster. A cluster can not use both instance groups and instance fleets. For more information, see [Create a Cluster with Instance Fleets or Uniform Instance Groups](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-instance-group-configuration.html) in the *Amazon EMR Management Guide*.

## Syntax
<a name="aws-properties-emr-cluster-instancegroupconfig-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-emr-cluster-instancegroupconfig-syntax.json"></a>

```
{
  "[AutoScalingPolicy](#cfn-emr-cluster-instancegroupconfig-autoscalingpolicy)" : AutoScalingPolicy,
  "[BidPrice](#cfn-emr-cluster-instancegroupconfig-bidprice)" : String,
  "[Configurations](#cfn-emr-cluster-instancegroupconfig-configurations)" : [ Configuration, ... ],
  "[CustomAmiId](#cfn-emr-cluster-instancegroupconfig-customamiid)" : String,
  "[EbsConfiguration](#cfn-emr-cluster-instancegroupconfig-ebsconfiguration)" : EbsConfiguration,
  "[InstanceCount](#cfn-emr-cluster-instancegroupconfig-instancecount)" : Integer,
  "[InstanceType](#cfn-emr-cluster-instancegroupconfig-instancetype)" : String,
  "[Market](#cfn-emr-cluster-instancegroupconfig-market)" : String,
  "[Name](#cfn-emr-cluster-instancegroupconfig-name)" : String
}
```

### YAML
<a name="aws-properties-emr-cluster-instancegroupconfig-syntax.yaml"></a>

```
  [AutoScalingPolicy](#cfn-emr-cluster-instancegroupconfig-autoscalingpolicy): 
    AutoScalingPolicy
  [BidPrice](#cfn-emr-cluster-instancegroupconfig-bidprice): String
  [Configurations](#cfn-emr-cluster-instancegroupconfig-configurations): 
    - Configuration
  [CustomAmiId](#cfn-emr-cluster-instancegroupconfig-customamiid): String
  [EbsConfiguration](#cfn-emr-cluster-instancegroupconfig-ebsconfiguration): 
    EbsConfiguration
  [InstanceCount](#cfn-emr-cluster-instancegroupconfig-instancecount): Integer
  [InstanceType](#cfn-emr-cluster-instancegroupconfig-instancetype): String
  [Market](#cfn-emr-cluster-instancegroupconfig-market): String
  [Name](#cfn-emr-cluster-instancegroupconfig-name): String
```

## Properties
<a name="aws-properties-emr-cluster-instancegroupconfig-properties"></a>

`AutoScalingPolicy`  <a name="cfn-emr-cluster-instancegroupconfig-autoscalingpolicy"></a>
`AutoScalingPolicy` is a subproperty of the [InstanceGroupConfig](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-jobflowinstancesconfig-instancegroupconfig.html) property type that specifies the constraints and rules of an automatic scaling policy in Amazon EMR. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. Only core and task instance groups can use automatic scaling policies. For more information, see [Using Automatic Scaling in Amazon EMR](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-automatic-scaling.html).  
*Required*: No  
*Type*: [AutoScalingPolicy](aws-properties-emr-cluster-autoscalingpolicy.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BidPrice`  <a name="cfn-emr-cluster-instancegroupconfig-bidprice"></a>
If specified, indicates that the instance group uses Spot Instances. This is the maximum price you are willing to pay for Spot Instances. Specify `OnDemandPrice` to set the amount equal to the On-Demand price, or specify an amount in USD.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Configurations`  <a name="cfn-emr-cluster-instancegroupconfig-configurations"></a>
Amazon EMR releases 4.x or later.
The list of configurations supplied for an Amazon EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).  
*Required*: No  
*Type*: Array of [Configuration](aws-properties-emr-cluster-configuration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomAmiId`  <a name="cfn-emr-cluster-instancegroupconfig-customamiid"></a>
The custom AMI ID to use for the provisioned instance group.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`EbsConfiguration`  <a name="cfn-emr-cluster-instancegroupconfig-ebsconfiguration"></a>
EBS configurations that will be attached to each Amazon EC2 instance in the instance group.  
*Required*: No  
*Type*: [EbsConfiguration](aws-properties-emr-cluster-ebsconfiguration.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceCount`  <a name="cfn-emr-cluster-instancegroupconfig-instancecount"></a>
Target number of instances for the instance group.  
*Required*: Yes  
*Type*: Integer  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InstanceType`  <a name="cfn-emr-cluster-instancegroupconfig-instancetype"></a>
The Amazon EC2 instance type for all instances in the instance group.  
*Required*: Yes  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `1`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Market`  <a name="cfn-emr-cluster-instancegroupconfig-market"></a>
Market type of the Amazon EC2 instances used to create a cluster node.  
*Required*: No  
*Type*: String  
*Allowed values*: `ON_DEMAND | SPOT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-emr-cluster-instancegroupconfig-name"></a>
Friendly name given to the instance group.  
*Required*: No  
*Type*: String  
*Pattern*: `[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*`  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)