aws.emr.Cluster
Explore with Pulumi AI
Provides an Elastic MapReduce Cluster, a web service that makes it easy to process large amounts of data efficiently. See Amazon Elastic MapReduce Documentation for more information.
To configure Instance Groups for task nodes, see the aws.emr.InstanceGroup
resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {
name: "emr-test-arn",
releaseLabel: "emr-4.6.0",
applications: ["Spark"],
additionalInfo: `{
"instanceAwsClientConfiguration": {
"proxyPort": 8099,
"proxyHost": "myproxy.example.com"
}
}
`,
terminationProtection: false,
keepJobFlowAliveWhenNoSteps: true,
ec2Attributes: {
subnetId: main.id,
emrManagedMasterSecurityGroup: sg.id,
emrManagedSlaveSecurityGroup: sg.id,
instanceProfile: emrProfile.arn,
},
masterInstanceGroup: {
instanceType: "m4.large",
},
coreInstanceGroup: {
instanceType: "c4.large",
instanceCount: 1,
ebsConfigs: [{
size: 40,
type: "gp2",
volumesPerInstance: 1,
}],
bidPrice: "0.30",
autoscalingPolicy: `{
"Constraints": {
"MinCapacity": 1,
"MaxCapacity": 2
},
"Rules": [
{
"Name": "ScaleOutMemoryPercentage",
"Description": "Scale out if YARNMemoryAvailablePercentage is less than 15",
"Action": {
"SimpleScalingPolicyConfiguration": {
"AdjustmentType": "CHANGE_IN_CAPACITY",
"ScalingAdjustment": 1,
"CoolDown": 300
}
},
"Trigger": {
"CloudWatchAlarmDefinition": {
"ComparisonOperator": "LESS_THAN",
"EvaluationPeriods": 1,
"MetricName": "YARNMemoryAvailablePercentage",
"Namespace": "AWS/ElasticMapReduce",
"Period": 300,
"Statistic": "AVERAGE",
"Threshold": 15.0,
"Unit": "PERCENT"
}
}
}
]
}
`,
},
ebsRootVolumeSize: 100,
tags: {
role: "rolename",
env: "env",
},
bootstrapActions: [{
path: "s3://elasticmapreduce/bootstrap-actions/run-if",
name: "runif",
args: [
"instance.isMaster=true",
"echo running on master node",
],
}],
configurationsJson: ` [
{
"Classification": "hadoop-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
},
{
"Classification": "spark-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
}
]
`,
serviceRole: iamEmrServiceRole.arn,
});
import pulumi
import pulumi_aws as aws
cluster = aws.emr.Cluster("cluster",
name="emr-test-arn",
release_label="emr-4.6.0",
applications=["Spark"],
additional_info="""{
"instanceAwsClientConfiguration": {
"proxyPort": 8099,
"proxyHost": "myproxy.example.com"
}
}
""",
termination_protection=False,
keep_job_flow_alive_when_no_steps=True,
ec2_attributes={
"subnet_id": main["id"],
"emr_managed_master_security_group": sg["id"],
"emr_managed_slave_security_group": sg["id"],
"instance_profile": emr_profile["arn"],
},
master_instance_group={
"instance_type": "m4.large",
},
core_instance_group={
"instance_type": "c4.large",
"instance_count": 1,
"ebs_configs": [{
"size": 40,
"type": "gp2",
"volumes_per_instance": 1,
}],
"bid_price": "0.30",
"autoscaling_policy": """{
"Constraints": {
"MinCapacity": 1,
"MaxCapacity": 2
},
"Rules": [
{
"Name": "ScaleOutMemoryPercentage",
"Description": "Scale out if YARNMemoryAvailablePercentage is less than 15",
"Action": {
"SimpleScalingPolicyConfiguration": {
"AdjustmentType": "CHANGE_IN_CAPACITY",
"ScalingAdjustment": 1,
"CoolDown": 300
}
},
"Trigger": {
"CloudWatchAlarmDefinition": {
"ComparisonOperator": "LESS_THAN",
"EvaluationPeriods": 1,
"MetricName": "YARNMemoryAvailablePercentage",
"Namespace": "AWS/ElasticMapReduce",
"Period": 300,
"Statistic": "AVERAGE",
"Threshold": 15.0,
"Unit": "PERCENT"
}
}
}
]
}
""",
},
ebs_root_volume_size=100,
tags={
"role": "rolename",
"env": "env",
},
bootstrap_actions=[{
"path": "s3://elasticmapreduce/bootstrap-actions/run-if",
"name": "runif",
"args": [
"instance.isMaster=true",
"echo running on master node",
],
}],
configurations_json=""" [
{
"Classification": "hadoop-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
},
{
"Classification": "spark-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
}
]
""",
service_role=iam_emr_service_role["arn"])
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.NewCluster(ctx, "cluster", &emr.ClusterArgs{
Name: pulumi.String("emr-test-arn"),
ReleaseLabel: pulumi.String("emr-4.6.0"),
Applications: pulumi.StringArray{
pulumi.String("Spark"),
},
AdditionalInfo: pulumi.String(`{
"instanceAwsClientConfiguration": {
"proxyPort": 8099,
"proxyHost": "myproxy.example.com"
}
}
`),
TerminationProtection: pulumi.Bool(false),
KeepJobFlowAliveWhenNoSteps: pulumi.Bool(true),
Ec2Attributes: &emr.ClusterEc2AttributesArgs{
SubnetId: pulumi.Any(main.Id),
EmrManagedMasterSecurityGroup: pulumi.Any(sg.Id),
EmrManagedSlaveSecurityGroup: pulumi.Any(sg.Id),
InstanceProfile: pulumi.Any(emrProfile.Arn),
},
MasterInstanceGroup: &emr.ClusterMasterInstanceGroupArgs{
InstanceType: pulumi.String("m4.large"),
},
CoreInstanceGroup: &emr.ClusterCoreInstanceGroupArgs{
InstanceType: pulumi.String("c4.large"),
InstanceCount: pulumi.Int(1),
EbsConfigs: emr.ClusterCoreInstanceGroupEbsConfigArray{
&emr.ClusterCoreInstanceGroupEbsConfigArgs{
Size: pulumi.Int(40),
Type: pulumi.String("gp2"),
VolumesPerInstance: pulumi.Int(1),
},
},
BidPrice: pulumi.String("0.30"),
AutoscalingPolicy: pulumi.String(`{
"Constraints": {
"MinCapacity": 1,
"MaxCapacity": 2
},
"Rules": [
{
"Name": "ScaleOutMemoryPercentage",
"Description": "Scale out if YARNMemoryAvailablePercentage is less than 15",
"Action": {
"SimpleScalingPolicyConfiguration": {
"AdjustmentType": "CHANGE_IN_CAPACITY",
"ScalingAdjustment": 1,
"CoolDown": 300
}
},
"Trigger": {
"CloudWatchAlarmDefinition": {
"ComparisonOperator": "LESS_THAN",
"EvaluationPeriods": 1,
"MetricName": "YARNMemoryAvailablePercentage",
"Namespace": "AWS/ElasticMapReduce",
"Period": 300,
"Statistic": "AVERAGE",
"Threshold": 15.0,
"Unit": "PERCENT"
}
}
}
]
}
`),
},
EbsRootVolumeSize: pulumi.Int(100),
Tags: pulumi.StringMap{
"role": pulumi.String("rolename"),
"env": pulumi.String("env"),
},
BootstrapActions: emr.ClusterBootstrapActionArray{
&emr.ClusterBootstrapActionArgs{
Path: pulumi.String("s3://elasticmapreduce/bootstrap-actions/run-if"),
Name: pulumi.String("runif"),
Args: pulumi.StringArray{
pulumi.String("instance.isMaster=true"),
pulumi.String("echo running on master node"),
},
},
},
ConfigurationsJson: pulumi.String(` [
{
"Classification": "hadoop-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
},
{
"Classification": "spark-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
}
]
`),
ServiceRole: pulumi.Any(iamEmrServiceRole.Arn),
})
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 cluster = new Aws.Emr.Cluster("cluster", new()
{
Name = "emr-test-arn",
ReleaseLabel = "emr-4.6.0",
Applications = new[]
{
"Spark",
},
AdditionalInfo = @"{
""instanceAwsClientConfiguration"": {
""proxyPort"": 8099,
""proxyHost"": ""myproxy.example.com""
}
}
",
TerminationProtection = false,
KeepJobFlowAliveWhenNoSteps = true,
Ec2Attributes = new Aws.Emr.Inputs.ClusterEc2AttributesArgs
{
SubnetId = main.Id,
EmrManagedMasterSecurityGroup = sg.Id,
EmrManagedSlaveSecurityGroup = sg.Id,
InstanceProfile = emrProfile.Arn,
},
MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs
{
InstanceType = "m4.large",
},
CoreInstanceGroup = new Aws.Emr.Inputs.ClusterCoreInstanceGroupArgs
{
InstanceType = "c4.large",
InstanceCount = 1,
EbsConfigs = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceGroupEbsConfigArgs
{
Size = 40,
Type = "gp2",
VolumesPerInstance = 1,
},
},
BidPrice = "0.30",
AutoscalingPolicy = @"{
""Constraints"": {
""MinCapacity"": 1,
""MaxCapacity"": 2
},
""Rules"": [
{
""Name"": ""ScaleOutMemoryPercentage"",
""Description"": ""Scale out if YARNMemoryAvailablePercentage is less than 15"",
""Action"": {
""SimpleScalingPolicyConfiguration"": {
""AdjustmentType"": ""CHANGE_IN_CAPACITY"",
""ScalingAdjustment"": 1,
""CoolDown"": 300
}
},
""Trigger"": {
""CloudWatchAlarmDefinition"": {
""ComparisonOperator"": ""LESS_THAN"",
""EvaluationPeriods"": 1,
""MetricName"": ""YARNMemoryAvailablePercentage"",
""Namespace"": ""AWS/ElasticMapReduce"",
""Period"": 300,
""Statistic"": ""AVERAGE"",
""Threshold"": 15.0,
""Unit"": ""PERCENT""
}
}
}
]
}
",
},
EbsRootVolumeSize = 100,
Tags =
{
{ "role", "rolename" },
{ "env", "env" },
},
BootstrapActions = new[]
{
new Aws.Emr.Inputs.ClusterBootstrapActionArgs
{
Path = "s3://elasticmapreduce/bootstrap-actions/run-if",
Name = "runif",
Args = new[]
{
"instance.isMaster=true",
"echo running on master node",
},
},
},
ConfigurationsJson = @" [
{
""Classification"": ""hadoop-env"",
""Configurations"": [
{
""Classification"": ""export"",
""Properties"": {
""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0""
}
}
],
""Properties"": {}
},
{
""Classification"": ""spark-env"",
""Configurations"": [
{
""Classification"": ""export"",
""Properties"": {
""JAVA_HOME"": ""/usr/lib/jvm/java-1.8.0""
}
}
],
""Properties"": {}
}
]
",
ServiceRole = iamEmrServiceRole.Arn,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.emr.Cluster;
import com.pulumi.aws.emr.ClusterArgs;
import com.pulumi.aws.emr.inputs.ClusterEc2AttributesArgs;
import com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;
import com.pulumi.aws.emr.inputs.ClusterCoreInstanceGroupArgs;
import com.pulumi.aws.emr.inputs.ClusterBootstrapActionArgs;
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 cluster = new Cluster("cluster", ClusterArgs.builder()
.name("emr-test-arn")
.releaseLabel("emr-4.6.0")
.applications("Spark")
.additionalInfo("""
{
"instanceAwsClientConfiguration": {
"proxyPort": 8099,
"proxyHost": "myproxy.example.com"
}
}
""")
.terminationProtection(false)
.keepJobFlowAliveWhenNoSteps(true)
.ec2Attributes(ClusterEc2AttributesArgs.builder()
.subnetId(main.id())
.emrManagedMasterSecurityGroup(sg.id())
.emrManagedSlaveSecurityGroup(sg.id())
.instanceProfile(emrProfile.arn())
.build())
.masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()
.instanceType("m4.large")
.build())
.coreInstanceGroup(ClusterCoreInstanceGroupArgs.builder()
.instanceType("c4.large")
.instanceCount(1)
.ebsConfigs(ClusterCoreInstanceGroupEbsConfigArgs.builder()
.size("40")
.type("gp2")
.volumesPerInstance(1)
.build())
.bidPrice("0.30")
.autoscalingPolicy("""
{
"Constraints": {
"MinCapacity": 1,
"MaxCapacity": 2
},
"Rules": [
{
"Name": "ScaleOutMemoryPercentage",
"Description": "Scale out if YARNMemoryAvailablePercentage is less than 15",
"Action": {
"SimpleScalingPolicyConfiguration": {
"AdjustmentType": "CHANGE_IN_CAPACITY",
"ScalingAdjustment": 1,
"CoolDown": 300
}
},
"Trigger": {
"CloudWatchAlarmDefinition": {
"ComparisonOperator": "LESS_THAN",
"EvaluationPeriods": 1,
"MetricName": "YARNMemoryAvailablePercentage",
"Namespace": "AWS/ElasticMapReduce",
"Period": 300,
"Statistic": "AVERAGE",
"Threshold": 15.0,
"Unit": "PERCENT"
}
}
}
]
}
""")
.build())
.ebsRootVolumeSize(100)
.tags(Map.ofEntries(
Map.entry("role", "rolename"),
Map.entry("env", "env")
))
.bootstrapActions(ClusterBootstrapActionArgs.builder()
.path("s3://elasticmapreduce/bootstrap-actions/run-if")
.name("runif")
.args(
"instance.isMaster=true",
"echo running on master node")
.build())
.configurationsJson("""
[
{
"Classification": "hadoop-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
},
{
"Classification": "spark-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
}
]
""")
.serviceRole(iamEmrServiceRole.arn())
.build());
}
}
resources:
cluster:
type: aws:emr:Cluster
properties:
name: emr-test-arn
releaseLabel: emr-4.6.0
applications:
- Spark
additionalInfo: |
{
"instanceAwsClientConfiguration": {
"proxyPort": 8099,
"proxyHost": "myproxy.example.com"
}
}
terminationProtection: false
keepJobFlowAliveWhenNoSteps: true
ec2Attributes:
subnetId: ${main.id}
emrManagedMasterSecurityGroup: ${sg.id}
emrManagedSlaveSecurityGroup: ${sg.id}
instanceProfile: ${emrProfile.arn}
masterInstanceGroup:
instanceType: m4.large
coreInstanceGroup:
instanceType: c4.large
instanceCount: 1
ebsConfigs:
- size: '40'
type: gp2
volumesPerInstance: 1
bidPrice: '0.30'
autoscalingPolicy: |
{
"Constraints": {
"MinCapacity": 1,
"MaxCapacity": 2
},
"Rules": [
{
"Name": "ScaleOutMemoryPercentage",
"Description": "Scale out if YARNMemoryAvailablePercentage is less than 15",
"Action": {
"SimpleScalingPolicyConfiguration": {
"AdjustmentType": "CHANGE_IN_CAPACITY",
"ScalingAdjustment": 1,
"CoolDown": 300
}
},
"Trigger": {
"CloudWatchAlarmDefinition": {
"ComparisonOperator": "LESS_THAN",
"EvaluationPeriods": 1,
"MetricName": "YARNMemoryAvailablePercentage",
"Namespace": "AWS/ElasticMapReduce",
"Period": 300,
"Statistic": "AVERAGE",
"Threshold": 15.0,
"Unit": "PERCENT"
}
}
}
]
}
ebsRootVolumeSize: 100
tags:
role: rolename
env: env
bootstrapActions:
- path: s3://elasticmapreduce/bootstrap-actions/run-if
name: runif
args:
- instance.isMaster=true
- echo running on master node
configurationsJson: |2
[
{
"Classification": "hadoop-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
},
{
"Classification": "spark-env",
"Configurations": [
{
"Classification": "export",
"Properties": {
"JAVA_HOME": "/usr/lib/jvm/java-1.8.0"
}
}
],
"Properties": {}
}
]
serviceRole: ${iamEmrServiceRole.arn}
The aws.emr.Cluster
resource typically requires two IAM roles, one for the EMR Cluster to use as a service role, and another is assigned to every EC2 instance in a cluster and each application process that runs on a cluster assumes this role for permissions to interact with other AWS services. An additional role, the Auto Scaling role, is required if your cluster uses automatic scaling in Amazon EMR.
The default AWS managed EMR service role is called EMR_DefaultRole
with Amazon managed policy AmazonEMRServicePolicy_v2
attached. The name of default instance profile role is EMR_EC2_DefaultRole
with default managed policy AmazonElasticMapReduceforEC2Role
attached, but it is on the path to deprecation and will not be replaced with another default managed policy. You’ll need to create and specify an instance profile to replace the deprecated role and default policy. See the Configure IAM service roles for Amazon EMR guide for more information on these IAM roles. There is also a fully-bootable example Pulumi configuration at the bottom of this page.
Instance Fleet
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.emr.Cluster("example", {
masterInstanceFleet: {
instanceTypeConfigs: [{
instanceType: "m4.xlarge",
}],
targetOnDemandCapacity: 1,
},
coreInstanceFleet: {
instanceTypeConfigs: [
{
bidPriceAsPercentageOfOnDemandPrice: 80,
ebsConfigs: [{
size: 100,
type: "gp2",
volumesPerInstance: 1,
}],
instanceType: "m3.xlarge",
weightedCapacity: 1,
},
{
bidPriceAsPercentageOfOnDemandPrice: 100,
ebsConfigs: [{
size: 100,
type: "gp2",
volumesPerInstance: 1,
}],
instanceType: "m4.xlarge",
weightedCapacity: 1,
},
{
bidPriceAsPercentageOfOnDemandPrice: 100,
ebsConfigs: [{
size: 100,
type: "gp2",
volumesPerInstance: 1,
}],
instanceType: "m4.2xlarge",
weightedCapacity: 2,
},
],
launchSpecifications: {
spotSpecifications: [{
allocationStrategy: "capacity-optimized",
blockDurationMinutes: 0,
timeoutAction: "SWITCH_TO_ON_DEMAND",
timeoutDurationMinutes: 10,
}],
},
name: "core fleet",
targetOnDemandCapacity: 2,
targetSpotCapacity: 2,
},
});
const task = new aws.emr.InstanceFleet("task", {
clusterId: example.id,
instanceTypeConfigs: [
{
bidPriceAsPercentageOfOnDemandPrice: 100,
ebsConfigs: [{
size: 100,
type: "gp2",
volumesPerInstance: 1,
}],
instanceType: "m4.xlarge",
weightedCapacity: 1,
},
{
bidPriceAsPercentageOfOnDemandPrice: 100,
ebsConfigs: [{
size: 100,
type: "gp2",
volumesPerInstance: 1,
}],
instanceType: "m4.2xlarge",
weightedCapacity: 2,
},
],
launchSpecifications: {
spotSpecifications: [{
allocationStrategy: "capacity-optimized",
blockDurationMinutes: 0,
timeoutAction: "TERMINATE_CLUSTER",
timeoutDurationMinutes: 10,
}],
},
name: "task fleet",
targetOnDemandCapacity: 1,
targetSpotCapacity: 1,
});
import pulumi
import pulumi_aws as aws
example = aws.emr.Cluster("example",
master_instance_fleet={
"instance_type_configs": [{
"instance_type": "m4.xlarge",
}],
"target_on_demand_capacity": 1,
},
core_instance_fleet={
"instance_type_configs": [
{
"bid_price_as_percentage_of_on_demand_price": 80,
"ebs_configs": [{
"size": 100,
"type": "gp2",
"volumes_per_instance": 1,
}],
"instance_type": "m3.xlarge",
"weighted_capacity": 1,
},
{
"bid_price_as_percentage_of_on_demand_price": 100,
"ebs_configs": [{
"size": 100,
"type": "gp2",
"volumes_per_instance": 1,
}],
"instance_type": "m4.xlarge",
"weighted_capacity": 1,
},
{
"bid_price_as_percentage_of_on_demand_price": 100,
"ebs_configs": [{
"size": 100,
"type": "gp2",
"volumes_per_instance": 1,
}],
"instance_type": "m4.2xlarge",
"weighted_capacity": 2,
},
],
"launch_specifications": {
"spot_specifications": [{
"allocation_strategy": "capacity-optimized",
"block_duration_minutes": 0,
"timeout_action": "SWITCH_TO_ON_DEMAND",
"timeout_duration_minutes": 10,
}],
},
"name": "core fleet",
"target_on_demand_capacity": 2,
"target_spot_capacity": 2,
})
task = aws.emr.InstanceFleet("task",
cluster_id=example.id,
instance_type_configs=[
{
"bid_price_as_percentage_of_on_demand_price": 100,
"ebs_configs": [{
"size": 100,
"type": "gp2",
"volumes_per_instance": 1,
}],
"instance_type": "m4.xlarge",
"weighted_capacity": 1,
},
{
"bid_price_as_percentage_of_on_demand_price": 100,
"ebs_configs": [{
"size": 100,
"type": "gp2",
"volumes_per_instance": 1,
}],
"instance_type": "m4.2xlarge",
"weighted_capacity": 2,
},
],
launch_specifications={
"spot_specifications": [{
"allocation_strategy": "capacity-optimized",
"block_duration_minutes": 0,
"timeout_action": "TERMINATE_CLUSTER",
"timeout_duration_minutes": 10,
}],
},
name="task fleet",
target_on_demand_capacity=1,
target_spot_capacity=1)
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 {
example, err := emr.NewCluster(ctx, "example", &emr.ClusterArgs{
MasterInstanceFleet: &emr.ClusterMasterInstanceFleetArgs{
InstanceTypeConfigs: emr.ClusterMasterInstanceFleetInstanceTypeConfigArray{
&emr.ClusterMasterInstanceFleetInstanceTypeConfigArgs{
InstanceType: pulumi.String("m4.xlarge"),
},
},
TargetOnDemandCapacity: pulumi.Int(1),
},
CoreInstanceFleet: &emr.ClusterCoreInstanceFleetArgs{
InstanceTypeConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigArray{
&emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{
BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(80),
EbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{
&emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{
Size: pulumi.Int(100),
Type: pulumi.String("gp2"),
VolumesPerInstance: pulumi.Int(1),
},
},
InstanceType: pulumi.String("m3.xlarge"),
WeightedCapacity: pulumi.Int(1),
},
&emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{
BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
EbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{
&emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{
Size: pulumi.Int(100),
Type: pulumi.String("gp2"),
VolumesPerInstance: pulumi.Int(1),
},
},
InstanceType: pulumi.String("m4.xlarge"),
WeightedCapacity: pulumi.Int(1),
},
&emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{
BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
EbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{
&emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{
Size: pulumi.Int(100),
Type: pulumi.String("gp2"),
VolumesPerInstance: pulumi.Int(1),
},
},
InstanceType: pulumi.String("m4.2xlarge"),
WeightedCapacity: pulumi.Int(2),
},
},
LaunchSpecifications: &emr.ClusterCoreInstanceFleetLaunchSpecificationsArgs{
SpotSpecifications: emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray{
&emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs{
AllocationStrategy: pulumi.String("capacity-optimized"),
BlockDurationMinutes: pulumi.Int(0),
TimeoutAction: pulumi.String("SWITCH_TO_ON_DEMAND"),
TimeoutDurationMinutes: pulumi.Int(10),
},
},
},
Name: pulumi.String("core fleet"),
TargetOnDemandCapacity: pulumi.Int(2),
TargetSpotCapacity: pulumi.Int(2),
},
})
if err != nil {
return err
}
_, err = emr.NewInstanceFleet(ctx, "task", &emr.InstanceFleetArgs{
ClusterId: example.ID(),
InstanceTypeConfigs: emr.InstanceFleetInstanceTypeConfigArray{
&emr.InstanceFleetInstanceTypeConfigArgs{
BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
EbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{
&emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{
Size: pulumi.Int(100),
Type: pulumi.String("gp2"),
VolumesPerInstance: pulumi.Int(1),
},
},
InstanceType: pulumi.String("m4.xlarge"),
WeightedCapacity: pulumi.Int(1),
},
&emr.InstanceFleetInstanceTypeConfigArgs{
BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(100),
EbsConfigs: emr.InstanceFleetInstanceTypeConfigEbsConfigArray{
&emr.InstanceFleetInstanceTypeConfigEbsConfigArgs{
Size: pulumi.Int(100),
Type: pulumi.String("gp2"),
VolumesPerInstance: pulumi.Int(1),
},
},
InstanceType: pulumi.String("m4.2xlarge"),
WeightedCapacity: pulumi.Int(2),
},
},
LaunchSpecifications: &emr.InstanceFleetLaunchSpecificationsArgs{
SpotSpecifications: emr.InstanceFleetLaunchSpecificationsSpotSpecificationArray{
&emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs{
AllocationStrategy: pulumi.String("capacity-optimized"),
BlockDurationMinutes: pulumi.Int(0),
TimeoutAction: pulumi.String("TERMINATE_CLUSTER"),
TimeoutDurationMinutes: pulumi.Int(10),
},
},
},
Name: pulumi.String("task fleet"),
TargetOnDemandCapacity: pulumi.Int(1),
TargetSpotCapacity: pulumi.Int(1),
})
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 example = new Aws.Emr.Cluster("example", new()
{
MasterInstanceFleet = new Aws.Emr.Inputs.ClusterMasterInstanceFleetArgs
{
InstanceTypeConfigs = new[]
{
new Aws.Emr.Inputs.ClusterMasterInstanceFleetInstanceTypeConfigArgs
{
InstanceType = "m4.xlarge",
},
},
TargetOnDemandCapacity = 1,
},
CoreInstanceFleet = new Aws.Emr.Inputs.ClusterCoreInstanceFleetArgs
{
InstanceTypeConfigs = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs
{
BidPriceAsPercentageOfOnDemandPrice = 80,
EbsConfigs = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs
{
Size = 100,
Type = "gp2",
VolumesPerInstance = 1,
},
},
InstanceType = "m3.xlarge",
WeightedCapacity = 1,
},
new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs
{
BidPriceAsPercentageOfOnDemandPrice = 100,
EbsConfigs = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs
{
Size = 100,
Type = "gp2",
VolumesPerInstance = 1,
},
},
InstanceType = "m4.xlarge",
WeightedCapacity = 1,
},
new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs
{
BidPriceAsPercentageOfOnDemandPrice = 100,
EbsConfigs = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs
{
Size = 100,
Type = "gp2",
VolumesPerInstance = 1,
},
},
InstanceType = "m4.2xlarge",
WeightedCapacity = 2,
},
},
LaunchSpecifications = new Aws.Emr.Inputs.ClusterCoreInstanceFleetLaunchSpecificationsArgs
{
SpotSpecifications = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs
{
AllocationStrategy = "capacity-optimized",
BlockDurationMinutes = 0,
TimeoutAction = "SWITCH_TO_ON_DEMAND",
TimeoutDurationMinutes = 10,
},
},
},
Name = "core fleet",
TargetOnDemandCapacity = 2,
TargetSpotCapacity = 2,
},
});
var task = new Aws.Emr.InstanceFleet("task", new()
{
ClusterId = example.Id,
InstanceTypeConfigs = new[]
{
new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs
{
BidPriceAsPercentageOfOnDemandPrice = 100,
EbsConfigs = new[]
{
new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs
{
Size = 100,
Type = "gp2",
VolumesPerInstance = 1,
},
},
InstanceType = "m4.xlarge",
WeightedCapacity = 1,
},
new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigArgs
{
BidPriceAsPercentageOfOnDemandPrice = 100,
EbsConfigs = new[]
{
new Aws.Emr.Inputs.InstanceFleetInstanceTypeConfigEbsConfigArgs
{
Size = 100,
Type = "gp2",
VolumesPerInstance = 1,
},
},
InstanceType = "m4.2xlarge",
WeightedCapacity = 2,
},
},
LaunchSpecifications = new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsArgs
{
SpotSpecifications = new[]
{
new Aws.Emr.Inputs.InstanceFleetLaunchSpecificationsSpotSpecificationArgs
{
AllocationStrategy = "capacity-optimized",
BlockDurationMinutes = 0,
TimeoutAction = "TERMINATE_CLUSTER",
TimeoutDurationMinutes = 10,
},
},
},
Name = "task fleet",
TargetOnDemandCapacity = 1,
TargetSpotCapacity = 1,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.emr.Cluster;
import com.pulumi.aws.emr.ClusterArgs;
import com.pulumi.aws.emr.inputs.ClusterMasterInstanceFleetArgs;
import com.pulumi.aws.emr.inputs.ClusterCoreInstanceFleetArgs;
import com.pulumi.aws.emr.inputs.ClusterCoreInstanceFleetLaunchSpecificationsArgs;
import com.pulumi.aws.emr.InstanceFleet;
import com.pulumi.aws.emr.InstanceFleetArgs;
import com.pulumi.aws.emr.inputs.InstanceFleetInstanceTypeConfigArgs;
import com.pulumi.aws.emr.inputs.InstanceFleetLaunchSpecificationsArgs;
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 example = new Cluster("example", ClusterArgs.builder()
.masterInstanceFleet(ClusterMasterInstanceFleetArgs.builder()
.instanceTypeConfigs(ClusterMasterInstanceFleetInstanceTypeConfigArgs.builder()
.instanceType("m4.xlarge")
.build())
.targetOnDemandCapacity(1)
.build())
.coreInstanceFleet(ClusterCoreInstanceFleetArgs.builder()
.instanceTypeConfigs(
ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()
.bidPriceAsPercentageOfOnDemandPrice(80)
.ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()
.size(100)
.type("gp2")
.volumesPerInstance(1)
.build())
.instanceType("m3.xlarge")
.weightedCapacity(1)
.build(),
ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()
.bidPriceAsPercentageOfOnDemandPrice(100)
.ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()
.size(100)
.type("gp2")
.volumesPerInstance(1)
.build())
.instanceType("m4.xlarge")
.weightedCapacity(1)
.build(),
ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()
.bidPriceAsPercentageOfOnDemandPrice(100)
.ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()
.size(100)
.type("gp2")
.volumesPerInstance(1)
.build())
.instanceType("m4.2xlarge")
.weightedCapacity(2)
.build())
.launchSpecifications(ClusterCoreInstanceFleetLaunchSpecificationsArgs.builder()
.spotSpecifications(ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()
.allocationStrategy("capacity-optimized")
.blockDurationMinutes(0)
.timeoutAction("SWITCH_TO_ON_DEMAND")
.timeoutDurationMinutes(10)
.build())
.build())
.name("core fleet")
.targetOnDemandCapacity(2)
.targetSpotCapacity(2)
.build())
.build());
var task = new InstanceFleet("task", InstanceFleetArgs.builder()
.clusterId(example.id())
.instanceTypeConfigs(
InstanceFleetInstanceTypeConfigArgs.builder()
.bidPriceAsPercentageOfOnDemandPrice(100)
.ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()
.size(100)
.type("gp2")
.volumesPerInstance(1)
.build())
.instanceType("m4.xlarge")
.weightedCapacity(1)
.build(),
InstanceFleetInstanceTypeConfigArgs.builder()
.bidPriceAsPercentageOfOnDemandPrice(100)
.ebsConfigs(InstanceFleetInstanceTypeConfigEbsConfigArgs.builder()
.size(100)
.type("gp2")
.volumesPerInstance(1)
.build())
.instanceType("m4.2xlarge")
.weightedCapacity(2)
.build())
.launchSpecifications(InstanceFleetLaunchSpecificationsArgs.builder()
.spotSpecifications(InstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()
.allocationStrategy("capacity-optimized")
.blockDurationMinutes(0)
.timeoutAction("TERMINATE_CLUSTER")
.timeoutDurationMinutes(10)
.build())
.build())
.name("task fleet")
.targetOnDemandCapacity(1)
.targetSpotCapacity(1)
.build());
}
}
resources:
example:
type: aws:emr:Cluster
properties:
masterInstanceFleet:
instanceTypeConfigs:
- instanceType: m4.xlarge
targetOnDemandCapacity: 1
coreInstanceFleet:
instanceTypeConfigs:
- bidPriceAsPercentageOfOnDemandPrice: 80
ebsConfigs:
- size: 100
type: gp2
volumesPerInstance: 1
instanceType: m3.xlarge
weightedCapacity: 1
- bidPriceAsPercentageOfOnDemandPrice: 100
ebsConfigs:
- size: 100
type: gp2
volumesPerInstance: 1
instanceType: m4.xlarge
weightedCapacity: 1
- bidPriceAsPercentageOfOnDemandPrice: 100
ebsConfigs:
- size: 100
type: gp2
volumesPerInstance: 1
instanceType: m4.2xlarge
weightedCapacity: 2
launchSpecifications:
spotSpecifications:
- allocationStrategy: capacity-optimized
blockDurationMinutes: 0
timeoutAction: SWITCH_TO_ON_DEMAND
timeoutDurationMinutes: 10
name: core fleet
targetOnDemandCapacity: 2
targetSpotCapacity: 2
task:
type: aws:emr:InstanceFleet
properties:
clusterId: ${example.id}
instanceTypeConfigs:
- bidPriceAsPercentageOfOnDemandPrice: 100
ebsConfigs:
- size: 100
type: gp2
volumesPerInstance: 1
instanceType: m4.xlarge
weightedCapacity: 1
- bidPriceAsPercentageOfOnDemandPrice: 100
ebsConfigs:
- size: 100
type: gp2
volumesPerInstance: 1
instanceType: m4.2xlarge
weightedCapacity: 2
launchSpecifications:
spotSpecifications:
- allocationStrategy: capacity-optimized
blockDurationMinutes: 0
timeoutAction: TERMINATE_CLUSTER
timeoutDurationMinutes: 10
name: task fleet
targetOnDemandCapacity: 1
targetSpotCapacity: 1
Enable Debug Logging
Debug logging in EMR is implemented as a step. It is highly recommended that you utilize the resource options configuration with ignoreChanges
if other steps are being managed outside of this provider.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.emr.Cluster("example", {steps: [{
actionOnFailure: "TERMINATE_CLUSTER",
name: "Setup Hadoop Debugging",
hadoopJarStep: {
jar: "command-runner.jar",
args: ["state-pusher-script"],
},
}]});
import pulumi
import pulumi_aws as aws
example = aws.emr.Cluster("example", steps=[{
"action_on_failure": "TERMINATE_CLUSTER",
"name": "Setup Hadoop Debugging",
"hadoop_jar_step": {
"jar": "command-runner.jar",
"args": ["state-pusher-script"],
},
}])
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.NewCluster(ctx, "example", &emr.ClusterArgs{
Steps: emr.ClusterStepArray{
&emr.ClusterStepArgs{
ActionOnFailure: pulumi.String("TERMINATE_CLUSTER"),
Name: pulumi.String("Setup Hadoop Debugging"),
HadoopJarStep: &emr.ClusterStepHadoopJarStepArgs{
Jar: pulumi.String("command-runner.jar"),
Args: pulumi.StringArray{
pulumi.String("state-pusher-script"),
},
},
},
},
})
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 example = new Aws.Emr.Cluster("example", new()
{
Steps = new[]
{
new Aws.Emr.Inputs.ClusterStepArgs
{
ActionOnFailure = "TERMINATE_CLUSTER",
Name = "Setup Hadoop Debugging",
HadoopJarStep = new Aws.Emr.Inputs.ClusterStepHadoopJarStepArgs
{
Jar = "command-runner.jar",
Args = new[]
{
"state-pusher-script",
},
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.emr.Cluster;
import com.pulumi.aws.emr.ClusterArgs;
import com.pulumi.aws.emr.inputs.ClusterStepArgs;
import com.pulumi.aws.emr.inputs.ClusterStepHadoopJarStepArgs;
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 example = new Cluster("example", ClusterArgs.builder()
.steps(ClusterStepArgs.builder()
.actionOnFailure("TERMINATE_CLUSTER")
.name("Setup Hadoop Debugging")
.hadoopJarStep(ClusterStepHadoopJarStepArgs.builder()
.jar("command-runner.jar")
.args("state-pusher-script")
.build())
.build())
.build());
}
}
resources:
example:
type: aws:emr:Cluster
properties:
steps:
- actionOnFailure: TERMINATE_CLUSTER
name: Setup Hadoop Debugging
hadoopJarStep:
jar: command-runner.jar
args:
- state-pusher-script
Multiple Node Master Instance Group
Available in EMR version 5.23.0 and later, an EMR Cluster can be launched with three master nodes for high availability. Additional information about this functionality and its requirements can be found in the EMR Management Guide.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// This configuration is for illustrative purposes and highlights
// only relevant configurations for working with this functionality.
// Map public IP on launch must be enabled for public (Internet accessible) subnets
const example = new aws.ec2.Subnet("example", {mapPublicIpOnLaunch: true});
const exampleCluster = new aws.emr.Cluster("example", {
releaseLabel: "emr-5.24.1",
terminationProtection: true,
ec2Attributes: {
subnetId: example.id,
},
masterInstanceGroup: {
instanceCount: 3,
},
coreInstanceGroup: {},
});
import pulumi
import pulumi_aws as aws
# This configuration is for illustrative purposes and highlights
# only relevant configurations for working with this functionality.
# Map public IP on launch must be enabled for public (Internet accessible) subnets
example = aws.ec2.Subnet("example", map_public_ip_on_launch=True)
example_cluster = aws.emr.Cluster("example",
release_label="emr-5.24.1",
termination_protection=True,
ec2_attributes={
"subnet_id": example.id,
},
master_instance_group={
"instance_count": 3,
},
core_instance_group={})
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"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 {
// This configuration is for illustrative purposes and highlights
// only relevant configurations for working with this functionality.
// Map public IP on launch must be enabled for public (Internet accessible) subnets
example, err := ec2.NewSubnet(ctx, "example", &ec2.SubnetArgs{
MapPublicIpOnLaunch: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = emr.NewCluster(ctx, "example", &emr.ClusterArgs{
ReleaseLabel: pulumi.String("emr-5.24.1"),
TerminationProtection: pulumi.Bool(true),
Ec2Attributes: &emr.ClusterEc2AttributesArgs{
SubnetId: example.ID(),
},
MasterInstanceGroup: &emr.ClusterMasterInstanceGroupArgs{
InstanceCount: pulumi.Int(3),
},
CoreInstanceGroup: &emr.ClusterCoreInstanceGroupArgs{},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
// This configuration is for illustrative purposes and highlights
// only relevant configurations for working with this functionality.
// Map public IP on launch must be enabled for public (Internet accessible) subnets
var example = new Aws.Ec2.Subnet("example", new()
{
MapPublicIpOnLaunch = true,
});
var exampleCluster = new Aws.Emr.Cluster("example", new()
{
ReleaseLabel = "emr-5.24.1",
TerminationProtection = true,
Ec2Attributes = new Aws.Emr.Inputs.ClusterEc2AttributesArgs
{
SubnetId = example.Id,
},
MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs
{
InstanceCount = 3,
},
CoreInstanceGroup = null,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Subnet;
import com.pulumi.aws.ec2.SubnetArgs;
import com.pulumi.aws.emr.Cluster;
import com.pulumi.aws.emr.ClusterArgs;
import com.pulumi.aws.emr.inputs.ClusterEc2AttributesArgs;
import com.pulumi.aws.emr.inputs.ClusterMasterInstanceGroupArgs;
import com.pulumi.aws.emr.inputs.ClusterCoreInstanceGroupArgs;
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) {
// This configuration is for illustrative purposes and highlights
// only relevant configurations for working with this functionality.
// Map public IP on launch must be enabled for public (Internet accessible) subnets
var example = new Subnet("example", SubnetArgs.builder()
.mapPublicIpOnLaunch(true)
.build());
var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()
.releaseLabel("emr-5.24.1")
.terminationProtection(true)
.ec2Attributes(ClusterEc2AttributesArgs.builder()
.subnetId(example.id())
.build())
.masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()
.instanceCount(3)
.build())
.coreInstanceGroup()
.build());
}
}
resources:
# This configuration is for illustrative purposes and highlights
# only relevant configurations for working with this functionality.
# Map public IP on launch must be enabled for public (Internet accessible) subnets
example:
type: aws:ec2:Subnet
properties:
mapPublicIpOnLaunch: true
exampleCluster:
type: aws:emr:Cluster
name: example
properties:
releaseLabel: emr-5.24.1
terminationProtection: true
ec2Attributes:
subnetId: ${example.id}
masterInstanceGroup:
instanceCount: 3
coreInstanceGroup: {}
Create Cluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
@overload
def Cluster(resource_name: str,
args: ClusterArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Cluster(resource_name: str,
opts: Optional[ResourceOptions] = None,
release_label: Optional[str] = None,
service_role: Optional[str] = None,
core_instance_fleet: Optional[ClusterCoreInstanceFleetArgs] = None,
configurations_json: Optional[str] = None,
log_uri: Optional[str] = None,
configurations: Optional[str] = None,
master_instance_fleet: Optional[ClusterMasterInstanceFleetArgs] = None,
additional_info: Optional[str] = None,
core_instance_group: Optional[ClusterCoreInstanceGroupArgs] = None,
custom_ami_id: Optional[str] = None,
ebs_root_volume_size: Optional[int] = None,
ec2_attributes: Optional[ClusterEc2AttributesArgs] = None,
keep_job_flow_alive_when_no_steps: Optional[bool] = None,
master_instance_group: Optional[ClusterMasterInstanceGroupArgs] = None,
list_steps_states: Optional[Sequence[str]] = None,
log_encryption_kms_key_id: Optional[str] = None,
bootstrap_actions: Optional[Sequence[ClusterBootstrapActionArgs]] = None,
autoscaling_role: Optional[str] = None,
kerberos_attributes: Optional[ClusterKerberosAttributesArgs] = None,
name: Optional[str] = None,
placement_group_configs: Optional[Sequence[ClusterPlacementGroupConfigArgs]] = None,
auto_termination_policy: Optional[ClusterAutoTerminationPolicyArgs] = None,
scale_down_behavior: Optional[str] = None,
security_configuration: Optional[str] = None,
applications: Optional[Sequence[str]] = None,
step_concurrency_level: Optional[int] = None,
steps: Optional[Sequence[ClusterStepArgs]] = None,
tags: Optional[Mapping[str, str]] = None,
termination_protection: Optional[bool] = None,
unhealthy_node_replacement: Optional[bool] = None,
visible_to_all_users: Optional[bool] = None)
func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)
public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
type: aws:emr:Cluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name
This property is required. string - The unique name of the resource.
- args
This property is required. ClusterArgs - The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name
This property is required. str - The unique name of the resource.
- args
This property is required. ClusterArgs - The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name
This property is required. string - The unique name of the resource.
- args
This property is required. ClusterArgs - The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name
This property is required. string - The unique name of the resource.
- args
This property is required. ClusterArgs - The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name
This property is required. String - The unique name of the resource.
- args
This property is required. ClusterArgs - 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 exampleclusterResourceResourceFromEmrcluster = new Aws.Emr.Cluster("exampleclusterResourceResourceFromEmrcluster", new()
{
ReleaseLabel = "string",
ServiceRole = "string",
CoreInstanceFleet = new Aws.Emr.Inputs.ClusterCoreInstanceFleetArgs
{
Id = "string",
InstanceTypeConfigs = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigArgs
{
InstanceType = "string",
BidPrice = "string",
BidPriceAsPercentageOfOnDemandPrice = 0,
Configurations = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs
{
Classification = "string",
Properties =
{
{ "string", "string" },
},
},
},
EbsConfigs = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs
{
Size = 0,
Type = "string",
Iops = 0,
VolumesPerInstance = 0,
},
},
WeightedCapacity = 0,
},
},
LaunchSpecifications = new Aws.Emr.Inputs.ClusterCoreInstanceFleetLaunchSpecificationsArgs
{
OnDemandSpecifications = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs
{
AllocationStrategy = "string",
},
},
SpotSpecifications = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs
{
AllocationStrategy = "string",
TimeoutAction = "string",
TimeoutDurationMinutes = 0,
BlockDurationMinutes = 0,
},
},
},
Name = "string",
ProvisionedOnDemandCapacity = 0,
ProvisionedSpotCapacity = 0,
TargetOnDemandCapacity = 0,
TargetSpotCapacity = 0,
},
ConfigurationsJson = "string",
LogUri = "string",
Configurations = "string",
MasterInstanceFleet = new Aws.Emr.Inputs.ClusterMasterInstanceFleetArgs
{
Id = "string",
InstanceTypeConfigs = new[]
{
new Aws.Emr.Inputs.ClusterMasterInstanceFleetInstanceTypeConfigArgs
{
InstanceType = "string",
BidPrice = "string",
BidPriceAsPercentageOfOnDemandPrice = 0,
Configurations = new[]
{
new Aws.Emr.Inputs.ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs
{
Classification = "string",
Properties =
{
{ "string", "string" },
},
},
},
EbsConfigs = new[]
{
new Aws.Emr.Inputs.ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs
{
Size = 0,
Type = "string",
Iops = 0,
VolumesPerInstance = 0,
},
},
WeightedCapacity = 0,
},
},
LaunchSpecifications = new Aws.Emr.Inputs.ClusterMasterInstanceFleetLaunchSpecificationsArgs
{
OnDemandSpecifications = new[]
{
new Aws.Emr.Inputs.ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs
{
AllocationStrategy = "string",
},
},
SpotSpecifications = new[]
{
new Aws.Emr.Inputs.ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs
{
AllocationStrategy = "string",
TimeoutAction = "string",
TimeoutDurationMinutes = 0,
BlockDurationMinutes = 0,
},
},
},
Name = "string",
ProvisionedOnDemandCapacity = 0,
ProvisionedSpotCapacity = 0,
TargetOnDemandCapacity = 0,
TargetSpotCapacity = 0,
},
AdditionalInfo = "string",
CoreInstanceGroup = new Aws.Emr.Inputs.ClusterCoreInstanceGroupArgs
{
InstanceType = "string",
AutoscalingPolicy = "string",
BidPrice = "string",
EbsConfigs = new[]
{
new Aws.Emr.Inputs.ClusterCoreInstanceGroupEbsConfigArgs
{
Size = 0,
Type = "string",
Iops = 0,
Throughput = 0,
VolumesPerInstance = 0,
},
},
Id = "string",
InstanceCount = 0,
Name = "string",
},
CustomAmiId = "string",
EbsRootVolumeSize = 0,
Ec2Attributes = new Aws.Emr.Inputs.ClusterEc2AttributesArgs
{
InstanceProfile = "string",
AdditionalMasterSecurityGroups = "string",
AdditionalSlaveSecurityGroups = "string",
EmrManagedMasterSecurityGroup = "string",
EmrManagedSlaveSecurityGroup = "string",
KeyName = "string",
ServiceAccessSecurityGroup = "string",
SubnetId = "string",
SubnetIds = new[]
{
"string",
},
},
KeepJobFlowAliveWhenNoSteps = false,
MasterInstanceGroup = new Aws.Emr.Inputs.ClusterMasterInstanceGroupArgs
{
InstanceType = "string",
BidPrice = "string",
EbsConfigs = new[]
{
new Aws.Emr.Inputs.ClusterMasterInstanceGroupEbsConfigArgs
{
Size = 0,
Type = "string",
Iops = 0,
Throughput = 0,
VolumesPerInstance = 0,
},
},
Id = "string",
InstanceCount = 0,
Name = "string",
},
ListStepsStates = new[]
{
"string",
},
LogEncryptionKmsKeyId = "string",
BootstrapActions = new[]
{
new Aws.Emr.Inputs.ClusterBootstrapActionArgs
{
Name = "string",
Path = "string",
Args = new[]
{
"string",
},
},
},
AutoscalingRole = "string",
KerberosAttributes = new Aws.Emr.Inputs.ClusterKerberosAttributesArgs
{
KdcAdminPassword = "string",
Realm = "string",
AdDomainJoinPassword = "string",
AdDomainJoinUser = "string",
CrossRealmTrustPrincipalPassword = "string",
},
Name = "string",
PlacementGroupConfigs = new[]
{
new Aws.Emr.Inputs.ClusterPlacementGroupConfigArgs
{
InstanceRole = "string",
PlacementStrategy = "string",
},
},
AutoTerminationPolicy = new Aws.Emr.Inputs.ClusterAutoTerminationPolicyArgs
{
IdleTimeout = 0,
},
ScaleDownBehavior = "string",
SecurityConfiguration = "string",
Applications = new[]
{
"string",
},
StepConcurrencyLevel = 0,
Steps = new[]
{
new Aws.Emr.Inputs.ClusterStepArgs
{
ActionOnFailure = "string",
HadoopJarStep = new Aws.Emr.Inputs.ClusterStepHadoopJarStepArgs
{
Jar = "string",
Args = new[]
{
"string",
},
MainClass = "string",
Properties =
{
{ "string", "string" },
},
},
Name = "string",
},
},
Tags =
{
{ "string", "string" },
},
TerminationProtection = false,
UnhealthyNodeReplacement = false,
VisibleToAllUsers = false,
});
example, err := emr.NewCluster(ctx, "exampleclusterResourceResourceFromEmrcluster", &emr.ClusterArgs{
ReleaseLabel: pulumi.String("string"),
ServiceRole: pulumi.String("string"),
CoreInstanceFleet: &emr.ClusterCoreInstanceFleetArgs{
Id: pulumi.String("string"),
InstanceTypeConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigArray{
&emr.ClusterCoreInstanceFleetInstanceTypeConfigArgs{
InstanceType: pulumi.String("string"),
BidPrice: pulumi.String("string"),
BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(0),
Configurations: emr.ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArray{
&emr.ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs{
Classification: pulumi.String("string"),
Properties: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
EbsConfigs: emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArray{
&emr.ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs{
Size: pulumi.Int(0),
Type: pulumi.String("string"),
Iops: pulumi.Int(0),
VolumesPerInstance: pulumi.Int(0),
},
},
WeightedCapacity: pulumi.Int(0),
},
},
LaunchSpecifications: &emr.ClusterCoreInstanceFleetLaunchSpecificationsArgs{
OnDemandSpecifications: emr.ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArray{
&emr.ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs{
AllocationStrategy: pulumi.String("string"),
},
},
SpotSpecifications: emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArray{
&emr.ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs{
AllocationStrategy: pulumi.String("string"),
TimeoutAction: pulumi.String("string"),
TimeoutDurationMinutes: pulumi.Int(0),
BlockDurationMinutes: pulumi.Int(0),
},
},
},
Name: pulumi.String("string"),
ProvisionedOnDemandCapacity: pulumi.Int(0),
ProvisionedSpotCapacity: pulumi.Int(0),
TargetOnDemandCapacity: pulumi.Int(0),
TargetSpotCapacity: pulumi.Int(0),
},
ConfigurationsJson: pulumi.String("string"),
LogUri: pulumi.String("string"),
Configurations: pulumi.String("string"),
MasterInstanceFleet: &emr.ClusterMasterInstanceFleetArgs{
Id: pulumi.String("string"),
InstanceTypeConfigs: emr.ClusterMasterInstanceFleetInstanceTypeConfigArray{
&emr.ClusterMasterInstanceFleetInstanceTypeConfigArgs{
InstanceType: pulumi.String("string"),
BidPrice: pulumi.String("string"),
BidPriceAsPercentageOfOnDemandPrice: pulumi.Float64(0),
Configurations: emr.ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArray{
&emr.ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs{
Classification: pulumi.String("string"),
Properties: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
},
EbsConfigs: emr.ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArray{
&emr.ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs{
Size: pulumi.Int(0),
Type: pulumi.String("string"),
Iops: pulumi.Int(0),
VolumesPerInstance: pulumi.Int(0),
},
},
WeightedCapacity: pulumi.Int(0),
},
},
LaunchSpecifications: &emr.ClusterMasterInstanceFleetLaunchSpecificationsArgs{
OnDemandSpecifications: emr.ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArray{
&emr.ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs{
AllocationStrategy: pulumi.String("string"),
},
},
SpotSpecifications: emr.ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArray{
&emr.ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs{
AllocationStrategy: pulumi.String("string"),
TimeoutAction: pulumi.String("string"),
TimeoutDurationMinutes: pulumi.Int(0),
BlockDurationMinutes: pulumi.Int(0),
},
},
},
Name: pulumi.String("string"),
ProvisionedOnDemandCapacity: pulumi.Int(0),
ProvisionedSpotCapacity: pulumi.Int(0),
TargetOnDemandCapacity: pulumi.Int(0),
TargetSpotCapacity: pulumi.Int(0),
},
AdditionalInfo: pulumi.String("string"),
CoreInstanceGroup: &emr.ClusterCoreInstanceGroupArgs{
InstanceType: pulumi.String("string"),
AutoscalingPolicy: pulumi.String("string"),
BidPrice: pulumi.String("string"),
EbsConfigs: emr.ClusterCoreInstanceGroupEbsConfigArray{
&emr.ClusterCoreInstanceGroupEbsConfigArgs{
Size: pulumi.Int(0),
Type: pulumi.String("string"),
Iops: pulumi.Int(0),
Throughput: pulumi.Int(0),
VolumesPerInstance: pulumi.Int(0),
},
},
Id: pulumi.String("string"),
InstanceCount: pulumi.Int(0),
Name: pulumi.String("string"),
},
CustomAmiId: pulumi.String("string"),
EbsRootVolumeSize: pulumi.Int(0),
Ec2Attributes: &emr.ClusterEc2AttributesArgs{
InstanceProfile: pulumi.String("string"),
AdditionalMasterSecurityGroups: pulumi.String("string"),
AdditionalSlaveSecurityGroups: pulumi.String("string"),
EmrManagedMasterSecurityGroup: pulumi.String("string"),
EmrManagedSlaveSecurityGroup: pulumi.String("string"),
KeyName: pulumi.String("string"),
ServiceAccessSecurityGroup: pulumi.String("string"),
SubnetId: pulumi.String("string"),
SubnetIds: pulumi.StringArray{
pulumi.String("string"),
},
},
KeepJobFlowAliveWhenNoSteps: pulumi.Bool(false),
MasterInstanceGroup: &emr.ClusterMasterInstanceGroupArgs{
InstanceType: pulumi.String("string"),
BidPrice: pulumi.String("string"),
EbsConfigs: emr.ClusterMasterInstanceGroupEbsConfigArray{
&emr.ClusterMasterInstanceGroupEbsConfigArgs{
Size: pulumi.Int(0),
Type: pulumi.String("string"),
Iops: pulumi.Int(0),
Throughput: pulumi.Int(0),
VolumesPerInstance: pulumi.Int(0),
},
},
Id: pulumi.String("string"),
InstanceCount: pulumi.Int(0),
Name: pulumi.String("string"),
},
ListStepsStates: pulumi.StringArray{
pulumi.String("string"),
},
LogEncryptionKmsKeyId: pulumi.String("string"),
BootstrapActions: emr.ClusterBootstrapActionArray{
&emr.ClusterBootstrapActionArgs{
Name: pulumi.String("string"),
Path: pulumi.String("string"),
Args: pulumi.StringArray{
pulumi.String("string"),
},
},
},
AutoscalingRole: pulumi.String("string"),
KerberosAttributes: &emr.ClusterKerberosAttributesArgs{
KdcAdminPassword: pulumi.String("string"),
Realm: pulumi.String("string"),
AdDomainJoinPassword: pulumi.String("string"),
AdDomainJoinUser: pulumi.String("string"),
CrossRealmTrustPrincipalPassword: pulumi.String("string"),
},
Name: pulumi.String("string"),
PlacementGroupConfigs: emr.ClusterPlacementGroupConfigArray{
&emr.ClusterPlacementGroupConfigArgs{
InstanceRole: pulumi.String("string"),
PlacementStrategy: pulumi.String("string"),
},
},
AutoTerminationPolicy: &emr.ClusterAutoTerminationPolicyArgs{
IdleTimeout: pulumi.Int(0),
},
ScaleDownBehavior: pulumi.String("string"),
SecurityConfiguration: pulumi.String("string"),
Applications: pulumi.StringArray{
pulumi.String("string"),
},
StepConcurrencyLevel: pulumi.Int(0),
Steps: emr.ClusterStepArray{
&emr.ClusterStepArgs{
ActionOnFailure: pulumi.String("string"),
HadoopJarStep: &emr.ClusterStepHadoopJarStepArgs{
Jar: pulumi.String("string"),
Args: pulumi.StringArray{
pulumi.String("string"),
},
MainClass: pulumi.String("string"),
Properties: pulumi.StringMap{
"string": pulumi.String("string"),
},
},
Name: pulumi.String("string"),
},
},
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
TerminationProtection: pulumi.Bool(false),
UnhealthyNodeReplacement: pulumi.Bool(false),
VisibleToAllUsers: pulumi.Bool(false),
})
var exampleclusterResourceResourceFromEmrcluster = new Cluster("exampleclusterResourceResourceFromEmrcluster", ClusterArgs.builder()
.releaseLabel("string")
.serviceRole("string")
.coreInstanceFleet(ClusterCoreInstanceFleetArgs.builder()
.id("string")
.instanceTypeConfigs(ClusterCoreInstanceFleetInstanceTypeConfigArgs.builder()
.instanceType("string")
.bidPrice("string")
.bidPriceAsPercentageOfOnDemandPrice(0)
.configurations(ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs.builder()
.classification("string")
.properties(Map.of("string", "string"))
.build())
.ebsConfigs(ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()
.size(0)
.type("string")
.iops(0)
.volumesPerInstance(0)
.build())
.weightedCapacity(0)
.build())
.launchSpecifications(ClusterCoreInstanceFleetLaunchSpecificationsArgs.builder()
.onDemandSpecifications(ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs.builder()
.allocationStrategy("string")
.build())
.spotSpecifications(ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()
.allocationStrategy("string")
.timeoutAction("string")
.timeoutDurationMinutes(0)
.blockDurationMinutes(0)
.build())
.build())
.name("string")
.provisionedOnDemandCapacity(0)
.provisionedSpotCapacity(0)
.targetOnDemandCapacity(0)
.targetSpotCapacity(0)
.build())
.configurationsJson("string")
.logUri("string")
.configurations("string")
.masterInstanceFleet(ClusterMasterInstanceFleetArgs.builder()
.id("string")
.instanceTypeConfigs(ClusterMasterInstanceFleetInstanceTypeConfigArgs.builder()
.instanceType("string")
.bidPrice("string")
.bidPriceAsPercentageOfOnDemandPrice(0)
.configurations(ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs.builder()
.classification("string")
.properties(Map.of("string", "string"))
.build())
.ebsConfigs(ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs.builder()
.size(0)
.type("string")
.iops(0)
.volumesPerInstance(0)
.build())
.weightedCapacity(0)
.build())
.launchSpecifications(ClusterMasterInstanceFleetLaunchSpecificationsArgs.builder()
.onDemandSpecifications(ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs.builder()
.allocationStrategy("string")
.build())
.spotSpecifications(ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs.builder()
.allocationStrategy("string")
.timeoutAction("string")
.timeoutDurationMinutes(0)
.blockDurationMinutes(0)
.build())
.build())
.name("string")
.provisionedOnDemandCapacity(0)
.provisionedSpotCapacity(0)
.targetOnDemandCapacity(0)
.targetSpotCapacity(0)
.build())
.additionalInfo("string")
.coreInstanceGroup(ClusterCoreInstanceGroupArgs.builder()
.instanceType("string")
.autoscalingPolicy("string")
.bidPrice("string")
.ebsConfigs(ClusterCoreInstanceGroupEbsConfigArgs.builder()
.size(0)
.type("string")
.iops(0)
.throughput(0)
.volumesPerInstance(0)
.build())
.id("string")
.instanceCount(0)
.name("string")
.build())
.customAmiId("string")
.ebsRootVolumeSize(0)
.ec2Attributes(ClusterEc2AttributesArgs.builder()
.instanceProfile("string")
.additionalMasterSecurityGroups("string")
.additionalSlaveSecurityGroups("string")
.emrManagedMasterSecurityGroup("string")
.emrManagedSlaveSecurityGroup("string")
.keyName("string")
.serviceAccessSecurityGroup("string")
.subnetId("string")
.subnetIds("string")
.build())
.keepJobFlowAliveWhenNoSteps(false)
.masterInstanceGroup(ClusterMasterInstanceGroupArgs.builder()
.instanceType("string")
.bidPrice("string")
.ebsConfigs(ClusterMasterInstanceGroupEbsConfigArgs.builder()
.size(0)
.type("string")
.iops(0)
.throughput(0)
.volumesPerInstance(0)
.build())
.id("string")
.instanceCount(0)
.name("string")
.build())
.listStepsStates("string")
.logEncryptionKmsKeyId("string")
.bootstrapActions(ClusterBootstrapActionArgs.builder()
.name("string")
.path("string")
.args("string")
.build())
.autoscalingRole("string")
.kerberosAttributes(ClusterKerberosAttributesArgs.builder()
.kdcAdminPassword("string")
.realm("string")
.adDomainJoinPassword("string")
.adDomainJoinUser("string")
.crossRealmTrustPrincipalPassword("string")
.build())
.name("string")
.placementGroupConfigs(ClusterPlacementGroupConfigArgs.builder()
.instanceRole("string")
.placementStrategy("string")
.build())
.autoTerminationPolicy(ClusterAutoTerminationPolicyArgs.builder()
.idleTimeout(0)
.build())
.scaleDownBehavior("string")
.securityConfiguration("string")
.applications("string")
.stepConcurrencyLevel(0)
.steps(ClusterStepArgs.builder()
.actionOnFailure("string")
.hadoopJarStep(ClusterStepHadoopJarStepArgs.builder()
.jar("string")
.args("string")
.mainClass("string")
.properties(Map.of("string", "string"))
.build())
.name("string")
.build())
.tags(Map.of("string", "string"))
.terminationProtection(false)
.unhealthyNodeReplacement(false)
.visibleToAllUsers(false)
.build());
examplecluster_resource_resource_from_emrcluster = aws.emr.Cluster("exampleclusterResourceResourceFromEmrcluster",
release_label="string",
service_role="string",
core_instance_fleet={
"id": "string",
"instance_type_configs": [{
"instance_type": "string",
"bid_price": "string",
"bid_price_as_percentage_of_on_demand_price": 0,
"configurations": [{
"classification": "string",
"properties": {
"string": "string",
},
}],
"ebs_configs": [{
"size": 0,
"type": "string",
"iops": 0,
"volumes_per_instance": 0,
}],
"weighted_capacity": 0,
}],
"launch_specifications": {
"on_demand_specifications": [{
"allocation_strategy": "string",
}],
"spot_specifications": [{
"allocation_strategy": "string",
"timeout_action": "string",
"timeout_duration_minutes": 0,
"block_duration_minutes": 0,
}],
},
"name": "string",
"provisioned_on_demand_capacity": 0,
"provisioned_spot_capacity": 0,
"target_on_demand_capacity": 0,
"target_spot_capacity": 0,
},
configurations_json="string",
log_uri="string",
configurations="string",
master_instance_fleet={
"id": "string",
"instance_type_configs": [{
"instance_type": "string",
"bid_price": "string",
"bid_price_as_percentage_of_on_demand_price": 0,
"configurations": [{
"classification": "string",
"properties": {
"string": "string",
},
}],
"ebs_configs": [{
"size": 0,
"type": "string",
"iops": 0,
"volumes_per_instance": 0,
}],
"weighted_capacity": 0,
}],
"launch_specifications": {
"on_demand_specifications": [{
"allocation_strategy": "string",
}],
"spot_specifications": [{
"allocation_strategy": "string",
"timeout_action": "string",
"timeout_duration_minutes": 0,
"block_duration_minutes": 0,
}],
},
"name": "string",
"provisioned_on_demand_capacity": 0,
"provisioned_spot_capacity": 0,
"target_on_demand_capacity": 0,
"target_spot_capacity": 0,
},
additional_info="string",
core_instance_group={
"instance_type": "string",
"autoscaling_policy": "string",
"bid_price": "string",
"ebs_configs": [{
"size": 0,
"type": "string",
"iops": 0,
"throughput": 0,
"volumes_per_instance": 0,
}],
"id": "string",
"instance_count": 0,
"name": "string",
},
custom_ami_id="string",
ebs_root_volume_size=0,
ec2_attributes={
"instance_profile": "string",
"additional_master_security_groups": "string",
"additional_slave_security_groups": "string",
"emr_managed_master_security_group": "string",
"emr_managed_slave_security_group": "string",
"key_name": "string",
"service_access_security_group": "string",
"subnet_id": "string",
"subnet_ids": ["string"],
},
keep_job_flow_alive_when_no_steps=False,
master_instance_group={
"instance_type": "string",
"bid_price": "string",
"ebs_configs": [{
"size": 0,
"type": "string",
"iops": 0,
"throughput": 0,
"volumes_per_instance": 0,
}],
"id": "string",
"instance_count": 0,
"name": "string",
},
list_steps_states=["string"],
log_encryption_kms_key_id="string",
bootstrap_actions=[{
"name": "string",
"path": "string",
"args": ["string"],
}],
autoscaling_role="string",
kerberos_attributes={
"kdc_admin_password": "string",
"realm": "string",
"ad_domain_join_password": "string",
"ad_domain_join_user": "string",
"cross_realm_trust_principal_password": "string",
},
name="string",
placement_group_configs=[{
"instance_role": "string",
"placement_strategy": "string",
}],
auto_termination_policy={
"idle_timeout": 0,
},
scale_down_behavior="string",
security_configuration="string",
applications=["string"],
step_concurrency_level=0,
steps=[{
"action_on_failure": "string",
"hadoop_jar_step": {
"jar": "string",
"args": ["string"],
"main_class": "string",
"properties": {
"string": "string",
},
},
"name": "string",
}],
tags={
"string": "string",
},
termination_protection=False,
unhealthy_node_replacement=False,
visible_to_all_users=False)
const exampleclusterResourceResourceFromEmrcluster = new aws.emr.Cluster("exampleclusterResourceResourceFromEmrcluster", {
releaseLabel: "string",
serviceRole: "string",
coreInstanceFleet: {
id: "string",
instanceTypeConfigs: [{
instanceType: "string",
bidPrice: "string",
bidPriceAsPercentageOfOnDemandPrice: 0,
configurations: [{
classification: "string",
properties: {
string: "string",
},
}],
ebsConfigs: [{
size: 0,
type: "string",
iops: 0,
volumesPerInstance: 0,
}],
weightedCapacity: 0,
}],
launchSpecifications: {
onDemandSpecifications: [{
allocationStrategy: "string",
}],
spotSpecifications: [{
allocationStrategy: "string",
timeoutAction: "string",
timeoutDurationMinutes: 0,
blockDurationMinutes: 0,
}],
},
name: "string",
provisionedOnDemandCapacity: 0,
provisionedSpotCapacity: 0,
targetOnDemandCapacity: 0,
targetSpotCapacity: 0,
},
configurationsJson: "string",
logUri: "string",
configurations: "string",
masterInstanceFleet: {
id: "string",
instanceTypeConfigs: [{
instanceType: "string",
bidPrice: "string",
bidPriceAsPercentageOfOnDemandPrice: 0,
configurations: [{
classification: "string",
properties: {
string: "string",
},
}],
ebsConfigs: [{
size: 0,
type: "string",
iops: 0,
volumesPerInstance: 0,
}],
weightedCapacity: 0,
}],
launchSpecifications: {
onDemandSpecifications: [{
allocationStrategy: "string",
}],
spotSpecifications: [{
allocationStrategy: "string",
timeoutAction: "string",
timeoutDurationMinutes: 0,
blockDurationMinutes: 0,
}],
},
name: "string",
provisionedOnDemandCapacity: 0,
provisionedSpotCapacity: 0,
targetOnDemandCapacity: 0,
targetSpotCapacity: 0,
},
additionalInfo: "string",
coreInstanceGroup: {
instanceType: "string",
autoscalingPolicy: "string",
bidPrice: "string",
ebsConfigs: [{
size: 0,
type: "string",
iops: 0,
throughput: 0,
volumesPerInstance: 0,
}],
id: "string",
instanceCount: 0,
name: "string",
},
customAmiId: "string",
ebsRootVolumeSize: 0,
ec2Attributes: {
instanceProfile: "string",
additionalMasterSecurityGroups: "string",
additionalSlaveSecurityGroups: "string",
emrManagedMasterSecurityGroup: "string",
emrManagedSlaveSecurityGroup: "string",
keyName: "string",
serviceAccessSecurityGroup: "string",
subnetId: "string",
subnetIds: ["string"],
},
keepJobFlowAliveWhenNoSteps: false,
masterInstanceGroup: {
instanceType: "string",
bidPrice: "string",
ebsConfigs: [{
size: 0,
type: "string",
iops: 0,
throughput: 0,
volumesPerInstance: 0,
}],
id: "string",
instanceCount: 0,
name: "string",
},
listStepsStates: ["string"],
logEncryptionKmsKeyId: "string",
bootstrapActions: [{
name: "string",
path: "string",
args: ["string"],
}],
autoscalingRole: "string",
kerberosAttributes: {
kdcAdminPassword: "string",
realm: "string",
adDomainJoinPassword: "string",
adDomainJoinUser: "string",
crossRealmTrustPrincipalPassword: "string",
},
name: "string",
placementGroupConfigs: [{
instanceRole: "string",
placementStrategy: "string",
}],
autoTerminationPolicy: {
idleTimeout: 0,
},
scaleDownBehavior: "string",
securityConfiguration: "string",
applications: ["string"],
stepConcurrencyLevel: 0,
steps: [{
actionOnFailure: "string",
hadoopJarStep: {
jar: "string",
args: ["string"],
mainClass: "string",
properties: {
string: "string",
},
},
name: "string",
}],
tags: {
string: "string",
},
terminationProtection: false,
unhealthyNodeReplacement: false,
visibleToAllUsers: false,
});
type: aws:emr:Cluster
properties:
additionalInfo: string
applications:
- string
autoTerminationPolicy:
idleTimeout: 0
autoscalingRole: string
bootstrapActions:
- args:
- string
name: string
path: string
configurations: string
configurationsJson: string
coreInstanceFleet:
id: string
instanceTypeConfigs:
- bidPrice: string
bidPriceAsPercentageOfOnDemandPrice: 0
configurations:
- classification: string
properties:
string: string
ebsConfigs:
- iops: 0
size: 0
type: string
volumesPerInstance: 0
instanceType: string
weightedCapacity: 0
launchSpecifications:
onDemandSpecifications:
- allocationStrategy: string
spotSpecifications:
- allocationStrategy: string
blockDurationMinutes: 0
timeoutAction: string
timeoutDurationMinutes: 0
name: string
provisionedOnDemandCapacity: 0
provisionedSpotCapacity: 0
targetOnDemandCapacity: 0
targetSpotCapacity: 0
coreInstanceGroup:
autoscalingPolicy: string
bidPrice: string
ebsConfigs:
- iops: 0
size: 0
throughput: 0
type: string
volumesPerInstance: 0
id: string
instanceCount: 0
instanceType: string
name: string
customAmiId: string
ebsRootVolumeSize: 0
ec2Attributes:
additionalMasterSecurityGroups: string
additionalSlaveSecurityGroups: string
emrManagedMasterSecurityGroup: string
emrManagedSlaveSecurityGroup: string
instanceProfile: string
keyName: string
serviceAccessSecurityGroup: string
subnetId: string
subnetIds:
- string
keepJobFlowAliveWhenNoSteps: false
kerberosAttributes:
adDomainJoinPassword: string
adDomainJoinUser: string
crossRealmTrustPrincipalPassword: string
kdcAdminPassword: string
realm: string
listStepsStates:
- string
logEncryptionKmsKeyId: string
logUri: string
masterInstanceFleet:
id: string
instanceTypeConfigs:
- bidPrice: string
bidPriceAsPercentageOfOnDemandPrice: 0
configurations:
- classification: string
properties:
string: string
ebsConfigs:
- iops: 0
size: 0
type: string
volumesPerInstance: 0
instanceType: string
weightedCapacity: 0
launchSpecifications:
onDemandSpecifications:
- allocationStrategy: string
spotSpecifications:
- allocationStrategy: string
blockDurationMinutes: 0
timeoutAction: string
timeoutDurationMinutes: 0
name: string
provisionedOnDemandCapacity: 0
provisionedSpotCapacity: 0
targetOnDemandCapacity: 0
targetSpotCapacity: 0
masterInstanceGroup:
bidPrice: string
ebsConfigs:
- iops: 0
size: 0
throughput: 0
type: string
volumesPerInstance: 0
id: string
instanceCount: 0
instanceType: string
name: string
name: string
placementGroupConfigs:
- instanceRole: string
placementStrategy: string
releaseLabel: string
scaleDownBehavior: string
securityConfiguration: string
serviceRole: string
stepConcurrencyLevel: 0
steps:
- actionOnFailure: string
hadoopJarStep:
args:
- string
jar: string
mainClass: string
properties:
string: string
name: string
tags:
string: string
terminationProtection: false
unhealthyNodeReplacement: false
visibleToAllUsers: false
Cluster 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 Cluster resource accepts the following input properties:
- Release
Label This property is required. Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- Service
Role This property is required. Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- Additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- Applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- Auto
Termination ClusterPolicy Auto Termination Policy - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- Autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- Bootstrap
Actions Changes to this property will trigger replacement.
Bootstrap Action> - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- Configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- Configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- Core
Instance Fleet Changes to this property will trigger replacement.
Core Instance Fleet - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - Core
Instance Group Changes to this property will trigger replacement.
Core Instance Group - Configuration block to use an Instance Group for the core node type.
- Custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- Ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- Ec2Attributes
Changes to this property will trigger replacement.
Ec2Attributes - Attributes for the EC2 instances running the job flow. See below.
- Keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- Kerberos
Attributes Changes to this property will trigger replacement.
Kerberos Attributes - Kerberos configuration for the cluster. See below.
- List
Steps List<string>States - List of step states used to filter returned steps
- Log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- Log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- Master
Instance Fleet Changes to this property will trigger replacement.
Master Instance Fleet - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - Master
Instance Group Changes to this property will trigger replacement.
Master Instance Group - Configuration block to use an Instance Group for the master node type.
- Name
Changes to this property will trigger replacement.
- Name of the job flow.
- Placement
Group Configs Changes to this property will trigger replacement.
Placement Group Config> - The specified placement group configuration for an Amazon EMR cluster.
- Scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - Security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - Step
Concurrency intLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - Steps
Changes to this property will trigger replacement.
Step> - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - Dictionary<string, string>
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Termination
Protection bool - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - Unhealthy
Node boolReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - Visible
To boolAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- Release
Label This property is required. Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- Service
Role This property is required. Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- Additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- Applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- Auto
Termination ClusterPolicy Auto Termination Policy Args - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- Autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- Bootstrap
Actions Changes to this property will trigger replacement.
Bootstrap Action Args - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- Configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- Configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- Core
Instance Fleet Changes to this property will trigger replacement.
Core Instance Fleet Args - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - Core
Instance Group Changes to this property will trigger replacement.
Core Instance Group Args - Configuration block to use an Instance Group for the core node type.
- Custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- Ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- Ec2Attributes
Changes to this property will trigger replacement.
Ec2Attributes Args - Attributes for the EC2 instances running the job flow. See below.
- Keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- Kerberos
Attributes Changes to this property will trigger replacement.
Kerberos Attributes Args - Kerberos configuration for the cluster. See below.
- List
Steps []stringStates - List of step states used to filter returned steps
- Log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- Log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- Master
Instance Fleet Changes to this property will trigger replacement.
Master Instance Fleet Args - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - Master
Instance Group Changes to this property will trigger replacement.
Master Instance Group Args - Configuration block to use an Instance Group for the master node type.
- Name
Changes to this property will trigger replacement.
- Name of the job flow.
- Placement
Group Configs Changes to this property will trigger replacement.
Placement Group Config Args - The specified placement group configuration for an Amazon EMR cluster.
- Scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - Security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - Step
Concurrency intLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - Steps
Changes to this property will trigger replacement.
Step Args - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - map[string]string
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Termination
Protection bool - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - Unhealthy
Node boolReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - Visible
To boolAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- release
Label This property is required. Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- service
Role This property is required. Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- auto
Termination ClusterPolicy Auto Termination Policy - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- bootstrap
Actions Changes to this property will trigger replacement.
Bootstrap Action> - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- core
Instance Fleet Changes to this property will trigger replacement.
Core Instance Fleet - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - core
Instance Group Changes to this property will trigger replacement.
Core Instance Group - Configuration block to use an Instance Group for the core node type.
- custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- ec2Attributes
Changes to this property will trigger replacement.
Ec2Attributes - Attributes for the EC2 instances running the job flow. See below.
- keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- kerberos
Attributes Changes to this property will trigger replacement.
Kerberos Attributes - Kerberos configuration for the cluster. See below.
- list
Steps List<String>States - List of step states used to filter returned steps
- log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- master
Instance Fleet Changes to this property will trigger replacement.
Master Instance Fleet - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - master
Instance Group Changes to this property will trigger replacement.
Master Instance Group - Configuration block to use an Instance Group for the master node type.
- name
Changes to this property will trigger replacement.
- Name of the job flow.
- placement
Group Configs Changes to this property will trigger replacement.
Placement Group Config> - The specified placement group configuration for an Amazon EMR cluster.
- scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - step
Concurrency IntegerLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - steps
Changes to this property will trigger replacement.
Step> - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - Map<String,String>
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - termination
Protection Boolean - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - unhealthy
Node BooleanReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - visible
To BooleanAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- release
Label This property is required. Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- service
Role This property is required. Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- auto
Termination ClusterPolicy Auto Termination Policy - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- bootstrap
Actions Changes to this property will trigger replacement.
Bootstrap Action[] - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- core
Instance Fleet Changes to this property will trigger replacement.
Core Instance Fleet - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - core
Instance Group Changes to this property will trigger replacement.
Core Instance Group - Configuration block to use an Instance Group for the core node type.
- custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- ec2Attributes
Changes to this property will trigger replacement.
Ec2Attributes - Attributes for the EC2 instances running the job flow. See below.
- keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- kerberos
Attributes Changes to this property will trigger replacement.
Kerberos Attributes - Kerberos configuration for the cluster. See below.
- list
Steps string[]States - List of step states used to filter returned steps
- log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- master
Instance Fleet Changes to this property will trigger replacement.
Master Instance Fleet - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - master
Instance Group Changes to this property will trigger replacement.
Master Instance Group - Configuration block to use an Instance Group for the master node type.
- name
Changes to this property will trigger replacement.
- Name of the job flow.
- placement
Group Configs Changes to this property will trigger replacement.
Placement Group Config[] - The specified placement group configuration for an Amazon EMR cluster.
- scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - step
Concurrency numberLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - steps
Changes to this property will trigger replacement.
Step[] - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - {[key: string]: string}
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - termination
Protection boolean - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - unhealthy
Node booleanReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - visible
To booleanAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- release_
label This property is required. Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- service_
role This property is required. Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- additional_
info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- auto_
termination_ Clusterpolicy Auto Termination Policy Args - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- autoscaling_
role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- bootstrap_
actions Changes to this property will trigger replacement.
Bootstrap Action Args] - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- configurations_
json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- core_
instance_ fleet Changes to this property will trigger replacement.
Core Instance Fleet Args - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - core_
instance_ group Changes to this property will trigger replacement.
Core Instance Group Args - Configuration block to use an Instance Group for the core node type.
- custom_
ami_ id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- ebs_
root_ volume_ size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- ec2_
attributes Changes to this property will trigger replacement.
Ec2Attributes Args - Attributes for the EC2 instances running the job flow. See below.
- keep_
job_ flow_ alive_ when_ no_ steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- kerberos_
attributes Changes to this property will trigger replacement.
Kerberos Attributes Args - Kerberos configuration for the cluster. See below.
- list_
steps_ Sequence[str]states - List of step states used to filter returned steps
- log_
encryption_ kms_ key_ id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- log_
uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- master_
instance_ fleet Changes to this property will trigger replacement.
Master Instance Fleet Args - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - master_
instance_ group Changes to this property will trigger replacement.
Master Instance Group Args - Configuration block to use an Instance Group for the master node type.
- name
Changes to this property will trigger replacement.
- Name of the job flow.
- placement_
group_ configs Changes to this property will trigger replacement.
Placement Group Config Args] - The specified placement group configuration for an Amazon EMR cluster.
- scale_
down_ behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - security_
configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - step_
concurrency_ intlevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - steps
Changes to this property will trigger replacement.
Step Args] - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - Mapping[str, str]
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - termination_
protection bool - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - unhealthy_
node_ boolreplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - visible_
to_ boolall_ users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- release
Label This property is required. Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- service
Role This property is required. Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- auto
Termination Property MapPolicy - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- bootstrap
Actions Changes to this property will trigger replacement.
- Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- core
Instance Fleet Changes to this property will trigger replacement.
- Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - core
Instance Group Changes to this property will trigger replacement.
- Configuration block to use an Instance Group for the core node type.
- custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- ec2Attributes
Changes to this property will trigger replacement.
- Attributes for the EC2 instances running the job flow. See below.
- keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- kerberos
Attributes Changes to this property will trigger replacement.
- Kerberos configuration for the cluster. See below.
- list
Steps List<String>States - List of step states used to filter returned steps
- log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- master
Instance Fleet Changes to this property will trigger replacement.
- Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - master
Instance Group Changes to this property will trigger replacement.
- Configuration block to use an Instance Group for the master node type.
- name
Changes to this property will trigger replacement.
- Name of the job flow.
- placement
Group Configs Changes to this property will trigger replacement.
- The specified placement group configuration for an Amazon EMR cluster.
- scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - step
Concurrency NumberLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - steps
Changes to this property will trigger replacement.
- List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - Map<String>
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - termination
Protection Boolean - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - unhealthy
Node BooleanReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - visible
To BooleanAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
Outputs
All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:
- Arn string
- ARN of the cluster.
- Id string
- The provider-assigned unique ID for this managed resource.
- Master
Public stringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- State string
- Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- Arn string
- ARN of the cluster.
- Cluster
State string - Id string
- The provider-assigned unique ID for this managed resource.
- Master
Public stringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- map[string]string
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- arn String
- ARN of the cluster.
- cluster
State String - id String
- The provider-assigned unique ID for this managed resource.
- master
Public StringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- arn string
- ARN of the cluster.
- cluster
State string - id string
- The provider-assigned unique ID for this managed resource.
- master
Public stringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- arn str
- ARN of the cluster.
- cluster_
state str - id str
- The provider-assigned unique ID for this managed resource.
- master_
public_ strdns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- arn String
- ARN of the cluster.
- cluster
State String - id String
- The provider-assigned unique ID for this managed resource.
- master
Public StringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- Map<String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
Look up Existing Cluster Resource
Get an existing Cluster 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?: ClusterState, opts?: CustomResourceOptions): Cluster
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
additional_info: Optional[str] = None,
applications: Optional[Sequence[str]] = None,
arn: Optional[str] = None,
auto_termination_policy: Optional[ClusterAutoTerminationPolicyArgs] = None,
autoscaling_role: Optional[str] = None,
bootstrap_actions: Optional[Sequence[ClusterBootstrapActionArgs]] = None,
cluster_state: Optional[str] = None,
configurations: Optional[str] = None,
configurations_json: Optional[str] = None,
core_instance_fleet: Optional[ClusterCoreInstanceFleetArgs] = None,
core_instance_group: Optional[ClusterCoreInstanceGroupArgs] = None,
custom_ami_id: Optional[str] = None,
ebs_root_volume_size: Optional[int] = None,
ec2_attributes: Optional[ClusterEc2AttributesArgs] = None,
keep_job_flow_alive_when_no_steps: Optional[bool] = None,
kerberos_attributes: Optional[ClusterKerberosAttributesArgs] = None,
list_steps_states: Optional[Sequence[str]] = None,
log_encryption_kms_key_id: Optional[str] = None,
log_uri: Optional[str] = None,
master_instance_fleet: Optional[ClusterMasterInstanceFleetArgs] = None,
master_instance_group: Optional[ClusterMasterInstanceGroupArgs] = None,
master_public_dns: Optional[str] = None,
name: Optional[str] = None,
placement_group_configs: Optional[Sequence[ClusterPlacementGroupConfigArgs]] = None,
release_label: Optional[str] = None,
scale_down_behavior: Optional[str] = None,
security_configuration: Optional[str] = None,
service_role: Optional[str] = None,
step_concurrency_level: Optional[int] = None,
steps: Optional[Sequence[ClusterStepArgs]] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None,
termination_protection: Optional[bool] = None,
unhealthy_node_replacement: Optional[bool] = None,
visible_to_all_users: Optional[bool] = None) -> Cluster
func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)
public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)
public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)
resources: _: type: aws:emr:Cluster get: id: ${id}
- name
This property is required. - The unique name of the resulting resource.
- id
This property is required. - 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
This property is required. - The unique name of the resulting resource.
- id
This property is required. - The unique provider ID of the resource to lookup.
- name
This property is required. - The unique name of the resulting resource.
- id
This property is required. - 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
This property is required. - The unique name of the resulting resource.
- id
This property is required. - 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
This property is required. - The unique name of the resulting resource.
- id
This property is required. - 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.
- Additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- Applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- Arn string
- ARN of the cluster.
- Auto
Termination ClusterPolicy Auto Termination Policy - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- Autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- Bootstrap
Actions Changes to this property will trigger replacement.
Bootstrap Action> - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- Configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- Configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- Core
Instance Fleet Changes to this property will trigger replacement.
Core Instance Fleet - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - Core
Instance Group Changes to this property will trigger replacement.
Core Instance Group - Configuration block to use an Instance Group for the core node type.
- Custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- Ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- Ec2Attributes
Changes to this property will trigger replacement.
Ec2Attributes - Attributes for the EC2 instances running the job flow. See below.
- Keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- Kerberos
Attributes Changes to this property will trigger replacement.
Kerberos Attributes - Kerberos configuration for the cluster. See below.
- List
Steps List<string>States - List of step states used to filter returned steps
- Log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- Log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- Master
Instance Fleet Changes to this property will trigger replacement.
Master Instance Fleet - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - Master
Instance Group Changes to this property will trigger replacement.
Master Instance Group - Configuration block to use an Instance Group for the master node type.
- Master
Public stringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- Name
Changes to this property will trigger replacement.
- Name of the job flow.
- Placement
Group Configs Changes to this property will trigger replacement.
Placement Group Config> - The specified placement group configuration for an Amazon EMR cluster.
- Release
Label Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- Scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - Security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - Service
Role Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- State string
- Step
Concurrency intLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - Steps
Changes to this property will trigger replacement.
Step> - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - Dictionary<string, string>
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Dictionary<string, string>
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - Termination
Protection bool - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - Unhealthy
Node boolReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - Visible
To boolAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- Additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- Applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- Arn string
- ARN of the cluster.
- Auto
Termination ClusterPolicy Auto Termination Policy Args - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- Autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- Bootstrap
Actions Changes to this property will trigger replacement.
Bootstrap Action Args - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- Cluster
State string - Configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- Configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- Core
Instance Fleet Changes to this property will trigger replacement.
Core Instance Fleet Args - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - Core
Instance Group Changes to this property will trigger replacement.
Core Instance Group Args - Configuration block to use an Instance Group for the core node type.
- Custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- Ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- Ec2Attributes
Changes to this property will trigger replacement.
Ec2Attributes Args - Attributes for the EC2 instances running the job flow. See below.
- Keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- Kerberos
Attributes Changes to this property will trigger replacement.
Kerberos Attributes Args - Kerberos configuration for the cluster. See below.
- List
Steps []stringStates - List of step states used to filter returned steps
- Log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- Log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- Master
Instance Fleet Changes to this property will trigger replacement.
Master Instance Fleet Args - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - Master
Instance Group Changes to this property will trigger replacement.
Master Instance Group Args - Configuration block to use an Instance Group for the master node type.
- Master
Public stringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- Name
Changes to this property will trigger replacement.
- Name of the job flow.
- Placement
Group Configs Changes to this property will trigger replacement.
Placement Group Config Args - The specified placement group configuration for an Amazon EMR cluster.
- Release
Label Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- Scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - Security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - Service
Role Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- Step
Concurrency intLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - Steps
Changes to this property will trigger replacement.
Step Args - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - map[string]string
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - map[string]string
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - Termination
Protection bool - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - Unhealthy
Node boolReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - Visible
To boolAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- arn String
- ARN of the cluster.
- auto
Termination ClusterPolicy Auto Termination Policy - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- bootstrap
Actions Changes to this property will trigger replacement.
Bootstrap Action> - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- cluster
State String - configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- core
Instance Fleet Changes to this property will trigger replacement.
Core Instance Fleet - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - core
Instance Group Changes to this property will trigger replacement.
Core Instance Group - Configuration block to use an Instance Group for the core node type.
- custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- ec2Attributes
Changes to this property will trigger replacement.
Ec2Attributes - Attributes for the EC2 instances running the job flow. See below.
- keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- kerberos
Attributes Changes to this property will trigger replacement.
Kerberos Attributes - Kerberos configuration for the cluster. See below.
- list
Steps List<String>States - List of step states used to filter returned steps
- log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- master
Instance Fleet Changes to this property will trigger replacement.
Master Instance Fleet - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - master
Instance Group Changes to this property will trigger replacement.
Master Instance Group - Configuration block to use an Instance Group for the master node type.
- master
Public StringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- name
Changes to this property will trigger replacement.
- Name of the job flow.
- placement
Group Configs Changes to this property will trigger replacement.
Placement Group Config> - The specified placement group configuration for an Amazon EMR cluster.
- release
Label Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - service
Role Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- step
Concurrency IntegerLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - steps
Changes to this property will trigger replacement.
Step> - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - Map<String,String>
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String,String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - termination
Protection Boolean - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - unhealthy
Node BooleanReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - visible
To BooleanAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- arn string
- ARN of the cluster.
- auto
Termination ClusterPolicy Auto Termination Policy - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- bootstrap
Actions Changes to this property will trigger replacement.
Bootstrap Action[] - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- cluster
State string - configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- core
Instance Fleet Changes to this property will trigger replacement.
Core Instance Fleet - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - core
Instance Group Changes to this property will trigger replacement.
Core Instance Group - Configuration block to use an Instance Group for the core node type.
- custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- ec2Attributes
Changes to this property will trigger replacement.
Ec2Attributes - Attributes for the EC2 instances running the job flow. See below.
- keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- kerberos
Attributes Changes to this property will trigger replacement.
Kerberos Attributes - Kerberos configuration for the cluster. See below.
- list
Steps string[]States - List of step states used to filter returned steps
- log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- master
Instance Fleet Changes to this property will trigger replacement.
Master Instance Fleet - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - master
Instance Group Changes to this property will trigger replacement.
Master Instance Group - Configuration block to use an Instance Group for the master node type.
- master
Public stringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- name
Changes to this property will trigger replacement.
- Name of the job flow.
- placement
Group Configs Changes to this property will trigger replacement.
Placement Group Config[] - The specified placement group configuration for an Amazon EMR cluster.
- release
Label Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - service
Role Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- step
Concurrency numberLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - steps
Changes to this property will trigger replacement.
Step[] - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - {[key: string]: string}
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - {[key: string]: string}
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - termination
Protection boolean - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - unhealthy
Node booleanReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - visible
To booleanAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- additional_
info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- arn str
- ARN of the cluster.
- auto_
termination_ Clusterpolicy Auto Termination Policy Args - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- autoscaling_
role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- bootstrap_
actions Changes to this property will trigger replacement.
Bootstrap Action Args] - Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- cluster_
state str - configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- configurations_
json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- core_
instance_ fleet Changes to this property will trigger replacement.
Core Instance Fleet Args - Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - core_
instance_ group Changes to this property will trigger replacement.
Core Instance Group Args - Configuration block to use an Instance Group for the core node type.
- custom_
ami_ id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- ebs_
root_ volume_ size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- ec2_
attributes Changes to this property will trigger replacement.
Ec2Attributes Args - Attributes for the EC2 instances running the job flow. See below.
- keep_
job_ flow_ alive_ when_ no_ steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- kerberos_
attributes Changes to this property will trigger replacement.
Kerberos Attributes Args - Kerberos configuration for the cluster. See below.
- list_
steps_ Sequence[str]states - List of step states used to filter returned steps
- log_
encryption_ kms_ key_ id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- log_
uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- master_
instance_ fleet Changes to this property will trigger replacement.
Master Instance Fleet Args - Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - master_
instance_ group Changes to this property will trigger replacement.
Master Instance Group Args - Configuration block to use an Instance Group for the master node type.
- master_
public_ strdns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- name
Changes to this property will trigger replacement.
- Name of the job flow.
- placement_
group_ configs Changes to this property will trigger replacement.
Placement Group Config Args] - The specified placement group configuration for an Amazon EMR cluster.
- release_
label Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- scale_
down_ behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - security_
configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - service_
role Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- step_
concurrency_ intlevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - steps
Changes to this property will trigger replacement.
Step Args] - List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - Mapping[str, str]
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Mapping[str, str]
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - termination_
protection bool - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - unhealthy_
node_ boolreplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - visible_
to_ boolall_ users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
- additional
Info Changes to this property will trigger replacement.
- JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore the provider cannot detect drift from the actual EMR cluster if its value is changed outside the provider.
- applications
Changes to this property will trigger replacement.
- A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.
- arn String
- ARN of the cluster.
- auto
Termination Property MapPolicy - An auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. See Auto Termination Policy Below.
- autoscaling
Role Changes to this property will trigger replacement.
- IAM role for automatic scaling policies. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.
- bootstrap
Actions Changes to this property will trigger replacement.
- Ordered list of bootstrap actions that will be run before Hadoop is started on the cluster nodes. See below.
- cluster
State String - configurations
Changes to this property will trigger replacement.
- List of configurations supplied for the EMR cluster you are creating. Supply a configuration object for applications to override their default configuration. See AWS Documentation for more information.
- configurations
Json Changes to this property will trigger replacement.
JSON string for supplying list of configurations for the EMR cluster.
NOTE on
configurations_json
: If theConfigurations
value is empty then you should skip theConfigurations
field instead of providing an empty list as a value,"Configurations": []
.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws";
const cluster = new aws.emr.Cluster("cluster", {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 cluster = aws.emr.Cluster("cluster", 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 cluster = new Aws.Emr.Cluster("cluster", 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.NewCluster(ctx, "cluster", &emr.ClusterArgs{ 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.Cluster; import com.pulumi.aws.emr.ClusterArgs; 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 cluster = new Cluster("cluster", ClusterArgs.builder() .configurationsJson(""" [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ] """) .build()); } }
resources: cluster: type: aws:emr:Cluster properties: configurationsJson: | [ { "Classification": "hadoop-env", "Configurations": [ { "Classification": "export", "Properties": { "JAVA_HOME": "/usr/lib/jvm/java-1.8.0" } } ], "Properties": {} } ]
- core
Instance Fleet Changes to this property will trigger replacement.
- Configuration block to use an Instance Fleet for the core node type. Cannot be specified if any
core_instance_group
configuration blocks are set. Detailed below. - core
Instance Group Changes to this property will trigger replacement.
- Configuration block to use an Instance Group for the core node type.
- custom
Ami Id Changes to this property will trigger replacement.
- Custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.
- ebs
Root Volume Size Changes to this property will trigger replacement.
- Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.
- ec2Attributes
Changes to this property will trigger replacement.
- Attributes for the EC2 instances running the job flow. See below.
- keep
Job Flow Alive When No Steps Changes to this property will trigger replacement.
- Switch on/off run cluster with no steps or when all steps are complete (default is on)
- kerberos
Attributes Changes to this property will trigger replacement.
- Kerberos configuration for the cluster. See below.
- list
Steps List<String>States - List of step states used to filter returned steps
- log
Encryption Kms Key Id Changes to this property will trigger replacement.
- AWS KMS customer master key (CMK) key ID or arn used for encrypting log files. This attribute is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0.
- log
Uri Changes to this property will trigger replacement.
- S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created.
- master
Instance Fleet Changes to this property will trigger replacement.
- Configuration block to use an Instance Fleet for the master node type. Cannot be specified if any
master_instance_group
configuration blocks are set. Detailed below. - master
Instance Group Changes to this property will trigger replacement.
- Configuration block to use an Instance Group for the master node type.
- master
Public StringDns - The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.
- name
Changes to this property will trigger replacement.
- Name of the job flow.
- placement
Group Configs Changes to this property will trigger replacement.
- The specified placement group configuration for an Amazon EMR cluster.
- release
Label Changes to this property will trigger replacement.
- Release label for the Amazon EMR release.
- scale
Down Behavior Changes to this property will trigger replacement.
- Way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an
instance group
is resized. - security
Configuration Changes to this property will trigger replacement.
- Security configuration name to attach to the EMR cluster. Only valid for EMR clusters with
release_label
4.8.0 or greater. - service
Role Changes to this property will trigger replacement.
IAM role that will be assumed by the Amazon EMR service to access AWS resources.
The following arguments are optional:
- step
Concurrency NumberLevel - Number of steps that can be executed concurrently. You can specify a maximum of 256 steps. Only valid for EMR clusters with
release_label
5.28.0 or greater (default is 1). - steps
Changes to this property will trigger replacement.
- List of steps to run when creating the cluster. See below. It is highly recommended to utilize the lifecycle resource options block with
ignoreChanges
if other steps are being managed outside of this provider. - Map<String>
- list of tags to apply to the EMR Cluster. If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String>
- Map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - termination
Protection Boolean - Switch on/off termination protection (default is
false
, except when using multiple master nodes). Before attempting to destroy the resource when termination protection is enabled, this configuration must be applied with its value set tofalse
. - unhealthy
Node BooleanReplacement - Whether whether Amazon EMR should gracefully replace core nodes that have degraded within the cluster. Default value is
false
. - visible
To BooleanAll Users - Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. Default value is
true
.
Supporting Types
ClusterAutoTerminationPolicy, ClusterAutoTerminationPolicyArgs
- Idle
Timeout int - Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of
60
seconds and a maximum of604800
seconds (seven days).
- Idle
Timeout int - Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of
60
seconds and a maximum of604800
seconds (seven days).
- idle
Timeout Integer - Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of
60
seconds and a maximum of604800
seconds (seven days).
- idle
Timeout number - Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of
60
seconds and a maximum of604800
seconds (seven days).
- idle_
timeout int - Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of
60
seconds and a maximum of604800
seconds (seven days).
- idle
Timeout Number - Specifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of
60
seconds and a maximum of604800
seconds (seven days).
ClusterBootstrapAction, ClusterBootstrapActionArgs
- Name
This property is required. string - Name of the bootstrap action.
- Path
This property is required. string - Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.
- Args
Changes to this property will trigger replacement.
- List of command line arguments to pass to the bootstrap action script.
- Name
This property is required. string - Name of the bootstrap action.
- Path
This property is required. string - Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.
- Args
Changes to this property will trigger replacement.
- List of command line arguments to pass to the bootstrap action script.
- name
This property is required. String - Name of the bootstrap action.
- path
This property is required. String - Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.
- args
Changes to this property will trigger replacement.
- List of command line arguments to pass to the bootstrap action script.
- name
This property is required. string - Name of the bootstrap action.
- path
This property is required. string - Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.
- args
Changes to this property will trigger replacement.
- List of command line arguments to pass to the bootstrap action script.
- name
This property is required. str - Name of the bootstrap action.
- path
This property is required. str - Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.
- args
Changes to this property will trigger replacement.
- List of command line arguments to pass to the bootstrap action script.
- name
This property is required. String - Name of the bootstrap action.
- path
This property is required. String - Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.
- args
Changes to this property will trigger replacement.
- List of command line arguments to pass to the bootstrap action script.
ClusterCoreInstanceFleet, ClusterCoreInstanceFleetArgs
- Id string
- ID of the cluster.
- Instance
Type Configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config> - Configuration block for instance fleet.
- Launch
Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications - Configuration block for launch specification.
- Name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- Provisioned
On intDemand Capacity - Provisioned
Spot intCapacity - Target
On Demand Capacity Changes to this property will trigger replacement.
- The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- Target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- Id string
- ID of the cluster.
- Instance
Type Configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config - Configuration block for instance fleet.
- Launch
Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications - Configuration block for launch specification.
- Name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- Provisioned
On intDemand Capacity - Provisioned
Spot intCapacity - Target
On Demand Capacity Changes to this property will trigger replacement.
- The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- Target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- id String
- ID of the cluster.
- instance
Type Configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config> - Configuration block for instance fleet.
- launch
Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications - Configuration block for launch specification.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- provisioned
On IntegerDemand Capacity - provisioned
Spot IntegerCapacity - target
On Demand Capacity Changes to this property will trigger replacement.
- The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- id string
- ID of the cluster.
- instance
Type Configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config[] - Configuration block for instance fleet.
- launch
Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications - Configuration block for launch specification.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- provisioned
On numberDemand Capacity - provisioned
Spot numberCapacity - target
On Demand Capacity Changes to this property will trigger replacement.
- The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- id str
- ID of the cluster.
- instance_
type_ configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config] - Configuration block for instance fleet.
- launch_
specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications - Configuration block for launch specification.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- provisioned_
on_ intdemand_ capacity - provisioned_
spot_ intcapacity - target_
on_ demand_ capacity Changes to this property will trigger replacement.
- The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- target_
spot_ capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- id String
- ID of the cluster.
- instance
Type Configs Changes to this property will trigger replacement.
- Configuration block for instance fleet.
- launch
Specifications Changes to this property will trigger replacement.
- Configuration block for launch specification.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- provisioned
On NumberDemand Capacity - provisioned
Spot NumberCapacity - target
On Demand Capacity Changes to this property will trigger replacement.
- The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
ClusterCoreInstanceFleetInstanceTypeConfig, ClusterCoreInstanceFleetInstanceTypeConfigArgs
- Instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- Bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - Bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - Configurations
Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Configuration> - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - Ebs
Configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Ebs Config> - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- Weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- Instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- Bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - Bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - Configurations
Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Configuration - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - Ebs
Configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Ebs Config - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- Weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - configurations
Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Configuration> - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - ebs
Configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Ebs Config> - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - configurations
Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Configuration[] - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - ebs
Configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Ebs Config[] - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- instance_
type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- bid_
price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - bid_
price_ as_ percentage_ of_ on_ demand_ price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - configurations
Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Configuration] - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - ebs_
configs Changes to this property will trigger replacement.
Core Instance Fleet Instance Type Config Ebs Config] - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- weighted_
capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - configurations
Changes to this property will trigger replacement.
- Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - ebs
Configs Changes to this property will trigger replacement.
- Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
ClusterCoreInstanceFleetInstanceTypeConfigConfiguration, ClusterCoreInstanceFleetInstanceTypeConfigConfigurationArgs
- Classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- Properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- Classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- Properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
ClusterCoreInstanceFleetInstanceTypeConfigEbsConfig, ClusterCoreInstanceFleetInstanceTypeConfigEbsConfigArgs
- Size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- Type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - Iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- Volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- Size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- Type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - Iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- Volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- volumes_
per_ instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
ClusterCoreInstanceFleetLaunchSpecifications, ClusterCoreInstanceFleetLaunchSpecificationsArgs
- On
Demand Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications On Demand Specification> - Configuration block for on demand instances launch specifications.
- Spot
Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications Spot Specification> - Configuration block for spot instances launch specifications.
- On
Demand Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications On Demand Specification - Configuration block for on demand instances launch specifications.
- Spot
Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications Spot Specification - Configuration block for spot instances launch specifications.
- on
Demand Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications On Demand Specification> - Configuration block for on demand instances launch specifications.
- spot
Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications Spot Specification> - Configuration block for spot instances launch specifications.
- on
Demand Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications On Demand Specification[] - Configuration block for on demand instances launch specifications.
- spot
Specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications Spot Specification[] - Configuration block for spot instances launch specifications.
- on_
demand_ specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications On Demand Specification] - Configuration block for on demand instances launch specifications.
- spot_
specifications Changes to this property will trigger replacement.
Core Instance Fleet Launch Specifications Spot Specification] - Configuration block for spot instances launch specifications.
- on
Demand Specifications Changes to this property will trigger replacement.
- Configuration block for on demand instances launch specifications.
- spot
Specifications Changes to this property will trigger replacement.
- Configuration block for spot instances launch specifications.
ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecification, ClusterCoreInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs
- Allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- Allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- allocation_
strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecification, ClusterCoreInstanceFleetLaunchSpecificationsSpotSpecificationArgs
- Allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - Timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - Timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- Block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- Allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - Timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - Timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- Block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- allocation_
strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - timeout_
action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - timeout_
duration_ minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- block_
duration_ minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
ClusterCoreInstanceGroup, ClusterCoreInstanceGroupArgs
- Instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- Autoscaling
Policy string - String containing the EMR Auto Scaling Policy JSON.
- Bid
Price Changes to this property will trigger replacement.
- 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.
- Ebs
Configs Changes to this property will trigger replacement.
Core Instance Group Ebs Config> - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- Id string
- Core node type Instance Group ID, if using Instance Group for this node type.
- Instance
Count int - Target number of instances for the instance group. Must be at least 1. Defaults to 1.
- Name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- Instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- Autoscaling
Policy string - String containing the EMR Auto Scaling Policy JSON.
- Bid
Price Changes to this property will trigger replacement.
- 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.
- Ebs
Configs Changes to this property will trigger replacement.
Core Instance Group Ebs Config - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- Id string
- Core node type Instance Group ID, if using Instance Group for this node type.
- Instance
Count int - Target number of instances for the instance group. Must be at least 1. Defaults to 1.
- Name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- autoscaling
Policy String - String containing the EMR Auto Scaling Policy JSON.
- bid
Price Changes to this property will trigger replacement.
- 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.
- ebs
Configs Changes to this property will trigger replacement.
Core Instance Group Ebs Config> - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- id String
- Core node type Instance Group ID, if using Instance Group for this node type.
- instance
Count Integer - Target number of instances for the instance group. Must be at least 1. Defaults to 1.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- autoscaling
Policy string - String containing the EMR Auto Scaling Policy JSON.
- bid
Price Changes to this property will trigger replacement.
- 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.
- ebs
Configs Changes to this property will trigger replacement.
Core Instance Group Ebs Config[] - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- id string
- Core node type Instance Group ID, if using Instance Group for this node type.
- instance
Count number - Target number of instances for the instance group. Must be at least 1. Defaults to 1.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- instance_
type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- autoscaling_
policy str - String containing the EMR Auto Scaling Policy JSON.
- bid_
price Changes to this property will trigger replacement.
- 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.
- ebs_
configs Changes to this property will trigger replacement.
Core Instance Group Ebs Config] - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- id str
- Core node type Instance Group ID, if using Instance Group for this node type.
- instance_
count int - Target number of instances for the instance group. Must be at least 1. Defaults to 1.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- autoscaling
Policy String - String containing the EMR Auto Scaling Policy JSON.
- bid
Price Changes to this property will trigger replacement.
- 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.
- ebs
Configs Changes to this property will trigger replacement.
- Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- id String
- Core node type Instance Group ID, if using Instance Group for this node type.
- instance
Count Number - Target number of instances for the instance group. Must be at least 1. Defaults to 1.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
ClusterCoreInstanceGroupEbsConfig, ClusterCoreInstanceGroupEbsConfigArgs
- Size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- Type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - Iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- Throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- Volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- Size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- Type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - Iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- Throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- Volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- volumes_
per_ instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
ClusterEc2Attributes, ClusterEc2AttributesArgs
- Instance
Profile This property is required. Changes to this property will trigger replacement.
- Instance Profile for EC2 instances of the cluster assume this role.
- Additional
Master Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.
- Additional
Slave Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.
- Emr
Managed Master Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the master node.
- Emr
Managed Slave Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.
- Key
Name Changes to this property will trigger replacement.
- Amazon EC2 key pair that can be used to ssh to the master node as the user called
hadoop
. - Service
Access Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.
- Subnet
Id Changes to this property will trigger replacement.
- VPC subnet id where you want the job flow to launch. Cannot specify the
cc1.4xlarge
instance type for nodes of a job flow launched in an Amazon VPC. - Subnet
Ids Changes to this property will trigger replacement.
List of VPC subnet id-s where you want the job flow to launch. Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.
NOTE on EMR-Managed security groups: These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in
emr_managed_master_security_group
andemr_managed_slave_security_group
; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use therevoke_rules_on_delete
optional attribute for any Security Group used inemr_managed_master_security_group
andemr_managed_slave_security_group
. See Amazon EMR-Managed Security Groups for more information about the EMR-managed security group rules.
- Instance
Profile This property is required. Changes to this property will trigger replacement.
- Instance Profile for EC2 instances of the cluster assume this role.
- Additional
Master Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.
- Additional
Slave Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.
- Emr
Managed Master Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the master node.
- Emr
Managed Slave Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.
- Key
Name Changes to this property will trigger replacement.
- Amazon EC2 key pair that can be used to ssh to the master node as the user called
hadoop
. - Service
Access Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.
- Subnet
Id Changes to this property will trigger replacement.
- VPC subnet id where you want the job flow to launch. Cannot specify the
cc1.4xlarge
instance type for nodes of a job flow launched in an Amazon VPC. - Subnet
Ids Changes to this property will trigger replacement.
List of VPC subnet id-s where you want the job flow to launch. Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.
NOTE on EMR-Managed security groups: These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in
emr_managed_master_security_group
andemr_managed_slave_security_group
; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use therevoke_rules_on_delete
optional attribute for any Security Group used inemr_managed_master_security_group
andemr_managed_slave_security_group
. See Amazon EMR-Managed Security Groups for more information about the EMR-managed security group rules.
- instance
Profile This property is required. Changes to this property will trigger replacement.
- Instance Profile for EC2 instances of the cluster assume this role.
- additional
Master Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.
- additional
Slave Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.
- emr
Managed Master Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the master node.
- emr
Managed Slave Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.
- key
Name Changes to this property will trigger replacement.
- Amazon EC2 key pair that can be used to ssh to the master node as the user called
hadoop
. - service
Access Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.
- subnet
Id Changes to this property will trigger replacement.
- VPC subnet id where you want the job flow to launch. Cannot specify the
cc1.4xlarge
instance type for nodes of a job flow launched in an Amazon VPC. - subnet
Ids Changes to this property will trigger replacement.
List of VPC subnet id-s where you want the job flow to launch. Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.
NOTE on EMR-Managed security groups: These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in
emr_managed_master_security_group
andemr_managed_slave_security_group
; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use therevoke_rules_on_delete
optional attribute for any Security Group used inemr_managed_master_security_group
andemr_managed_slave_security_group
. See Amazon EMR-Managed Security Groups for more information about the EMR-managed security group rules.
- instance
Profile This property is required. Changes to this property will trigger replacement.
- Instance Profile for EC2 instances of the cluster assume this role.
- additional
Master Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.
- additional
Slave Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.
- emr
Managed Master Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the master node.
- emr
Managed Slave Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.
- key
Name Changes to this property will trigger replacement.
- Amazon EC2 key pair that can be used to ssh to the master node as the user called
hadoop
. - service
Access Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.
- subnet
Id Changes to this property will trigger replacement.
- VPC subnet id where you want the job flow to launch. Cannot specify the
cc1.4xlarge
instance type for nodes of a job flow launched in an Amazon VPC. - subnet
Ids Changes to this property will trigger replacement.
List of VPC subnet id-s where you want the job flow to launch. Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.
NOTE on EMR-Managed security groups: These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in
emr_managed_master_security_group
andemr_managed_slave_security_group
; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use therevoke_rules_on_delete
optional attribute for any Security Group used inemr_managed_master_security_group
andemr_managed_slave_security_group
. See Amazon EMR-Managed Security Groups for more information about the EMR-managed security group rules.
- instance_
profile This property is required. Changes to this property will trigger replacement.
- Instance Profile for EC2 instances of the cluster assume this role.
- additional_
master_ security_ groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.
- additional_
slave_ security_ groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.
- emr_
managed_ master_ security_ group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the master node.
- emr_
managed_ slave_ security_ group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.
- key_
name Changes to this property will trigger replacement.
- Amazon EC2 key pair that can be used to ssh to the master node as the user called
hadoop
. - service_
access_ security_ group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.
- subnet_
id Changes to this property will trigger replacement.
- VPC subnet id where you want the job flow to launch. Cannot specify the
cc1.4xlarge
instance type for nodes of a job flow launched in an Amazon VPC. - subnet_
ids Changes to this property will trigger replacement.
List of VPC subnet id-s where you want the job flow to launch. Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.
NOTE on EMR-Managed security groups: These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in
emr_managed_master_security_group
andemr_managed_slave_security_group
; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use therevoke_rules_on_delete
optional attribute for any Security Group used inemr_managed_master_security_group
andemr_managed_slave_security_group
. See Amazon EMR-Managed Security Groups for more information about the EMR-managed security group rules.
- instance
Profile This property is required. Changes to this property will trigger replacement.
- Instance Profile for EC2 instances of the cluster assume this role.
- additional
Master Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the master node.
- additional
Slave Security Groups Changes to this property will trigger replacement.
- String containing a comma separated list of additional Amazon EC2 security group IDs for the slave nodes as a comma separated string.
- emr
Managed Master Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the master node.
- emr
Managed Slave Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 EMR-Managed security group for the slave nodes.
- key
Name Changes to this property will trigger replacement.
- Amazon EC2 key pair that can be used to ssh to the master node as the user called
hadoop
. - service
Access Security Group Changes to this property will trigger replacement.
- Identifier of the Amazon EC2 service-access security group - required when the cluster runs on a private subnet.
- subnet
Id Changes to this property will trigger replacement.
- VPC subnet id where you want the job flow to launch. Cannot specify the
cc1.4xlarge
instance type for nodes of a job flow launched in an Amazon VPC. - subnet
Ids Changes to this property will trigger replacement.
List of VPC subnet id-s where you want the job flow to launch. Amazon EMR identifies the best Availability Zone to launch instances according to your fleet specifications.
NOTE on EMR-Managed security groups: These security groups will have any missing inbound or outbound access rules added and maintained by AWS, to ensure proper communication between instances in a cluster. The EMR service will maintain these rules for groups provided in
emr_managed_master_security_group
andemr_managed_slave_security_group
; attempts to remove the required rules may succeed, only for the EMR service to re-add them in a matter of minutes. This may cause this provider to fail to destroy an environment that contains an EMR cluster, because the EMR service does not revoke rules added on deletion, leaving a cyclic dependency between the security groups that prevents their deletion. To avoid this, use therevoke_rules_on_delete
optional attribute for any Security Group used inemr_managed_master_security_group
andemr_managed_slave_security_group
. See Amazon EMR-Managed Security Groups for more information about the EMR-managed security group rules.
ClusterKerberosAttributes, ClusterKerberosAttributesArgs
- Kdc
Admin Password This property is required. Changes to this property will trigger replacement.
- Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.
- Realm
This property is required. Changes to this property will trigger replacement.
- Name of the Kerberos realm to which all nodes in a cluster belong. For example,
EC2.INTERNAL
- Ad
Domain Join Password Changes to this property will trigger replacement.
- Active Directory password for
ad_domain_join_user
. This provider cannot perform drift detection of this configuration. - Ad
Domain Join User Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.
- Cross
Realm Trust Principal Password Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.
- Kdc
Admin Password This property is required. Changes to this property will trigger replacement.
- Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.
- Realm
This property is required. Changes to this property will trigger replacement.
- Name of the Kerberos realm to which all nodes in a cluster belong. For example,
EC2.INTERNAL
- Ad
Domain Join Password Changes to this property will trigger replacement.
- Active Directory password for
ad_domain_join_user
. This provider cannot perform drift detection of this configuration. - Ad
Domain Join User Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.
- Cross
Realm Trust Principal Password Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.
- kdc
Admin Password This property is required. Changes to this property will trigger replacement.
- Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.
- realm
This property is required. Changes to this property will trigger replacement.
- Name of the Kerberos realm to which all nodes in a cluster belong. For example,
EC2.INTERNAL
- ad
Domain Join Password Changes to this property will trigger replacement.
- Active Directory password for
ad_domain_join_user
. This provider cannot perform drift detection of this configuration. - ad
Domain Join User Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.
- cross
Realm Trust Principal Password Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.
- kdc
Admin Password This property is required. Changes to this property will trigger replacement.
- Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.
- realm
This property is required. Changes to this property will trigger replacement.
- Name of the Kerberos realm to which all nodes in a cluster belong. For example,
EC2.INTERNAL
- ad
Domain Join Password Changes to this property will trigger replacement.
- Active Directory password for
ad_domain_join_user
. This provider cannot perform drift detection of this configuration. - ad
Domain Join User Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.
- cross
Realm Trust Principal Password Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.
- kdc_
admin_ password This property is required. Changes to this property will trigger replacement.
- Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.
- realm
This property is required. Changes to this property will trigger replacement.
- Name of the Kerberos realm to which all nodes in a cluster belong. For example,
EC2.INTERNAL
- ad_
domain_ join_ password Changes to this property will trigger replacement.
- Active Directory password for
ad_domain_join_user
. This provider cannot perform drift detection of this configuration. - ad_
domain_ join_ user Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.
- cross_
realm_ trust_ principal_ password Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.
- kdc
Admin Password This property is required. Changes to this property will trigger replacement.
- Password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster. This provider cannot perform drift detection of this configuration.
- realm
This property is required. Changes to this property will trigger replacement.
- Name of the Kerberos realm to which all nodes in a cluster belong. For example,
EC2.INTERNAL
- ad
Domain Join Password Changes to this property will trigger replacement.
- Active Directory password for
ad_domain_join_user
. This provider cannot perform drift detection of this configuration. - ad
Domain Join User Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain. This provider cannot perform drift detection of this configuration.
- cross
Realm Trust Principal Password Changes to this property will trigger replacement.
- Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms. This provider cannot perform drift detection of this configuration.
ClusterMasterInstanceFleet, ClusterMasterInstanceFleetArgs
- Id string
- ID of the cluster.
- Instance
Type Configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config> - Configuration block for instance fleet.
- Launch
Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications - Configuration block for launch specification.
- Name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- Provisioned
On intDemand Capacity - Provisioned
Spot intCapacity - Target
On Demand Capacity Changes to this property will trigger replacement.
- Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- Target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- Id string
- ID of the cluster.
- Instance
Type Configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config - Configuration block for instance fleet.
- Launch
Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications - Configuration block for launch specification.
- Name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- Provisioned
On intDemand Capacity - Provisioned
Spot intCapacity - Target
On Demand Capacity Changes to this property will trigger replacement.
- Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- Target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- id String
- ID of the cluster.
- instance
Type Configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config> - Configuration block for instance fleet.
- launch
Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications - Configuration block for launch specification.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- provisioned
On IntegerDemand Capacity - provisioned
Spot IntegerCapacity - target
On Demand Capacity Changes to this property will trigger replacement.
- Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- id string
- ID of the cluster.
- instance
Type Configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config[] - Configuration block for instance fleet.
- launch
Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications - Configuration block for launch specification.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- provisioned
On numberDemand Capacity - provisioned
Spot numberCapacity - target
On Demand Capacity Changes to this property will trigger replacement.
- Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- id str
- ID of the cluster.
- instance_
type_ configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config] - Configuration block for instance fleet.
- launch_
specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications - Configuration block for launch specification.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- provisioned_
on_ intdemand_ capacity - provisioned_
spot_ intcapacity - target_
on_ demand_ capacity Changes to this property will trigger replacement.
- Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- target_
spot_ capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
- id String
- ID of the cluster.
- instance
Type Configs Changes to this property will trigger replacement.
- Configuration block for instance fleet.
- launch
Specifications Changes to this property will trigger replacement.
- Configuration block for launch specification.
- name
Changes to this property will trigger replacement.
- Friendly name given to the instance fleet.
- provisioned
On NumberDemand Capacity - provisioned
Spot NumberCapacity - target
On Demand Capacity Changes to this property will trigger replacement.
- Target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
- target
Spot Capacity Changes to this property will trigger replacement.
- Target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
ClusterMasterInstanceFleetInstanceTypeConfig, ClusterMasterInstanceFleetInstanceTypeConfigArgs
- Instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- Bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - Bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - Configurations
Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Configuration> - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - Ebs
Configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Ebs Config> - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- Weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- Instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- Bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - Bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - Configurations
Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Configuration - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - Ebs
Configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Ebs Config - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- Weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - configurations
Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Configuration> - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - ebs
Configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Ebs Config> - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - configurations
Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Configuration[] - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - ebs
Configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Ebs Config[] - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- instance_
type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- bid_
price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - bid_
price_ as_ percentage_ of_ on_ demand_ price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - configurations
Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Configuration] - Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - ebs_
configs Changes to this property will trigger replacement.
Master Instance Fleet Instance Type Config Ebs Config] - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- weighted_
capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type, such as m4.xlarge.
- bid
Price Changes to this property will trigger replacement.
- Bid price for each EC2 Spot instance type as defined by
instance_type
. Expressed in USD. If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - bid
Price As Percentage Of On Demand Price Changes to this property will trigger replacement.
- Bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by
instance_type
. Expressed as a number (for example, 20 specifies 20%). If neitherbid_price
norbid_price_as_percentage_of_on_demand_price
is provided,bid_price_as_percentage_of_on_demand_price
defaults to 100%. - configurations
Changes to this property will trigger replacement.
- Configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster. List of
configuration
blocks. - ebs
Configs Changes to this property will trigger replacement.
- Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- weighted
Capacity Changes to this property will trigger replacement.
- Number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in
aws.emr.InstanceFleet
.
ClusterMasterInstanceFleetInstanceTypeConfigConfiguration, ClusterMasterInstanceFleetInstanceTypeConfigConfigurationArgs
- Classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- Properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- Classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- Properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
- classification
Changes to this property will trigger replacement.
- Classification within a configuration.
- properties
Changes to this property will trigger replacement.
- Map of properties specified within a configuration classification.
ClusterMasterInstanceFleetInstanceTypeConfigEbsConfig, ClusterMasterInstanceFleetInstanceTypeConfigEbsConfigArgs
- Size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- Type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - Iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- Volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- Size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- Type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - Iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- Volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- volumes_
per_ instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
ClusterMasterInstanceFleetLaunchSpecifications, ClusterMasterInstanceFleetLaunchSpecificationsArgs
- On
Demand Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications On Demand Specification> - Configuration block for on demand instances launch specifications.
- Spot
Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications Spot Specification> - Configuration block for spot instances launch specifications.
- On
Demand Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications On Demand Specification - Configuration block for on demand instances launch specifications.
- Spot
Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications Spot Specification - Configuration block for spot instances launch specifications.
- on
Demand Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications On Demand Specification> - Configuration block for on demand instances launch specifications.
- spot
Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications Spot Specification> - Configuration block for spot instances launch specifications.
- on
Demand Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications On Demand Specification[] - Configuration block for on demand instances launch specifications.
- spot
Specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications Spot Specification[] - Configuration block for spot instances launch specifications.
- on_
demand_ specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications On Demand Specification] - Configuration block for on demand instances launch specifications.
- spot_
specifications Changes to this property will trigger replacement.
Master Instance Fleet Launch Specifications Spot Specification] - Configuration block for spot instances launch specifications.
- on
Demand Specifications Changes to this property will trigger replacement.
- Configuration block for on demand instances launch specifications.
- spot
Specifications Changes to this property will trigger replacement.
- Configuration block for spot instances launch specifications.
ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecification, ClusterMasterInstanceFleetLaunchSpecificationsOnDemandSpecificationArgs
- Allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- Allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- allocation_
strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching On-Demand instance fleets. Currently, the only option is
lowest-price
(the default), which launches the lowest price first.
ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecification, ClusterMasterInstanceFleetLaunchSpecificationsSpotSpecificationArgs
- Allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - Timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - Timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- Block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- Allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - Timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - Timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- Block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- allocation_
strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - timeout_
action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - timeout_
duration_ minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- block_
duration_ minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
- allocation
Strategy This property is required. Changes to this property will trigger replacement.
- Specifies the strategy to use in launching Spot instance fleets. Valid values include
capacity-optimized
,diversified
,lowest-price
,price-capacity-optimized
. See the AWS documentation for details on each strategy type. - timeout
Action This property is required. Changes to this property will trigger replacement.
- Action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are
TERMINATE_CLUSTER
andSWITCH_TO_ON_DEMAND
. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity. - timeout
Duration Minutes This property is required. Changes to this property will trigger replacement.
- Spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.
- block
Duration Minutes Changes to this property will trigger replacement.
- Defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
ClusterMasterInstanceGroup, ClusterMasterInstanceGroupArgs
- Instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- Bid
Price Changes to this property will trigger replacement.
- 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.
- Ebs
Configs Changes to this property will trigger replacement.
Master Instance Group Ebs Config> - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- Id string
- Master node type Instance Group ID, if using Instance Group for this node type.
- Instance
Count Changes to this property will trigger replacement.
- Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's
core_instance_group
to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have thetermination_protection = false
configuration applied before destroying this resource. - Name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- Instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- Bid
Price Changes to this property will trigger replacement.
- 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.
- Ebs
Configs Changes to this property will trigger replacement.
Master Instance Group Ebs Config - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- Id string
- Master node type Instance Group ID, if using Instance Group for this node type.
- Instance
Count Changes to this property will trigger replacement.
- Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's
core_instance_group
to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have thetermination_protection = false
configuration applied before destroying this resource. - Name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- bid
Price Changes to this property will trigger replacement.
- 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.
- ebs
Configs Changes to this property will trigger replacement.
Master Instance Group Ebs Config> - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- id String
- Master node type Instance Group ID, if using Instance Group for this node type.
- instance
Count Changes to this property will trigger replacement.
- Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's
core_instance_group
to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have thetermination_protection = false
configuration applied before destroying this resource. - name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- bid
Price Changes to this property will trigger replacement.
- 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.
- ebs
Configs Changes to this property will trigger replacement.
Master Instance Group Ebs Config[] - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- id string
- Master node type Instance Group ID, if using Instance Group for this node type.
- instance
Count Changes to this property will trigger replacement.
- Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's
core_instance_group
to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have thetermination_protection = false
configuration applied before destroying this resource. - name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- instance_
type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- bid_
price Changes to this property will trigger replacement.
- 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.
- ebs_
configs Changes to this property will trigger replacement.
Master Instance Group Ebs Config] - Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- id str
- Master node type Instance Group ID, if using Instance Group for this node type.
- instance_
count Changes to this property will trigger replacement.
- Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's
core_instance_group
to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have thetermination_protection = false
configuration applied before destroying this resource. - name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
- instance
Type This property is required. Changes to this property will trigger replacement.
- EC2 instance type for all instances in the instance group.
- bid
Price Changes to this property will trigger replacement.
- 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.
- ebs
Configs Changes to this property will trigger replacement.
- Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.
- id String
- Master node type Instance Group ID, if using Instance Group for this node type.
- instance
Count Changes to this property will trigger replacement.
- Target number of instances for the instance group. Must be 1 or 3. Defaults to 1. Launching with multiple master nodes is only supported in EMR version 5.23.0+, and requires this resource's
core_instance_group
to be configured. Public (Internet accessible) instances must be created in VPC subnets that have map public IP on launch enabled. Termination protection is automatically enabled when launched with multiple master nodes and this provider must have thetermination_protection = false
configuration applied before destroying this resource. - name
Changes to this property will trigger replacement.
- Friendly name given to the instance group.
ClusterMasterInstanceGroupEbsConfig, ClusterMasterInstanceGroupEbsConfigArgs
- Size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- Type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - Iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- Throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- Volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- Size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- Type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - Iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- Throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- Volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- volumes_
per_ instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
- size
This property is required. Changes to this property will trigger replacement.
- Volume size, in gibibytes (GiB).
- type
This property is required. Changes to this property will trigger replacement.
- Volume type. Valid options are
gp3
,gp2
,io1
,io2
,standard
,st1
andsc1
. See EBS Volume Types. - iops
Changes to this property will trigger replacement.
- Number of I/O operations per second (IOPS) that the volume supports.
- throughput
Changes to this property will trigger replacement.
- The throughput, in mebibyte per second (MiB/s).
- volumes
Per Instance Changes to this property will trigger replacement.
- Number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1).
ClusterPlacementGroupConfig, ClusterPlacementGroupConfigArgs
- Instance
Role This property is required. Changes to this property will trigger replacement.
- Role of the instance in the cluster. Valid Values:
MASTER
,CORE
,TASK
. - Placement
Strategy Changes to this property will trigger replacement.
- EC2 Placement Group strategy associated with instance role. Valid Values:
SPREAD
,PARTITION
,CLUSTER
,NONE
.
- Instance
Role This property is required. Changes to this property will trigger replacement.
- Role of the instance in the cluster. Valid Values:
MASTER
,CORE
,TASK
. - Placement
Strategy Changes to this property will trigger replacement.
- EC2 Placement Group strategy associated with instance role. Valid Values:
SPREAD
,PARTITION
,CLUSTER
,NONE
.
- instance
Role This property is required. Changes to this property will trigger replacement.
- Role of the instance in the cluster. Valid Values:
MASTER
,CORE
,TASK
. - placement
Strategy Changes to this property will trigger replacement.
- EC2 Placement Group strategy associated with instance role. Valid Values:
SPREAD
,PARTITION
,CLUSTER
,NONE
.
- instance
Role This property is required. Changes to this property will trigger replacement.
- Role of the instance in the cluster. Valid Values:
MASTER
,CORE
,TASK
. - placement
Strategy Changes to this property will trigger replacement.
- EC2 Placement Group strategy associated with instance role. Valid Values:
SPREAD
,PARTITION
,CLUSTER
,NONE
.
- instance_
role This property is required. Changes to this property will trigger replacement.
- Role of the instance in the cluster. Valid Values:
MASTER
,CORE
,TASK
. - placement_
strategy Changes to this property will trigger replacement.
- EC2 Placement Group strategy associated with instance role. Valid Values:
SPREAD
,PARTITION
,CLUSTER
,NONE
.
- instance
Role This property is required. Changes to this property will trigger replacement.
- Role of the instance in the cluster. Valid Values:
MASTER
,CORE
,TASK
. - placement
Strategy Changes to this property will trigger replacement.
- EC2 Placement Group strategy associated with instance role. Valid Values:
SPREAD
,PARTITION
,CLUSTER
,NONE
.
ClusterStep, ClusterStepArgs
- Action
On Failure This property is required. Changes to this property will trigger replacement.
- Action to take if the step fails. Valid values:
TERMINATE_JOB_FLOW
,TERMINATE_CLUSTER
,CANCEL_AND_WAIT
, andCONTINUE
- Hadoop
Jar Step This property is required. Changes to this property will trigger replacement.
Step Hadoop Jar Step - JAR file used for the step. See below.
- Name
This property is required. Changes to this property will trigger replacement.
- Name of the step.
- Action
On Failure This property is required. Changes to this property will trigger replacement.
- Action to take if the step fails. Valid values:
TERMINATE_JOB_FLOW
,TERMINATE_CLUSTER
,CANCEL_AND_WAIT
, andCONTINUE
- Hadoop
Jar Step This property is required. Changes to this property will trigger replacement.
Step Hadoop Jar Step - JAR file used for the step. See below.
- Name
This property is required. Changes to this property will trigger replacement.
- Name of the step.
- action
On Failure This property is required. Changes to this property will trigger replacement.
- Action to take if the step fails. Valid values:
TERMINATE_JOB_FLOW
,TERMINATE_CLUSTER
,CANCEL_AND_WAIT
, andCONTINUE
- hadoop
Jar Step This property is required. Changes to this property will trigger replacement.
Step Hadoop Jar Step - JAR file used for the step. See below.
- name
This property is required. Changes to this property will trigger replacement.
- Name of the step.
- action
On Failure This property is required. Changes to this property will trigger replacement.
- Action to take if the step fails. Valid values:
TERMINATE_JOB_FLOW
,TERMINATE_CLUSTER
,CANCEL_AND_WAIT
, andCONTINUE
- hadoop
Jar Step This property is required. Changes to this property will trigger replacement.
Step Hadoop Jar Step - JAR file used for the step. See below.
- name
This property is required. Changes to this property will trigger replacement.
- Name of the step.
- action_
on_ failure This property is required. Changes to this property will trigger replacement.
- Action to take if the step fails. Valid values:
TERMINATE_JOB_FLOW
,TERMINATE_CLUSTER
,CANCEL_AND_WAIT
, andCONTINUE
- hadoop_
jar_ step This property is required. Changes to this property will trigger replacement.
Step Hadoop Jar Step - JAR file used for the step. See below.
- name
This property is required. Changes to this property will trigger replacement.
- Name of the step.
- action
On Failure This property is required. Changes to this property will trigger replacement.
- Action to take if the step fails. Valid values:
TERMINATE_JOB_FLOW
,TERMINATE_CLUSTER
,CANCEL_AND_WAIT
, andCONTINUE
- hadoop
Jar Step This property is required. Changes to this property will trigger replacement.
- JAR file used for the step. See below.
- name
This property is required. Changes to this property will trigger replacement.
- Name of the step.
ClusterStepHadoopJarStep, ClusterStepHadoopJarStepArgs
- Jar
This property is required. Changes to this property will trigger replacement.
- Path to a JAR file run during the step.
- Args
Changes to this property will trigger replacement.
- List of command line arguments passed to the JAR file's main function when executed.
- Main
Class Changes to this property will trigger replacement.
- Name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.
- Properties
Changes to this property will trigger replacement.
- Key-Value map of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
- Jar
This property is required. Changes to this property will trigger replacement.
- Path to a JAR file run during the step.
- Args
Changes to this property will trigger replacement.
- List of command line arguments passed to the JAR file's main function when executed.
- Main
Class Changes to this property will trigger replacement.
- Name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.
- Properties
Changes to this property will trigger replacement.
- Key-Value map of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
- jar
This property is required. Changes to this property will trigger replacement.
- Path to a JAR file run during the step.
- args
Changes to this property will trigger replacement.
- List of command line arguments passed to the JAR file's main function when executed.
- main
Class Changes to this property will trigger replacement.
- Name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.
- properties
Changes to this property will trigger replacement.
- Key-Value map of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
- jar
This property is required. Changes to this property will trigger replacement.
- Path to a JAR file run during the step.
- args
Changes to this property will trigger replacement.
- List of command line arguments passed to the JAR file's main function when executed.
- main
Class Changes to this property will trigger replacement.
- Name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.
- properties
Changes to this property will trigger replacement.
- Key-Value map of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
- jar
This property is required. Changes to this property will trigger replacement.
- Path to a JAR file run during the step.
- args
Changes to this property will trigger replacement.
- List of command line arguments passed to the JAR file's main function when executed.
- main_
class Changes to this property will trigger replacement.
- Name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.
- properties
Changes to this property will trigger replacement.
- Key-Value map of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
- jar
This property is required. Changes to this property will trigger replacement.
- Path to a JAR file run during the step.
- args
Changes to this property will trigger replacement.
- List of command line arguments passed to the JAR file's main function when executed.
- main
Class Changes to this property will trigger replacement.
- Name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.
- properties
Changes to this property will trigger replacement.
- Key-Value map of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.
Import
Using pulumi import
, import EMR clusters using the id
. For example:
$ pulumi import aws:emr/cluster:Cluster cluster j-123456ABCDEF
Since the API does not return the actual values for Kerberos configurations, environments with those options set will need to use the lifecycle
configuration block ignore_changes
argument available to all Pulumi resources to prevent perpetual differences. For example:
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.