aws logo
AWS Classic v5.33.0, Mar 24 23

aws.emr.InstanceFleet

Provides an Elastic MapReduce Cluster Instance Fleet configuration. See Amazon Elastic MapReduce Documentation for more information.

NOTE: At this time, Instance Fleets cannot be destroyed through the API nor web interface. Instance Fleets are destroyed when the EMR Cluster is destroyed. the provider will resize any Instance Fleet to zero when destroying the resource.

Example Usage

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

return await Deployment.RunAsync(() => 
{
    var task = new Aws.Emr.InstanceFleet("task", new()
    {
        ClusterId = aws_emr_cluster.Cluster.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,
                },
            },
        },
        TargetOnDemandCapacity = 1,
        TargetSpotCapacity = 1,
    });

});
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := emr.NewInstanceFleet(ctx, "task", &emr.InstanceFleetArgs{
			ClusterId: pulumi.Any(aws_emr_cluster.Cluster.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),
					},
				},
			},
			TargetOnDemandCapacity: pulumi.Int(1),
			TargetSpotCapacity:     pulumi.Int(1),
		})
		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.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 task = new InstanceFleet("task", InstanceFleetArgs.builder()        
            .clusterId(aws_emr_cluster.cluster().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())
            .targetOnDemandCapacity(1)
            .targetSpotCapacity(1)
            .build());

    }
}
import pulumi
import pulumi_aws as aws

task = aws.emr.InstanceFleet("task",
    cluster_id=aws_emr_cluster["cluster"]["id"],
    instance_type_configs=[
        aws.emr.InstanceFleetInstanceTypeConfigArgs(
            bid_price_as_percentage_of_on_demand_price=100,
            ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(
                size=100,
                type="gp2",
                volumes_per_instance=1,
            )],
            instance_type="m4.xlarge",
            weighted_capacity=1,
        ),
        aws.emr.InstanceFleetInstanceTypeConfigArgs(
            bid_price_as_percentage_of_on_demand_price=100,
            ebs_configs=[aws.emr.InstanceFleetInstanceTypeConfigEbsConfigArgs(
                size=100,
                type="gp2",
                volumes_per_instance=1,
            )],
            instance_type="m4.2xlarge",
            weighted_capacity=2,
        ),
    ],
    launch_specifications=aws.emr.InstanceFleetLaunchSpecificationsArgs(
        spot_specifications=[aws.emr.InstanceFleetLaunchSpecificationsSpotSpecificationArgs(
            allocation_strategy="capacity-optimized",
            block_duration_minutes=0,
            timeout_action="TERMINATE_CLUSTER",
            timeout_duration_minutes=10,
        )],
    ),
    target_on_demand_capacity=1,
    target_spot_capacity=1)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const task = new aws.emr.InstanceFleet("task", {
    clusterId: aws_emr_cluster.cluster.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,
        }],
    },
    targetOnDemandCapacity: 1,
    targetSpotCapacity: 1,
});
resources:
  task:
    type: aws:emr:InstanceFleet
    properties:
      clusterId: ${aws_emr_cluster.cluster.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
      targetOnDemandCapacity: 1
      targetSpotCapacity: 1

Create InstanceFleet Resource

new InstanceFleet(name: string, args: InstanceFleetArgs, opts?: CustomResourceOptions);
@overload
def InstanceFleet(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  cluster_id: Optional[str] = None,
                  instance_type_configs: Optional[Sequence[InstanceFleetInstanceTypeConfigArgs]] = None,
                  launch_specifications: Optional[InstanceFleetLaunchSpecificationsArgs] = None,
                  name: Optional[str] = None,
                  target_on_demand_capacity: Optional[int] = None,
                  target_spot_capacity: Optional[int] = None)
@overload
def InstanceFleet(resource_name: str,
                  args: InstanceFleetArgs,
                  opts: Optional[ResourceOptions] = None)
func NewInstanceFleet(ctx *Context, name string, args InstanceFleetArgs, opts ...ResourceOption) (*InstanceFleet, error)
public InstanceFleet(string name, InstanceFleetArgs args, CustomResourceOptions? opts = null)
public InstanceFleet(String name, InstanceFleetArgs args)
public InstanceFleet(String name, InstanceFleetArgs args, CustomResourceOptions options)
type: aws:emr:InstanceFleet
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

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

InstanceFleet Resource Properties

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

Inputs

The InstanceFleet resource accepts the following input properties:

ClusterId string

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

InstanceTypeConfigs List<InstanceFleetInstanceTypeConfigArgs>

Configuration block for instance fleet

LaunchSpecifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

Name string

Friendly name given to the instance fleet.

TargetOnDemandCapacity int

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

TargetSpotCapacity int

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

ClusterId string

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

InstanceTypeConfigs []InstanceFleetInstanceTypeConfigArgs

Configuration block for instance fleet

LaunchSpecifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

Name string

Friendly name given to the instance fleet.

TargetOnDemandCapacity int

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

TargetSpotCapacity int

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

clusterId String

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

instanceTypeConfigs List<InstanceFleetInstanceTypeConfigArgs>

Configuration block for instance fleet

launchSpecifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

name String

Friendly name given to the instance fleet.

targetOnDemandCapacity Integer

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

targetSpotCapacity Integer

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

clusterId string

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

instanceTypeConfigs InstanceFleetInstanceTypeConfigArgs[]

Configuration block for instance fleet

launchSpecifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

name string

Friendly name given to the instance fleet.

targetOnDemandCapacity number

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

targetSpotCapacity number

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

cluster_id str

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

instance_type_configs Sequence[InstanceFleetInstanceTypeConfigArgs]

Configuration block for instance fleet

launch_specifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

name str

Friendly name given to the instance fleet.

target_on_demand_capacity int

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

target_spot_capacity int

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

clusterId String

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

instanceTypeConfigs List<Property Map>

Configuration block for instance fleet

launchSpecifications Property Map

Configuration block for launch specification

name String

Friendly name given to the instance fleet.

targetOnDemandCapacity Number

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

targetSpotCapacity Number

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

Outputs

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

Id string

The provider-assigned unique ID for this managed resource.

ProvisionedOnDemandCapacity int

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

ProvisionedSpotCapacity int

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

Id string

The provider-assigned unique ID for this managed resource.

ProvisionedOnDemandCapacity int

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

ProvisionedSpotCapacity int

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

id String

The provider-assigned unique ID for this managed resource.

provisionedOnDemandCapacity Integer

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

provisionedSpotCapacity Integer

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

id string

The provider-assigned unique ID for this managed resource.

provisionedOnDemandCapacity number

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

provisionedSpotCapacity number

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

id str

The provider-assigned unique ID for this managed resource.

provisioned_on_demand_capacity int

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

provisioned_spot_capacity int

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

id String

The provider-assigned unique ID for this managed resource.

provisionedOnDemandCapacity Number

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

provisionedSpotCapacity Number

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

Look up Existing InstanceFleet Resource

Get an existing InstanceFleet 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?: InstanceFleetState, opts?: CustomResourceOptions): InstanceFleet
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        cluster_id: Optional[str] = None,
        instance_type_configs: Optional[Sequence[InstanceFleetInstanceTypeConfigArgs]] = None,
        launch_specifications: Optional[InstanceFleetLaunchSpecificationsArgs] = None,
        name: Optional[str] = None,
        provisioned_on_demand_capacity: Optional[int] = None,
        provisioned_spot_capacity: Optional[int] = None,
        target_on_demand_capacity: Optional[int] = None,
        target_spot_capacity: Optional[int] = None) -> InstanceFleet
func GetInstanceFleet(ctx *Context, name string, id IDInput, state *InstanceFleetState, opts ...ResourceOption) (*InstanceFleet, error)
public static InstanceFleet Get(string name, Input<string> id, InstanceFleetState? state, CustomResourceOptions? opts = null)
public static InstanceFleet get(String name, Output<String> id, InstanceFleetState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ClusterId string

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

InstanceTypeConfigs List<InstanceFleetInstanceTypeConfigArgs>

Configuration block for instance fleet

LaunchSpecifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

Name string

Friendly name given to the instance fleet.

ProvisionedOnDemandCapacity int

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

ProvisionedSpotCapacity int

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

TargetOnDemandCapacity int

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

TargetSpotCapacity int

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

ClusterId string

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

InstanceTypeConfigs []InstanceFleetInstanceTypeConfigArgs

Configuration block for instance fleet

LaunchSpecifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

Name string

Friendly name given to the instance fleet.

ProvisionedOnDemandCapacity int

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

ProvisionedSpotCapacity int

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

TargetOnDemandCapacity int

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

TargetSpotCapacity int

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

clusterId String

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

instanceTypeConfigs List<InstanceFleetInstanceTypeConfigArgs>

Configuration block for instance fleet

launchSpecifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

name String

Friendly name given to the instance fleet.

provisionedOnDemandCapacity Integer

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

provisionedSpotCapacity Integer

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

targetOnDemandCapacity Integer

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

targetSpotCapacity Integer

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

clusterId string

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

instanceTypeConfigs InstanceFleetInstanceTypeConfigArgs[]

Configuration block for instance fleet

launchSpecifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

name string

Friendly name given to the instance fleet.

provisionedOnDemandCapacity number

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

provisionedSpotCapacity number

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

targetOnDemandCapacity number

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

targetSpotCapacity number

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

cluster_id str

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

instance_type_configs Sequence[InstanceFleetInstanceTypeConfigArgs]

Configuration block for instance fleet

launch_specifications InstanceFleetLaunchSpecificationsArgs

Configuration block for launch specification

name str

Friendly name given to the instance fleet.

provisioned_on_demand_capacity int

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

provisioned_spot_capacity int

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

target_on_demand_capacity int

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

target_spot_capacity int

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

clusterId String

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

instanceTypeConfigs List<Property Map>

Configuration block for instance fleet

launchSpecifications Property Map

Configuration block for launch specification

name String

Friendly name given to the instance fleet.

provisionedOnDemandCapacity Number

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

provisionedSpotCapacity Number

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

targetOnDemandCapacity Number

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

targetSpotCapacity Number

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

Supporting Types

InstanceFleetInstanceTypeConfig

InstanceType string

An EC2 instance type, such as m4.xlarge.

BidPrice string

The bid price for each EC2 Spot instance type as defined by instance_type. Expressed in USD. If neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

BidPriceAsPercentageOfOnDemandPrice double

The 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 neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

Configurations List<InstanceFleetInstanceTypeConfigConfiguration>

A 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.

EbsConfigs List<InstanceFleetInstanceTypeConfigEbsConfig>

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

WeightedCapacity int

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in aws.emr.InstanceFleet.

InstanceType string

An EC2 instance type, such as m4.xlarge.

BidPrice string

The bid price for each EC2 Spot instance type as defined by instance_type. Expressed in USD. If neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

BidPriceAsPercentageOfOnDemandPrice float64

The 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 neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

Configurations []InstanceFleetInstanceTypeConfigConfiguration

A 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.

EbsConfigs []InstanceFleetInstanceTypeConfigEbsConfig

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

WeightedCapacity int

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in aws.emr.InstanceFleet.

instanceType String

An EC2 instance type, such as m4.xlarge.

bidPrice String

The bid price for each EC2 Spot instance type as defined by instance_type. Expressed in USD. If neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

bidPriceAsPercentageOfOnDemandPrice Double

The 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 neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

configurations List<InstanceFleetInstanceTypeConfigConfiguration>

A 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.

ebsConfigs List<InstanceFleetInstanceTypeConfigEbsConfig>

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

weightedCapacity Integer

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in aws.emr.InstanceFleet.

instanceType string

An EC2 instance type, such as m4.xlarge.

bidPrice string

The bid price for each EC2 Spot instance type as defined by instance_type. Expressed in USD. If neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

bidPriceAsPercentageOfOnDemandPrice number

The 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 neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

configurations InstanceFleetInstanceTypeConfigConfiguration[]

A 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.

ebsConfigs InstanceFleetInstanceTypeConfigEbsConfig[]

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

weightedCapacity number

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in aws.emr.InstanceFleet.

instance_type str

An EC2 instance type, such as m4.xlarge.

bid_price str

The bid price for each EC2 Spot instance type as defined by instance_type. Expressed in USD. If neither bid_price nor bid_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 float

The 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 neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

configurations Sequence[InstanceFleetInstanceTypeConfigConfiguration]

A 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 Sequence[InstanceFleetInstanceTypeConfigEbsConfig]

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

weighted_capacity int

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in aws.emr.InstanceFleet.

instanceType String

An EC2 instance type, such as m4.xlarge.

bidPrice String

The bid price for each EC2 Spot instance type as defined by instance_type. Expressed in USD. If neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

bidPriceAsPercentageOfOnDemandPrice Number

The 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 neither bid_price nor bid_price_as_percentage_of_on_demand_price is provided, bid_price_as_percentage_of_on_demand_price defaults to 100%.

configurations List<Property Map>

A 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.

ebsConfigs List<Property Map>

Configuration block(s) for EBS volumes attached to each instance in the instance group. Detailed below.

weightedCapacity Number

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in aws.emr.InstanceFleet.

InstanceFleetInstanceTypeConfigConfiguration

Classification string

The classification within a configuration.

Properties Dictionary<string, object>

A map of properties specified within a configuration classification

Classification string

The classification within a configuration.

Properties map[string]interface{}

A map of properties specified within a configuration classification

classification String

The classification within a configuration.

properties Map<String,Object>

A map of properties specified within a configuration classification

classification string

The classification within a configuration.

properties {[key: string]: any}

A map of properties specified within a configuration classification

classification str

The classification within a configuration.

properties Mapping[str, Any]

A map of properties specified within a configuration classification

classification String

The classification within a configuration.

properties Map<Any>

A map of properties specified within a configuration classification

InstanceFleetInstanceTypeConfigEbsConfig

Size int

The volume size, in gibibytes (GiB).

Type string

The volume type. Valid options are gp2, io1, standard and st1. See EBS Volume Types.

Iops int

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

VolumesPerInstance int

The number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1)

Size int

The volume size, in gibibytes (GiB).

Type string

The volume type. Valid options are gp2, io1, standard and st1. See EBS Volume Types.

Iops int

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

VolumesPerInstance int

The number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1)

size Integer

The volume size, in gibibytes (GiB).

type String

The volume type. Valid options are gp2, io1, standard and st1. See EBS Volume Types.

iops Integer

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

volumesPerInstance Integer

The number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1)

size number

The volume size, in gibibytes (GiB).

type string

The volume type. Valid options are gp2, io1, standard and st1. See EBS Volume Types.

iops number

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

volumesPerInstance number

The number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1)

size int

The volume size, in gibibytes (GiB).

type str

The volume type. Valid options are gp2, io1, standard and st1. See EBS Volume Types.

iops int

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

volumes_per_instance int

The number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1)

size Number

The volume size, in gibibytes (GiB).

type String

The volume type. Valid options are gp2, io1, standard and st1. See EBS Volume Types.

iops Number

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

volumesPerInstance Number

The number of EBS volumes with this configuration to attach to each EC2 instance in the instance group (default is 1)

InstanceFleetLaunchSpecifications

OnDemandSpecifications List<InstanceFleetLaunchSpecificationsOnDemandSpecification>

Configuration block for on demand instances launch specifications

SpotSpecifications List<InstanceFleetLaunchSpecificationsSpotSpecification>

Configuration block for spot instances launch specifications

OnDemandSpecifications []InstanceFleetLaunchSpecificationsOnDemandSpecification

Configuration block for on demand instances launch specifications

SpotSpecifications []InstanceFleetLaunchSpecificationsSpotSpecification

Configuration block for spot instances launch specifications

onDemandSpecifications List<InstanceFleetLaunchSpecificationsOnDemandSpecification>

Configuration block for on demand instances launch specifications

spotSpecifications List<InstanceFleetLaunchSpecificationsSpotSpecification>

Configuration block for spot instances launch specifications

onDemandSpecifications InstanceFleetLaunchSpecificationsOnDemandSpecification[]

Configuration block for on demand instances launch specifications

spotSpecifications InstanceFleetLaunchSpecificationsSpotSpecification[]

Configuration block for spot instances launch specifications

on_demand_specifications Sequence[InstanceFleetLaunchSpecificationsOnDemandSpecification]

Configuration block for on demand instances launch specifications

spot_specifications Sequence[InstanceFleetLaunchSpecificationsSpotSpecification]

Configuration block for spot instances launch specifications

onDemandSpecifications List<Property Map>

Configuration block for on demand instances launch specifications

spotSpecifications List<Property Map>

Configuration block for spot instances launch specifications

InstanceFleetLaunchSpecificationsOnDemandSpecification

AllocationStrategy string

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

AllocationStrategy string

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

allocationStrategy String

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

allocationStrategy string

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

allocation_strategy str

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

allocationStrategy String

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

InstanceFleetLaunchSpecificationsSpotSpecification

AllocationStrategy string

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

TimeoutAction string

The 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 and SWITCH_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.

TimeoutDurationMinutes int

The 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.

BlockDurationMinutes int

The 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.

AllocationStrategy string

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

TimeoutAction string

The 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 and SWITCH_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.

TimeoutDurationMinutes int

The 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.

BlockDurationMinutes int

The 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.

allocationStrategy String

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

timeoutAction String

The 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 and SWITCH_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.

timeoutDurationMinutes Integer

The 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.

blockDurationMinutes Integer

The 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.

allocationStrategy string

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

timeoutAction string

The 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 and SWITCH_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.

timeoutDurationMinutes number

The 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.

blockDurationMinutes number

The 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 str

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

timeout_action str

The 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 and SWITCH_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 int

The 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 int

The 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.

allocationStrategy String

Specifies the strategy to use in launching Spot instance fleets. Currently, the only option is capacity-optimized (the default), which launches instances from Spot instance pools with optimal capacity for the number of instances that are launching.

timeoutAction String

The 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 and SWITCH_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.

timeoutDurationMinutes Number

The 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.

blockDurationMinutes Number

The 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.

Import

EMR Instance Fleet can be imported with the EMR Cluster identifier and Instance Fleet identifier separated by a forward slash (/), e.g., console

 $ pulumi import aws:emr/instanceFleet:InstanceFleet example j-123456ABCDEF/if-15EK4O09RZLNR

Package Details

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

This Pulumi package is based on the aws Terraform Provider.