Interface EmrCreateClusterProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable, TaskStateBaseProps
All Known Implementing Classes:
EmrCreateClusterProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.104.0 (build e79254c)", date="2024-11-22T02:24:10.354Z") @Stability(Stable) public interface EmrCreateClusterProps extends software.amazon.jsii.JsiiSerializable, TaskStateBaseProps
Properties for EmrCreateCluster.

See the RunJobFlow API for complete documentation on input parameters

Example:

 Role clusterRole = Role.Builder.create(this, "ClusterRole")
         .assumedBy(new ServicePrincipal("ec2.amazonaws.com"))
         .build();
 Role serviceRole = Role.Builder.create(this, "ServiceRole")
         .assumedBy(new ServicePrincipal("elasticmapreduce.amazonaws.com"))
         .build();
 Role autoScalingRole = Role.Builder.create(this, "AutoScalingRole")
         .assumedBy(new ServicePrincipal("elasticmapreduce.amazonaws.com"))
         .build();
 autoScalingRole.assumeRolePolicy.addStatements(
 PolicyStatement.Builder.create()
         .effect(Effect.ALLOW)
         .principals(List.of(
             new ServicePrincipal("application-autoscaling.amazonaws.com")))
         .actions(List.of("sts:AssumeRole"))
         .build());
 EmrCreateCluster.Builder.create(this, "Create Cluster")
         .instances(InstancesConfigProperty.builder().build())
         .clusterRole(clusterRole)
         .name(TaskInput.fromJsonPathAt("$.ClusterName").getValue())
         .serviceRole(serviceRole)
         .autoScalingRole(autoScalingRole)
         .build();
 

See Also:
  • Method Details

    • getInstances

      @Stability(Stable) @NotNull EmrCreateCluster.InstancesConfigProperty getInstances()
      A specification of the number and type of Amazon EC2 instances.
    • getName

      @Stability(Stable) @NotNull String getName()
      The Name of the Cluster.
    • getAdditionalInfo

      @Stability(Stable) @Nullable default String getAdditionalInfo()
      A JSON string for selecting additional features.

      Default: - None

    • getApplications

      @Stability(Stable) @Nullable default List<EmrCreateCluster.ApplicationConfigProperty> getApplications()
      A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster.

      Default: - EMR selected default

    • getAutoScalingRole

      @Stability(Stable) @Nullable default IRole getAutoScalingRole()
      An IAM role for automatic scaling policies.

      Default: - A role will be created.

    • getAutoTerminationPolicyIdleTimeout

      @Stability(Stable) @Nullable default Duration getAutoTerminationPolicyIdleTimeout()
      The amount of idle time after which the cluster automatically terminates.

      You can specify a minimum of 60 seconds and a maximum of 604800 seconds (seven days).

      Default: - No timeout

    • getBootstrapActions

      @Stability(Stable) @Nullable default List<EmrCreateCluster.BootstrapActionConfigProperty> getBootstrapActions()
      A list of bootstrap actions to run before Hadoop starts on the cluster nodes.

      Default: - None

    • getClusterRole

      @Stability(Stable) @Nullable default IRole getClusterRole()
      Also called instance profile and EC2 role.

      An IAM role for an EMR cluster. The EC2 instances of the cluster assume this role.

      This attribute has been renamed from jobFlowRole to clusterRole to align with other ERM/StepFunction integration parameters.

      Default: - * A Role will be created

    • getConfigurations

      @Stability(Stable) @Nullable default List<EmrCreateCluster.ConfigurationProperty> getConfigurations()
      The list of configurations supplied for the EMR cluster you are creating.

      Default: - None

    • getCustomAmiId

      @Stability(Stable) @Nullable default String getCustomAmiId()
      The ID of a custom Amazon EBS-backed Linux AMI.

      Default: - None

    • getEbsRootVolumeSize

      @Stability(Stable) @Nullable default Size getEbsRootVolumeSize()
      The size of the EBS root device volume of the Linux AMI that is used for each EC2 instance.

      Default: - EMR selected default

    • getKerberosAttributes

      @Stability(Stable) @Nullable default EmrCreateCluster.KerberosAttributesProperty getKerberosAttributes()
      Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration.

      Default: - None

    • getLogUri

      @Stability(Stable) @Nullable default String getLogUri()
      The location in Amazon S3 to write the log files of the job flow.

      Default: - None

    • getReleaseLabel

      @Stability(Stable) @Nullable default String getReleaseLabel()
      The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster.

      Default: - EMR selected default

    • getScaleDownBehavior

      @Stability(Stable) @Nullable default EmrCreateCluster.EmrClusterScaleDownBehavior getScaleDownBehavior()
      Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.

      Default: - EMR selected default

    • getSecurityConfiguration

      @Stability(Stable) @Nullable default String getSecurityConfiguration()
      The name of a security configuration to apply to the cluster.

      Default: - None

    • getServiceRole

      @Stability(Stable) @Nullable default IRole getServiceRole()
      The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

      Default: - A role will be created that Amazon EMR service can assume.

    • getStepConcurrencyLevel

      @Stability(Stable) @Nullable default Number getStepConcurrencyLevel()
      Specifies the step concurrency level to allow multiple steps to run in parallel.

      Requires EMR release label 5.28.0 or above. Must be in range [1, 256].

      Default: 1 - no step concurrency allowed

    • getTags

      @Stability(Stable) @Nullable default Map<String,String> getTags()
      A list of tags to associate with a cluster and propagate to Amazon EC2 instances.

      Default: - None

    • getVisibleToAllUsers

      @Stability(Stable) @Nullable default Boolean getVisibleToAllUsers()
      A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions.

      Default: true

    • builder

      @Stability(Stable) static EmrCreateClusterProps.Builder builder()
      Returns:
      a EmrCreateClusterProps.Builder of EmrCreateClusterProps