Skip to content
v2.273.0

InstanceGroupConfigProperty Struct ​

Configuration defining a new instance group.

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 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.GP3,

        // 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 ​

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster.
bidPricestringbid_pricestrbidPriceStringBidPricestringBidPrice*string= None#
The bid price for each EC2 Spot instance type as defined by InstanceType.

Expressed in USD.

configurationsEmrCreateCluster.ConfigurationProperty[]configurationstyping.List[ConfigurationProperty]configurationsList<ConfigurationProperty>ConfigurationsConfigurationProperty[]Configurations*[]ConfigurationProperty= None#
The list of configurations supplied for an EMR cluster instance group.
EBS configurations that will be attached to each EC2 instance in the instance group.
instanceCountnumberinstance_countint | floatinstanceCountNumberInstanceCountdoubleInstanceCount*float64required#
Target number of instances for the instance group.
instanceRoleEmrCreateCluster.InstanceRoleTypeinstance_roleInstanceRoleTypeinstanceRoleInstanceRoleTypeInstanceRoleInstanceRoleTypeInstanceRoleInstanceRoleTyperequired#
The role of the instance group in the cluster.
instanceTypestringinstance_typestrinstanceTypeStringInstanceTypestringInstanceType*stringrequired#
The EC2 instance type for all instances in the instance group.
Market type of the EC2 instances used to create a cluster node.
namestringnamestrnameStringNamestringName*string= None#
Friendly name given to the instance group.