Class ClusterState


  • public final class ClusterState
    extends com.pulumi.resources.ResourceArgs
    • Method Detail

      • additionalInfo

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> additionalInfo()
        Returns:
        JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
      • applications

        public java.util.Optional<com.pulumi.core.Output<java.util.List<java.lang.String>>> applications()
        Returns:
        A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the [Amazon EMR Release Guide](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-release-components.html).
      • arn

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> arn()
        Returns:
        ARN of the cluster.
      • autoTerminationPolicy

        public java.util.Optional<com.pulumi.core.Output<ClusterAutoTerminationPolicyArgs>> autoTerminationPolicy()
        Returns:
        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. See Auto Termination Policy Below.
      • autoscalingRole

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> autoscalingRole()
        Returns:
        IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
      • bootstrapActions

        public java.util.Optional<com.pulumi.core.Output<java.util.List<ClusterBootstrapActionArgs>>> bootstrapActions()
        Returns:
        Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
      • clusterState

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> clusterState()
      • configurations

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> configurations()
        Returns:
        List of configurations supplied for the EMR cluster you are creating, expressed as a string: an HTTP(S) URL to a JSON file, a path to a local `.json` file, or a raw JSON string. To supply configuration objects using Pulumi syntax instead, use `configurationsJson`. See [AWS Documentation](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html) for more information.
      • configurationsJson

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> configurationsJson()
        Returns:
        JSON string for supplying list of configurations for the EMR cluster. > **NOTE on `configurationsJson`:** If the `Configurations` value is empty then you should skip the `Configurations` field instead of providing an empty list as a value, `"Configurations": []`.
         
         package generated_program;
         
         import com.pulumi.Context;
         import com.pulumi.Pulumi;
         import com.pulumi.core.Output;
         import com.pulumi.aws.emr.Cluster;
         import com.pulumi.aws.emr.ClusterArgs;
         import java.util.ArrayList;
         import java.util.Arrays;
         import java.util.Map;
         import java.io.File;
         import java.nio.file.Files;
         import java.nio.file.Paths;
         
         public class App {
             public static void main(String[] args) {
                 Pulumi.run(App::stack);
             }
         
             public static void stack(Context ctx) {
                 var cluster = new Cluster("cluster", ClusterArgs.builder()
                     .configurationsJson("""
         [
         {
         \"Classification\": \"hadoop-env\",
         \"Configurations\": [
         {
         \"Classification\": \"export\",
         \"Properties\": {
         \"JAVA_HOME\": \"/usr/lib/jvm/java-1.8.0\"
         }
         }
         ],
         \"Properties\": {}
         }
         ]
                     """)
                     .build());
         
             }
         }
         
         
      • coreInstanceFleet

        public java.util.Optional<com.pulumi.core.Output<ClusterCoreInstanceFleetArgs>> coreInstanceFleet()
        Returns:
        Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the core node type. Cannot be specified if any `coreInstanceGroup` configuration blocks are set. Detailed below.
      • coreInstanceGroup

        public java.util.Optional<com.pulumi.core.Output<ClusterCoreInstanceGroupArgs>> coreInstanceGroup()
        Returns:
        Configuration block to use an [Instance Group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for the [core node type](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-core).
      • customAmiId

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> customAmiId()
        Returns:
        Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
      • ebsRootVolumeSize

        public java.util.Optional<com.pulumi.core.Output<java.lang.Integer>> ebsRootVolumeSize()
        Returns:
        Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
      • ec2Attributes

        public java.util.Optional<com.pulumi.core.Output<ClusterEc2AttributesArgs>> ec2Attributes()
        Returns:
        Attributes for the EC2 instances running the job flow. See below.
      • keepJobFlowAliveWhenNoSteps

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> keepJobFlowAliveWhenNoSteps()
        Returns:
        Switch on/off run cluster with no steps or when all steps are complete (default is on)
      • kerberosAttributes

        public java.util.Optional<com.pulumi.core.Output<ClusterKerberosAttributesArgs>> kerberosAttributes()
        Returns:
        Kerberos configuration for the cluster. See below.
      • listStepsStates

        public java.util.Optional<com.pulumi.core.Output<java.util.List<java.lang.String>>> listStepsStates()
        Returns:
        List of [step states](https://docs.aws.amazon.com/emr/latest/APIReference/API_StepStatus.html) used to filter returned steps
      • logEncryptionKmsKeyId

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> logEncryptionKmsKeyId()
        Returns:
        AWS KMS customer master key (CMK) key ID or ARN used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
      • logUri

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> logUri()
        Returns:
        S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
      • masterInstanceFleet

        public java.util.Optional<com.pulumi.core.Output<ClusterMasterInstanceFleetArgs>> masterInstanceFleet()
        Returns:
        Configuration block to use an [Instance Fleet](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-fleet.html) for the master node type. Cannot be specified if any `masterInstanceGroup` configuration blocks are set. Detailed below.
      • masterInstanceGroup

        public java.util.Optional<com.pulumi.core.Output<ClusterMasterInstanceGroupArgs>> masterInstanceGroup()
        Returns:
        Configuration block to use an [Instance Group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-instance-group-configuration.html#emr-plan-instance-groups) for the [master node type](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-master-core-task-nodes.html#emr-plan-master).
      • masterPublicDns

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> masterPublicDns()
        Returns:
        The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
      • name

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> name()
        Returns:
        Name of the job flow.
      • osReleaseLabel

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> osReleaseLabel()
        Returns:
        Amazon Linux release for all nodes in a cluster launch RunJobFlow request. If not specified, Amazon EMR uses the latest validated Amazon Linux release for cluster launch.
      • placementGroupConfigs

        public java.util.Optional<com.pulumi.core.Output<java.util.List<ClusterPlacementGroupConfigArgs>>> placementGroupConfigs()
        Returns:
        The specified placement group configuration for an Amazon EMR cluster.
      • region

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • releaseLabel

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> releaseLabel()
        Returns:
        Release label for the Amazon EMR release.
      • scaleDownBehavior

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> scaleDownBehavior()
        Returns:
        Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an `instance group` is resized.
      • securityConfiguration

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> securityConfiguration()
        Returns:
        Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with `releaseLabel` 4.8.0 or greater.
      • serviceRole

        public java.util.Optional<com.pulumi.core.Output<java.lang.String>> serviceRole()
        Returns:
        IAM role that will be assumed by the Amazon EMR service to access AWS resources. The following arguments are optional:
      • stepConcurrencyLevel

        public java.util.Optional<com.pulumi.core.Output<java.lang.Integer>> stepConcurrencyLevel()
        Returns:
        Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with `releaseLabel` 5.28.0 or greater (default is 1).
      • steps

        public java.util.Optional<com.pulumi.core.Output<java.util.List<ClusterStepArgs>>> steps()
        Returns:
        List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with `ignoreChanges` if other steps are being managed outside of this provider.
      • tags

        public java.util.Optional<com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        list of tags to apply to the EMR Cluster. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public java.util.Optional<com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • terminationProtection

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> terminationProtection()
        Returns:
        Switch on/off termination protection (default is `false`, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set to `false`.
      • unhealthyNodeReplacement

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> unhealthyNodeReplacement()
        Returns:
        Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is `false`.
      • visibleToAllUsers

        public java.util.Optional<com.pulumi.core.Output<java.lang.Boolean>> visibleToAllUsers()
        Returns:
        Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is `true`. **NOTE:** As per the [Amazon EMR API Reference](https://docs.aws.amazon.com/emr/latest/APIReference/API_RunJobFlow.html#EMR-RunJobFlow-request-VisibleToAllUsers), this argument is no longer supported. Do not set this argument, particularly to `false`, as it would lead to perpetual differences.