aws.emr.InstanceGroup
Explore with Pulumi AI
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")
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
})
}
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 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
Create InstanceGroup Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new InstanceGroup(name: string, args: InstanceGroupArgs, opts?: CustomResourceOptions);
@overload
def InstanceGroup(resource_name: str,
args: InstanceGroupArgs,
opts: Optional[ResourceOptions] = None)
@overload
def InstanceGroup(resource_name: str,
opts: Optional[ResourceOptions] = None,
cluster_id: Optional[str] = None,
instance_type: Optional[str] = None,
autoscaling_policy: Optional[str] = None,
bid_price: Optional[str] = None,
configurations_json: Optional[str] = None,
ebs_configs: Optional[Sequence[InstanceGroupEbsConfigArgs]] = None,
ebs_optimized: Optional[bool] = None,
instance_count: Optional[int] = None,
name: Optional[str] = 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.
Parameters
- 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.
Constructor example
The following reference example uses placeholder values for all input properties.
var instanceGroupResource = new Aws.Emr.InstanceGroup("instanceGroupResource", new()
{
ClusterId = "string",
InstanceType = "string",
AutoscalingPolicy = "string",
BidPrice = "string",
ConfigurationsJson = "string",
EbsConfigs = new[]
{
new Aws.Emr.Inputs.InstanceGroupEbsConfigArgs
{
Size = 0,
Type = "string",
Iops = 0,
VolumesPerInstance = 0,
},
},
EbsOptimized = false,
InstanceCount = 0,
Name = "string",
});
example, err := emr.NewInstanceGroup(ctx, "instanceGroupResource", &emr.InstanceGroupArgs{
ClusterId: pulumi.String("string"),
InstanceType: pulumi.String("string"),
AutoscalingPolicy: pulumi.String("string"),
BidPrice: pulumi.String("string"),
ConfigurationsJson: pulumi.String("string"),
EbsConfigs: emr.InstanceGroupEbsConfigArray{
&emr.InstanceGroupEbsConfigArgs{
Size: pulumi.Int(0),
Type: pulumi.String("string"),
Iops: pulumi.Int(0),
VolumesPerInstance: pulumi.Int(0),
},
},
EbsOptimized: pulumi.Bool(false),
InstanceCount: pulumi.Int(0),
Name: pulumi.String("string"),
})
var instanceGroupResource = new InstanceGroup("instanceGroupResource", InstanceGroupArgs.builder()
.clusterId("string")
.instanceType("string")
.autoscalingPolicy("string")
.bidPrice("string")
.configurationsJson("string")
.ebsConfigs(InstanceGroupEbsConfigArgs.builder()
.size(0)
.type("string")
.iops(0)
.volumesPerInstance(0)
.build())
.ebsOptimized(false)
.instanceCount(0)
.name("string")
.build());
instance_group_resource = aws.emr.InstanceGroup("instanceGroupResource",
cluster_id="string",
instance_type="string",
autoscaling_policy="string",
bid_price="string",
configurations_json="string",
ebs_configs=[{
"size": 0,
"type": "string",
"iops": 0,
"volumes_per_instance": 0,
}],
ebs_optimized=False,
instance_count=0,
name="string")
const instanceGroupResource = new aws.emr.InstanceGroup("instanceGroupResource", {
clusterId: "string",
instanceType: "string",
autoscalingPolicy: "string",
bidPrice: "string",
configurationsJson: "string",
ebsConfigs: [{
size: 0,
type: "string",
iops: 0,
volumesPerInstance: 0,
}],
ebsOptimized: false,
instanceCount: 0,
name: "string",
});
type: aws:emr:InstanceGroup
properties:
autoscalingPolicy: string
bidPrice: string
clusterId: string
configurationsJson: string
ebsConfigs:
- iops: 0
size: 0
type: string
volumesPerInstance: 0
ebsOptimized: false
instanceCount: 0
instanceType: string
name: string
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
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The InstanceGroup resource accepts the following input properties:
- Cluster
Id string - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- Instance
Type string - The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.
- Autoscaling
Policy string - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- Bid
Price 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.
- Configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="ebsconfigs_csharp">
- 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 string
- Human friendly name given to the instance group. Changing this forces a new resource to be created.
- Cluster
Id string - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- Instance
Type string - The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.
- Autoscaling
Policy string - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- Bid
Price 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.
- Configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="ebsconfigs_go">
- 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 string
- Human friendly name given to the instance group. Changing this forces a new resource to be created.
- cluster
Id String - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- instance
Type String - The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.
- autoscaling
Policy String - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- bid
Price 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.
- configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="ebsconfigs_java">
- One or more
ebs_config
blocks as defined below. Changing this forces a new resource to be created. - ebs
Optimized Boolean - Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
- instance
Count 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.
- cluster
Id string - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- instance
Type string - The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.
- autoscaling
Policy string - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- bid
Price 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.
- configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="ebsconfigs_nodejs">
- One or more
ebs_config
blocks as defined below. Changing this forces a new resource to be created. - ebs
Optimized boolean - Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
- instance
Count 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="ebs_configs_python">
- 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.
- cluster
Id String - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- instance
Type String - The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.
- autoscaling
Policy String - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- bid
Price 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.
- configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="ebsconfigs_yaml">
- One or more
ebs_config
blocks as defined below. Changing this forces a new resource to be created. - ebs
Optimized Boolean - Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
- instance
Count 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.
- Running
Instance intCount - 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.
- Running
Instance intCount - 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.
- running
Instance IntegerCount - 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.
- running
Instance numberCount - 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_ intcount - 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.
- running
Instance NumberCount - 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.
- Autoscaling
Policy string - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- Bid
Price 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.
- Cluster
Id string - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- Configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="state_ebsconfigs_csharp">
- 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 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.
- Running
Instance intCount - The number of instances currently running in this instance group.
- Status string
- The current status of the instance group.
- Autoscaling
Policy string - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- Bid
Price 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.
- Cluster
Id string - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- Configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="state_ebsconfigs_go">
- 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 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.
- Running
Instance intCount - The number of instances currently running in this instance group.
- Status string
- The current status of the instance group.
- autoscaling
Policy String - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- bid
Price 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.
- cluster
Id String - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="state_ebsconfigs_java">
- One or more
ebs_config
blocks as defined below. Changing this forces a new resource to be created. - ebs
Optimized Boolean - Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
- instance
Count Integer - target number of instances for the instance group. defaults to 0.
- instance
Type 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.
- running
Instance IntegerCount - The number of instances currently running in this instance group.
- status String
- The current status of the instance group.
- autoscaling
Policy string - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- bid
Price 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.
- cluster
Id string - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="state_ebsconfigs_nodejs">
- One or more
ebs_config
blocks as defined below. Changing this forces a new resource to be created. - ebs
Optimized boolean - Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
- instance
Count number - target number of instances for the instance group. defaults to 0.
- instance
Type 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.
- running
Instance numberCount - 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="state_ebs_configs_python">
- 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_ intcount - The number of instances currently running in this instance group.
- status str
- The current status of the instance group.
- autoscaling
Policy String - The autoscaling policy document. This is a JSON formatted string. See EMR Auto Scaling
- bid
Price 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.
- cluster
Id String - ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.
- configurations
Json 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.
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const task = new aws.emr.InstanceGroup("task", {configurationsJson:
[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
});import pulumi import pulumi_aws as aws task = aws.emr.InstanceGroup("task", configurations_json="""[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """)
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() { ConfigurationsJson = @"[ { ""Classification"": ""hadoop-env"", ""Configurations"": [ { ""Classification"": ""export"", ""Properties"": { ""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0"" } } ], ""Properties"": {} } ] ", }); });
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{ ConfigurationsJson: pulumi.String(`[ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] `), }) 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() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: task: type: aws:emr:InstanceGroup properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
title="Optional"> <span id="state_ebsconfigs_yaml">
- One or more
ebs_config
blocks as defined below. Changing this forces a new resource to be created. - ebs
Optimized Boolean - Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.
- instance
Count Number - target number of instances for the instance group. defaults to 0.
- instance
Type 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.
- running
Instance NumberCount - The number of instances currently running in this instance group.
- status String
- The current status of the instance group.
Supporting Types
InstanceGroupEbsConfig, InstanceGroupEbsConfigArgs
- 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.
- Volumes
Per intInstance - 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.
- Volumes
Per intInstance - 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.
- volumes
Per IntegerInstance - 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.
- volumes
Per numberInstance - 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_ intinstance - 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.
- volumes
Per NumberInstance - The number of EBS Volumes to attach per instance.
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
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
aws
Terraform Provider.