Class CfnClusterPropsMixin
- All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable,software.constructs.IMixin
AWS::EMR::Cluster resource specifies an Amazon EMR cluster.
This cluster is a collection of Amazon EC2 instances that run open source big data frameworks and applications to process and analyze vast amounts of data. For more information, see the Amazon EMR Management Guide .
Amazon EMR now supports launching task instance groups and task instance fleets as part of the AWS::EMR::Cluster resource. This can be done by using the JobFlowInstancesConfig property type's TaskInstanceGroups and TaskInstanceFleets subproperties. Using these subproperties reduces delays in provisioning task nodes compared to specifying task nodes with the AWS::EMR::InstanceGroupConfig and AWS::EMR::InstanceFleetConfig resources. Please refer to the examples at the bottom of this page to learn how to use these subproperties.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.cfnpropertymixins.services.emr.*;
import software.amazon.awscdk.*;
Object additionalInfo;
ConfigurationProperty configurationProperty_;
IMergeStrategy mergeStrategy;
CfnClusterPropsMixin cfnClusterPropsMixin = CfnClusterPropsMixin.Builder.create(CfnClusterMixinProps.builder()
.additionalInfo(additionalInfo)
.applications(List.of(ApplicationProperty.builder()
.additionalInfo(Map.of(
"additionalInfoKey", "additionalInfo"))
.args(List.of("args"))
.name("name")
.version("version")
.build()))
.autoScalingRole("autoScalingRole")
.autoTerminationPolicy(AutoTerminationPolicyProperty.builder()
.idleTimeout(123)
.build())
.bootstrapActions(List.of(BootstrapActionConfigProperty.builder()
.name("name")
.scriptBootstrapAction(ScriptBootstrapActionConfigProperty.builder()
.args(List.of("args"))
.path("path")
.build())
.build()))
.configurations(List.of(ConfigurationProperty.builder()
.classification("classification")
.configurationProperties(Map.of(
"configurationPropertiesKey", "configurationProperties"))
.configurations(List.of(configurationProperty_))
.build()))
.customAmiId("customAmiId")
.ebsRootVolumeIops(123)
.ebsRootVolumeSize(123)
.ebsRootVolumeThroughput(123)
.instances(JobFlowInstancesConfigProperty.builder()
.additionalMasterSecurityGroups(List.of("additionalMasterSecurityGroups"))
.additionalSlaveSecurityGroups(List.of("additionalSlaveSecurityGroups"))
.coreInstanceFleet(InstanceFleetConfigProperty.builder()
.instanceTypeConfigs(List.of(InstanceTypeConfigProperty.builder()
.bidPrice("bidPrice")
.bidPriceAsPercentageOfOnDemandPrice(123)
.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()
.iops(123)
.sizeInGb(123)
.throughput(123)
.volumeType("volumeType")
.build())
.volumesPerInstance(123)
.build()))
.ebsOptimized(false)
.build())
.instanceType("instanceType")
.priority(123)
.weightedCapacity(123)
.build()))
.launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
.onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
.capacityReservationPreference("capacityReservationPreference")
.capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
.usageStrategy("usageStrategy")
.build())
.build())
.spotSpecification(SpotProvisioningSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.blockDurationMinutes(123)
.timeoutAction("timeoutAction")
.timeoutDurationMinutes(123)
.build())
.build())
.name("name")
.resizeSpecifications(InstanceFleetResizingSpecificationsProperty.builder()
.onDemandResizeSpecification(OnDemandResizingSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
.capacityReservationPreference("capacityReservationPreference")
.capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
.usageStrategy("usageStrategy")
.build())
.timeoutDurationMinutes(123)
.build())
.spotResizeSpecification(SpotResizingSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.timeoutDurationMinutes(123)
.build())
.build())
.targetOnDemandCapacity(123)
.targetSpotCapacity(123)
.build())
.coreInstanceGroup(InstanceGroupConfigProperty.builder()
.autoScalingPolicy(AutoScalingPolicyProperty.builder()
.constraints(ScalingConstraintsProperty.builder()
.maxCapacity(123)
.minCapacity(123)
.build())
.rules(List.of(ScalingRuleProperty.builder()
.action(ScalingActionProperty.builder()
.market("market")
.simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
.adjustmentType("adjustmentType")
.coolDown(123)
.scalingAdjustment(123)
.build())
.build())
.description("description")
.name("name")
.trigger(ScalingTriggerProperty.builder()
.cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
.comparisonOperator("comparisonOperator")
.dimensions(List.of(MetricDimensionProperty.builder()
.key("key")
.value("value")
.build()))
.evaluationPeriods(123)
.metricName("metricName")
.namespace("namespace")
.period(123)
.statistic("statistic")
.threshold(123)
.unit("unit")
.build())
.build())
.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()
.iops(123)
.sizeInGb(123)
.throughput(123)
.volumeType("volumeType")
.build())
.volumesPerInstance(123)
.build()))
.ebsOptimized(false)
.build())
.instanceCount(123)
.instanceType("instanceType")
.market("market")
.name("name")
.build())
.ec2KeyName("ec2KeyName")
.ec2SubnetId("ec2SubnetId")
.ec2SubnetIds(List.of("ec2SubnetIds"))
.emrManagedMasterSecurityGroup("emrManagedMasterSecurityGroup")
.emrManagedSlaveSecurityGroup("emrManagedSlaveSecurityGroup")
.hadoopVersion("hadoopVersion")
.keepJobFlowAliveWhenNoSteps(false)
.masterInstanceFleet(InstanceFleetConfigProperty.builder()
.instanceTypeConfigs(List.of(InstanceTypeConfigProperty.builder()
.bidPrice("bidPrice")
.bidPriceAsPercentageOfOnDemandPrice(123)
.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()
.iops(123)
.sizeInGb(123)
.throughput(123)
.volumeType("volumeType")
.build())
.volumesPerInstance(123)
.build()))
.ebsOptimized(false)
.build())
.instanceType("instanceType")
.priority(123)
.weightedCapacity(123)
.build()))
.launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
.onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
.capacityReservationPreference("capacityReservationPreference")
.capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
.usageStrategy("usageStrategy")
.build())
.build())
.spotSpecification(SpotProvisioningSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.blockDurationMinutes(123)
.timeoutAction("timeoutAction")
.timeoutDurationMinutes(123)
.build())
.build())
.name("name")
.resizeSpecifications(InstanceFleetResizingSpecificationsProperty.builder()
.onDemandResizeSpecification(OnDemandResizingSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
.capacityReservationPreference("capacityReservationPreference")
.capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
.usageStrategy("usageStrategy")
.build())
.timeoutDurationMinutes(123)
.build())
.spotResizeSpecification(SpotResizingSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.timeoutDurationMinutes(123)
.build())
.build())
.targetOnDemandCapacity(123)
.targetSpotCapacity(123)
.build())
.masterInstanceGroup(InstanceGroupConfigProperty.builder()
.autoScalingPolicy(AutoScalingPolicyProperty.builder()
.constraints(ScalingConstraintsProperty.builder()
.maxCapacity(123)
.minCapacity(123)
.build())
.rules(List.of(ScalingRuleProperty.builder()
.action(ScalingActionProperty.builder()
.market("market")
.simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
.adjustmentType("adjustmentType")
.coolDown(123)
.scalingAdjustment(123)
.build())
.build())
.description("description")
.name("name")
.trigger(ScalingTriggerProperty.builder()
.cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
.comparisonOperator("comparisonOperator")
.dimensions(List.of(MetricDimensionProperty.builder()
.key("key")
.value("value")
.build()))
.evaluationPeriods(123)
.metricName("metricName")
.namespace("namespace")
.period(123)
.statistic("statistic")
.threshold(123)
.unit("unit")
.build())
.build())
.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()
.iops(123)
.sizeInGb(123)
.throughput(123)
.volumeType("volumeType")
.build())
.volumesPerInstance(123)
.build()))
.ebsOptimized(false)
.build())
.instanceCount(123)
.instanceType("instanceType")
.market("market")
.name("name")
.build())
.placement(PlacementTypeProperty.builder()
.availabilityZone("availabilityZone")
.build())
.serviceAccessSecurityGroup("serviceAccessSecurityGroup")
.taskInstanceFleets(List.of(InstanceFleetConfigProperty.builder()
.instanceTypeConfigs(List.of(InstanceTypeConfigProperty.builder()
.bidPrice("bidPrice")
.bidPriceAsPercentageOfOnDemandPrice(123)
.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()
.iops(123)
.sizeInGb(123)
.throughput(123)
.volumeType("volumeType")
.build())
.volumesPerInstance(123)
.build()))
.ebsOptimized(false)
.build())
.instanceType("instanceType")
.priority(123)
.weightedCapacity(123)
.build()))
.launchSpecifications(InstanceFleetProvisioningSpecificationsProperty.builder()
.onDemandSpecification(OnDemandProvisioningSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
.capacityReservationPreference("capacityReservationPreference")
.capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
.usageStrategy("usageStrategy")
.build())
.build())
.spotSpecification(SpotProvisioningSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.blockDurationMinutes(123)
.timeoutAction("timeoutAction")
.timeoutDurationMinutes(123)
.build())
.build())
.name("name")
.resizeSpecifications(InstanceFleetResizingSpecificationsProperty.builder()
.onDemandResizeSpecification(OnDemandResizingSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.capacityReservationOptions(OnDemandCapacityReservationOptionsProperty.builder()
.capacityReservationPreference("capacityReservationPreference")
.capacityReservationResourceGroupArn("capacityReservationResourceGroupArn")
.usageStrategy("usageStrategy")
.build())
.timeoutDurationMinutes(123)
.build())
.spotResizeSpecification(SpotResizingSpecificationProperty.builder()
.allocationStrategy("allocationStrategy")
.timeoutDurationMinutes(123)
.build())
.build())
.targetOnDemandCapacity(123)
.targetSpotCapacity(123)
.build()))
.taskInstanceGroups(List.of(InstanceGroupConfigProperty.builder()
.autoScalingPolicy(AutoScalingPolicyProperty.builder()
.constraints(ScalingConstraintsProperty.builder()
.maxCapacity(123)
.minCapacity(123)
.build())
.rules(List.of(ScalingRuleProperty.builder()
.action(ScalingActionProperty.builder()
.market("market")
.simpleScalingPolicyConfiguration(SimpleScalingPolicyConfigurationProperty.builder()
.adjustmentType("adjustmentType")
.coolDown(123)
.scalingAdjustment(123)
.build())
.build())
.description("description")
.name("name")
.trigger(ScalingTriggerProperty.builder()
.cloudWatchAlarmDefinition(CloudWatchAlarmDefinitionProperty.builder()
.comparisonOperator("comparisonOperator")
.dimensions(List.of(MetricDimensionProperty.builder()
.key("key")
.value("value")
.build()))
.evaluationPeriods(123)
.metricName("metricName")
.namespace("namespace")
.period(123)
.statistic("statistic")
.threshold(123)
.unit("unit")
.build())
.build())
.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()
.iops(123)
.sizeInGb(123)
.throughput(123)
.volumeType("volumeType")
.build())
.volumesPerInstance(123)
.build()))
.ebsOptimized(false)
.build())
.instanceCount(123)
.instanceType("instanceType")
.market("market")
.name("name")
.build()))
.terminationProtected(false)
.unhealthyNodeReplacement(false)
.build())
.jobFlowRole("jobFlowRole")
.kerberosAttributes(KerberosAttributesProperty.builder()
.adDomainJoinPassword("adDomainJoinPassword")
.adDomainJoinUser("adDomainJoinUser")
.crossRealmTrustPrincipalPassword("crossRealmTrustPrincipalPassword")
.kdcAdminPassword("kdcAdminPassword")
.realm("realm")
.build())
.logEncryptionKmsKeyId("logEncryptionKmsKeyId")
.logUri("logUri")
.managedScalingPolicy(ManagedScalingPolicyProperty.builder()
.computeLimits(ComputeLimitsProperty.builder()
.maximumCapacityUnits(123)
.maximumCoreCapacityUnits(123)
.maximumOnDemandCapacityUnits(123)
.minimumCapacityUnits(123)
.unitType("unitType")
.build())
.scalingStrategy("scalingStrategy")
.utilizationPerformanceIndex(123)
.build())
.name("name")
.osReleaseLabel("osReleaseLabel")
.placementGroupConfigs(List.of(PlacementGroupConfigProperty.builder()
.instanceRole("instanceRole")
.placementStrategy("placementStrategy")
.build()))
.releaseLabel("releaseLabel")
.scaleDownBehavior("scaleDownBehavior")
.securityConfiguration("securityConfiguration")
.serviceRole("serviceRole")
.stepConcurrencyLevel(123)
.steps(List.of(StepConfigProperty.builder()
.actionOnFailure("actionOnFailure")
.hadoopJarStep(HadoopJarStepConfigProperty.builder()
.args(List.of("args"))
.jar("jar")
.mainClass("mainClass")
.stepProperties(List.of(KeyValueProperty.builder()
.key("key")
.value("value")
.build()))
.build())
.name("name")
.build()))
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.visibleToAllUsers(false)
.build())
.strategy(mergeStrategy)
.build();
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceApplicationis a property ofAWS::EMR::Cluster.static interfaceAutoScalingPolicyis a subproperty ofInstanceGroupConfig.static interfaceAn auto-termination policy for an Amazon EMR cluster.static interfaceBootstrapActionConfigis a property ofAWS::EMR::Clusterthat can be used to run bootstrap actions on EMR clusters.static final classA fluent builder forCfnClusterPropsMixin.static interfaceCloudWatchAlarmDefinitionis a subproperty of theScalingTriggerproperty, which determines when to trigger an automatic scaling activity.static interfaceThe Amazon EC2 unit limits for a managed scaling policy.static interfacestatic interfaceEbsBlockDeviceConfigis a subproperty of theEbsConfigurationproperty type.static interfaceEbsConfigurationis a subproperty ofInstanceFleetConfigorInstanceGroupConfig.static interfaceTheHadoopJarStepConfigproperty type specifies a job flow step consisting of a JAR file whose main function will be executed.static interfaceUseInstanceFleetConfigto define instance fleets for an EMR cluster.static interfaceInstanceFleetProvisioningSpecificationis a subproperty ofInstanceFleetConfig.static interfaceThe resize specification for On-Demand and Spot Instances in the fleet.static interfaceUseInstanceGroupConfigto define instance groups for an EMR cluster.static interfacestatic interfaceJobFlowInstancesConfigis a property of theAWS::EMR::Clusterresource.static interfaceKerberosAttributesis a property of theAWS::EMR::Clusterresource.static interfaceKeyValueis a subproperty of theHadoopJarStepConfigproperty type.static interfaceManaged scaling policy for an Amazon EMR cluster.static interfaceMetricDimensionis a subproperty of theCloudWatchAlarmDefinitionproperty type.static interfaceDescribes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.static interfaceThe launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.static interfaceThe resize specification for On-Demand Instances in the instance fleet, which contains the resize timeout period.static interfacePlacement group configuration for an Amazon EMR cluster.static interfacePlacementTypeis a property of theAWS::EMR::Clusterresource.static interfaceScalingActionis a subproperty of theScalingRuleproperty type.static interfaceScalingConstraintsis a subproperty of theAutoScalingPolicyproperty type.static interfaceScalingRuleis a subproperty of theAutoScalingPolicyproperty type.static interfaceScalingTriggeris a subproperty of theScalingRuleproperty type.static interfaceScriptBootstrapActionConfigis a subproperty of theBootstrapActionConfigproperty type.static interfaceSimpleScalingPolicyConfigurationis a subproperty of theScalingActionproperty type.static interfaceSpotProvisioningSpecificationis a subproperty of theInstanceFleetProvisioningSpecificationsproperty type.static interfaceThe resize specification for Spot Instances in the instance fleet, which contains the resize timeout period.static interfaceStepConfigis a property of theAWS::EMR::Clusterresource.static interfaceVolumeSpecificationis a subproperty of theEbsBlockDeviceConfigproperty type.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.constructs.IMixin
software.constructs.IMixin.Jsii$Default, software.constructs.IMixin.Jsii$Proxy -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionCreate a mixin to apply properties toAWS::EMR::Cluster.CfnClusterPropsMixin(CfnClusterMixinProps props, CfnPropertyMixinOptions options) Create a mixin to apply properties toAWS::EMR::Cluster.protectedCfnClusterPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnClusterPropsMixin(software.amazon.jsii.JsiiObjectRef objRef) -
Method Summary
Modifier and TypeMethodDescriptionvoidapplyTo(software.constructs.IConstruct construct) Apply the mixin properties to the construct.protected CfnClusterMixinPropsgetProps()protected IMergeStrategysupports(software.constructs.IConstruct construct) Check if this mixin supports the given construct.Methods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_PROPERTY_KEYS
-
-
Constructor Details
-
CfnClusterPropsMixin
protected CfnClusterPropsMixin(software.amazon.jsii.JsiiObjectRef objRef) -
CfnClusterPropsMixin
protected CfnClusterPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnClusterPropsMixin
@Stability(Stable) public CfnClusterPropsMixin(@NotNull CfnClusterMixinProps props, @Nullable CfnPropertyMixinOptions options) Create a mixin to apply properties toAWS::EMR::Cluster.- Parameters:
props- L1 properties to apply. This parameter is required.options- Mixin options.
-
CfnClusterPropsMixin
Create a mixin to apply properties toAWS::EMR::Cluster.- Parameters:
props- L1 properties to apply. This parameter is required.
-
-
Method Details
-
applyTo
@Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct) Apply the mixin properties to the construct. -
supports
@Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct) Check if this mixin supports the given construct. -
getProps
-
getStrategy
-