Class CfnClusterMixinProps.Builder
java.lang.Object
software.amazon.awscdk.cfnpropertymixins.services.emr.CfnClusterMixinProps.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnClusterMixinProps>
- Enclosing interface:
CfnClusterMixinProps
@Stability(Stable)
public static final class CfnClusterMixinProps.Builder
extends Object
implements software.amazon.jsii.Builder<CfnClusterMixinProps>
A builder for
CfnClusterMixinProps-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadditionalInfo(Object additionalInfo) Sets the value ofCfnClusterMixinProps.getAdditionalInfo()applications(List<? extends Object> applications) Sets the value ofCfnClusterMixinProps.getApplications()applications(IResolvable applications) Sets the value ofCfnClusterMixinProps.getApplications()autoScalingRole(String autoScalingRole) Sets the value ofCfnClusterMixinProps.getAutoScalingRole()autoTerminationPolicy(CfnClusterPropsMixin.AutoTerminationPolicyProperty autoTerminationPolicy) Sets the value ofCfnClusterMixinProps.getAutoTerminationPolicy()autoTerminationPolicy(IResolvable autoTerminationPolicy) Sets the value ofCfnClusterMixinProps.getAutoTerminationPolicy()bootstrapActions(List<? extends Object> bootstrapActions) Sets the value ofCfnClusterMixinProps.getBootstrapActions()bootstrapActions(IResolvable bootstrapActions) Sets the value ofCfnClusterMixinProps.getBootstrapActions()build()Builds the configured instance.configurations(List<? extends Object> configurations) Sets the value ofCfnClusterMixinProps.getConfigurations()configurations(IResolvable configurations) Sets the value ofCfnClusterMixinProps.getConfigurations()customAmiId(String customAmiId) Sets the value ofCfnClusterMixinProps.getCustomAmiId()ebsRootVolumeIops(Number ebsRootVolumeIops) Sets the value ofCfnClusterMixinProps.getEbsRootVolumeIops()ebsRootVolumeSize(Number ebsRootVolumeSize) Sets the value ofCfnClusterMixinProps.getEbsRootVolumeSize()ebsRootVolumeThroughput(Number ebsRootVolumeThroughput) Sets the value ofCfnClusterMixinProps.getEbsRootVolumeThroughput()Sets the value ofCfnClusterMixinProps.getInstances()instances(IResolvable instances) Sets the value ofCfnClusterMixinProps.getInstances()jobFlowRole(String jobFlowRole) Sets the value ofCfnClusterMixinProps.getJobFlowRole()kerberosAttributes(CfnClusterPropsMixin.KerberosAttributesProperty kerberosAttributes) Sets the value ofCfnClusterMixinProps.getKerberosAttributes()kerberosAttributes(IResolvable kerberosAttributes) Sets the value ofCfnClusterMixinProps.getKerberosAttributes()logEncryptionKmsKeyId(String logEncryptionKmsKeyId) Sets the value ofCfnClusterMixinProps.getLogEncryptionKmsKeyId()Sets the value ofCfnClusterMixinProps.getLogUri()managedScalingPolicy(CfnClusterPropsMixin.ManagedScalingPolicyProperty managedScalingPolicy) Sets the value ofCfnClusterMixinProps.getManagedScalingPolicy()managedScalingPolicy(IResolvable managedScalingPolicy) Sets the value ofCfnClusterMixinProps.getManagedScalingPolicy()monitoringConfiguration(CfnClusterPropsMixin.MonitoringConfigurationProperty monitoringConfiguration) Sets the value ofCfnClusterMixinProps.getMonitoringConfiguration()monitoringConfiguration(IResolvable monitoringConfiguration) Sets the value ofCfnClusterMixinProps.getMonitoringConfiguration()Sets the value ofCfnClusterMixinProps.getName()osReleaseLabel(String osReleaseLabel) Sets the value ofCfnClusterMixinProps.getOsReleaseLabel()placementGroupConfigs(List<? extends Object> placementGroupConfigs) Sets the value ofCfnClusterMixinProps.getPlacementGroupConfigs()placementGroupConfigs(IResolvable placementGroupConfigs) Sets the value ofCfnClusterMixinProps.getPlacementGroupConfigs()releaseLabel(String releaseLabel) Sets the value ofCfnClusterMixinProps.getReleaseLabel()scaleDownBehavior(String scaleDownBehavior) Sets the value ofCfnClusterMixinProps.getScaleDownBehavior()securityConfiguration(String securityConfiguration) Sets the value ofCfnClusterMixinProps.getSecurityConfiguration()serviceRole(String serviceRole) Sets the value ofCfnClusterMixinProps.getServiceRole()stepConcurrencyLevel(Number stepConcurrencyLevel) Sets the value ofCfnClusterMixinProps.getStepConcurrencyLevel()Sets the value ofCfnClusterMixinProps.getSteps()steps(IResolvable steps) Sets the value ofCfnClusterMixinProps.getSteps()Sets the value ofCfnClusterMixinProps.getTags()visibleToAllUsers(Boolean visibleToAllUsers) Deprecated.this property has been deprecatedvisibleToAllUsers(IResolvable visibleToAllUsers) Deprecated.this property has been deprecated
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
additionalInfo
Sets the value ofCfnClusterMixinProps.getAdditionalInfo()- Parameters:
additionalInfo- A JSON string for selecting additional features.- Returns:
this
-
applications
Sets the value ofCfnClusterMixinProps.getApplications()- Parameters:
applications- The applications to install on this cluster, for example, Spark, Flink, Oozie, Zeppelin, and so on.- Returns:
this
-
applications
@Stability(Stable) public CfnClusterMixinProps.Builder applications(List<? extends Object> applications) Sets the value ofCfnClusterMixinProps.getApplications()- Parameters:
applications- The applications to install on this cluster, for example, Spark, Flink, Oozie, Zeppelin, and so on.- Returns:
this
-
autoScalingRole
Sets the value ofCfnClusterMixinProps.getAutoScalingRole()- Parameters:
autoScalingRole- An IAM role for automatic scaling policies. The default role isEMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate Amazon EC2 instances in an instance group.- Returns:
this
-
autoTerminationPolicy
@Stability(Stable) public CfnClusterMixinProps.Builder autoTerminationPolicy(IResolvable autoTerminationPolicy) Sets the value ofCfnClusterMixinProps.getAutoTerminationPolicy()- Parameters:
autoTerminationPolicy- An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. For alternative cluster termination options, see Control cluster termination .- Returns:
this
-
autoTerminationPolicy
@Stability(Stable) public CfnClusterMixinProps.Builder autoTerminationPolicy(CfnClusterPropsMixin.AutoTerminationPolicyProperty autoTerminationPolicy) Sets the value ofCfnClusterMixinProps.getAutoTerminationPolicy()- Parameters:
autoTerminationPolicy- An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. For alternative cluster termination options, see Control cluster termination .- Returns:
this
-
bootstrapActions
@Stability(Stable) public CfnClusterMixinProps.Builder bootstrapActions(IResolvable bootstrapActions) Sets the value ofCfnClusterMixinProps.getBootstrapActions()- Parameters:
bootstrapActions- A list of bootstrap actions to run before Hadoop starts on the cluster nodes.- Returns:
this
-
bootstrapActions
@Stability(Stable) public CfnClusterMixinProps.Builder bootstrapActions(List<? extends Object> bootstrapActions) Sets the value ofCfnClusterMixinProps.getBootstrapActions()- Parameters:
bootstrapActions- A list of bootstrap actions to run before Hadoop starts on the cluster nodes.- Returns:
this
-
configurations
Sets the value ofCfnClusterMixinProps.getConfigurations()- Parameters:
configurations- Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.- Returns:
this
-
configurations
@Stability(Stable) public CfnClusterMixinProps.Builder configurations(List<? extends Object> configurations) Sets the value ofCfnClusterMixinProps.getConfigurations()- Parameters:
configurations- Applies only to Amazon EMR releases 4.x and later. The list of configurations that are supplied to the Amazon EMR cluster.- Returns:
this
-
customAmiId
Sets the value ofCfnClusterMixinProps.getCustomAmiId()- Parameters:
customAmiId- Available only in Amazon EMR releases 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.- Returns:
this
-
ebsRootVolumeIops
Sets the value ofCfnClusterMixinProps.getEbsRootVolumeIops()- Parameters:
ebsRootVolumeIops- The IOPS, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.- Returns:
this
-
ebsRootVolumeSize
Sets the value ofCfnClusterMixinProps.getEbsRootVolumeSize()- Parameters:
ebsRootVolumeSize- The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 4.x and later.- Returns:
this
-
ebsRootVolumeThroughput
@Stability(Stable) public CfnClusterMixinProps.Builder ebsRootVolumeThroughput(Number ebsRootVolumeThroughput) Sets the value ofCfnClusterMixinProps.getEbsRootVolumeThroughput()- Parameters:
ebsRootVolumeThroughput- The throughput, in MiB/s, of the Amazon EBS root device volume of the Linux AMI that is used for each Amazon EC2 instance. Available in Amazon EMR releases 6.15.0 and later.- Returns:
this
-
instances
Sets the value ofCfnClusterMixinProps.getInstances()- Parameters:
instances- A specification of the number and type of Amazon EC2 instances.- Returns:
this
-
instances
@Stability(Stable) public CfnClusterMixinProps.Builder instances(CfnClusterPropsMixin.JobFlowInstancesConfigProperty instances) Sets the value ofCfnClusterMixinProps.getInstances()- Parameters:
instances- A specification of the number and type of Amazon EC2 instances.- Returns:
this
-
jobFlowRole
Sets the value ofCfnClusterMixinProps.getJobFlowRole()- Parameters:
jobFlowRole- Also called instance profile and Amazon EC2 role. An IAM role for an Amazon EMR cluster. The Amazon EC2 instances of the cluster assume this role. The default role isEMR_EC2_DefaultRole. In order to use the default role, you must have already created it using the AWS CLI or console.- Returns:
this
-
kerberosAttributes
@Stability(Stable) public CfnClusterMixinProps.Builder kerberosAttributes(IResolvable kerberosAttributes) Sets the value ofCfnClusterMixinProps.getKerberosAttributes()- Parameters:
kerberosAttributes- Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the Amazon EMR Management Guide .- Returns:
this
-
kerberosAttributes
@Stability(Stable) public CfnClusterMixinProps.Builder kerberosAttributes(CfnClusterPropsMixin.KerberosAttributesProperty kerberosAttributes) Sets the value ofCfnClusterMixinProps.getKerberosAttributes()- Parameters:
kerberosAttributes- Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the Amazon EMR Management Guide .- Returns:
this
-
logEncryptionKmsKeyId
@Stability(Stable) public CfnClusterMixinProps.Builder logEncryptionKmsKeyId(String logEncryptionKmsKeyId) Sets the value ofCfnClusterMixinProps.getLogEncryptionKmsKeyId()- Parameters:
logEncryptionKmsKeyId- The AWS KMS key used for encrypting log files. This attribute is only available with Amazon EMR 5.30.0 and later, excluding Amazon EMR 6.0.0.- Returns:
this
-
logUri
Sets the value ofCfnClusterMixinProps.getLogUri()- Parameters:
logUri- The path to the Amazon S3 location where logs for this cluster are stored.- Returns:
this
-
managedScalingPolicy
@Stability(Stable) public CfnClusterMixinProps.Builder managedScalingPolicy(IResolvable managedScalingPolicy) Sets the value ofCfnClusterMixinProps.getManagedScalingPolicy()- Parameters:
managedScalingPolicy- Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed scaling policy defines the limits for resources, such as Amazon EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.- Returns:
this
-
managedScalingPolicy
@Stability(Stable) public CfnClusterMixinProps.Builder managedScalingPolicy(CfnClusterPropsMixin.ManagedScalingPolicyProperty managedScalingPolicy) Sets the value ofCfnClusterMixinProps.getManagedScalingPolicy()- Parameters:
managedScalingPolicy- Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed scaling policy defines the limits for resources, such as Amazon EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.- Returns:
this
-
monitoringConfiguration
@Stability(Stable) public CfnClusterMixinProps.Builder monitoringConfiguration(IResolvable monitoringConfiguration) Sets the value ofCfnClusterMixinProps.getMonitoringConfiguration()- Parameters:
monitoringConfiguration- Contains CloudWatch log configuration metadata and settings.- Returns:
this
-
monitoringConfiguration
@Stability(Stable) public CfnClusterMixinProps.Builder monitoringConfiguration(CfnClusterPropsMixin.MonitoringConfigurationProperty monitoringConfiguration) Sets the value ofCfnClusterMixinProps.getMonitoringConfiguration()- Parameters:
monitoringConfiguration- Contains CloudWatch log configuration metadata and settings.- Returns:
this
-
name
Sets the value ofCfnClusterMixinProps.getName()- Parameters:
name- The name of the cluster. This parameter can't contain the characters <, >, $, |, or ` (backtick).- Returns:
this
-
osReleaseLabel
Sets the value ofCfnClusterMixinProps.getOsReleaseLabel()- Parameters:
osReleaseLabel- The Amazon Linux release specified in a cluster launch RunJobFlow request. If no Amazon Linux release was specified, the default Amazon Linux release is shown in the response.- Returns:
this
-
placementGroupConfigs
@Stability(Stable) public CfnClusterMixinProps.Builder placementGroupConfigs(IResolvable placementGroupConfigs) Sets the value ofCfnClusterMixinProps.getPlacementGroupConfigs()- Parameters:
placementGroupConfigs- The configuration specifies the placement strategy that can be applied to instance roles during cluster creation.- Returns:
this
-
placementGroupConfigs
@Stability(Stable) public CfnClusterMixinProps.Builder placementGroupConfigs(List<? extends Object> placementGroupConfigs) Sets the value ofCfnClusterMixinProps.getPlacementGroupConfigs()- Parameters:
placementGroupConfigs- The configuration specifies the placement strategy that can be applied to instance roles during cluster creation.- Returns:
this
-
releaseLabel
Sets the value ofCfnClusterMixinProps.getReleaseLabel()- Parameters:
releaseLabel- The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the formemr-x.x.x, where x.x.x is an Amazon EMR release version such asemr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see . The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions useAmiVersion.- Returns:
this
-
scaleDownBehavior
Sets the value ofCfnClusterMixinProps.getScaleDownBehavior()- Parameters:
scaleDownBehavior- The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.TERMINATE_AT_INSTANCE_HOURindicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version.TERMINATE_AT_TASK_COMPLETIONindicates that Amazon EMR adds nodes to a deny list and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption.TERMINATE_AT_TASK_COMPLETIONis available only in Amazon EMR releases 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.- Returns:
this
-
securityConfiguration
@Stability(Stable) public CfnClusterMixinProps.Builder securityConfiguration(String securityConfiguration) Sets the value ofCfnClusterMixinProps.getSecurityConfiguration()- Parameters:
securityConfiguration- The name of the security configuration applied to the cluster.- Returns:
this
-
serviceRole
Sets the value ofCfnClusterMixinProps.getServiceRole()- Parameters:
serviceRole- The IAM role that Amazon EMR assumes in order to access AWS resources on your behalf.- Returns:
this
-
stepConcurrencyLevel
@Stability(Stable) public CfnClusterMixinProps.Builder stepConcurrencyLevel(Number stepConcurrencyLevel) Sets the value ofCfnClusterMixinProps.getStepConcurrencyLevel()- Parameters:
stepConcurrencyLevel- Specifies the number of steps that can be executed concurrently. The default value is1. The maximum value is256.- Returns:
this
-
steps
Sets the value ofCfnClusterMixinProps.getSteps()- Parameters:
steps- A list of steps to run.- Returns:
this
-
steps
Sets the value ofCfnClusterMixinProps.getSteps()- Parameters:
steps- A list of steps to run.- Returns:
this
-
tags
Sets the value ofCfnClusterMixinProps.getTags()- Parameters:
tags- A list of tags associated with a cluster.- Returns:
this
-
visibleToAllUsers
@Stability(Deprecated) @Deprecated public CfnClusterMixinProps.Builder visibleToAllUsers(Boolean visibleToAllUsers) Deprecated.this property has been deprecatedSets the value ofCfnClusterMixinProps.getVisibleToAllUsers()- Parameters:
visibleToAllUsers- Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. If this value is set totrue, all IAM users of that AWS account can view and manage the cluster if they have the proper policy permissions set. If this value isfalse, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.When you create clusters directly through the EMR console or API, this value is set to
trueby default. However, forAWS::EMR::Clusterresources in CloudFormation, the default isfalse.- Returns:
this
-
visibleToAllUsers
@Stability(Deprecated) @Deprecated public CfnClusterMixinProps.Builder visibleToAllUsers(IResolvable visibleToAllUsers) Deprecated.this property has been deprecatedSets the value ofCfnClusterMixinProps.getVisibleToAllUsers()- Parameters:
visibleToAllUsers- Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. If this value is set totrue, all IAM users of that AWS account can view and manage the cluster if they have the proper policy permissions set. If this value isfalse, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.When you create clusters directly through the EMR console or API, this value is set to
trueby default. However, forAWS::EMR::Clusterresources in CloudFormation, the default isfalse.- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<CfnClusterMixinProps>- Returns:
- a new instance of
CfnClusterMixinProps - Throws:
NullPointerException- if any required attribute was not provided
-