InstanceGroupArgs

data class InstanceGroupArgs(val autoscalingPolicy: Output<String>? = null, val bidPrice: Output<String>? = null, val clusterId: Output<String>? = null, val configurationsJson: Output<String>? = null, val ebsConfigs: Output<List<InstanceGroupEbsConfigArgs>>? = null, val ebsOptimized: Output<Boolean>? = null, val instanceCount: Output<Int>? = null, val instanceType: Output<String>? = null, val name: Output<String>? = null) : ConvertibleToJava<InstanceGroupArgs>

Provides an Elastic MapReduce Cluster Instance Group configuration. See Amazon Elastic MapReduce Documentation for more information.

NOTE: At this time, Instance Groups cannot be destroyed through the API nor web interface. Instance Groups are destroyed when the EMR Cluster is destroyed. this provider will resize any Instance Group to zero when destroying the resource.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.emr.InstanceGroup;
import com.pulumi.aws.emr.InstanceGroupArgs;
import java.util.List;
import java.util.ArrayList;
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 task = new InstanceGroup("task", InstanceGroupArgs.builder()
.clusterId(aws_emr_cluster.tf-test-cluster().id())
.instanceCount(1)
.instanceType("m5.xlarge")
.build());
}
}

Import

EMR task instance group can be imported using their EMR Cluster id and Instance Group id separated by a forward-slash /, e.g.,

$ pulumi import aws:emr/instanceGroup:InstanceGroup task_group j-123456ABCDEF/ig-15EK4O09RZLNR

Constructors

Link copied to clipboard
constructor(autoscalingPolicy: Output<String>? = null, bidPrice: Output<String>? = null, clusterId: Output<String>? = null, configurationsJson: Output<String>? = null, ebsConfigs: Output<List<InstanceGroupEbsConfigArgs>>? = null, ebsOptimized: Output<Boolean>? = null, instanceCount: Output<Int>? = null, instanceType: Output<String>? = null, name: Output<String>? = null)

Properties

Link copied to clipboard
val autoscalingPolicy: Output<String>? = null

The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling

Link copied to clipboard
val bidPrice: Output<String>? = null

If set, the bid price for each EC2 instance in the instance group, expressed in USD. By setting this attribute, the instance group is being declared as a Spot Instance, and will implicitly create a Spot request. Leave this blank to use On-Demand Instances.

Link copied to clipboard
val clusterId: Output<String>? = null

ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.

Link copied to clipboard
val configurationsJson: Output<String>? = null

A JSON string for supplying list of configurations specific to the EMR instance group. Note that this can only be changed when using EMR release 5.21 or later.

Link copied to clipboard

One or more ebs_config blocks as defined below. Changing this forces a new resource to be created.

Link copied to clipboard
val ebsOptimized: Output<Boolean>? = null

Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.

Link copied to clipboard
val instanceCount: Output<Int>? = null

target number of instances for the instance group. defaults to 0.

Link copied to clipboard
val instanceType: Output<String>? = null

The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>? = null

Human friendly name given to the instance group. Changing this forces a new resource to be created.

Functions

Link copied to clipboard
open override fun toJava(): InstanceGroupArgs