Interface CfnCluster.InstanceGroupConfigProperty
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
CfnCluster.InstanceGroupConfigProperty.Jsii$Proxy
- Enclosing class:
CfnCluster
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 software.amazon.awscdk.services.emr.*;
ConfigurationProperty configurationProperty_;
InstanceGroupConfigProperty instanceGroupConfigProperty = InstanceGroupConfigProperty.builder()
.instanceCount(123)
.instanceType("instanceType")
// the properties below are optional
.autoScalingPolicy(AutoScalingPolicyProperty.builder()
.constraints(ScalingConstraintsProperty.builder()
.maxCapacity(123)
.minCapacity(123)
.build())
.rules(List.of(ScalingRuleProperty.builder()
.action(ScalingActionProperty.builder()
.simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
.scalingAdjustment(123)
// the properties below are optional
.adjustmentType("adjustmentType")
.coolDown(123)
.build())
// the properties below are optional
.market("market")
.build())
.name("name")
.trigger(ScalingTriggerProperty.builder()
.cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
.comparisonOperator("comparisonOperator")
.metricName("metricName")
.period(123)
.threshold(123)
// the properties below are optional
.dimensions(List.of(MetricDimensionProperty.builder()
.key("key")
.value("value")
.build()))
.evaluationPeriods(123)
.namespace("namespace")
.statistic("statistic")
.unit("unit")
.build())
.build())
// the properties below are optional
.description("description")
.build()))
.build())
.bidPrice("bidPrice")
.configurations(List.of(ConfigurationProperty.builder()
.classification("classification")
.configurationProperties(Map.of(
"configurationPropertiesKey", "configurationProperties"))
.configurations(List.of(configurationProperty_))
.build()))
.customAmiId("customAmiId")
.ebsConfiguration(EbsConfigurationProperty.builder()
.ebsBlockDeviceConfigs(List.of(EbsBlockDeviceConfigProperty.builder()
.volumeSpecification(VolumeSpecificationProperty.builder()
.sizeInGb(123)
.volumeType("volumeType")
// the properties below are optional
.iops(123)
.throughput(123)
.build())
// the properties below are optional
.volumesPerInstance(123)
.build()))
.ebsOptimized(false)
.build())
.market("market")
.name("name")
.build();
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forCfnCluster.InstanceGroupConfigPropertystatic final classAn implementation forCfnCluster.InstanceGroupConfigProperty -
Method Summary
Modifier and TypeMethodDescriptionbuilder()default ObjectAutoScalingPolicyis a subproperty of the InstanceGroupConfig property type that specifies the constraints and rules of an automatic scaling policy in Amazon EMR .default StringIf specified, indicates that the instance group uses Spot Instances.default Objectdefault StringThe custom AMI ID to use for the provisioned instance group.default ObjectEBS configurations that will be attached to each Amazon EC2 instance in the instance group.Target number of instances for the instance group.The Amazon EC2 instance type for all instances in the instance group.default StringMarket type of the Amazon EC2 instances used to create a cluster node.default StringgetName()Friendly name given to the instance group.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getInstanceCount
Target number of instances for the instance group.- See Also:
-
getInstanceType
The Amazon EC2 instance type for all instances in the instance group.- See Also:
-
getAutoScalingPolicy
AutoScalingPolicyis 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 .Returns union: either
IResolvableorCfnCluster.AutoScalingPolicyProperty- See Also:
-
getBidPrice
If specified, indicates that the instance group uses Spot Instances.This is the maximum price you are willing to pay for Spot Instances. Specify
OnDemandPriceto set the amount equal to the On-Demand price, or specify an amount in USD.- See Also:
-
getConfigurations
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).
Returns union: either
IResolvableor Listinvalid input: '<'eitherIResolvableorCfnCluster.ConfigurationProperty>- See Also:
-
getCustomAmiId
The custom AMI ID to use for the provisioned instance group.- See Also:
-
getEbsConfiguration
EBS configurations that will be attached to each Amazon EC2 instance in the instance group.Returns union: either
IResolvableorCfnCluster.EbsConfigurationProperty- See Also:
-
getMarket
Market type of the Amazon EC2 instances used to create a cluster node.- See Also:
-
getName
Friendly name given to the instance group.- See Also:
-
builder
-