Interface CfnCluster.InstanceGroupConfigProperty
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
CfnCluster.InstanceGroupConfigProperty.Jsii$Proxy
- Enclosing class:
- CfnCluster
@Stability(Stable)
public static interface CfnCluster.InstanceGroupConfigProperty
extends software.amazon.jsii.JsiiSerializable
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 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)
.build())
// the properties below are optional
.volumesPerInstance(123)
.build()))
.ebsOptimized(false)
.build())
.market("market")
.name("name")
.build();
-
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. -
getInstanceType
The Amazon EC2 instance type for all instances in the instance group. -
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 . -
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. -
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).
-
getCustomAmiId
The custom AMI ID to use for the provisioned instance group. -
getEbsConfiguration
EBS configurations that will be attached to each Amazon EC2 instance in the instance group. -
getMarket
Market type of the Amazon EC2 instances used to create a cluster node. -
getName
Friendly name given to the instance group. -
builder
-