# InstanceTypeConfigProperty

An instance type configuration for each instance type in an instance fleet, which determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities.

- Source: [`aws-stepfunctions-tasks/lib/emr/emr-create-cluster.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-stepfunctions-tasks/lib/emr/emr-create-cluster.ts#L729)
- Type last changed: v2.253.0 · 6 May 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_stepfunctions_tasks as stepfunctions_tasks } from 'aws-cdk-lib';

declare const configurationProperty_: stepfunctions_tasks.EmrCreateCluster.ConfigurationProperty;
declare const size: cdk.Size;
const instanceTypeConfigProperty: stepfunctions_tasks.EmrCreateCluster.InstanceTypeConfigProperty = {
  instanceType: 'instanceType',

  // the properties below are optional
  bidPrice: 'bidPrice',
  bidPriceAsPercentageOfOnDemandPrice: 123,
  configurations: [{
    classification: 'classification',
    configurations: [configurationProperty_],
    properties: {
      propertiesKey: 'properties',
    },
  }],
  ebsConfiguration: {
    ebsBlockDeviceConfigs: [{
      volumeSpecification: {
        volumeSize: size,
        volumeType: stepfunctions_tasks.EmrCreateCluster.EbsBlockDeviceVolumeType.GP3,

        // the properties below are optional
        iops: 123,
      },

      // the properties below are optional
      volumesPerInstance: 123,
    }],
    ebsOptimized: false,
  },
  priority: 123,
  weightedCapacity: 123,
};
```

## Properties

- `bidPrice`: string = None — The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

  Cannot specify both `bidPrice` and `bidPriceAsPercentageOfOnDemandPrice`.

- `bidPriceAsPercentageOfOnDemandPrice`: number = None — The bid price, as a percentage of On-Demand price.

  Cannot specify both `bidPrice` and `bidPriceAsPercentageOfOnDemandPrice`.

- `configurations`: [EmrCreateCluster.ConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.ConfigurationProperty.html)[] = None — A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.

- `ebsConfiguration`: [EmrCreateCluster.EbsConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.EbsConfigurationProperty.html) = None — The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

- `instanceType`: string (required) — An EC2 instance type.

- `priority`: number — The priority at which Amazon EMR launches the EC2 instance with this instance type.

  **Default:** No priority is assigned

  Priority starts at 0, which is the highest priority. Amazon EMR considers the highest priority first.

- `weightedCapacity`: number = None — The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in the InstanceFleetConfig.
