aws-cdk-lib.aws_stepfunctions_tasks.EmrCreateCluster.InstanceGroupConfigProperty

interface InstanceGroupConfigProperty

LanguageType name
.NETAmazon.CDK.AWS.StepFunctions.Tasks.EmrCreateCluster.InstanceGroupConfigProperty
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsstepfunctionstasks#EmrCreateCluster_InstanceGroupConfigProperty
Javasoftware.amazon.awscdk.services.stepfunctions.tasks.EmrCreateCluster.InstanceGroupConfigProperty
Pythonaws_cdk.aws_stepfunctions_tasks.EmrCreateCluster.InstanceGroupConfigProperty
TypeScript (source)aws-cdk-lib » aws_stepfunctions_tasks » EmrCreateCluster » InstanceGroupConfigProperty

Configuration defining a new instance group.

See also: https://docs.aws.amazon.com/emr/latest/APIReference/API_InstanceGroupConfig.html

Example

// 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 instanceGroupConfigProperty: stepfunctions_tasks.EmrCreateCluster.InstanceGroupConfigProperty = {
  instanceCount: 123,
  instanceRole: stepfunctions_tasks.EmrCreateCluster.InstanceRoleType.MASTER,
  instanceType: 'instanceType',

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

          // the properties below are optional
          adjustmentType: stepfunctions_tasks.EmrCreateCluster.ScalingAdjustmentType.CHANGE_IN_CAPACITY,
          coolDown: 123,
        },

        // the properties below are optional
        market: stepfunctions_tasks.EmrCreateCluster.InstanceMarket.ON_DEMAND,
      },
      name: 'name',
      trigger: {
        cloudWatchAlarmDefinition: {
          comparisonOperator: stepfunctions_tasks.EmrCreateCluster.CloudWatchAlarmComparisonOperator.GREATER_THAN_OR_EQUAL,
          metricName: 'metricName',
          period: cdk.Duration.minutes(30),

          // the properties below are optional
          dimensions: [{
            key: 'key',
            value: 'value',
          }],
          evaluationPeriods: 123,
          namespace: 'namespace',
          statistic: stepfunctions_tasks.EmrCreateCluster.CloudWatchAlarmStatistic.SAMPLE_COUNT,
          threshold: 123,
          unit: stepfunctions_tasks.EmrCreateCluster.CloudWatchAlarmUnit.NONE,
        },
      },

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

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

      // the properties below are optional
      volumesPerInstance: 123,
    }],
    ebsOptimized: false,
  },
  market: stepfunctions_tasks.EmrCreateCluster.InstanceMarket.ON_DEMAND,
  name: 'name',
};

Properties

NameTypeDescription
instanceCountnumberTarget number of instances for the instance group.
instanceRoleInstanceRoleTypeThe role of the instance group in the cluster.
instanceTypestringThe EC2 instance type for all instances in the instance group.
autoScalingPolicy?AutoScalingPolicyPropertyAn automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster.
bidPrice?stringThe bid price for each EC2 Spot instance type as defined by InstanceType.
configurations?ConfigurationProperty[]The list of configurations supplied for an EMR cluster instance group.
ebsConfiguration?EbsConfigurationPropertyEBS configurations that will be attached to each EC2 instance in the instance group.
market?InstanceMarketMarket type of the 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: InstanceRoleType

The role of the instance group in the cluster.


instanceType

Type: string

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


autoScalingPolicy?

Type: AutoScalingPolicyProperty (optional, default: None)

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster.


bidPrice?

Type: string (optional, default: None)

The bid price for each EC2 Spot instance type as defined by InstanceType.

Expressed in USD.


configurations?

Type: ConfigurationProperty[] (optional, default: None)

The list of configurations supplied for an EMR cluster instance group.


ebsConfiguration?

Type: EbsConfigurationProperty (optional, default: None)

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


market?

Type: InstanceMarket (optional, default: EMR selected default)

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


name?

Type: string (optional, default: None)

Friendly name given to the instance group.