Class CfnInstanceGroupConfig
- All Implemented Interfaces:
IInspectable
,software.amazon.jsii.JsiiSerializable
,software.constructs.IConstruct
,software.constructs.IDependable
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 .
You can currently only add task instance groups to a cluster with this resource. If you use this resource, CloudFormation waits for the cluster launch to complete before adding the task instance group to the cluster. In order to add task instance groups to the cluster as part of the cluster launch and minimize delays in provisioning task nodes, use the
TaskInstanceGroups
subproperty for the AWS::EMR::Cluster JobFlowInstancesConfig property instead. To use this subproperty, see AWS::EMR::Cluster for examples.
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_; CfnInstanceGroupConfig cfnInstanceGroupConfig = CfnInstanceGroupConfig.Builder.create(this, "MyCfnInstanceGroupConfig") .instanceCount(123) .instanceRole("instanceRole") .instanceType("instanceType") .jobFlowId("jobFlowId") // 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
Modifier and TypeClassDescriptionstatic interface
AutoScalingPolicy
defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric.static final class
A fluent builder forCfnInstanceGroupConfig
.static interface
CloudWatchAlarmDefinition
is a subproperty of theScalingTrigger
property, which determines when to trigger an automatic scaling activity.static interface
Configurations
is a property of theAWS::EMR::Cluster
resource that specifies the configuration of applications on an Amazon EMR cluster.static interface
Configuration of requested EBS block device associated with the instance group with count of volumes that are associated to every instance.static interface
The Amazon EBS configuration of a cluster instance.static interface
MetricDimension
is a subproperty of theCloudWatchAlarmDefinition
property type.static interface
ScalingAction
is a subproperty of theScalingRule
property type.static interface
ScalingConstraints
is a subproperty of theAutoScalingPolicy
property type.static interface
ScalingRule
is a subproperty of theAutoScalingPolicy
property type.static interface
ScalingTrigger
is a subproperty of theScalingRule
property type.static interface
SimpleScalingPolicyConfiguration
is a subproperty of theScalingAction
property type.static interface
VolumeSpecification
is a subproperty of theEbsBlockDeviceConfig
property type.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationMode
Nested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$Default
Nested classes/interfaces inherited from interface software.amazon.awscdk.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The CloudFormation resource type name for this resource class. -
Constructor Summary
ModifierConstructorDescriptionprotected
CfnInstanceGroupConfig
(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protected
CfnInstanceGroupConfig
(software.amazon.jsii.JsiiObjectRef objRef) CfnInstanceGroupConfig
(software.constructs.Construct scope, String id, CfnInstanceGroupConfigProps props) -
Method Summary
Modifier and TypeMethodDescriptionAutoScalingPolicy
is a subproperty ofInstanceGroupConfig
.If specified, indicates that the instance group uses Spot Instances.The custom AMI ID to use for the provisioned instance group.EbsConfiguration
determines the EBS volumes to attach to EMR cluster instances.Target number of instances for the instance group.The role of the instance group in the cluster.The Amazon EC2 instance type for all instances in the instance group.The ID of an Amazon EMR cluster that you want to associate this instance group with.Market type of the Amazon EC2 instances used to create a cluster node.getName()
Friendly name given to the instance group.void
inspect
(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties
(Map<String, Object> props) void
setAutoScalingPolicy
(IResolvable value) AutoScalingPolicy
is a subproperty ofInstanceGroupConfig
.void
AutoScalingPolicy
is a subproperty ofInstanceGroupConfig
.void
setBidPrice
(String value) If specified, indicates that the instance group uses Spot Instances.void
setConfigurations
(List<Object> value) void
setConfigurations
(IResolvable value) void
setCustomAmiId
(String value) The custom AMI ID to use for the provisioned instance group.void
setEbsConfiguration
(IResolvable value) EbsConfiguration
determines the EBS volumes to attach to EMR cluster instances.void
EbsConfiguration
determines the EBS volumes to attach to EMR cluster instances.void
setInstanceCount
(Number value) Target number of instances for the instance group.void
setInstanceRole
(String value) The role of the instance group in the cluster.void
setInstanceType
(String value) The Amazon EC2 instance type for all instances in the instance group.void
setJobFlowId
(String value) The ID of an Amazon EMR cluster that you want to associate this instance group with.void
Market type of the Amazon EC2 instances used to create a cluster node.void
Friendly name given to the instance group.Methods inherited from class software.amazon.awscdk.CfnResource
addDeletionOverride, addDependency, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, getUpdatedProperties, isCfnResource, obtainDependencies, obtainResourceDependencies, removeDependency, replaceDependency, shouldSynthesize, toString, validateProperties
Methods inherited from class software.amazon.awscdk.CfnRefElement
getRef
Methods inherited from class software.amazon.awscdk.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
Methods inherited from class software.constructs.Construct
getNode, isConstruct
Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnInstanceGroupConfig
protected CfnInstanceGroupConfig(software.amazon.jsii.JsiiObjectRef objRef) -
CfnInstanceGroupConfig
protected CfnInstanceGroupConfig(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnInstanceGroupConfig
@Stability(Stable) public CfnInstanceGroupConfig(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnInstanceGroupConfigProps props) - Parameters:
scope
- Scope in which this resource is defined. This parameter is required.id
- Construct identifier for this resource (unique in its scope). This parameter is required.props
- Resource properties. This parameter is required.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspect
in interfaceIInspectable
- Parameters:
inspector
- tree inspector to collect and process attributes. This parameter is required.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderProperties
in classCfnResource
- Parameters:
props
- This parameter is required.
-
getAttrId
-
getCfnProperties
- Overrides:
getCfnProperties
in classCfnResource
-
getInstanceCount
Target number of instances for the instance group. -
setInstanceCount
Target number of instances for the instance group. -
getInstanceRole
The role of the instance group in the cluster. -
setInstanceRole
The role of the instance group in the cluster. -
getInstanceType
The Amazon EC2 instance type for all instances in the instance group. -
setInstanceType
The Amazon EC2 instance type for all instances in the instance group. -
getJobFlowId
The ID of an Amazon EMR cluster that you want to associate this instance group with. -
setJobFlowId
The ID of an Amazon EMR cluster that you want to associate this instance group with. -
getAutoScalingPolicy
AutoScalingPolicy
is a subproperty ofInstanceGroupConfig
. -
setAutoScalingPolicy
AutoScalingPolicy
is a subproperty ofInstanceGroupConfig
. -
setAutoScalingPolicy
@Stability(Stable) public void setAutoScalingPolicy(@Nullable CfnInstanceGroupConfig.AutoScalingPolicyProperty value) AutoScalingPolicy
is a subproperty ofInstanceGroupConfig
. -
getBidPrice
If specified, indicates that the instance group uses Spot Instances. -
setBidPrice
If specified, indicates that the instance group uses Spot Instances. -
getConfigurations
Amazon EMR releases 4.x or later.
-
setConfigurations
Amazon EMR releases 4.x or later.
-
setConfigurations
Amazon EMR releases 4.x or later.
-
getCustomAmiId
The custom AMI ID to use for the provisioned instance group. -
setCustomAmiId
The custom AMI ID to use for the provisioned instance group. -
getEbsConfiguration
EbsConfiguration
determines the EBS volumes to attach to EMR cluster instances. -
setEbsConfiguration
EbsConfiguration
determines the EBS volumes to attach to EMR cluster instances. -
setEbsConfiguration
@Stability(Stable) public void setEbsConfiguration(@Nullable CfnInstanceGroupConfig.EbsConfigurationProperty value) EbsConfiguration
determines the EBS volumes to attach to EMR cluster instances. -
getMarket
Market type of the Amazon EC2 instances used to create a cluster node. -
setMarket
Market type of the Amazon EC2 instances used to create a cluster node. -
getName
Friendly name given to the instance group. -
setName
Friendly name given to the instance group.
-