aws-cdk-lib.aws_emr.CfnCluster.InstanceGroupConfigProperty

interface InstanceGroupConfigProperty

LanguageType name
.NETAmazon.CDK.AWS.EMR.CfnCluster.InstanceGroupConfigProperty
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsemr#CfnCluster_InstanceGroupConfigProperty
Javasoftware.amazon.awscdk.services.emr.CfnCluster.InstanceGroupConfigProperty
Pythonaws_cdk.aws_emr.CfnCluster.InstanceGroupConfigProperty
TypeScript aws-cdk-lib » aws_emr » CfnCluster » InstanceGroupConfigProperty

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 in the Amazon EMR Management Guide .

Example

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

declare const configurationProperty_: emr.CfnCluster.ConfigurationProperty;
const instanceGroupConfigProperty: emr.CfnCluster.InstanceGroupConfigProperty = {
  instanceCount: 123,
  instanceType: 'instanceType',

  // the properties below are optional
  autoScalingPolicy: {
    constraints: {
      maxCapacity: 123,
      minCapacity: 123,
    },
    rules: [{
      action: {
        simpleScalingPolicyConfiguration: {
          scalingAdjustment: 123,

          // the properties below are optional
          adjustmentType: 'adjustmentType',
          coolDown: 123,
        },

        // the properties below are optional
        market: 'market',
      },
      name: 'name',
      trigger: {
        cloudWatchAlarmDefinition: {
          comparisonOperator: 'comparisonOperator',
          metricName: 'metricName',
          period: 123,
          threshold: 123,

          // the properties below are optional
          dimensions: [{
            key: 'key',
            value: 'value',
          }],
          evaluationPeriods: 123,
          namespace: 'namespace',
          statistic: 'statistic',
          unit: 'unit',
        },
      },

      // the properties below are optional
      description: 'description',
    }],
  },
  bidPrice: 'bidPrice',
  configurations: [{
    classification: 'classification',
    configurationProperties: {
      configurationPropertiesKey: 'configurationProperties',
    },
    configurations: [configurationProperty_],
  }],
  customAmiId: 'customAmiId',
  ebsConfiguration: {
    ebsBlockDeviceConfigs: [{
      volumeSpecification: {
        sizeInGb: 123,
        volumeType: 'volumeType',

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

      // the properties below are optional
      volumesPerInstance: 123,
    }],
    ebsOptimized: false,
  },
  market: 'market',
  name: 'name',
};

Properties

NameTypeDescription
instanceCountnumberTarget number of instances for the instance group.
instanceTypestringThe Amazon EC2 instance type for all instances in the instance group.
autoScalingPolicy?IResolvable | AutoScalingPolicyPropertyAutoScalingPolicy is a subproperty of the InstanceGroupConfig 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 .
bidPrice?stringIf specified, indicates that the instance group uses Spot Instances.
configurations?IResolvable | IResolvable | ConfigurationProperty[]> Amazon EMR releases 4.x or later.
customAmiId?stringThe custom AMI ID to use for the provisioned instance group.
ebsConfiguration?IResolvable | EbsConfigurationPropertyEBS configurations that will be attached to each Amazon EC2 instance in the instance group.
market?stringMarket type of the Amazon EC2 instances used to create a cluster node.
name?stringFriendly name given to the instance group.

instanceCount

Type: number

Target number of instances for the instance group.


instanceType

Type: string

The Amazon EC2 instance type for all instances in the instance group.


autoScalingPolicy?

Type: IResolvable | AutoScalingPolicyProperty (optional)

AutoScalingPolicy is a subproperty of the InstanceGroupConfig 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 .


bidPrice?

Type: string (optional)

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.


configurations?

Type: IResolvable | IResolvable | ConfigurationProperty[] (optional)

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).


customAmiId?

Type: string (optional)

The custom AMI ID to use for the provisioned instance group.


ebsConfiguration?

Type: IResolvable | EbsConfigurationProperty (optional)

EBS configurations that will be attached to each Amazon EC2 instance in the instance group.


market?

Type: string (optional)

Market type of the Amazon EC2 instances used to create a cluster node.


name?

Type: string (optional)

Friendly name given to the instance group.