aws-cdk-lib.aws_emr.CfnInstanceGroupConfigProps

interface CfnInstanceGroupConfigProps

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

Properties for defining a CfnInstanceGroupConfig.

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.CfnInstanceGroupConfig.ConfigurationProperty;
const cfnInstanceGroupConfigProps: emr.CfnInstanceGroupConfigProps = {
  instanceCount: 123,
  instanceRole: 'instanceRole',
  instanceType: 'instanceType',
  jobFlowId: 'jobFlowId',

  // 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.
instanceRolestringThe role of the instance group in the cluster.
instanceTypestringThe Amazon EC2 instance type for all instances in the instance group.
jobFlowIdstringThe ID of an Amazon EMR cluster that you want to associate this instance group with.
autoScalingPolicy?IResolvable | AutoScalingPolicyPropertyAutoScalingPolicy is a subproperty of InstanceGroupConfig .
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 | EbsConfigurationPropertyEbsConfiguration determines the EBS volumes to attach to EMR cluster instances.
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.


instanceRole

Type: string

The role of the instance group in the cluster.

Allowed Values : TASK


instanceType

Type: string

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


jobFlowId

Type: string

The ID of an Amazon EMR cluster that you want to associate this instance group with.


autoScalingPolicy?

Type: IResolvable | AutoScalingPolicyProperty (optional)

AutoScalingPolicy is a subproperty of InstanceGroupConfig .

AutoScalingPolicy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. For more information, see Using Automatic Scaling in Amazon EMR in the Amazon EMR Management Guide .


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)

EbsConfiguration determines the EBS volumes to attach to EMR cluster instances.


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.