Instance Group Args
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
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {
clusterId: tf_test_cluster.id,
instanceCount: 1,
instanceType: "m5.xlarge",
name: "my little instance group",
});
import pulumi
import pulumi_aws as aws
task = aws.emr.InstanceGroup("task",
cluster_id=tf_test_cluster["id"],
instance_count=1,
instance_type="m5.xlarge",
name="my little instance group")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var task = new Aws.Emr.InstanceGroup("task", new()
{
ClusterId = tf_test_cluster.Id,
InstanceCount = 1,
InstanceType = "m5.xlarge",
Name = "my little instance group",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{
ClusterId: pulumi.Any(tf_test_cluster.Id),
InstanceCount: pulumi.Int(1),
InstanceType: pulumi.String("m5.xlarge"),
Name: pulumi.String("my little instance group"),
})
if err != nil {
return err
}
return nil
})
}
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(tf_test_cluster.id())
.instanceCount(1)
.instanceType("m5.xlarge")
.name("my little instance group")
.build());
}
}
resources:
task:
type: aws:emr:InstanceGroup
properties:
clusterId: ${["tf-test-cluster"].id}
instanceCount: 1
instanceType: m5.xlarge
name: my little instance group
Import
Using pulumi import
, import EMR task instance group using their EMR Cluster id and Instance Group id separated by a forward-slash /
. For example:
$ pulumi import aws:emr/instanceGroup:InstanceGroup task_group j-123456ABCDEF/ig-15EK4O09RZLNR
Constructors
Properties
The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
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.
One or more ebs_config
blocks as defined below. Changing this forces a new resource to be created.
Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
target number of instances for the instance group. defaults to 0.
The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.