aws logo
AWS Classic v5.29.1, Feb 4 23

aws.emr.InstanceGroup

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

using System.Collections.Generic;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var task = new Aws.Emr.InstanceGroup("task", new()
    {
        ClusterId = aws_emr_cluster.Tf_test_cluster.Id,
        InstanceCount = 1,
        InstanceType = "m5.xlarge",
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/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(aws_emr_cluster.TfTestCluster.Id),
			InstanceCount: pulumi.Int(1),
			InstanceType:  pulumi.String("m5.xlarge"),
		})
		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(aws_emr_cluster.tf-test-cluster().id())
            .instanceCount(1)
            .instanceType("m5.xlarge")
            .build());

    }
}
import pulumi
import pulumi_aws as aws

task = aws.emr.InstanceGroup("task",
    cluster_id=aws_emr_cluster["tf-test-cluster"]["id"],
    instance_count=1,
    instance_type="m5.xlarge")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const task = new aws.emr.InstanceGroup("task", {
    clusterId: aws_emr_cluster["tf-test-cluster"].id,
    instanceCount: 1,
    instanceType: "m5.xlarge",
});
resources:
  task:
    type: aws:emr:InstanceGroup
    properties:
      clusterId: ${aws_emr_cluster"tf-test-cluster"[%!s(MISSING)].id}
      instanceCount: 1
      instanceType: m5.xlarge

Create InstanceGroup Resource

new InstanceGroup(name: string, args: InstanceGroupArgs, opts?: CustomResourceOptions);
@overload
def InstanceGroup(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  autoscaling_policy: Optional[str] = None,
                  bid_price: Optional[str] = None,
                  cluster_id: Optional[str] = None,
                  configurations_json: Optional[str] = None,
                  ebs_configs: Optional[Sequence[InstanceGroupEbsConfigArgs]] = None,
                  ebs_optimized: Optional[bool] = None,
                  instance_count: Optional[int] = None,
                  instance_type: Optional[str] = None,
                  name: Optional[str] = None)
@overload
def InstanceGroup(resource_name: str,
                  args: InstanceGroupArgs,
                  opts: Optional[ResourceOptions] = None)
func NewInstanceGroup(ctx *Context, name string, args InstanceGroupArgs, opts ...ResourceOption) (*InstanceGroup, error)
public InstanceGroup(string name, InstanceGroupArgs args, CustomResourceOptions? opts = null)
public InstanceGroup(String name, InstanceGroupArgs args)
public InstanceGroup(String name, InstanceGroupArgs args, CustomResourceOptions options)
type: aws:emr:InstanceGroup
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args InstanceGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args InstanceGroupArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args InstanceGroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args InstanceGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args InstanceGroupArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

InstanceGroup Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The InstanceGroup resource accepts the following input properties:

ClusterId string

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

InstanceType string

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

AutoscalingPolicy string

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

BidPrice string

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.

ConfigurationsJson string

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.

EbsConfigs List<InstanceGroupEbsConfigArgs>

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

EbsOptimized bool

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

InstanceCount int

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

Name string

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

ClusterId string

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

InstanceType string

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

AutoscalingPolicy string

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

BidPrice string

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.

ConfigurationsJson string

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.

EbsConfigs []InstanceGroupEbsConfigArgs

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

EbsOptimized bool

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

InstanceCount int

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

Name string

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

clusterId String

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

instanceType String

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

autoscalingPolicy String

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

bidPrice String

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.

configurationsJson String

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.

ebsConfigs List<InstanceGroupEbsConfigArgs>

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

ebsOptimized Boolean

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

instanceCount Integer

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

name String

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

clusterId string

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

instanceType string

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

autoscalingPolicy string

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

bidPrice string

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.

configurationsJson string

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.

ebsConfigs InstanceGroupEbsConfigArgs[]

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

ebsOptimized boolean

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

instanceCount number

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

name string

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

cluster_id str

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

instance_type str

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

autoscaling_policy str

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

bid_price str

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.

configurations_json str

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.

ebs_configs Sequence[InstanceGroupEbsConfigArgs]

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

ebs_optimized bool

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

instance_count int

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

name str

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

clusterId String

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

instanceType String

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

autoscalingPolicy String

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

bidPrice String

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.

configurationsJson String

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.

ebsConfigs List<Property Map>

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

ebsOptimized Boolean

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

instanceCount Number

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

name String

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

Outputs

All input properties are implicitly available as output properties. Additionally, the InstanceGroup resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

RunningInstanceCount int

The number of instances currently running in this instance group.

Status string

The current status of the instance group.

Id string

The provider-assigned unique ID for this managed resource.

RunningInstanceCount int

The number of instances currently running in this instance group.

Status string

The current status of the instance group.

id String

The provider-assigned unique ID for this managed resource.

runningInstanceCount Integer

The number of instances currently running in this instance group.

status String

The current status of the instance group.

id string

The provider-assigned unique ID for this managed resource.

runningInstanceCount number

The number of instances currently running in this instance group.

status string

The current status of the instance group.

id str

The provider-assigned unique ID for this managed resource.

running_instance_count int

The number of instances currently running in this instance group.

status str

The current status of the instance group.

id String

The provider-assigned unique ID for this managed resource.

runningInstanceCount Number

The number of instances currently running in this instance group.

status String

The current status of the instance group.

Look up Existing InstanceGroup Resource

Get an existing InstanceGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: InstanceGroupState, opts?: CustomResourceOptions): InstanceGroup
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        autoscaling_policy: Optional[str] = None,
        bid_price: Optional[str] = None,
        cluster_id: Optional[str] = None,
        configurations_json: Optional[str] = None,
        ebs_configs: Optional[Sequence[InstanceGroupEbsConfigArgs]] = None,
        ebs_optimized: Optional[bool] = None,
        instance_count: Optional[int] = None,
        instance_type: Optional[str] = None,
        name: Optional[str] = None,
        running_instance_count: Optional[int] = None,
        status: Optional[str] = None) -> InstanceGroup
func GetInstanceGroup(ctx *Context, name string, id IDInput, state *InstanceGroupState, opts ...ResourceOption) (*InstanceGroup, error)
public static InstanceGroup Get(string name, Input<string> id, InstanceGroupState? state, CustomResourceOptions? opts = null)
public static InstanceGroup get(String name, Output<String> id, InstanceGroupState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AutoscalingPolicy string

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

BidPrice string

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.

ClusterId string

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

ConfigurationsJson string

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.

EbsConfigs List<InstanceGroupEbsConfigArgs>

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

EbsOptimized bool

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

InstanceCount int

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

InstanceType string

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

Name string

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

RunningInstanceCount int

The number of instances currently running in this instance group.

Status string

The current status of the instance group.

AutoscalingPolicy string

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

BidPrice string

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.

ClusterId string

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

ConfigurationsJson string

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.

EbsConfigs []InstanceGroupEbsConfigArgs

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

EbsOptimized bool

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

InstanceCount int

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

InstanceType string

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

Name string

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

RunningInstanceCount int

The number of instances currently running in this instance group.

Status string

The current status of the instance group.

autoscalingPolicy String

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

bidPrice String

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.

clusterId String

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

configurationsJson String

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.

ebsConfigs List<InstanceGroupEbsConfigArgs>

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

ebsOptimized Boolean

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

instanceCount Integer

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

instanceType String

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

name String

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

runningInstanceCount Integer

The number of instances currently running in this instance group.

status String

The current status of the instance group.

autoscalingPolicy string

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

bidPrice string

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.

clusterId string

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

configurationsJson string

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.

ebsConfigs InstanceGroupEbsConfigArgs[]

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

ebsOptimized boolean

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

instanceCount number

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

instanceType string

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

name string

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

runningInstanceCount number

The number of instances currently running in this instance group.

status string

The current status of the instance group.

autoscaling_policy str

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

bid_price str

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.

cluster_id str

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

configurations_json str

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.

ebs_configs Sequence[InstanceGroupEbsConfigArgs]

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

ebs_optimized bool

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

instance_count int

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

instance_type str

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

name str

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

running_instance_count int

The number of instances currently running in this instance group.

status str

The current status of the instance group.

autoscalingPolicy String

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

bidPrice String

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.

clusterId String

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

configurationsJson String

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.

ebsConfigs List<Property Map>

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

ebsOptimized Boolean

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

instanceCount Number

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

instanceType String

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

name String

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

runningInstanceCount Number

The number of instances currently running in this instance group.

status String

The current status of the instance group.

Supporting Types

InstanceGroupEbsConfig

Size int

The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

Type string

The volume type. Valid options are 'gp2', 'io1' and 'standard'.

Iops int

The number of I/O operations per second (IOPS) that the volume supports.

VolumesPerInstance int

The number of EBS Volumes to attach per instance.

Size int

The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

Type string

The volume type. Valid options are 'gp2', 'io1' and 'standard'.

Iops int

The number of I/O operations per second (IOPS) that the volume supports.

VolumesPerInstance int

The number of EBS Volumes to attach per instance.

size Integer

The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

type String

The volume type. Valid options are 'gp2', 'io1' and 'standard'.

iops Integer

The number of I/O operations per second (IOPS) that the volume supports.

volumesPerInstance Integer

The number of EBS Volumes to attach per instance.

size number

The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

type string

The volume type. Valid options are 'gp2', 'io1' and 'standard'.

iops number

The number of I/O operations per second (IOPS) that the volume supports.

volumesPerInstance number

The number of EBS Volumes to attach per instance.

size int

The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

type str

The volume type. Valid options are 'gp2', 'io1' and 'standard'.

iops int

The number of I/O operations per second (IOPS) that the volume supports.

volumes_per_instance int

The number of EBS Volumes to attach per instance.

size Number

The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

type String

The volume type. Valid options are 'gp2', 'io1' and 'standard'.

iops Number

The number of I/O operations per second (IOPS) that the volume supports.

volumesPerInstance Number

The number of EBS Volumes to attach per instance.

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

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.