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 Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var task = new Aws.Emr.InstanceGroup("task", new Aws.Emr.InstanceGroupArgs
        {
            ClusterId = aws_emr_cluster.Tf_test_cluster.Id,
            InstanceCount = 1,
            InstanceType = "m5.xlarge",
        });
    }

}
package main

import (
    "github.com/pulumi/pulumi-aws/sdk/v2/go/aws/emr"
    "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
        _, err := emr.NewInstanceGroup(ctx, "task", &emr.InstanceGroupArgs{
            ClusterId:     pulumi.String(aws_emr_cluster.Tf - test - cluster.Id),
            InstanceCount: pulumi.Int(1),
            InstanceType:  pulumi.String("m5.xlarge"),
        })
        if err != nil {
            return err
        }
        return nil
    })
}
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",
});

Create a InstanceGroup Resource

def InstanceGroup(resource_name, opts=None, autoscaling_policy=None, bid_price=None, cluster_id=None, configurations_json=None, ebs_configs=None, ebs_optimized=None, instance_count=None, instance_type=None, name=None, __props__=None);
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.
opts ResourceOptions
A bag of options that control this 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.

InstanceGroup Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model 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 []InstanceGroupEbsConfig

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 InstanceGroupEbsConfig[]

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 List[InstanceGroupEbsConfig]

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 float

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.

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
Status string
Id string
The provider-assigned unique ID for this managed resource.
RunningInstanceCount int
Status string
id string
The provider-assigned unique ID for this managed resource.
runningInstanceCount number
status string
id str
The provider-assigned unique ID for this managed resource.
running_instance_count float
status str

Look up an 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
static get(resource_name, id, opts=None, autoscaling_policy=None, bid_price=None, cluster_id=None, configurations_json=None, ebs_configs=None, ebs_optimized=None, instance_count=None, instance_type=None, name=None, running_instance_count=None, status=None, __props__=None);
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)
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.

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
Status string
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 []InstanceGroupEbsConfig

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
Status string
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 InstanceGroupEbsConfig[]

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
status string
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 List[InstanceGroupEbsConfig]

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 float

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 float
status str

Supporting Types

InstanceGroupEbsConfig

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

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 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 float

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 float

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

volumesPerInstance float

The number of EBS Volumes to attach per instance.

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.