aws.ec2.SpotFleetRequest
Explore with Pulumi AI
Provides an EC2 Spot Fleet Request resource. This allows a fleet of Spot instances to be requested on the Spot market.
**NOTE AWS strongly discourages the use of the legacy APIs called by this resource. We recommend using the EC2 Fleet or Auto Scaling Group resources instead.
Example Usage
Using launch specifications
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Request a Spot fleet
const cheapCompute = new aws.ec2.SpotFleetRequest("cheap_compute", {
    iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
    spotPrice: "0.03",
    allocationStrategy: "diversified",
    targetCapacity: 6,
    validUntil: "2019-11-04T20:44:20Z",
    launchSpecifications: [
        {
            instanceType: "m4.10xlarge",
            ami: "ami-1234",
            spotPrice: "2.793",
            placementTenancy: "dedicated",
            iamInstanceProfileArn: example.arn,
        },
        {
            instanceType: "m4.4xlarge",
            ami: "ami-5678",
            keyName: "my-key",
            spotPrice: "1.117",
            iamInstanceProfileArn: example.arn,
            availabilityZone: "us-west-1a",
            subnetId: "subnet-1234",
            weightedCapacity: "35",
            rootBlockDevices: [{
                volumeSize: 300,
                volumeType: "gp2",
            }],
            tags: {
                Name: "spot-fleet-example",
            },
        },
    ],
});
import pulumi
import pulumi_aws as aws
# Request a Spot fleet
cheap_compute = aws.ec2.SpotFleetRequest("cheap_compute",
    iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
    spot_price="0.03",
    allocation_strategy="diversified",
    target_capacity=6,
    valid_until="2019-11-04T20:44:20Z",
    launch_specifications=[
        {
            "instance_type": "m4.10xlarge",
            "ami": "ami-1234",
            "spot_price": "2.793",
            "placement_tenancy": "dedicated",
            "iam_instance_profile_arn": example["arn"],
        },
        {
            "instance_type": "m4.4xlarge",
            "ami": "ami-5678",
            "key_name": "my-key",
            "spot_price": "1.117",
            "iam_instance_profile_arn": example["arn"],
            "availability_zone": "us-west-1a",
            "subnet_id": "subnet-1234",
            "weighted_capacity": "35",
            "root_block_devices": [{
                "volume_size": 300,
                "volume_type": "gp2",
            }],
            "tags": {
                "Name": "spot-fleet-example",
            },
        },
    ])
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Request a Spot fleet
		_, err := ec2.NewSpotFleetRequest(ctx, "cheap_compute", &ec2.SpotFleetRequestArgs{
			IamFleetRole:       pulumi.String("arn:aws:iam::12345678:role/spot-fleet"),
			SpotPrice:          pulumi.String("0.03"),
			AllocationStrategy: pulumi.String("diversified"),
			TargetCapacity:     pulumi.Int(6),
			ValidUntil:         pulumi.String("2019-11-04T20:44:20Z"),
			LaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{
				&ec2.SpotFleetRequestLaunchSpecificationArgs{
					InstanceType:          pulumi.String("m4.10xlarge"),
					Ami:                   pulumi.String("ami-1234"),
					SpotPrice:             pulumi.String("2.793"),
					PlacementTenancy:      pulumi.String("dedicated"),
					IamInstanceProfileArn: pulumi.Any(example.Arn),
				},
				&ec2.SpotFleetRequestLaunchSpecificationArgs{
					InstanceType:          pulumi.String("m4.4xlarge"),
					Ami:                   pulumi.String("ami-5678"),
					KeyName:               pulumi.String("my-key"),
					SpotPrice:             pulumi.String("1.117"),
					IamInstanceProfileArn: pulumi.Any(example.Arn),
					AvailabilityZone:      pulumi.String("us-west-1a"),
					SubnetId:              pulumi.String("subnet-1234"),
					WeightedCapacity:      pulumi.String("35"),
					RootBlockDevices: ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{
						&ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{
							VolumeSize: pulumi.Int(300),
							VolumeType: pulumi.String("gp2"),
						},
					},
					Tags: pulumi.StringMap{
						"Name": pulumi.String("spot-fleet-example"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    // Request a Spot fleet
    var cheapCompute = new Aws.Ec2.SpotFleetRequest("cheap_compute", new()
    {
        IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
        SpotPrice = "0.03",
        AllocationStrategy = "diversified",
        TargetCapacity = 6,
        ValidUntil = "2019-11-04T20:44:20Z",
        LaunchSpecifications = new[]
        {
            new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
            {
                InstanceType = "m4.10xlarge",
                Ami = "ami-1234",
                SpotPrice = "2.793",
                PlacementTenancy = "dedicated",
                IamInstanceProfileArn = example.Arn,
            },
            new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
            {
                InstanceType = "m4.4xlarge",
                Ami = "ami-5678",
                KeyName = "my-key",
                SpotPrice = "1.117",
                IamInstanceProfileArn = example.Arn,
                AvailabilityZone = "us-west-1a",
                SubnetId = "subnet-1234",
                WeightedCapacity = "35",
                RootBlockDevices = new[]
                {
                    new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs
                    {
                        VolumeSize = 300,
                        VolumeType = "gp2",
                    },
                },
                Tags = 
                {
                    { "Name", "spot-fleet-example" },
                },
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.SpotFleetRequest;
import com.pulumi.aws.ec2.SpotFleetRequestArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;
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) {
        // Request a Spot fleet
        var cheapCompute = new SpotFleetRequest("cheapCompute", SpotFleetRequestArgs.builder()
            .iamFleetRole("arn:aws:iam::12345678:role/spot-fleet")
            .spotPrice("0.03")
            .allocationStrategy("diversified")
            .targetCapacity(6)
            .validUntil("2019-11-04T20:44:20Z")
            .launchSpecifications(            
                SpotFleetRequestLaunchSpecificationArgs.builder()
                    .instanceType("m4.10xlarge")
                    .ami("ami-1234")
                    .spotPrice("2.793")
                    .placementTenancy("dedicated")
                    .iamInstanceProfileArn(example.arn())
                    .build(),
                SpotFleetRequestLaunchSpecificationArgs.builder()
                    .instanceType("m4.4xlarge")
                    .ami("ami-5678")
                    .keyName("my-key")
                    .spotPrice("1.117")
                    .iamInstanceProfileArn(example.arn())
                    .availabilityZone("us-west-1a")
                    .subnetId("subnet-1234")
                    .weightedCapacity(35)
                    .rootBlockDevices(SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs.builder()
                        .volumeSize("300")
                        .volumeType("gp2")
                        .build())
                    .tags(Map.of("Name", "spot-fleet-example"))
                    .build())
            .build());
    }
}
resources:
  # Request a Spot fleet
  cheapCompute:
    type: aws:ec2:SpotFleetRequest
    name: cheap_compute
    properties:
      iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
      spotPrice: '0.03'
      allocationStrategy: diversified
      targetCapacity: 6
      validUntil: 2019-11-04T20:44:20Z
      launchSpecifications:
        - instanceType: m4.10xlarge
          ami: ami-1234
          spotPrice: '2.793'
          placementTenancy: dedicated
          iamInstanceProfileArn: ${example.arn}
        - instanceType: m4.4xlarge
          ami: ami-5678
          keyName: my-key
          spotPrice: '1.117'
          iamInstanceProfileArn: ${example.arn}
          availabilityZone: us-west-1a
          subnetId: subnet-1234
          weightedCapacity: 35
          rootBlockDevices:
            - volumeSize: '300'
              volumeType: gp2
          tags:
            Name: spot-fleet-example
Using launch templates
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = new aws.ec2.LaunchTemplate("foo", {
    name: "launch-template",
    imageId: "ami-516b9131",
    instanceType: "m1.small",
    keyName: "some-key",
});
const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("foo", {
    iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
    spotPrice: "0.005",
    targetCapacity: 2,
    validUntil: "2019-11-04T20:44:20Z",
    launchTemplateConfigs: [{
        launchTemplateSpecification: {
            id: foo.id,
            version: foo.latestVersion,
        },
    }],
}, {
    dependsOn: [test_attach],
});
import pulumi
import pulumi_aws as aws
foo = aws.ec2.LaunchTemplate("foo",
    name="launch-template",
    image_id="ami-516b9131",
    instance_type="m1.small",
    key_name="some-key")
foo_spot_fleet_request = aws.ec2.SpotFleetRequest("foo",
    iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
    spot_price="0.005",
    target_capacity=2,
    valid_until="2019-11-04T20:44:20Z",
    launch_template_configs=[{
        "launch_template_specification": {
            "id": foo.id,
            "version": foo.latest_version,
        },
    }],
    opts = pulumi.ResourceOptions(depends_on=[test_attach]))
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		foo, err := ec2.NewLaunchTemplate(ctx, "foo", &ec2.LaunchTemplateArgs{
			Name:         pulumi.String("launch-template"),
			ImageId:      pulumi.String("ami-516b9131"),
			InstanceType: pulumi.String("m1.small"),
			KeyName:      pulumi.String("some-key"),
		})
		if err != nil {
			return err
		}
		_, err = ec2.NewSpotFleetRequest(ctx, "foo", &ec2.SpotFleetRequestArgs{
			IamFleetRole:   pulumi.String("arn:aws:iam::12345678:role/spot-fleet"),
			SpotPrice:      pulumi.String("0.005"),
			TargetCapacity: pulumi.Int(2),
			ValidUntil:     pulumi.String("2019-11-04T20:44:20Z"),
			LaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{
				&ec2.SpotFleetRequestLaunchTemplateConfigArgs{
					LaunchTemplateSpecification: &ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{
						Id:      foo.ID(),
						Version: foo.LatestVersion,
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			test_attach,
		}))
		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 foo = new Aws.Ec2.LaunchTemplate("foo", new()
    {
        Name = "launch-template",
        ImageId = "ami-516b9131",
        InstanceType = "m1.small",
        KeyName = "some-key",
    });
    var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest("foo", new()
    {
        IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
        SpotPrice = "0.005",
        TargetCapacity = 2,
        ValidUntil = "2019-11-04T20:44:20Z",
        LaunchTemplateConfigs = new[]
        {
            new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs
            {
                LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs
                {
                    Id = foo.Id,
                    Version = foo.LatestVersion,
                },
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            test_attach,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.ec2.SpotFleetRequest;
import com.pulumi.aws.ec2.SpotFleetRequestArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;
import com.pulumi.resources.CustomResourceOptions;
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 foo = new LaunchTemplate("foo", LaunchTemplateArgs.builder()
            .name("launch-template")
            .imageId("ami-516b9131")
            .instanceType("m1.small")
            .keyName("some-key")
            .build());
        var fooSpotFleetRequest = new SpotFleetRequest("fooSpotFleetRequest", SpotFleetRequestArgs.builder()
            .iamFleetRole("arn:aws:iam::12345678:role/spot-fleet")
            .spotPrice("0.005")
            .targetCapacity(2)
            .validUntil("2019-11-04T20:44:20Z")
            .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()
                .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()
                    .id(foo.id())
                    .version(foo.latestVersion())
                    .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(test_attach)
                .build());
    }
}
resources:
  foo:
    type: aws:ec2:LaunchTemplate
    properties:
      name: launch-template
      imageId: ami-516b9131
      instanceType: m1.small
      keyName: some-key
  fooSpotFleetRequest:
    type: aws:ec2:SpotFleetRequest
    name: foo
    properties:
      iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
      spotPrice: '0.005'
      targetCapacity: 2
      validUntil: 2019-11-04T20:44:20Z
      launchTemplateConfigs:
        - launchTemplateSpecification:
            id: ${foo.id}
            version: ${foo.latestVersion}
    options:
      dependsOn:
        - ${["test-attach"]}
NOTE: This provider does not support the functionality where multiple
subnet_idoravailability_zoneparameters can be specified in the same launch configuration block. If you want to specify multiple values, then separate launch configuration blocks should be used or launch template overrides should be configured, one per subnet:
Using multiple launch specifications
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = new aws.ec2.SpotFleetRequest("foo", {
    iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
    spotPrice: "0.005",
    targetCapacity: 2,
    validUntil: "2019-11-04T20:44:20Z",
    launchSpecifications: [
        {
            instanceType: "m1.small",
            ami: "ami-d06a90b0",
            keyName: "my-key",
            availabilityZone: "us-west-2a",
        },
        {
            instanceType: "m5.large",
            ami: "ami-d06a90b0",
            keyName: "my-key",
            availabilityZone: "us-west-2a",
        },
    ],
});
import pulumi
import pulumi_aws as aws
foo = aws.ec2.SpotFleetRequest("foo",
    iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
    spot_price="0.005",
    target_capacity=2,
    valid_until="2019-11-04T20:44:20Z",
    launch_specifications=[
        {
            "instance_type": "m1.small",
            "ami": "ami-d06a90b0",
            "key_name": "my-key",
            "availability_zone": "us-west-2a",
        },
        {
            "instance_type": "m5.large",
            "ami": "ami-d06a90b0",
            "key_name": "my-key",
            "availability_zone": "us-west-2a",
        },
    ])
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ec2.NewSpotFleetRequest(ctx, "foo", &ec2.SpotFleetRequestArgs{
			IamFleetRole:   pulumi.String("arn:aws:iam::12345678:role/spot-fleet"),
			SpotPrice:      pulumi.String("0.005"),
			TargetCapacity: pulumi.Int(2),
			ValidUntil:     pulumi.String("2019-11-04T20:44:20Z"),
			LaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{
				&ec2.SpotFleetRequestLaunchSpecificationArgs{
					InstanceType:     pulumi.String("m1.small"),
					Ami:              pulumi.String("ami-d06a90b0"),
					KeyName:          pulumi.String("my-key"),
					AvailabilityZone: pulumi.String("us-west-2a"),
				},
				&ec2.SpotFleetRequestLaunchSpecificationArgs{
					InstanceType:     pulumi.String("m5.large"),
					Ami:              pulumi.String("ami-d06a90b0"),
					KeyName:          pulumi.String("my-key"),
					AvailabilityZone: pulumi.String("us-west-2a"),
				},
			},
		})
		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 foo = new Aws.Ec2.SpotFleetRequest("foo", new()
    {
        IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
        SpotPrice = "0.005",
        TargetCapacity = 2,
        ValidUntil = "2019-11-04T20:44:20Z",
        LaunchSpecifications = new[]
        {
            new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
            {
                InstanceType = "m1.small",
                Ami = "ami-d06a90b0",
                KeyName = "my-key",
                AvailabilityZone = "us-west-2a",
            },
            new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
            {
                InstanceType = "m5.large",
                Ami = "ami-d06a90b0",
                KeyName = "my-key",
                AvailabilityZone = "us-west-2a",
            },
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.SpotFleetRequest;
import com.pulumi.aws.ec2.SpotFleetRequestArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;
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 foo = new SpotFleetRequest("foo", SpotFleetRequestArgs.builder()
            .iamFleetRole("arn:aws:iam::12345678:role/spot-fleet")
            .spotPrice("0.005")
            .targetCapacity(2)
            .validUntil("2019-11-04T20:44:20Z")
            .launchSpecifications(            
                SpotFleetRequestLaunchSpecificationArgs.builder()
                    .instanceType("m1.small")
                    .ami("ami-d06a90b0")
                    .keyName("my-key")
                    .availabilityZone("us-west-2a")
                    .build(),
                SpotFleetRequestLaunchSpecificationArgs.builder()
                    .instanceType("m5.large")
                    .ami("ami-d06a90b0")
                    .keyName("my-key")
                    .availabilityZone("us-west-2a")
                    .build())
            .build());
    }
}
resources:
  foo:
    type: aws:ec2:SpotFleetRequest
    properties:
      iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
      spotPrice: '0.005'
      targetCapacity: 2
      validUntil: 2019-11-04T20:44:20Z
      launchSpecifications:
        - instanceType: m1.small
          ami: ami-d06a90b0
          keyName: my-key
          availabilityZone: us-west-2a
        - instanceType: m5.large
          ami: ami-d06a90b0
          keyName: my-key
          availabilityZone: us-west-2a
In this example, we use a
dynamicblock to define zero or morelaunch_specificationblocks, producing one for each element in the list of subnet ids.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const subnets = config.requireObject("subnets");
const example = new aws.ec2.SpotFleetRequest("example", {
    launchSpecifications: .map(s => ({
        subnetId: s[1],
    })).map((v, k) => ({key: k, value: v})).map(entry => ({
        ami: "ami-1234",
        instanceType: "m4.4xlarge",
        subnetId: entry.value.subnetId,
        vpcSecurityGroupIds: "sg-123456",
        rootBlockDevices: [{
            volumeSize: 8,
            volumeType: "gp2",
            deleteOnTermination: true,
        }],
        tags: {
            Name: "Spot Node",
            tag_builder: "builder",
        },
    })),
    iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
    targetCapacity: 3,
    validUntil: "2019-11-04T20:44:20Z",
    allocationStrategy: "lowestPrice",
    fleetType: "request",
    waitForFulfillment: true,
    terminateInstancesWithExpiration: true,
});
import pulumi
import pulumi_aws as aws
config = pulumi.Config()
subnets = config.require_object("subnets")
example = aws.ec2.SpotFleetRequest("example",
    launch_specifications=[{
        "ami": "ami-1234",
        "instance_type": "m4.4xlarge",
        "subnet_id": entry["value"]["subnetId"],
        "vpc_security_group_ids": "sg-123456",
        "root_block_devices": [{
            "volume_size": 8,
            "volume_type": "gp2",
            "delete_on_termination": True,
        }],
        "tags": {
            "Name": "Spot Node",
            "tag_builder": "builder",
        },
    } for entry in [{"key": k, "value": v} for k, v in [{
        "subnetId": s[1],
    } for s in subnets]]],
    iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
    target_capacity=3,
    valid_until="2019-11-04T20:44:20Z",
    allocation_strategy="lowestPrice",
    fleet_type="request",
    wait_for_fulfillment=True,
    terminate_instances_with_expiration=True)
Coming soon!
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var subnets = config.RequireObject<dynamic>("subnets");
    var example = new Aws.Ec2.SpotFleetRequest("example", new()
    {
        LaunchSpecifications = .Select(s => 
        {
            return 
            {
                { "subnetId", s[1] },
            };
        }).ToList().Select((v, k) => new { Key = k, Value = v }).Select(entry => 
        {
            return new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
            {
                Ami = "ami-1234",
                InstanceType = "m4.4xlarge",
                SubnetId = entry.Value.SubnetId,
                VpcSecurityGroupIds = "sg-123456",
                RootBlockDevices = new[]
                {
                    new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs
                    {
                        VolumeSize = 8,
                        VolumeType = "gp2",
                        DeleteOnTermination = true,
                    },
                },
                Tags = 
                {
                    { "Name", "Spot Node" },
                    { "tag_builder", "builder" },
                },
            };
        }).ToList(),
        IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
        TargetCapacity = 3,
        ValidUntil = "2019-11-04T20:44:20Z",
        AllocationStrategy = "lowestPrice",
        FleetType = "request",
        WaitForFulfillment = true,
        TerminateInstancesWithExpiration = true,
    });
});
Coming soon!
Coming soon!
Using multiple launch configurations
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.ec2.getSubnets({
    filters: [{
        name: "vpc-id",
        values: [vpcId],
    }],
});
const foo = new aws.ec2.LaunchTemplate("foo", {
    name: "launch-template",
    imageId: "ami-516b9131",
    instanceType: "m1.small",
    keyName: "some-key",
});
const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("foo", {
    iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
    spotPrice: "0.005",
    targetCapacity: 2,
    validUntil: "2019-11-04T20:44:20Z",
    launchTemplateConfigs: [{
        launchTemplateSpecification: {
            id: foo.id,
            version: foo.latestVersion,
        },
        overrides: [
            {
                subnetId: example.then(example => example.ids?.[0]),
            },
            {
                subnetId: example.then(example => example.ids?.[1]),
            },
            {
                subnetId: example.then(example => example.ids?.[2]),
            },
        ],
    }],
}, {
    dependsOn: [test_attach],
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.get_subnets(filters=[{
    "name": "vpc-id",
    "values": [vpc_id],
}])
foo = aws.ec2.LaunchTemplate("foo",
    name="launch-template",
    image_id="ami-516b9131",
    instance_type="m1.small",
    key_name="some-key")
foo_spot_fleet_request = aws.ec2.SpotFleetRequest("foo",
    iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
    spot_price="0.005",
    target_capacity=2,
    valid_until="2019-11-04T20:44:20Z",
    launch_template_configs=[{
        "launch_template_specification": {
            "id": foo.id,
            "version": foo.latest_version,
        },
        "overrides": [
            {
                "subnet_id": example.ids[0],
            },
            {
                "subnet_id": example.ids[1],
            },
            {
                "subnet_id": example.ids[2],
            },
        ],
    }],
    opts = pulumi.ResourceOptions(depends_on=[test_attach]))
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := ec2.GetSubnets(ctx, &ec2.GetSubnetsArgs{
Filters: []ec2.GetSubnetsFilter{
{
Name: "vpc-id",
Values: interface{}{
vpcId,
},
},
},
}, nil);
if err != nil {
return err
}
foo, err := ec2.NewLaunchTemplate(ctx, "foo", &ec2.LaunchTemplateArgs{
Name: pulumi.String("launch-template"),
ImageId: pulumi.String("ami-516b9131"),
InstanceType: pulumi.String("m1.small"),
KeyName: pulumi.String("some-key"),
})
if err != nil {
return err
}
_, err = ec2.NewSpotFleetRequest(ctx, "foo", &ec2.SpotFleetRequestArgs{
IamFleetRole: pulumi.String("arn:aws:iam::12345678:role/spot-fleet"),
SpotPrice: pulumi.String("0.005"),
TargetCapacity: pulumi.Int(2),
ValidUntil: pulumi.String("2019-11-04T20:44:20Z"),
LaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{
&ec2.SpotFleetRequestLaunchTemplateConfigArgs{
LaunchTemplateSpecification: &ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{
Id: foo.ID(),
Version: foo.LatestVersion,
},
Overrides: ec2.SpotFleetRequestLaunchTemplateConfigOverrideArray{
&ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{
SubnetId: pulumi.String(example.Ids[0]),
},
&ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{
SubnetId: pulumi.String(example.Ids[1]),
},
&ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{
SubnetId: pulumi.String(example.Ids[2]),
},
},
},
},
}, pulumi.DependsOn([]pulumi.Resource{
test_attach,
}))
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 = Aws.Ec2.GetSubnets.Invoke(new()
    {
        Filters = new[]
        {
            new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs
            {
                Name = "vpc-id",
                Values = new[]
                {
                    vpcId,
                },
            },
        },
    });
    var foo = new Aws.Ec2.LaunchTemplate("foo", new()
    {
        Name = "launch-template",
        ImageId = "ami-516b9131",
        InstanceType = "m1.small",
        KeyName = "some-key",
    });
    var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest("foo", new()
    {
        IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
        SpotPrice = "0.005",
        TargetCapacity = 2,
        ValidUntil = "2019-11-04T20:44:20Z",
        LaunchTemplateConfigs = new[]
        {
            new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs
            {
                LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs
                {
                    Id = foo.Id,
                    Version = foo.LatestVersion,
                },
                Overrides = new[]
                {
                    new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs
                    {
                        SubnetId = example.Apply(getSubnetsResult => getSubnetsResult.Ids[0]),
                    },
                    new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs
                    {
                        SubnetId = example.Apply(getSubnetsResult => getSubnetsResult.Ids[1]),
                    },
                    new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs
                    {
                        SubnetId = example.Apply(getSubnetsResult => getSubnetsResult.Ids[2]),
                    },
                },
            },
        },
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            test_attach,
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetSubnetsArgs;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.ec2.SpotFleetRequest;
import com.pulumi.aws.ec2.SpotFleetRequestArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;
import com.pulumi.resources.CustomResourceOptions;
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) {
        final var example = Ec2Functions.getSubnets(GetSubnetsArgs.builder()
            .filters(GetSubnetsFilterArgs.builder()
                .name("vpc-id")
                .values(vpcId)
                .build())
            .build());
        var foo = new LaunchTemplate("foo", LaunchTemplateArgs.builder()
            .name("launch-template")
            .imageId("ami-516b9131")
            .instanceType("m1.small")
            .keyName("some-key")
            .build());
        var fooSpotFleetRequest = new SpotFleetRequest("fooSpotFleetRequest", SpotFleetRequestArgs.builder()
            .iamFleetRole("arn:aws:iam::12345678:role/spot-fleet")
            .spotPrice("0.005")
            .targetCapacity(2)
            .validUntil("2019-11-04T20:44:20Z")
            .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()
                .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()
                    .id(foo.id())
                    .version(foo.latestVersion())
                    .build())
                .overrides(                
                    SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()
                        .subnetId(example.applyValue(getSubnetsResult -> getSubnetsResult.ids()[0]))
                        .build(),
                    SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()
                        .subnetId(example.applyValue(getSubnetsResult -> getSubnetsResult.ids()[1]))
                        .build(),
                    SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()
                        .subnetId(example.applyValue(getSubnetsResult -> getSubnetsResult.ids()[2]))
                        .build())
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(test_attach)
                .build());
    }
}
resources:
  foo:
    type: aws:ec2:LaunchTemplate
    properties:
      name: launch-template
      imageId: ami-516b9131
      instanceType: m1.small
      keyName: some-key
  fooSpotFleetRequest:
    type: aws:ec2:SpotFleetRequest
    name: foo
    properties:
      iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
      spotPrice: '0.005'
      targetCapacity: 2
      validUntil: 2019-11-04T20:44:20Z
      launchTemplateConfigs:
        - launchTemplateSpecification:
            id: ${foo.id}
            version: ${foo.latestVersion}
          overrides:
            - subnetId: ${example.ids[0]}
            - subnetId: ${example.ids[1]}
            - subnetId: ${example.ids[2]}
    options:
      dependsOn:
        - ${["test-attach"]}
variables:
  example:
    fn::invoke:
      function: aws:ec2:getSubnets
      arguments:
        filters:
          - name: vpc-id
            values:
              - ${vpcId}
Create SpotFleetRequest Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new SpotFleetRequest(name: string, args: SpotFleetRequestArgs, opts?: CustomResourceOptions);@overload
def SpotFleetRequest(resource_name: str,
                     args: SpotFleetRequestArgs,
                     opts: Optional[ResourceOptions] = None)
@overload
def SpotFleetRequest(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     iam_fleet_role: Optional[str] = None,
                     target_capacity: Optional[int] = None,
                     on_demand_target_capacity: Optional[int] = None,
                     wait_for_fulfillment: Optional[bool] = None,
                     allocation_strategy: Optional[str] = None,
                     instance_interruption_behaviour: Optional[str] = None,
                     instance_pools_to_use_count: Optional[int] = None,
                     launch_specifications: Optional[Sequence[SpotFleetRequestLaunchSpecificationArgs]] = None,
                     launch_template_configs: Optional[Sequence[SpotFleetRequestLaunchTemplateConfigArgs]] = None,
                     load_balancers: Optional[Sequence[str]] = None,
                     on_demand_allocation_strategy: Optional[str] = None,
                     spot_maintenance_strategies: Optional[SpotFleetRequestSpotMaintenanceStrategiesArgs] = None,
                     excess_capacity_termination_policy: Optional[str] = None,
                     fleet_type: Optional[str] = None,
                     on_demand_max_total_price: Optional[str] = None,
                     spot_price: Optional[str] = None,
                     tags: Optional[Mapping[str, str]] = None,
                     context: Optional[str] = None,
                     target_capacity_unit_type: Optional[str] = None,
                     target_group_arns: Optional[Sequence[str]] = None,
                     terminate_instances_on_delete: Optional[str] = None,
                     terminate_instances_with_expiration: Optional[bool] = None,
                     valid_from: Optional[str] = None,
                     valid_until: Optional[str] = None,
                     replace_unhealthy_instances: Optional[bool] = None)func NewSpotFleetRequest(ctx *Context, name string, args SpotFleetRequestArgs, opts ...ResourceOption) (*SpotFleetRequest, error)public SpotFleetRequest(string name, SpotFleetRequestArgs args, CustomResourceOptions? opts = null)
public SpotFleetRequest(String name, SpotFleetRequestArgs args)
public SpotFleetRequest(String name, SpotFleetRequestArgs args, CustomResourceOptions options)
type: aws:ec2:SpotFleetRequest
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args SpotFleetRequestArgs
- 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 SpotFleetRequestArgs
- 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 SpotFleetRequestArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SpotFleetRequestArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SpotFleetRequestArgs
- 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 spotFleetRequestResource = new Aws.Ec2.SpotFleetRequest("spotFleetRequestResource", new()
{
    IamFleetRole = "string",
    TargetCapacity = 0,
    OnDemandTargetCapacity = 0,
    WaitForFulfillment = false,
    AllocationStrategy = "string",
    InstanceInterruptionBehaviour = "string",
    InstancePoolsToUseCount = 0,
    LaunchSpecifications = new[]
    {
        new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
        {
            InstanceType = "string",
            Ami = "string",
            Monitoring = false,
            PlacementGroup = "string",
            EbsOptimized = false,
            EphemeralBlockDevices = new[]
            {
                new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs
                {
                    DeviceName = "string",
                    VirtualName = "string",
                },
            },
            IamInstanceProfile = "string",
            IamInstanceProfileArn = "string",
            AvailabilityZone = "string",
            KeyName = "string",
            AssociatePublicIpAddress = false,
            EbsBlockDevices = new[]
            {
                new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs
                {
                    DeviceName = "string",
                    DeleteOnTermination = false,
                    Encrypted = false,
                    Iops = 0,
                    KmsKeyId = "string",
                    SnapshotId = "string",
                    Throughput = 0,
                    VolumeSize = 0,
                    VolumeType = "string",
                },
            },
            PlacementTenancy = "string",
            RootBlockDevices = new[]
            {
                new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs
                {
                    DeleteOnTermination = false,
                    Encrypted = false,
                    Iops = 0,
                    KmsKeyId = "string",
                    Throughput = 0,
                    VolumeSize = 0,
                    VolumeType = "string",
                },
            },
            SpotPrice = "string",
            SubnetId = "string",
            Tags = 
            {
                { "string", "string" },
            },
            UserData = "string",
            VpcSecurityGroupIds = new[]
            {
                "string",
            },
            WeightedCapacity = "string",
        },
    },
    LaunchTemplateConfigs = new[]
    {
        new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs
        {
            LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs
            {
                Id = "string",
                Name = "string",
                Version = "string",
            },
            Overrides = new[]
            {
                new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs
                {
                    AvailabilityZone = "string",
                    InstanceRequirements = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs
                    {
                        AcceleratorCount = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        AcceleratorManufacturers = new[]
                        {
                            "string",
                        },
                        AcceleratorNames = new[]
                        {
                            "string",
                        },
                        AcceleratorTotalMemoryMib = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        AcceleratorTypes = new[]
                        {
                            "string",
                        },
                        AllowedInstanceTypes = new[]
                        {
                            "string",
                        },
                        BareMetal = "string",
                        BaselineEbsBandwidthMbps = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        BurstablePerformance = "string",
                        CpuManufacturers = new[]
                        {
                            "string",
                        },
                        ExcludedInstanceTypes = new[]
                        {
                            "string",
                        },
                        InstanceGenerations = new[]
                        {
                            "string",
                        },
                        LocalStorage = "string",
                        LocalStorageTypes = new[]
                        {
                            "string",
                        },
                        MemoryGibPerVcpu = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        MemoryMib = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        NetworkBandwidthGbps = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        NetworkInterfaceCount = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        OnDemandMaxPricePercentageOverLowestPrice = 0,
                        RequireHibernateSupport = false,
                        SpotMaxPricePercentageOverLowestPrice = 0,
                        TotalLocalStorageGb = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                        VcpuCount = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs
                        {
                            Max = 0,
                            Min = 0,
                        },
                    },
                    InstanceType = "string",
                    Priority = 0,
                    SpotPrice = "string",
                    SubnetId = "string",
                    WeightedCapacity = 0,
                },
            },
        },
    },
    LoadBalancers = new[]
    {
        "string",
    },
    OnDemandAllocationStrategy = "string",
    SpotMaintenanceStrategies = new Aws.Ec2.Inputs.SpotFleetRequestSpotMaintenanceStrategiesArgs
    {
        CapacityRebalance = new Aws.Ec2.Inputs.SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs
        {
            ReplacementStrategy = "string",
        },
    },
    ExcessCapacityTerminationPolicy = "string",
    FleetType = "string",
    OnDemandMaxTotalPrice = "string",
    SpotPrice = "string",
    Tags = 
    {
        { "string", "string" },
    },
    Context = "string",
    TargetCapacityUnitType = "string",
    TargetGroupArns = new[]
    {
        "string",
    },
    TerminateInstancesOnDelete = "string",
    TerminateInstancesWithExpiration = false,
    ValidFrom = "string",
    ValidUntil = "string",
    ReplaceUnhealthyInstances = false,
});
example, err := ec2.NewSpotFleetRequest(ctx, "spotFleetRequestResource", &ec2.SpotFleetRequestArgs{
	IamFleetRole:                  pulumi.String("string"),
	TargetCapacity:                pulumi.Int(0),
	OnDemandTargetCapacity:        pulumi.Int(0),
	WaitForFulfillment:            pulumi.Bool(false),
	AllocationStrategy:            pulumi.String("string"),
	InstanceInterruptionBehaviour: pulumi.String("string"),
	InstancePoolsToUseCount:       pulumi.Int(0),
	LaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{
		&ec2.SpotFleetRequestLaunchSpecificationArgs{
			InstanceType:   pulumi.String("string"),
			Ami:            pulumi.String("string"),
			Monitoring:     pulumi.Bool(false),
			PlacementGroup: pulumi.String("string"),
			EbsOptimized:   pulumi.Bool(false),
			EphemeralBlockDevices: ec2.SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray{
				&ec2.SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs{
					DeviceName:  pulumi.String("string"),
					VirtualName: pulumi.String("string"),
				},
			},
			IamInstanceProfile:       pulumi.String("string"),
			IamInstanceProfileArn:    pulumi.String("string"),
			AvailabilityZone:         pulumi.String("string"),
			KeyName:                  pulumi.String("string"),
			AssociatePublicIpAddress: pulumi.Bool(false),
			EbsBlockDevices: ec2.SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray{
				&ec2.SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs{
					DeviceName:          pulumi.String("string"),
					DeleteOnTermination: pulumi.Bool(false),
					Encrypted:           pulumi.Bool(false),
					Iops:                pulumi.Int(0),
					KmsKeyId:            pulumi.String("string"),
					SnapshotId:          pulumi.String("string"),
					Throughput:          pulumi.Int(0),
					VolumeSize:          pulumi.Int(0),
					VolumeType:          pulumi.String("string"),
				},
			},
			PlacementTenancy: pulumi.String("string"),
			RootBlockDevices: ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{
				&ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{
					DeleteOnTermination: pulumi.Bool(false),
					Encrypted:           pulumi.Bool(false),
					Iops:                pulumi.Int(0),
					KmsKeyId:            pulumi.String("string"),
					Throughput:          pulumi.Int(0),
					VolumeSize:          pulumi.Int(0),
					VolumeType:          pulumi.String("string"),
				},
			},
			SpotPrice: pulumi.String("string"),
			SubnetId:  pulumi.String("string"),
			Tags: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			UserData: pulumi.String("string"),
			VpcSecurityGroupIds: pulumi.StringArray{
				pulumi.String("string"),
			},
			WeightedCapacity: pulumi.String("string"),
		},
	},
	LaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{
		&ec2.SpotFleetRequestLaunchTemplateConfigArgs{
			LaunchTemplateSpecification: &ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{
				Id:      pulumi.String("string"),
				Name:    pulumi.String("string"),
				Version: pulumi.String("string"),
			},
			Overrides: ec2.SpotFleetRequestLaunchTemplateConfigOverrideArray{
				&ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{
					AvailabilityZone: pulumi.String("string"),
					InstanceRequirements: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs{
						AcceleratorCount: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						AcceleratorManufacturers: pulumi.StringArray{
							pulumi.String("string"),
						},
						AcceleratorNames: pulumi.StringArray{
							pulumi.String("string"),
						},
						AcceleratorTotalMemoryMib: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						AcceleratorTypes: pulumi.StringArray{
							pulumi.String("string"),
						},
						AllowedInstanceTypes: pulumi.StringArray{
							pulumi.String("string"),
						},
						BareMetal: pulumi.String("string"),
						BaselineEbsBandwidthMbps: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						BurstablePerformance: pulumi.String("string"),
						CpuManufacturers: pulumi.StringArray{
							pulumi.String("string"),
						},
						ExcludedInstanceTypes: pulumi.StringArray{
							pulumi.String("string"),
						},
						InstanceGenerations: pulumi.StringArray{
							pulumi.String("string"),
						},
						LocalStorage: pulumi.String("string"),
						LocalStorageTypes: pulumi.StringArray{
							pulumi.String("string"),
						},
						MemoryGibPerVcpu: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{
							Max: pulumi.Float64(0),
							Min: pulumi.Float64(0),
						},
						MemoryMib: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						NetworkBandwidthGbps: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{
							Max: pulumi.Float64(0),
							Min: pulumi.Float64(0),
						},
						NetworkInterfaceCount: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
						OnDemandMaxPricePercentageOverLowestPrice: pulumi.Int(0),
						RequireHibernateSupport:                   pulumi.Bool(false),
						SpotMaxPricePercentageOverLowestPrice:     pulumi.Int(0),
						TotalLocalStorageGb: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{
							Max: pulumi.Float64(0),
							Min: pulumi.Float64(0),
						},
						VcpuCount: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{
							Max: pulumi.Int(0),
							Min: pulumi.Int(0),
						},
					},
					InstanceType:     pulumi.String("string"),
					Priority:         pulumi.Float64(0),
					SpotPrice:        pulumi.String("string"),
					SubnetId:         pulumi.String("string"),
					WeightedCapacity: pulumi.Float64(0),
				},
			},
		},
	},
	LoadBalancers: pulumi.StringArray{
		pulumi.String("string"),
	},
	OnDemandAllocationStrategy: pulumi.String("string"),
	SpotMaintenanceStrategies: &ec2.SpotFleetRequestSpotMaintenanceStrategiesArgs{
		CapacityRebalance: &ec2.SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs{
			ReplacementStrategy: pulumi.String("string"),
		},
	},
	ExcessCapacityTerminationPolicy: pulumi.String("string"),
	FleetType:                       pulumi.String("string"),
	OnDemandMaxTotalPrice:           pulumi.String("string"),
	SpotPrice:                       pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Context:                pulumi.String("string"),
	TargetCapacityUnitType: pulumi.String("string"),
	TargetGroupArns: pulumi.StringArray{
		pulumi.String("string"),
	},
	TerminateInstancesOnDelete:       pulumi.String("string"),
	TerminateInstancesWithExpiration: pulumi.Bool(false),
	ValidFrom:                        pulumi.String("string"),
	ValidUntil:                       pulumi.String("string"),
	ReplaceUnhealthyInstances:        pulumi.Bool(false),
})
var spotFleetRequestResource = new SpotFleetRequest("spotFleetRequestResource", SpotFleetRequestArgs.builder()
    .iamFleetRole("string")
    .targetCapacity(0)
    .onDemandTargetCapacity(0)
    .waitForFulfillment(false)
    .allocationStrategy("string")
    .instanceInterruptionBehaviour("string")
    .instancePoolsToUseCount(0)
    .launchSpecifications(SpotFleetRequestLaunchSpecificationArgs.builder()
        .instanceType("string")
        .ami("string")
        .monitoring(false)
        .placementGroup("string")
        .ebsOptimized(false)
        .ephemeralBlockDevices(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs.builder()
            .deviceName("string")
            .virtualName("string")
            .build())
        .iamInstanceProfile("string")
        .iamInstanceProfileArn("string")
        .availabilityZone("string")
        .keyName("string")
        .associatePublicIpAddress(false)
        .ebsBlockDevices(SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs.builder()
            .deviceName("string")
            .deleteOnTermination(false)
            .encrypted(false)
            .iops(0)
            .kmsKeyId("string")
            .snapshotId("string")
            .throughput(0)
            .volumeSize(0)
            .volumeType("string")
            .build())
        .placementTenancy("string")
        .rootBlockDevices(SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs.builder()
            .deleteOnTermination(false)
            .encrypted(false)
            .iops(0)
            .kmsKeyId("string")
            .throughput(0)
            .volumeSize(0)
            .volumeType("string")
            .build())
        .spotPrice("string")
        .subnetId("string")
        .tags(Map.of("string", "string"))
        .userData("string")
        .vpcSecurityGroupIds("string")
        .weightedCapacity("string")
        .build())
    .launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()
        .launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()
            .id("string")
            .name("string")
            .version("string")
            .build())
        .overrides(SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()
            .availabilityZone("string")
            .instanceRequirements(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs.builder()
                .acceleratorCount(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .acceleratorManufacturers("string")
                .acceleratorNames("string")
                .acceleratorTotalMemoryMib(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .acceleratorTypes("string")
                .allowedInstanceTypes("string")
                .bareMetal("string")
                .baselineEbsBandwidthMbps(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .burstablePerformance("string")
                .cpuManufacturers("string")
                .excludedInstanceTypes("string")
                .instanceGenerations("string")
                .localStorage("string")
                .localStorageTypes("string")
                .memoryGibPerVcpu(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .memoryMib(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .networkBandwidthGbps(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .networkInterfaceCount(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .onDemandMaxPricePercentageOverLowestPrice(0)
                .requireHibernateSupport(false)
                .spotMaxPricePercentageOverLowestPrice(0)
                .totalLocalStorageGb(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .vcpuCount(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs.builder()
                    .max(0)
                    .min(0)
                    .build())
                .build())
            .instanceType("string")
            .priority(0)
            .spotPrice("string")
            .subnetId("string")
            .weightedCapacity(0)
            .build())
        .build())
    .loadBalancers("string")
    .onDemandAllocationStrategy("string")
    .spotMaintenanceStrategies(SpotFleetRequestSpotMaintenanceStrategiesArgs.builder()
        .capacityRebalance(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs.builder()
            .replacementStrategy("string")
            .build())
        .build())
    .excessCapacityTerminationPolicy("string")
    .fleetType("string")
    .onDemandMaxTotalPrice("string")
    .spotPrice("string")
    .tags(Map.of("string", "string"))
    .context("string")
    .targetCapacityUnitType("string")
    .targetGroupArns("string")
    .terminateInstancesOnDelete("string")
    .terminateInstancesWithExpiration(false)
    .validFrom("string")
    .validUntil("string")
    .replaceUnhealthyInstances(false)
    .build());
spot_fleet_request_resource = aws.ec2.SpotFleetRequest("spotFleetRequestResource",
    iam_fleet_role="string",
    target_capacity=0,
    on_demand_target_capacity=0,
    wait_for_fulfillment=False,
    allocation_strategy="string",
    instance_interruption_behaviour="string",
    instance_pools_to_use_count=0,
    launch_specifications=[{
        "instance_type": "string",
        "ami": "string",
        "monitoring": False,
        "placement_group": "string",
        "ebs_optimized": False,
        "ephemeral_block_devices": [{
            "device_name": "string",
            "virtual_name": "string",
        }],
        "iam_instance_profile": "string",
        "iam_instance_profile_arn": "string",
        "availability_zone": "string",
        "key_name": "string",
        "associate_public_ip_address": False,
        "ebs_block_devices": [{
            "device_name": "string",
            "delete_on_termination": False,
            "encrypted": False,
            "iops": 0,
            "kms_key_id": "string",
            "snapshot_id": "string",
            "throughput": 0,
            "volume_size": 0,
            "volume_type": "string",
        }],
        "placement_tenancy": "string",
        "root_block_devices": [{
            "delete_on_termination": False,
            "encrypted": False,
            "iops": 0,
            "kms_key_id": "string",
            "throughput": 0,
            "volume_size": 0,
            "volume_type": "string",
        }],
        "spot_price": "string",
        "subnet_id": "string",
        "tags": {
            "string": "string",
        },
        "user_data": "string",
        "vpc_security_group_ids": ["string"],
        "weighted_capacity": "string",
    }],
    launch_template_configs=[{
        "launch_template_specification": {
            "id": "string",
            "name": "string",
            "version": "string",
        },
        "overrides": [{
            "availability_zone": "string",
            "instance_requirements": {
                "accelerator_count": {
                    "max": 0,
                    "min": 0,
                },
                "accelerator_manufacturers": ["string"],
                "accelerator_names": ["string"],
                "accelerator_total_memory_mib": {
                    "max": 0,
                    "min": 0,
                },
                "accelerator_types": ["string"],
                "allowed_instance_types": ["string"],
                "bare_metal": "string",
                "baseline_ebs_bandwidth_mbps": {
                    "max": 0,
                    "min": 0,
                },
                "burstable_performance": "string",
                "cpu_manufacturers": ["string"],
                "excluded_instance_types": ["string"],
                "instance_generations": ["string"],
                "local_storage": "string",
                "local_storage_types": ["string"],
                "memory_gib_per_vcpu": {
                    "max": 0,
                    "min": 0,
                },
                "memory_mib": {
                    "max": 0,
                    "min": 0,
                },
                "network_bandwidth_gbps": {
                    "max": 0,
                    "min": 0,
                },
                "network_interface_count": {
                    "max": 0,
                    "min": 0,
                },
                "on_demand_max_price_percentage_over_lowest_price": 0,
                "require_hibernate_support": False,
                "spot_max_price_percentage_over_lowest_price": 0,
                "total_local_storage_gb": {
                    "max": 0,
                    "min": 0,
                },
                "vcpu_count": {
                    "max": 0,
                    "min": 0,
                },
            },
            "instance_type": "string",
            "priority": 0,
            "spot_price": "string",
            "subnet_id": "string",
            "weighted_capacity": 0,
        }],
    }],
    load_balancers=["string"],
    on_demand_allocation_strategy="string",
    spot_maintenance_strategies={
        "capacity_rebalance": {
            "replacement_strategy": "string",
        },
    },
    excess_capacity_termination_policy="string",
    fleet_type="string",
    on_demand_max_total_price="string",
    spot_price="string",
    tags={
        "string": "string",
    },
    context="string",
    target_capacity_unit_type="string",
    target_group_arns=["string"],
    terminate_instances_on_delete="string",
    terminate_instances_with_expiration=False,
    valid_from="string",
    valid_until="string",
    replace_unhealthy_instances=False)
const spotFleetRequestResource = new aws.ec2.SpotFleetRequest("spotFleetRequestResource", {
    iamFleetRole: "string",
    targetCapacity: 0,
    onDemandTargetCapacity: 0,
    waitForFulfillment: false,
    allocationStrategy: "string",
    instanceInterruptionBehaviour: "string",
    instancePoolsToUseCount: 0,
    launchSpecifications: [{
        instanceType: "string",
        ami: "string",
        monitoring: false,
        placementGroup: "string",
        ebsOptimized: false,
        ephemeralBlockDevices: [{
            deviceName: "string",
            virtualName: "string",
        }],
        iamInstanceProfile: "string",
        iamInstanceProfileArn: "string",
        availabilityZone: "string",
        keyName: "string",
        associatePublicIpAddress: false,
        ebsBlockDevices: [{
            deviceName: "string",
            deleteOnTermination: false,
            encrypted: false,
            iops: 0,
            kmsKeyId: "string",
            snapshotId: "string",
            throughput: 0,
            volumeSize: 0,
            volumeType: "string",
        }],
        placementTenancy: "string",
        rootBlockDevices: [{
            deleteOnTermination: false,
            encrypted: false,
            iops: 0,
            kmsKeyId: "string",
            throughput: 0,
            volumeSize: 0,
            volumeType: "string",
        }],
        spotPrice: "string",
        subnetId: "string",
        tags: {
            string: "string",
        },
        userData: "string",
        vpcSecurityGroupIds: ["string"],
        weightedCapacity: "string",
    }],
    launchTemplateConfigs: [{
        launchTemplateSpecification: {
            id: "string",
            name: "string",
            version: "string",
        },
        overrides: [{
            availabilityZone: "string",
            instanceRequirements: {
                acceleratorCount: {
                    max: 0,
                    min: 0,
                },
                acceleratorManufacturers: ["string"],
                acceleratorNames: ["string"],
                acceleratorTotalMemoryMib: {
                    max: 0,
                    min: 0,
                },
                acceleratorTypes: ["string"],
                allowedInstanceTypes: ["string"],
                bareMetal: "string",
                baselineEbsBandwidthMbps: {
                    max: 0,
                    min: 0,
                },
                burstablePerformance: "string",
                cpuManufacturers: ["string"],
                excludedInstanceTypes: ["string"],
                instanceGenerations: ["string"],
                localStorage: "string",
                localStorageTypes: ["string"],
                memoryGibPerVcpu: {
                    max: 0,
                    min: 0,
                },
                memoryMib: {
                    max: 0,
                    min: 0,
                },
                networkBandwidthGbps: {
                    max: 0,
                    min: 0,
                },
                networkInterfaceCount: {
                    max: 0,
                    min: 0,
                },
                onDemandMaxPricePercentageOverLowestPrice: 0,
                requireHibernateSupport: false,
                spotMaxPricePercentageOverLowestPrice: 0,
                totalLocalStorageGb: {
                    max: 0,
                    min: 0,
                },
                vcpuCount: {
                    max: 0,
                    min: 0,
                },
            },
            instanceType: "string",
            priority: 0,
            spotPrice: "string",
            subnetId: "string",
            weightedCapacity: 0,
        }],
    }],
    loadBalancers: ["string"],
    onDemandAllocationStrategy: "string",
    spotMaintenanceStrategies: {
        capacityRebalance: {
            replacementStrategy: "string",
        },
    },
    excessCapacityTerminationPolicy: "string",
    fleetType: "string",
    onDemandMaxTotalPrice: "string",
    spotPrice: "string",
    tags: {
        string: "string",
    },
    context: "string",
    targetCapacityUnitType: "string",
    targetGroupArns: ["string"],
    terminateInstancesOnDelete: "string",
    terminateInstancesWithExpiration: false,
    validFrom: "string",
    validUntil: "string",
    replaceUnhealthyInstances: false,
});
type: aws:ec2:SpotFleetRequest
properties:
    allocationStrategy: string
    context: string
    excessCapacityTerminationPolicy: string
    fleetType: string
    iamFleetRole: string
    instanceInterruptionBehaviour: string
    instancePoolsToUseCount: 0
    launchSpecifications:
        - ami: string
          associatePublicIpAddress: false
          availabilityZone: string
          ebsBlockDevices:
            - deleteOnTermination: false
              deviceName: string
              encrypted: false
              iops: 0
              kmsKeyId: string
              snapshotId: string
              throughput: 0
              volumeSize: 0
              volumeType: string
          ebsOptimized: false
          ephemeralBlockDevices:
            - deviceName: string
              virtualName: string
          iamInstanceProfile: string
          iamInstanceProfileArn: string
          instanceType: string
          keyName: string
          monitoring: false
          placementGroup: string
          placementTenancy: string
          rootBlockDevices:
            - deleteOnTermination: false
              encrypted: false
              iops: 0
              kmsKeyId: string
              throughput: 0
              volumeSize: 0
              volumeType: string
          spotPrice: string
          subnetId: string
          tags:
            string: string
          userData: string
          vpcSecurityGroupIds:
            - string
          weightedCapacity: string
    launchTemplateConfigs:
        - launchTemplateSpecification:
            id: string
            name: string
            version: string
          overrides:
            - availabilityZone: string
              instanceRequirements:
                acceleratorCount:
                    max: 0
                    min: 0
                acceleratorManufacturers:
                    - string
                acceleratorNames:
                    - string
                acceleratorTotalMemoryMib:
                    max: 0
                    min: 0
                acceleratorTypes:
                    - string
                allowedInstanceTypes:
                    - string
                bareMetal: string
                baselineEbsBandwidthMbps:
                    max: 0
                    min: 0
                burstablePerformance: string
                cpuManufacturers:
                    - string
                excludedInstanceTypes:
                    - string
                instanceGenerations:
                    - string
                localStorage: string
                localStorageTypes:
                    - string
                memoryGibPerVcpu:
                    max: 0
                    min: 0
                memoryMib:
                    max: 0
                    min: 0
                networkBandwidthGbps:
                    max: 0
                    min: 0
                networkInterfaceCount:
                    max: 0
                    min: 0
                onDemandMaxPricePercentageOverLowestPrice: 0
                requireHibernateSupport: false
                spotMaxPricePercentageOverLowestPrice: 0
                totalLocalStorageGb:
                    max: 0
                    min: 0
                vcpuCount:
                    max: 0
                    min: 0
              instanceType: string
              priority: 0
              spotPrice: string
              subnetId: string
              weightedCapacity: 0
    loadBalancers:
        - string
    onDemandAllocationStrategy: string
    onDemandMaxTotalPrice: string
    onDemandTargetCapacity: 0
    replaceUnhealthyInstances: false
    spotMaintenanceStrategies:
        capacityRebalance:
            replacementStrategy: string
    spotPrice: string
    tags:
        string: string
    targetCapacity: 0
    targetCapacityUnitType: string
    targetGroupArns:
        - string
    terminateInstancesOnDelete: string
    terminateInstancesWithExpiration: false
    validFrom: string
    validUntil: string
    waitForFulfillment: false
SpotFleetRequest 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 SpotFleetRequest resource accepts the following input properties:
- IamFleet stringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- TargetCapacity int
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- AllocationStrategy string
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- Context string
- Reserved.
- ExcessCapacity stringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- FleetType string
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- InstanceInterruption stringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- InstancePools intTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- LaunchSpecifications List<SpotFleet Request Launch Specification> 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- LaunchTemplate List<SpotConfigs Fleet Request Launch Template Config> 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- LoadBalancers List<string>
- A list of elastic load balancer names to add to the Spot fleet.
- OnDemand stringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- OnDemand stringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- OnDemand intTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- ReplaceUnhealthy boolInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- SpotMaintenance SpotStrategies Fleet Request Spot Maintenance Strategies 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- SpotPrice string
- The maximum bid price per unit hour.
- Dictionary<string, string>
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- TargetCapacity stringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- TargetGroup List<string>Arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- TerminateInstances stringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- TerminateInstances boolWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- ValidFrom string
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- ValidUntil string
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- WaitFor boolFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- IamFleet stringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- TargetCapacity int
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- AllocationStrategy string
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- Context string
- Reserved.
- ExcessCapacity stringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- FleetType string
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- InstanceInterruption stringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- InstancePools intTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- LaunchSpecifications []SpotFleet Request Launch Specification Args 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- LaunchTemplate []SpotConfigs Fleet Request Launch Template Config Args 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- LoadBalancers []string
- A list of elastic load balancer names to add to the Spot fleet.
- OnDemand stringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- OnDemand stringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- OnDemand intTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- ReplaceUnhealthy boolInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- SpotMaintenance SpotStrategies Fleet Request Spot Maintenance Strategies Args 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- SpotPrice string
- The maximum bid price per unit hour.
- map[string]string
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- TargetCapacity stringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- TargetGroup []stringArns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- TerminateInstances stringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- TerminateInstances boolWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- ValidFrom string
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- ValidUntil string
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- WaitFor boolFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- iamFleet StringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- targetCapacity Integer
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- allocationStrategy String
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- context String
- Reserved.
- excessCapacity StringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleetType String
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- instanceInterruption StringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- instancePools IntegerTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- launchSpecifications List<SpotFleet Request Launch Specification> 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- launchTemplate List<SpotConfigs Fleet Request Launch Template Config> 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- loadBalancers List<String>
- A list of elastic load balancer names to add to the Spot fleet.
- onDemand StringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- onDemand StringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- onDemand IntegerTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- replaceUnhealthy BooleanInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- spotMaintenance SpotStrategies Fleet Request Spot Maintenance Strategies 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spotPrice String
- The maximum bid price per unit hour.
- Map<String,String>
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- targetCapacity StringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- targetGroup List<String>Arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- terminateInstances StringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- terminateInstances BooleanWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- validFrom String
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- validUntil String
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- waitFor BooleanFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- iamFleet stringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- targetCapacity number
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- allocationStrategy string
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- context string
- Reserved.
- excessCapacity stringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleetType string
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- instanceInterruption stringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- instancePools numberTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- launchSpecifications SpotFleet Request Launch Specification[] 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- launchTemplate SpotConfigs Fleet Request Launch Template Config[] 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- loadBalancers string[]
- A list of elastic load balancer names to add to the Spot fleet.
- onDemand stringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- onDemand stringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- onDemand numberTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- replaceUnhealthy booleanInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- spotMaintenance SpotStrategies Fleet Request Spot Maintenance Strategies 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spotPrice string
- The maximum bid price per unit hour.
- {[key: string]: string}
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- targetCapacity stringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- targetGroup string[]Arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- terminateInstances stringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- terminateInstances booleanWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- validFrom string
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- validUntil string
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- waitFor booleanFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- iam_fleet_ strrole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- target_capacity int
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- allocation_strategy str
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- context str
- Reserved.
- excess_capacity_ strtermination_ policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet_type str
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- instance_interruption_ strbehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- instance_pools_ intto_ use_ count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- launch_specifications Sequence[SpotFleet Request Launch Specification Args] 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- launch_template_ Sequence[Spotconfigs Fleet Request Launch Template Config Args] 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- load_balancers Sequence[str]
- A list of elastic load balancer names to add to the Spot fleet.
- on_demand_ strallocation_ strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- on_demand_ strmax_ total_ price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on_demand_ inttarget_ capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- replace_unhealthy_ boolinstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- spot_maintenance_ Spotstrategies Fleet Request Spot Maintenance Strategies Args 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot_price str
- The maximum bid price per unit hour.
- Mapping[str, str]
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- target_capacity_ strunit_ type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- target_group_ Sequence[str]arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- terminate_instances_ stron_ delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- terminate_instances_ boolwith_ expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid_from str
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- valid_until str
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- wait_for_ boolfulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- iamFleet StringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- targetCapacity Number
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- allocationStrategy String
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- context String
- Reserved.
- excessCapacity StringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleetType String
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- instanceInterruption StringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- instancePools NumberTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- launchSpecifications List<Property Map>
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- launchTemplate List<Property Map>Configs 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- loadBalancers List<String>
- A list of elastic load balancer names to add to the Spot fleet.
- onDemand StringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- onDemand StringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- onDemand NumberTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- replaceUnhealthy BooleanInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- spotMaintenance Property MapStrategies 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spotPrice String
- The maximum bid price per unit hour.
- Map<String>
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- targetCapacity StringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- targetGroup List<String>Arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- terminateInstances StringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- terminateInstances BooleanWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- validFrom String
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- validUntil String
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- waitFor BooleanFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
Outputs
All input properties are implicitly available as output properties. Additionally, the SpotFleetRequest resource produces the following output properties:
- ClientToken string
- Id string
- The provider-assigned unique ID for this managed resource.
- SpotRequest stringState 
- The state of the Spot fleet request.
- Dictionary<string, string>
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- ClientToken string
- Id string
- The provider-assigned unique ID for this managed resource.
- SpotRequest stringState 
- The state of the Spot fleet request.
- map[string]string
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- clientToken String
- id String
- The provider-assigned unique ID for this managed resource.
- spotRequest StringState 
- The state of the Spot fleet request.
- Map<String,String>
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- clientToken string
- id string
- The provider-assigned unique ID for this managed resource.
- spotRequest stringState 
- The state of the Spot fleet request.
- {[key: string]: string}
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- client_token str
- id str
- The provider-assigned unique ID for this managed resource.
- spot_request_ strstate 
- The state of the Spot fleet request.
- Mapping[str, str]
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- clientToken String
- id String
- The provider-assigned unique ID for this managed resource.
- spotRequest StringState 
- The state of the Spot fleet request.
- Map<String>
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
Look up Existing SpotFleetRequest Resource
Get an existing SpotFleetRequest 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?: SpotFleetRequestState, opts?: CustomResourceOptions): SpotFleetRequest@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        allocation_strategy: Optional[str] = None,
        client_token: Optional[str] = None,
        context: Optional[str] = None,
        excess_capacity_termination_policy: Optional[str] = None,
        fleet_type: Optional[str] = None,
        iam_fleet_role: Optional[str] = None,
        instance_interruption_behaviour: Optional[str] = None,
        instance_pools_to_use_count: Optional[int] = None,
        launch_specifications: Optional[Sequence[SpotFleetRequestLaunchSpecificationArgs]] = None,
        launch_template_configs: Optional[Sequence[SpotFleetRequestLaunchTemplateConfigArgs]] = None,
        load_balancers: Optional[Sequence[str]] = None,
        on_demand_allocation_strategy: Optional[str] = None,
        on_demand_max_total_price: Optional[str] = None,
        on_demand_target_capacity: Optional[int] = None,
        replace_unhealthy_instances: Optional[bool] = None,
        spot_maintenance_strategies: Optional[SpotFleetRequestSpotMaintenanceStrategiesArgs] = None,
        spot_price: Optional[str] = None,
        spot_request_state: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        target_capacity: Optional[int] = None,
        target_capacity_unit_type: Optional[str] = None,
        target_group_arns: Optional[Sequence[str]] = None,
        terminate_instances_on_delete: Optional[str] = None,
        terminate_instances_with_expiration: Optional[bool] = None,
        valid_from: Optional[str] = None,
        valid_until: Optional[str] = None,
        wait_for_fulfillment: Optional[bool] = None) -> SpotFleetRequestfunc GetSpotFleetRequest(ctx *Context, name string, id IDInput, state *SpotFleetRequestState, opts ...ResourceOption) (*SpotFleetRequest, error)public static SpotFleetRequest Get(string name, Input<string> id, SpotFleetRequestState? state, CustomResourceOptions? opts = null)public static SpotFleetRequest get(String name, Output<String> id, SpotFleetRequestState state, CustomResourceOptions options)resources:  _:    type: aws:ec2:SpotFleetRequest    get:      id: ${id}- 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.
- AllocationStrategy string
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- ClientToken string
- Context string
- Reserved.
- ExcessCapacity stringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- FleetType string
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- IamFleet stringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- InstanceInterruption stringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- InstancePools intTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- LaunchSpecifications List<SpotFleet Request Launch Specification> 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- LaunchTemplate List<SpotConfigs Fleet Request Launch Template Config> 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- LoadBalancers List<string>
- A list of elastic load balancer names to add to the Spot fleet.
- OnDemand stringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- OnDemand stringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- OnDemand intTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- ReplaceUnhealthy boolInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- SpotMaintenance SpotStrategies Fleet Request Spot Maintenance Strategies 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- SpotPrice string
- The maximum bid price per unit hour.
- SpotRequest stringState 
- The state of the Spot fleet request.
- Dictionary<string, string>
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Dictionary<string, string>
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- TargetCapacity int
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- TargetCapacity stringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- TargetGroup List<string>Arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- TerminateInstances stringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- TerminateInstances boolWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- ValidFrom string
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- ValidUntil string
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- WaitFor boolFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- AllocationStrategy string
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- ClientToken string
- Context string
- Reserved.
- ExcessCapacity stringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- FleetType string
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- IamFleet stringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- InstanceInterruption stringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- InstancePools intTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- LaunchSpecifications []SpotFleet Request Launch Specification Args 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- LaunchTemplate []SpotConfigs Fleet Request Launch Template Config Args 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- LoadBalancers []string
- A list of elastic load balancer names to add to the Spot fleet.
- OnDemand stringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- OnDemand stringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- OnDemand intTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- ReplaceUnhealthy boolInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- SpotMaintenance SpotStrategies Fleet Request Spot Maintenance Strategies Args 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- SpotPrice string
- The maximum bid price per unit hour.
- SpotRequest stringState 
- The state of the Spot fleet request.
- map[string]string
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- map[string]string
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- TargetCapacity int
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- TargetCapacity stringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- TargetGroup []stringArns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- TerminateInstances stringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- TerminateInstances boolWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- ValidFrom string
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- ValidUntil string
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- WaitFor boolFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- allocationStrategy String
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- clientToken String
- context String
- Reserved.
- excessCapacity StringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleetType String
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- iamFleet StringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- instanceInterruption StringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- instancePools IntegerTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- launchSpecifications List<SpotFleet Request Launch Specification> 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- launchTemplate List<SpotConfigs Fleet Request Launch Template Config> 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- loadBalancers List<String>
- A list of elastic load balancer names to add to the Spot fleet.
- onDemand StringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- onDemand StringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- onDemand IntegerTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- replaceUnhealthy BooleanInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- spotMaintenance SpotStrategies Fleet Request Spot Maintenance Strategies 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spotPrice String
- The maximum bid price per unit hour.
- spotRequest StringState 
- The state of the Spot fleet request.
- Map<String,String>
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String,String>
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- targetCapacity Integer
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- targetCapacity StringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- targetGroup List<String>Arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- terminateInstances StringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- terminateInstances BooleanWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- validFrom String
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- validUntil String
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- waitFor BooleanFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- allocationStrategy string
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- clientToken string
- context string
- Reserved.
- excessCapacity stringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleetType string
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- iamFleet stringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- instanceInterruption stringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- instancePools numberTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- launchSpecifications SpotFleet Request Launch Specification[] 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- launchTemplate SpotConfigs Fleet Request Launch Template Config[] 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- loadBalancers string[]
- A list of elastic load balancer names to add to the Spot fleet.
- onDemand stringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- onDemand stringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- onDemand numberTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- replaceUnhealthy booleanInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- spotMaintenance SpotStrategies Fleet Request Spot Maintenance Strategies 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spotPrice string
- The maximum bid price per unit hour.
- spotRequest stringState 
- The state of the Spot fleet request.
- {[key: string]: string}
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- {[key: string]: string}
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- targetCapacity number
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- targetCapacity stringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- targetGroup string[]Arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- terminateInstances stringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- terminateInstances booleanWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- validFrom string
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- validUntil string
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- waitFor booleanFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- allocation_strategy str
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- client_token str
- context str
- Reserved.
- excess_capacity_ strtermination_ policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet_type str
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- iam_fleet_ strrole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- instance_interruption_ strbehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- instance_pools_ intto_ use_ count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- launch_specifications Sequence[SpotFleet Request Launch Specification Args] 
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- launch_template_ Sequence[Spotconfigs Fleet Request Launch Template Config Args] 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- load_balancers Sequence[str]
- A list of elastic load balancer names to add to the Spot fleet.
- on_demand_ strallocation_ strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- on_demand_ strmax_ total_ price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on_demand_ inttarget_ capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- replace_unhealthy_ boolinstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- spot_maintenance_ Spotstrategies Fleet Request Spot Maintenance Strategies Args 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot_price str
- The maximum bid price per unit hour.
- spot_request_ strstate 
- The state of the Spot fleet request.
- Mapping[str, str]
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Mapping[str, str]
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- target_capacity int
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- target_capacity_ strunit_ type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- target_group_ Sequence[str]arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- terminate_instances_ stron_ delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- terminate_instances_ boolwith_ expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid_from str
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- valid_until str
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- wait_for_ boolfulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- allocationStrategy String
- Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values: lowestPrice,diversified,capacityOptimized,capacityOptimizedPrioritized, andpriceCapacityOptimized. The default islowestPrice.
- clientToken String
- context String
- Reserved.
- excessCapacity StringTermination Policy 
- Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleetType String
- The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is maintain.
- iamFleet StringRole 
- Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- instanceInterruption StringBehaviour 
- Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate.
- instancePools NumberTo Use Count 
- The number of Spot pools across which to allocate your target Spot capacity.
Valid only when allocation_strategyis set tolowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.
- launchSpecifications List<Property Map>
- Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with - launch_template_config. At least one of- launch_specificationor- launch_template_configis required.- Note: This takes in similar but not identical inputs as - aws.ec2.Instance. There are limitations on what you can specify. See the list of officially supported inputs in the reference documentation. Any normal- aws.ec2.Instanceparameter that corresponds to those inputs may be used and it have a additional parameter- iam_instance_profile_arntakes- aws.iam.InstanceProfileattribute- arnas input.
- launchTemplate List<Property Map>Configs 
- Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one oflaunch_specificationorlaunch_template_configis required.
- loadBalancers List<String>
- A list of elastic load balancer names to add to the Spot fleet.
- onDemand StringAllocation Strategy 
- The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPriceandprioritized. the default islowestPrice.
- onDemand StringMax Total Price 
- The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- onDemand NumberTarget Capacity 
- The number of On-Demand units to request. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.
- replaceUnhealthy BooleanInstances 
- Indicates whether Spot fleet should replace unhealthy instances. Default false.
- spotMaintenance Property MapStrategies 
- Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spotPrice String
- The maximum bid price per unit hour.
- spotRequest StringState 
- The state of the Spot fleet request.
- Map<String>
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Map<String>
- A map of tags assigned to the resource, including those inherited from the provider default_tagsconfiguration block.
- targetCapacity Number
- The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- targetCapacity StringUnit Type 
- The unit for the target capacity. This can only be done with instance_requirementsdefined
- targetGroup List<String>Arns 
- A list of aws.alb.TargetGroupARNs, for use with Application Load Balancing.
- terminateInstances StringOn Delete 
- Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the terminate_instances_with_expirationargument is used.
- terminateInstances BooleanWith Expiration 
- Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- validFrom String
- The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- validUntil String
- The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- waitFor BooleanFulfillment 
- If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
Supporting Types
SpotFleetRequestLaunchSpecification, SpotFleetRequestLaunchSpecificationArgs          
- Ami string
- InstanceType string
- The type of instance to request.
- AssociatePublic boolIp Address 
- AvailabilityZone string
- The availability zone in which to place the request.
- EbsBlock List<SpotDevices Fleet Request Launch Specification Ebs Block Device> 
- EbsOptimized bool
- EphemeralBlock List<SpotDevices Fleet Request Launch Specification Ephemeral Block Device> 
- IamInstance stringProfile 
- IamInstance stringProfile Arn 
- KeyName string
- Monitoring bool
- PlacementGroup string
- PlacementTenancy string
- RootBlock List<SpotDevices Fleet Request Launch Specification Root Block Device> 
- SpotPrice string
- The maximum bid price per unit hour.
- SubnetId string
- The subnet in which to launch the requested instance.
- Dictionary<string, string>
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- UserData string
- VpcSecurity List<string>Group Ids 
- WeightedCapacity string
- The capacity added to the fleet by a fulfilled request.
- Ami string
- InstanceType string
- The type of instance to request.
- AssociatePublic boolIp Address 
- AvailabilityZone string
- The availability zone in which to place the request.
- EbsBlock []SpotDevices Fleet Request Launch Specification Ebs Block Device 
- EbsOptimized bool
- EphemeralBlock []SpotDevices Fleet Request Launch Specification Ephemeral Block Device 
- IamInstance stringProfile 
- IamInstance stringProfile Arn 
- KeyName string
- Monitoring bool
- PlacementGroup string
- PlacementTenancy string
- RootBlock []SpotDevices Fleet Request Launch Specification Root Block Device 
- SpotPrice string
- The maximum bid price per unit hour.
- SubnetId string
- The subnet in which to launch the requested instance.
- map[string]string
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- UserData string
- VpcSecurity []stringGroup Ids 
- WeightedCapacity string
- The capacity added to the fleet by a fulfilled request.
- ami String
- instanceType String
- The type of instance to request.
- associatePublic BooleanIp Address 
- availabilityZone String
- The availability zone in which to place the request.
- ebsBlock List<SpotDevices Fleet Request Launch Specification Ebs Block Device> 
- ebsOptimized Boolean
- ephemeralBlock List<SpotDevices Fleet Request Launch Specification Ephemeral Block Device> 
- iamInstance StringProfile 
- iamInstance StringProfile Arn 
- keyName String
- monitoring Boolean
- placementGroup String
- placementTenancy String
- rootBlock List<SpotDevices Fleet Request Launch Specification Root Block Device> 
- spotPrice String
- The maximum bid price per unit hour.
- subnetId String
- The subnet in which to launch the requested instance.
- Map<String,String>
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- userData String
- vpcSecurity List<String>Group Ids 
- weightedCapacity String
- The capacity added to the fleet by a fulfilled request.
- ami string
- instanceType string
- The type of instance to request.
- associatePublic booleanIp Address 
- availabilityZone string
- The availability zone in which to place the request.
- ebsBlock SpotDevices Fleet Request Launch Specification Ebs Block Device[] 
- ebsOptimized boolean
- ephemeralBlock SpotDevices Fleet Request Launch Specification Ephemeral Block Device[] 
- iamInstance stringProfile 
- iamInstance stringProfile Arn 
- keyName string
- monitoring boolean
- placementGroup string
- placementTenancy string
- rootBlock SpotDevices Fleet Request Launch Specification Root Block Device[] 
- spotPrice string
- The maximum bid price per unit hour.
- subnetId string
- The subnet in which to launch the requested instance.
- {[key: string]: string}
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- userData string
- vpcSecurity string[]Group Ids 
- weightedCapacity string
- The capacity added to the fleet by a fulfilled request.
- ami str
- instance_type str
- The type of instance to request.
- associate_public_ boolip_ address 
- availability_zone str
- The availability zone in which to place the request.
- ebs_block_ Sequence[Spotdevices Fleet Request Launch Specification Ebs Block Device] 
- ebs_optimized bool
- ephemeral_block_ Sequence[Spotdevices Fleet Request Launch Specification Ephemeral Block Device] 
- iam_instance_ strprofile 
- iam_instance_ strprofile_ arn 
- key_name str
- monitoring bool
- placement_group str
- placement_tenancy str
- root_block_ Sequence[Spotdevices Fleet Request Launch Specification Root Block Device] 
- spot_price str
- The maximum bid price per unit hour.
- subnet_id str
- The subnet in which to launch the requested instance.
- Mapping[str, str]
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- user_data str
- vpc_security_ Sequence[str]group_ ids 
- weighted_capacity str
- The capacity added to the fleet by a fulfilled request.
- ami String
- instanceType String
- The type of instance to request.
- associatePublic BooleanIp Address 
- availabilityZone String
- The availability zone in which to place the request.
- ebsBlock List<Property Map>Devices 
- ebsOptimized Boolean
- ephemeralBlock List<Property Map>Devices 
- iamInstance StringProfile 
- iamInstance StringProfile Arn 
- keyName String
- monitoring Boolean
- placementGroup String
- placementTenancy String
- rootBlock List<Property Map>Devices 
- spotPrice String
- The maximum bid price per unit hour.
- subnetId String
- The subnet in which to launch the requested instance.
- Map<String>
- A map of tags to assign to the resource. .If configured with a provider default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- userData String
- vpcSecurity List<String>Group Ids 
- weightedCapacity String
- The capacity added to the fleet by a fulfilled request.
SpotFleetRequestLaunchSpecificationEbsBlockDevice, SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs                
- DeviceName string
- DeleteOn boolTermination 
- Encrypted bool
- Iops int
- KmsKey stringId 
- SnapshotId string
- Throughput int
- VolumeSize int
- VolumeType string
- DeviceName string
- DeleteOn boolTermination 
- Encrypted bool
- Iops int
- KmsKey stringId 
- SnapshotId string
- Throughput int
- VolumeSize int
- VolumeType string
- deviceName String
- deleteOn BooleanTermination 
- encrypted Boolean
- iops Integer
- kmsKey StringId 
- snapshotId String
- throughput Integer
- volumeSize Integer
- volumeType String
- deviceName string
- deleteOn booleanTermination 
- encrypted boolean
- iops number
- kmsKey stringId 
- snapshotId string
- throughput number
- volumeSize number
- volumeType string
- device_name str
- delete_on_ booltermination 
- encrypted bool
- iops int
- kms_key_ strid 
- snapshot_id str
- throughput int
- volume_size int
- volume_type str
- deviceName String
- deleteOn BooleanTermination 
- encrypted Boolean
- iops Number
- kmsKey StringId 
- snapshotId String
- throughput Number
- volumeSize Number
- volumeType String
SpotFleetRequestLaunchSpecificationEphemeralBlockDevice, SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs                
- DeviceName string
- VirtualName string
- DeviceName string
- VirtualName string
- deviceName String
- virtualName String
- deviceName string
- virtualName string
- device_name str
- virtual_name str
- deviceName String
- virtualName String
SpotFleetRequestLaunchSpecificationRootBlockDevice, SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs                
- DeleteOn boolTermination 
- Encrypted bool
- Iops int
- KmsKey stringId 
- Throughput int
- VolumeSize int
- VolumeType string
- DeleteOn boolTermination 
- Encrypted bool
- Iops int
- KmsKey stringId 
- Throughput int
- VolumeSize int
- VolumeType string
- deleteOn BooleanTermination 
- encrypted Boolean
- iops Integer
- kmsKey StringId 
- throughput Integer
- volumeSize Integer
- volumeType String
- deleteOn booleanTermination 
- encrypted boolean
- iops number
- kmsKey stringId 
- throughput number
- volumeSize number
- volumeType string
- delete_on_ booltermination 
- encrypted bool
- iops int
- kms_key_ strid 
- throughput int
- volume_size int
- volume_type str
- deleteOn BooleanTermination 
- encrypted Boolean
- iops Number
- kmsKey StringId 
- throughput Number
- volumeSize Number
- volumeType String
SpotFleetRequestLaunchTemplateConfig, SpotFleetRequestLaunchTemplateConfigArgs            
- LaunchTemplate SpotSpecification Fleet Request Launch Template Config Launch Template Specification 
- Launch template specification. See Launch Template Specification below for more details.
- Overrides
List<SpotFleet Request Launch Template Config Override> 
- One or more override configurations. See Overrides below for more details.
- LaunchTemplate SpotSpecification Fleet Request Launch Template Config Launch Template Specification 
- Launch template specification. See Launch Template Specification below for more details.
- Overrides
[]SpotFleet Request Launch Template Config Override 
- One or more override configurations. See Overrides below for more details.
- launchTemplate SpotSpecification Fleet Request Launch Template Config Launch Template Specification 
- Launch template specification. See Launch Template Specification below for more details.
- overrides
List<SpotFleet Request Launch Template Config Override> 
- One or more override configurations. See Overrides below for more details.
- launchTemplate SpotSpecification Fleet Request Launch Template Config Launch Template Specification 
- Launch template specification. See Launch Template Specification below for more details.
- overrides
SpotFleet Request Launch Template Config Override[] 
- One or more override configurations. See Overrides below for more details.
- launch_template_ Spotspecification Fleet Request Launch Template Config Launch Template Specification 
- Launch template specification. See Launch Template Specification below for more details.
- overrides
Sequence[SpotFleet Request Launch Template Config Override] 
- One or more override configurations. See Overrides below for more details.
- launchTemplate Property MapSpecification 
- Launch template specification. See Launch Template Specification below for more details.
- overrides List<Property Map>
- One or more override configurations. See Overrides below for more details.
SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification, SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs                  
- Id string
- The ID of the launch template. Conflicts with name.
- Name string
- The name of the launch template. Conflicts with id.
- Version string
- Template version. Unlike the autoscaling equivalent, does not support - $Latestor- $Default, so use the launch_template resource's attribute, e.g.,- "${aws_launch_template.foo.latest_version}". It will use the default version if omitted.- Note: The specified launch template can specify only a subset of the inputs of - aws.ec2.LaunchTemplate. There are limitations on what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. AWS documentation is currently sparse, but at least- instance_initiated_shutdown_behavioris confirmed unsupported.
- Id string
- The ID of the launch template. Conflicts with name.
- Name string
- The name of the launch template. Conflicts with id.
- Version string
- Template version. Unlike the autoscaling equivalent, does not support - $Latestor- $Default, so use the launch_template resource's attribute, e.g.,- "${aws_launch_template.foo.latest_version}". It will use the default version if omitted.- Note: The specified launch template can specify only a subset of the inputs of - aws.ec2.LaunchTemplate. There are limitations on what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. AWS documentation is currently sparse, but at least- instance_initiated_shutdown_behavioris confirmed unsupported.
- id String
- The ID of the launch template. Conflicts with name.
- name String
- The name of the launch template. Conflicts with id.
- version String
- Template version. Unlike the autoscaling equivalent, does not support - $Latestor- $Default, so use the launch_template resource's attribute, e.g.,- "${aws_launch_template.foo.latest_version}". It will use the default version if omitted.- Note: The specified launch template can specify only a subset of the inputs of - aws.ec2.LaunchTemplate. There are limitations on what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. AWS documentation is currently sparse, but at least- instance_initiated_shutdown_behavioris confirmed unsupported.
- id string
- The ID of the launch template. Conflicts with name.
- name string
- The name of the launch template. Conflicts with id.
- version string
- Template version. Unlike the autoscaling equivalent, does not support - $Latestor- $Default, so use the launch_template resource's attribute, e.g.,- "${aws_launch_template.foo.latest_version}". It will use the default version if omitted.- Note: The specified launch template can specify only a subset of the inputs of - aws.ec2.LaunchTemplate. There are limitations on what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. AWS documentation is currently sparse, but at least- instance_initiated_shutdown_behavioris confirmed unsupported.
- id str
- The ID of the launch template. Conflicts with name.
- name str
- The name of the launch template. Conflicts with id.
- version str
- Template version. Unlike the autoscaling equivalent, does not support - $Latestor- $Default, so use the launch_template resource's attribute, e.g.,- "${aws_launch_template.foo.latest_version}". It will use the default version if omitted.- Note: The specified launch template can specify only a subset of the inputs of - aws.ec2.LaunchTemplate. There are limitations on what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. AWS documentation is currently sparse, but at least- instance_initiated_shutdown_behavioris confirmed unsupported.
- id String
- The ID of the launch template. Conflicts with name.
- name String
- The name of the launch template. Conflicts with id.
- version String
- Template version. Unlike the autoscaling equivalent, does not support - $Latestor- $Default, so use the launch_template resource's attribute, e.g.,- "${aws_launch_template.foo.latest_version}". It will use the default version if omitted.- Note: The specified launch template can specify only a subset of the inputs of - aws.ec2.LaunchTemplate. There are limitations on what you can specify as spot fleet does not support all the attributes that are supported by autoscaling groups. AWS documentation is currently sparse, but at least- instance_initiated_shutdown_behavioris confirmed unsupported.
SpotFleetRequestLaunchTemplateConfigOverride, SpotFleetRequestLaunchTemplateConfigOverrideArgs              
- AvailabilityZone string
- The availability zone in which to place the request.
- InstanceRequirements SpotFleet Request Launch Template Config Override Instance Requirements 
- The instance requirements. See below.
- InstanceType string
- The type of instance to request.
- Priority double
- The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
- SpotPrice string
- The maximum spot bid for this override request.
- SubnetId string
- The subnet in which to launch the requested instance.
- WeightedCapacity double
- The capacity added to the fleet by a fulfilled request.
- AvailabilityZone string
- The availability zone in which to place the request.
- InstanceRequirements SpotFleet Request Launch Template Config Override Instance Requirements 
- The instance requirements. See below.
- InstanceType string
- The type of instance to request.
- Priority float64
- The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
- SpotPrice string
- The maximum spot bid for this override request.
- SubnetId string
- The subnet in which to launch the requested instance.
- WeightedCapacity float64
- The capacity added to the fleet by a fulfilled request.
- availabilityZone String
- The availability zone in which to place the request.
- instanceRequirements SpotFleet Request Launch Template Config Override Instance Requirements 
- The instance requirements. See below.
- instanceType String
- The type of instance to request.
- priority Double
- The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
- spotPrice String
- The maximum spot bid for this override request.
- subnetId String
- The subnet in which to launch the requested instance.
- weightedCapacity Double
- The capacity added to the fleet by a fulfilled request.
- availabilityZone string
- The availability zone in which to place the request.
- instanceRequirements SpotFleet Request Launch Template Config Override Instance Requirements 
- The instance requirements. See below.
- instanceType string
- The type of instance to request.
- priority number
- The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
- spotPrice string
- The maximum spot bid for this override request.
- subnetId string
- The subnet in which to launch the requested instance.
- weightedCapacity number
- The capacity added to the fleet by a fulfilled request.
- availability_zone str
- The availability zone in which to place the request.
- instance_requirements SpotFleet Request Launch Template Config Override Instance Requirements 
- The instance requirements. See below.
- instance_type str
- The type of instance to request.
- priority float
- The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
- spot_price str
- The maximum spot bid for this override request.
- subnet_id str
- The subnet in which to launch the requested instance.
- weighted_capacity float
- The capacity added to the fleet by a fulfilled request.
- availabilityZone String
- The availability zone in which to place the request.
- instanceRequirements Property Map
- The instance requirements. See below.
- instanceType String
- The type of instance to request.
- priority Number
- The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
- spotPrice String
- The maximum spot bid for this override request.
- subnetId String
- The subnet in which to launch the requested instance.
- weightedCapacity Number
- The capacity added to the fleet by a fulfilled request.
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs                  
- AcceleratorCount SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- AcceleratorManufacturers List<string>
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- AcceleratorNames List<string>
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- AcceleratorTotal SpotMemory Mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- AcceleratorTypes List<string>
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- AllowedInstance List<string>Types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- BareMetal string
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- BaselineEbs SpotBandwidth Mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- BurstablePerformance string
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- CpuManufacturers List<string>
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- ExcludedInstance List<string>Types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- InstanceGenerations List<string>
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- LocalStorage string
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- LocalStorage List<string>Types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- MemoryGib SpotPer Vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- MemoryMib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- NetworkBandwidth SpotGbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- NetworkInterface SpotCount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- OnDemand intMax Price Percentage Over Lowest Price 
- The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- RequireHibernate boolSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- SpotMax intPrice Percentage Over Lowest Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- TotalLocal SpotStorage Gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- VcpuCount SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- AcceleratorCount SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- AcceleratorManufacturers []string
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- AcceleratorNames []string
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- AcceleratorTotal SpotMemory Mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- AcceleratorTypes []string
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- AllowedInstance []stringTypes 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- BareMetal string
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- BaselineEbs SpotBandwidth Mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- BurstablePerformance string
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- CpuManufacturers []string
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- ExcludedInstance []stringTypes 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- InstanceGenerations []string
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- LocalStorage string
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- LocalStorage []stringTypes 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- MemoryGib SpotPer Vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- MemoryMib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- NetworkBandwidth SpotGbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- NetworkInterface SpotCount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- OnDemand intMax Price Percentage Over Lowest Price 
- The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- RequireHibernate boolSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- SpotMax intPrice Percentage Over Lowest Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- TotalLocal SpotStorage Gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- VcpuCount SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- acceleratorCount SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- acceleratorManufacturers List<String>
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- acceleratorNames List<String>
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- acceleratorTotal SpotMemory Mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- acceleratorTypes List<String>
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- allowedInstance List<String>Types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- bareMetal String
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- baselineEbs SpotBandwidth Mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstablePerformance String
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- cpuManufacturers List<String>
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- excludedInstance List<String>Types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- instanceGenerations List<String>
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- localStorage String
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- localStorage List<String>Types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- memoryGib SpotPer Vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memoryMib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- networkBandwidth SpotGbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- networkInterface SpotCount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- onDemand IntegerMax Price Percentage Over Lowest Price 
- The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- requireHibernate BooleanSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- spotMax IntegerPrice Percentage Over Lowest Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- totalLocal SpotStorage Gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpuCount SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- acceleratorCount SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- acceleratorManufacturers string[]
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- acceleratorNames string[]
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- acceleratorTotal SpotMemory Mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- acceleratorTypes string[]
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- allowedInstance string[]Types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- bareMetal string
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- baselineEbs SpotBandwidth Mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstablePerformance string
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- cpuManufacturers string[]
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- excludedInstance string[]Types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- instanceGenerations string[]
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- localStorage string
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- localStorage string[]Types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- memoryGib SpotPer Vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memoryMib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- networkBandwidth SpotGbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- networkInterface SpotCount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- onDemand numberMax Price Percentage Over Lowest Price 
- The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- requireHibernate booleanSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- spotMax numberPrice Percentage Over Lowest Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- totalLocal SpotStorage Gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpuCount SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- accelerator_count SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count 
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- accelerator_manufacturers Sequence[str]
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- accelerator_names Sequence[str]
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- accelerator_total_ Spotmemory_ mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- accelerator_types Sequence[str]
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- allowed_instance_ Sequence[str]types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- bare_metal str
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- baseline_ebs_ Spotbandwidth_ mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstable_performance str
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- cpu_manufacturers Sequence[str]
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- excluded_instance_ Sequence[str]types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- instance_generations Sequence[str]
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- local_storage str
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- local_storage_ Sequence[str]types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- memory_gib_ Spotper_ vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memory_mib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib 
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- network_bandwidth_ Spotgbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- network_interface_ Spotcount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- on_demand_ intmax_ price_ percentage_ over_ lowest_ price 
- The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- require_hibernate_ boolsupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- spot_max_ intprice_ percentage_ over_ lowest_ price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- total_local_ Spotstorage_ gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpu_count SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count 
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- acceleratorCount Property Map
- Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- acceleratorManufacturers List<String>
- List of accelerator manufacturer names. Default is any manufacturer.Valid names: * amazon-web-services * amd * nvidia * xilinx
- acceleratorNames List<String>
- List of accelerator names. Default is any acclerator.Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- acceleratorTotal Property MapMemory Mib 
- Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- acceleratorTypes List<String>
- List of accelerator types. Default is any accelerator type.Valid types: * fpga * gpu * inference
- allowedInstance List<String>Types 
- List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.- NOTE: If you specify - allowed_instance_types, you can't specify- excluded_instance_types.
- bareMetal String
- Indicate whether bare metal instace types should be included,excluded, orrequired. Default isexcluded.
- baselineEbs Property MapBandwidth Mbps 
- Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstablePerformance String
- Indicate whether burstable performance instance types should be included,excluded, orrequired. Default isexcluded.
- cpuManufacturers List<String>
- List of CPU manufacturer names. Default is any manufacturer. - NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template. - Valid names: * amazon-web-services * amd * intel
- excludedInstance List<String>Types 
- List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: - m5.8xlarge,- c5*.*,- m5a.*,- r*,- *3*. For example, if you specify- c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify- m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.- NOTE: If you specify - excluded_instance_types, you can't specify- allowed_instance_types.
- instanceGenerations List<String>
- List of instance generation names. Default is any generation.Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- localStorage String
- Indicate whether instance types with local storage volumes are included,excluded, orrequired. Default isincluded.
- localStorage List<String>Types 
- List of local storage type names. Default any storage type.Value names: * hdd - hard disk drive * ssd - solid state drive
- memoryGib Property MapPer Vcpu 
- Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memoryMib Property Map
- Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- networkBandwidth Property MapGbps 
- Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- networkInterface Property MapCount 
- Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- onDemand NumberMax Price Percentage Over Lowest Price 
- The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- requireHibernate BooleanSupport 
- Indicate whether instance types must support On-Demand Instance Hibernation, either trueorfalse. Default isfalse.
- spotMax NumberPrice Percentage Over Lowest Price 
- The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100. - If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price. 
- totalLocal Property MapStorage Gb 
- Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpuCount Property Map
- Block describing the minimum and maximum number of vCPUs. Default is no maximum.
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs                      
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs                          
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs                          
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs                          
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs                      
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs                        
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs                        
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs                          
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs                      
SpotFleetRequestSpotMaintenanceStrategies, SpotFleetRequestSpotMaintenanceStrategiesArgs            
- CapacityRebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance 
- Nested argument containing the capacity rebalance for your fleet request. Defined below.
- CapacityRebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance 
- Nested argument containing the capacity rebalance for your fleet request. Defined below.
- capacityRebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance 
- Nested argument containing the capacity rebalance for your fleet request. Defined below.
- capacityRebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance 
- Nested argument containing the capacity rebalance for your fleet request. Defined below.
- capacity_rebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance 
- Nested argument containing the capacity rebalance for your fleet request. Defined below.
- capacityRebalance Property Map
- Nested argument containing the capacity rebalance for your fleet request. Defined below.
SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance, SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs                
- ReplacementStrategy string
- The replacement strategy to use. Only available for spot fleets with fleet_typeset tomaintain. Valid values:launch.
- ReplacementStrategy string
- The replacement strategy to use. Only available for spot fleets with fleet_typeset tomaintain. Valid values:launch.
- replacementStrategy String
- The replacement strategy to use. Only available for spot fleets with fleet_typeset tomaintain. Valid values:launch.
- replacementStrategy string
- The replacement strategy to use. Only available for spot fleets with fleet_typeset tomaintain. Valid values:launch.
- replacement_strategy str
- The replacement strategy to use. Only available for spot fleets with fleet_typeset tomaintain. Valid values:launch.
- replacementStrategy String
- The replacement strategy to use. Only available for spot fleets with fleet_typeset tomaintain. Valid values:launch.
Import
Using pulumi import, import Spot Fleet Requests using id. For example:
$ pulumi import aws:ec2/spotFleetRequest:SpotFleetRequest fleet sfr-005e9ec8-5546-4c31-b317-31a62325411e
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 awsTerraform Provider.