1. Packages
  2. AWS Classic
  3. API Docs
  4. ec2
  5. SpotFleetRequest

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.3.0 published on Thursday, Sep 28, 2023 by Pulumi

aws.ec2.SpotFleetRequest

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.3.0 published on Thursday, Sep 28, 2023 by Pulumi

    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

    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("cheapCompute", 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 = aws_iam_instance_profile.Example.Arn,
                },
                new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
                {
                    InstanceType = "m4.4xlarge",
                    Ami = "ami-5678",
                    KeyName = "my-key",
                    SpotPrice = "1.117",
                    IamInstanceProfileArn = aws_iam_instance_profile.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 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, "cheapCompute", &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(aws_iam_instance_profile.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(aws_iam_instance_profile.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
    	})
    }
    
    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 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(aws_iam_instance_profile.example().arn())
                        .build(),
                    SpotFleetRequestLaunchSpecificationArgs.builder()
                        .instanceType("m4.4xlarge")
                        .ami("ami-5678")
                        .keyName("my-key")
                        .spotPrice("1.117")
                        .iamInstanceProfileArn(aws_iam_instance_profile.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());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    # Request a Spot fleet
    cheap_compute = aws.ec2.SpotFleetRequest("cheapCompute",
        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=[
            aws.ec2.SpotFleetRequestLaunchSpecificationArgs(
                instance_type="m4.10xlarge",
                ami="ami-1234",
                spot_price="2.793",
                placement_tenancy="dedicated",
                iam_instance_profile_arn=aws_iam_instance_profile["example"]["arn"],
            ),
            aws.ec2.SpotFleetRequestLaunchSpecificationArgs(
                instance_type="m4.4xlarge",
                ami="ami-5678",
                key_name="my-key",
                spot_price="1.117",
                iam_instance_profile_arn=aws_iam_instance_profile["example"]["arn"],
                availability_zone="us-west-1a",
                subnet_id="subnet-1234",
                weighted_capacity="35",
                root_block_devices=[aws.ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs(
                    volume_size=300,
                    volume_type="gp2",
                )],
                tags={
                    "Name": "spot-fleet-example",
                },
            ),
        ])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    // Request a Spot fleet
    const cheapCompute = new aws.ec2.SpotFleetRequest("cheapCompute", {
        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: aws_iam_instance_profile.example.arn,
            },
            {
                instanceType: "m4.4xlarge",
                ami: "ami-5678",
                keyName: "my-key",
                spotPrice: "1.117",
                iamInstanceProfileArn: aws_iam_instance_profile.example.arn,
                availabilityZone: "us-west-1a",
                subnetId: "subnet-1234",
                weightedCapacity: "35",
                rootBlockDevices: [{
                    volumeSize: 300,
                    volumeType: "gp2",
                }],
                tags: {
                    Name: "spot-fleet-example",
                },
            },
        ],
    });
    
    resources:
      # Request a Spot fleet
      cheapCompute:
        type: aws:ec2:SpotFleetRequest
        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: ${aws_iam_instance_profile.example.arn}
            - instanceType: m4.4xlarge
              ami: ami-5678
              keyName: my-key
              spotPrice: '1.117'
              iamInstanceProfileArn: ${aws_iam_instance_profile.example.arn}
              availabilityZone: us-west-1a
              subnetId: subnet-1234
              weightedCapacity: 35
              rootBlockDevices:
                - volumeSize: '300'
                  volumeType: gp2
              tags:
                Name: spot-fleet-example
    

    Using launch templates

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var fooLaunchTemplate = new Aws.Ec2.LaunchTemplate("fooLaunchTemplate", new()
        {
            ImageId = "ami-516b9131",
            InstanceType = "m1.small",
            KeyName = "some-key",
        });
    
        var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest("fooSpotFleetRequest", 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 = fooLaunchTemplate.Id,
                        Version = fooLaunchTemplate.LatestVersion,
                    },
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn = new[]
            {
                aws_iam_policy_attachment.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 {
    		fooLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, "fooLaunchTemplate", &ec2.LaunchTemplateArgs{
    			ImageId:      pulumi.String("ami-516b9131"),
    			InstanceType: pulumi.String("m1.small"),
    			KeyName:      pulumi.String("some-key"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = ec2.NewSpotFleetRequest(ctx, "fooSpotFleetRequest", &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:      fooLaunchTemplate.ID(),
    						Version: fooLaunchTemplate.LatestVersion,
    					},
    				},
    			},
    		}, pulumi.DependsOn([]pulumi.Resource{
    			aws_iam_policy_attachment.TestAttach,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.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 fooLaunchTemplate = new LaunchTemplate("fooLaunchTemplate", LaunchTemplateArgs.builder()        
                .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(fooLaunchTemplate.id())
                        .version(fooLaunchTemplate.latestVersion())
                        .build())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(aws_iam_policy_attachment.test-attach())
                    .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    foo_launch_template = aws.ec2.LaunchTemplate("fooLaunchTemplate",
        image_id="ami-516b9131",
        instance_type="m1.small",
        key_name="some-key")
    foo_spot_fleet_request = aws.ec2.SpotFleetRequest("fooSpotFleetRequest",
        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=[aws.ec2.SpotFleetRequestLaunchTemplateConfigArgs(
            launch_template_specification=aws.ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs(
                id=foo_launch_template.id,
                version=foo_launch_template.latest_version,
            ),
        )],
        opts=pulumi.ResourceOptions(depends_on=[aws_iam_policy_attachment["test-attach"]]))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const fooLaunchTemplate = new aws.ec2.LaunchTemplate("fooLaunchTemplate", {
        imageId: "ami-516b9131",
        instanceType: "m1.small",
        keyName: "some-key",
    });
    const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("fooSpotFleetRequest", {
        iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
        spotPrice: "0.005",
        targetCapacity: 2,
        validUntil: "2019-11-04T20:44:20Z",
        launchTemplateConfigs: [{
            launchTemplateSpecification: {
                id: fooLaunchTemplate.id,
                version: fooLaunchTemplate.latestVersion,
            },
        }],
    }, {
        dependsOn: [aws_iam_policy_attachment["test-attach"]],
    });
    
    resources:
      fooLaunchTemplate:
        type: aws:ec2:LaunchTemplate
        properties:
          imageId: ami-516b9131
          instanceType: m1.small
          keyName: some-key
      fooSpotFleetRequest:
        type: aws:ec2:SpotFleetRequest
        properties:
          iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
          spotPrice: '0.005'
          targetCapacity: 2
          validUntil: 2019-11-04T20:44:20Z
          launchTemplateConfigs:
            - launchTemplateSpecification:
                id: ${fooLaunchTemplate.id}
                version: ${fooLaunchTemplate.latestVersion}
        options:
          dependson:
            - ${aws_iam_policy_attachment"test-attach"[%!s(MISSING)]}
    

    Using multiple launch specifications

    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",
            LaunchSpecifications = new[]
            {
                new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
                {
                    Ami = "ami-d06a90b0",
                    AvailabilityZone = "us-west-2a",
                    InstanceType = "m1.small",
                    KeyName = "my-key",
                },
                new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
                {
                    Ami = "ami-d06a90b0",
                    AvailabilityZone = "us-west-2a",
                    InstanceType = "m5.large",
                    KeyName = "my-key",
                },
            },
            SpotPrice = "0.005",
            TargetCapacity = 2,
            ValidUntil = "2019-11-04T20:44:20Z",
        });
    
    });
    
    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"),
    			LaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{
    				&ec2.SpotFleetRequestLaunchSpecificationArgs{
    					Ami:              pulumi.String("ami-d06a90b0"),
    					AvailabilityZone: pulumi.String("us-west-2a"),
    					InstanceType:     pulumi.String("m1.small"),
    					KeyName:          pulumi.String("my-key"),
    				},
    				&ec2.SpotFleetRequestLaunchSpecificationArgs{
    					Ami:              pulumi.String("ami-d06a90b0"),
    					AvailabilityZone: pulumi.String("us-west-2a"),
    					InstanceType:     pulumi.String("m5.large"),
    					KeyName:          pulumi.String("my-key"),
    				},
    			},
    			SpotPrice:      pulumi.String("0.005"),
    			TargetCapacity: pulumi.Int(2),
    			ValidUntil:     pulumi.String("2019-11-04T20:44:20Z"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.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")
                .launchSpecifications(            
                    SpotFleetRequestLaunchSpecificationArgs.builder()
                        .ami("ami-d06a90b0")
                        .availabilityZone("us-west-2a")
                        .instanceType("m1.small")
                        .keyName("my-key")
                        .build(),
                    SpotFleetRequestLaunchSpecificationArgs.builder()
                        .ami("ami-d06a90b0")
                        .availabilityZone("us-west-2a")
                        .instanceType("m5.large")
                        .keyName("my-key")
                        .build())
                .spotPrice("0.005")
                .targetCapacity(2)
                .validUntil("2019-11-04T20:44:20Z")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    foo = aws.ec2.SpotFleetRequest("foo",
        iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
        launch_specifications=[
            aws.ec2.SpotFleetRequestLaunchSpecificationArgs(
                ami="ami-d06a90b0",
                availability_zone="us-west-2a",
                instance_type="m1.small",
                key_name="my-key",
            ),
            aws.ec2.SpotFleetRequestLaunchSpecificationArgs(
                ami="ami-d06a90b0",
                availability_zone="us-west-2a",
                instance_type="m5.large",
                key_name="my-key",
            ),
        ],
        spot_price="0.005",
        target_capacity=2,
        valid_until="2019-11-04T20:44:20Z")
    
    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",
        launchSpecifications: [
            {
                ami: "ami-d06a90b0",
                availabilityZone: "us-west-2a",
                instanceType: "m1.small",
                keyName: "my-key",
            },
            {
                ami: "ami-d06a90b0",
                availabilityZone: "us-west-2a",
                instanceType: "m5.large",
                keyName: "my-key",
            },
        ],
        spotPrice: "0.005",
        targetCapacity: 2,
        validUntil: "2019-11-04T20:44:20Z",
    });
    
    resources:
      foo:
        type: aws:ec2:SpotFleetRequest
        properties:
          iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
          launchSpecifications:
            - ami: ami-d06a90b0
              availabilityZone: us-west-2a
              instanceType: m1.small
              keyName: my-key
            - ami: ami-d06a90b0
              availabilityZone: us-west-2a
              instanceType: m5.large
              keyName: my-key
          spotPrice: '0.005'
          targetCapacity: 2
          validUntil: 2019-11-04T20:44:20Z
    

    blocks, producing one for each element in the list of subnet ids.

    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[]
                    {
                        @var.Vpc_id,
                    },
                },
            },
        });
    
        var fooLaunchTemplate = new Aws.Ec2.LaunchTemplate("fooLaunchTemplate", new()
        {
            ImageId = "ami-516b9131",
            InstanceType = "m1.small",
            KeyName = "some-key",
        });
    
        var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest("fooSpotFleetRequest", 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 = fooLaunchTemplate.Id,
                        Version = fooLaunchTemplate.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 = new[]
            {
                aws_iam_policy_attachment.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{}{
    _var.Vpc_id,
    },
    },
    },
    }, nil);
    if err != nil {
    return err
    }
    fooLaunchTemplate, err := ec2.NewLaunchTemplate(ctx, "fooLaunchTemplate", &ec2.LaunchTemplateArgs{
    ImageId: pulumi.String("ami-516b9131"),
    InstanceType: pulumi.String("m1.small"),
    KeyName: pulumi.String("some-key"),
    })
    if err != nil {
    return err
    }
    _, err = ec2.NewSpotFleetRequest(ctx, "fooSpotFleetRequest", &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: fooLaunchTemplate.ID(),
    Version: fooLaunchTemplate.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{
    aws_iam_policy_attachment.TestAttach,
    }))
    if err != nil {
    return err
    }
    return nil
    })
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ec2.SpotFleetRequest;
    import com.pulumi.aws.ec2.SpotFleetRequestArgs;
    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 config = ctx.config();
            final var subnets = config.get("subnets");
            var example = new SpotFleetRequest("example", SpotFleetRequestArgs.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")
                .dynamic(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.ec2.get_subnets(filters=[aws.ec2.GetSubnetsFilterArgs(
        name="vpc-id",
        values=[var["vpc_id"]],
    )])
    foo_launch_template = aws.ec2.LaunchTemplate("fooLaunchTemplate",
        image_id="ami-516b9131",
        instance_type="m1.small",
        key_name="some-key")
    foo_spot_fleet_request = aws.ec2.SpotFleetRequest("fooSpotFleetRequest",
        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=[aws.ec2.SpotFleetRequestLaunchTemplateConfigArgs(
            launch_template_specification=aws.ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs(
                id=foo_launch_template.id,
                version=foo_launch_template.latest_version,
            ),
            overrides=[
                aws.ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs(
                    subnet_id=example.ids[0],
                ),
                aws.ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs(
                    subnet_id=example.ids[1],
                ),
                aws.ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs(
                    subnet_id=example.ids[2],
                ),
            ],
        )],
        opts=pulumi.ResourceOptions(depends_on=[aws_iam_policy_attachment["test-attach"]]))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = aws.ec2.getSubnets({
        filters: [{
            name: "vpc-id",
            values: [_var.vpc_id],
        }],
    });
    const fooLaunchTemplate = new aws.ec2.LaunchTemplate("fooLaunchTemplate", {
        imageId: "ami-516b9131",
        instanceType: "m1.small",
        keyName: "some-key",
    });
    const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("fooSpotFleetRequest", {
        iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
        spotPrice: "0.005",
        targetCapacity: 2,
        validUntil: "2019-11-04T20:44:20Z",
        launchTemplateConfigs: [{
            launchTemplateSpecification: {
                id: fooLaunchTemplate.id,
                version: fooLaunchTemplate.latestVersion,
            },
            overrides: [
                {
                    subnetId: example.then(example => example.ids?.[0]),
                },
                {
                    subnetId: example.then(example => example.ids?.[1]),
                },
                {
                    subnetId: example.then(example => example.ids?.[2]),
                },
            ],
        }],
    }, {
        dependsOn: [aws_iam_policy_attachment["test-attach"]],
    });
    

    Coming soon!

    Using multiple launch configurations

    Coming soon!

    Coming soon!

    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(var_.vpc_id())
                    .build())
                .build());
    
            var fooLaunchTemplate = new LaunchTemplate("fooLaunchTemplate", LaunchTemplateArgs.builder()        
                .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(fooLaunchTemplate.id())
                        .version(fooLaunchTemplate.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(aws_iam_policy_attachment.test-attach())
                    .build());
    
        }
    }
    

    Coming soon!

    Coming soon!

    resources:
      fooLaunchTemplate:
        type: aws:ec2:LaunchTemplate
        properties:
          imageId: ami-516b9131
          instanceType: m1.small
          keyName: some-key
      fooSpotFleetRequest:
        type: aws:ec2:SpotFleetRequest
        properties:
          iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
          spotPrice: '0.005'
          targetCapacity: 2
          validUntil: 2019-11-04T20:44:20Z
          launchTemplateConfigs:
            - launchTemplateSpecification:
                id: ${fooLaunchTemplate.id}
                version: ${fooLaunchTemplate.latestVersion}
              overrides:
                - subnetId: ${example.ids[0]}
                - subnetId: ${example.ids[1]}
                - subnetId: ${example.ids[2]}
        options:
          dependson:
            - ${aws_iam_policy_attachment"test-attach"[%!s(MISSING)]}
    variables:
      example:
        fn::invoke:
          Function: aws:ec2:getSubnets
          Arguments:
            filters:
              - name: vpc-id
                values:
                  - ${var.vpc_id}
    

    Create SpotFleetRequest Resource

    new SpotFleetRequest(name: string, args: SpotFleetRequestArgs, opts?: CustomResourceOptions);
    @overload
    def SpotFleetRequest(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         allocation_strategy: 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,
                         tags: 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)
    @overload
    def SpotFleetRequest(resource_name: str,
                         args: SpotFleetRequestArgs,
                         opts: Optional[ResourceOptions] = 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.
    
    
    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.

    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

    The SpotFleetRequest resource accepts the following input properties:

    IamFleetRole string

    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, and priceCapacityOptimized. The default is lowestPrice.

    Context string

    Reserved.

    ExcessCapacityTerminationPolicy string

    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.

    InstanceInterruptionBehaviour string

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    InstancePoolsToUseCount int

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. 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<SpotFleetRequestLaunchSpecification>

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    LaunchTemplateConfigs List<SpotFleetRequestLaunchTemplateConfig>

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    LoadBalancers List<string>

    A list of elastic load balancer names to add to the Spot fleet.

    OnDemandAllocationStrategy string

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    OnDemandMaxTotalPrice string

    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.

    OnDemandTargetCapacity int

    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.

    ReplaceUnhealthyInstances bool

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    SpotMaintenanceStrategies SpotFleetRequestSpotMaintenanceStrategies

    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.

    Tags Dictionary<string, string>

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    TargetCapacityUnitType string

    The unit for the target capacity. This can only be done with instance_requirements defined

    TargetGroupArns List<string>

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    TerminateInstancesOnDelete string

    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_expiration argument is used.

    TerminateInstancesWithExpiration bool

    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.

    WaitForFulfillment bool

    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.

    IamFleetRole string

    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, and priceCapacityOptimized. The default is lowestPrice.

    Context string

    Reserved.

    ExcessCapacityTerminationPolicy string

    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.

    InstanceInterruptionBehaviour string

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    InstancePoolsToUseCount int

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

    LaunchSpecifications []SpotFleetRequestLaunchSpecificationArgs

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    LaunchTemplateConfigs []SpotFleetRequestLaunchTemplateConfigArgs

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    LoadBalancers []string

    A list of elastic load balancer names to add to the Spot fleet.

    OnDemandAllocationStrategy string

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    OnDemandMaxTotalPrice string

    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.

    OnDemandTargetCapacity int

    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.

    ReplaceUnhealthyInstances bool

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    SpotMaintenanceStrategies SpotFleetRequestSpotMaintenanceStrategiesArgs

    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.

    Tags map[string]string

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    TargetCapacityUnitType string

    The unit for the target capacity. This can only be done with instance_requirements defined

    TargetGroupArns []string

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    TerminateInstancesOnDelete string

    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_expiration argument is used.

    TerminateInstancesWithExpiration bool

    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.

    WaitForFulfillment bool

    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.

    iamFleetRole String

    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, and priceCapacityOptimized. The default is lowestPrice.

    context String

    Reserved.

    excessCapacityTerminationPolicy String

    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.

    instanceInterruptionBehaviour String

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    instancePoolsToUseCount Integer

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. 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<SpotFleetRequestLaunchSpecification>

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    launchTemplateConfigs List<SpotFleetRequestLaunchTemplateConfig>

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    loadBalancers List<String>

    A list of elastic load balancer names to add to the Spot fleet.

    onDemandAllocationStrategy String

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    onDemandMaxTotalPrice String

    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.

    onDemandTargetCapacity Integer

    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.

    replaceUnhealthyInstances Boolean

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    spotMaintenanceStrategies SpotFleetRequestSpotMaintenanceStrategies

    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.

    tags Map<String,String>

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    targetCapacityUnitType String

    The unit for the target capacity. This can only be done with instance_requirements defined

    targetGroupArns List<String>

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    terminateInstancesOnDelete String

    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_expiration argument is used.

    terminateInstancesWithExpiration Boolean

    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.

    waitForFulfillment Boolean

    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.

    iamFleetRole string

    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, and priceCapacityOptimized. The default is lowestPrice.

    context string

    Reserved.

    excessCapacityTerminationPolicy string

    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.

    instanceInterruptionBehaviour string

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    instancePoolsToUseCount number

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

    launchSpecifications SpotFleetRequestLaunchSpecification[]

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    launchTemplateConfigs SpotFleetRequestLaunchTemplateConfig[]

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    loadBalancers string[]

    A list of elastic load balancer names to add to the Spot fleet.

    onDemandAllocationStrategy string

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    onDemandMaxTotalPrice string

    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.

    onDemandTargetCapacity number

    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.

    replaceUnhealthyInstances boolean

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    spotMaintenanceStrategies SpotFleetRequestSpotMaintenanceStrategies

    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.

    tags {[key: string]: string}

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    targetCapacityUnitType string

    The unit for the target capacity. This can only be done with instance_requirements defined

    targetGroupArns string[]

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    terminateInstancesOnDelete string

    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_expiration argument is used.

    terminateInstancesWithExpiration boolean

    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.

    waitForFulfillment boolean

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

    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, and priceCapacityOptimized. The default is lowestPrice.

    context str

    Reserved.

    excess_capacity_termination_policy str

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

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    instance_pools_to_use_count int

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. 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[SpotFleetRequestLaunchSpecificationArgs]

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    launch_template_configs Sequence[SpotFleetRequestLaunchTemplateConfigArgs]

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    load_balancers Sequence[str]

    A list of elastic load balancer names to add to the Spot fleet.

    on_demand_allocation_strategy str

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    on_demand_max_total_price str

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

    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_instances bool

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    spot_maintenance_strategies SpotFleetRequestSpotMaintenanceStrategiesArgs

    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.

    tags Mapping[str, str]

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    target_capacity_unit_type str

    The unit for the target capacity. This can only be done with instance_requirements defined

    target_group_arns Sequence[str]

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    terminate_instances_on_delete str

    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_expiration argument is used.

    terminate_instances_with_expiration bool

    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_fulfillment bool

    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.

    iamFleetRole String

    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, and priceCapacityOptimized. The default is lowestPrice.

    context String

    Reserved.

    excessCapacityTerminationPolicy String

    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.

    instanceInterruptionBehaviour String

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    instancePoolsToUseCount Number

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. 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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    launchTemplateConfigs List<Property Map>

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    loadBalancers List<String>

    A list of elastic load balancer names to add to the Spot fleet.

    onDemandAllocationStrategy String

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    onDemandMaxTotalPrice String

    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.

    onDemandTargetCapacity Number

    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.

    replaceUnhealthyInstances Boolean

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    spotMaintenanceStrategies Property Map

    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.

    tags Map<String>

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    targetCapacityUnitType String

    The unit for the target capacity. This can only be done with instance_requirements defined

    targetGroupArns List<String>

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    terminateInstancesOnDelete String

    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_expiration argument is used.

    terminateInstancesWithExpiration Boolean

    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.

    waitForFulfillment Boolean

    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.

    SpotRequestState string

    The state of the Spot fleet request.

    TagsAll Dictionary<string, string>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    ClientToken string
    Id string

    The provider-assigned unique ID for this managed resource.

    SpotRequestState string

    The state of the Spot fleet request.

    TagsAll map[string]string

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    clientToken String
    id String

    The provider-assigned unique ID for this managed resource.

    spotRequestState String

    The state of the Spot fleet request.

    tagsAll Map<String,String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    clientToken string
    id string

    The provider-assigned unique ID for this managed resource.

    spotRequestState string

    The state of the Spot fleet request.

    tagsAll {[key: string]: string}

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    client_token str
    id str

    The provider-assigned unique ID for this managed resource.

    spot_request_state str

    The state of the Spot fleet request.

    tags_all Mapping[str, str]

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    clientToken String
    id String

    The provider-assigned unique ID for this managed resource.

    spotRequestState String

    The state of the Spot fleet request.

    tagsAll Map<String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    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) -> SpotFleetRequest
    func 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)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    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, and priceCapacityOptimized. The default is lowestPrice.

    ClientToken string
    Context string

    Reserved.

    ExcessCapacityTerminationPolicy string

    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.

    IamFleetRole string

    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.

    InstanceInterruptionBehaviour string

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    InstancePoolsToUseCount int

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. 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<SpotFleetRequestLaunchSpecification>

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    LaunchTemplateConfigs List<SpotFleetRequestLaunchTemplateConfig>

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    LoadBalancers List<string>

    A list of elastic load balancer names to add to the Spot fleet.

    OnDemandAllocationStrategy string

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    OnDemandMaxTotalPrice string

    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.

    OnDemandTargetCapacity int

    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.

    ReplaceUnhealthyInstances bool

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    SpotMaintenanceStrategies SpotFleetRequestSpotMaintenanceStrategies

    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.

    SpotRequestState string

    The state of the Spot fleet request.

    Tags Dictionary<string, string>

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    TagsAll Dictionary<string, string>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    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.

    TargetCapacityUnitType string

    The unit for the target capacity. This can only be done with instance_requirements defined

    TargetGroupArns List<string>

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    TerminateInstancesOnDelete string

    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_expiration argument is used.

    TerminateInstancesWithExpiration bool

    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.

    WaitForFulfillment bool

    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, and priceCapacityOptimized. The default is lowestPrice.

    ClientToken string
    Context string

    Reserved.

    ExcessCapacityTerminationPolicy string

    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.

    IamFleetRole string

    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.

    InstanceInterruptionBehaviour string

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    InstancePoolsToUseCount int

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

    LaunchSpecifications []SpotFleetRequestLaunchSpecificationArgs

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    LaunchTemplateConfigs []SpotFleetRequestLaunchTemplateConfigArgs

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    LoadBalancers []string

    A list of elastic load balancer names to add to the Spot fleet.

    OnDemandAllocationStrategy string

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    OnDemandMaxTotalPrice string

    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.

    OnDemandTargetCapacity int

    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.

    ReplaceUnhealthyInstances bool

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    SpotMaintenanceStrategies SpotFleetRequestSpotMaintenanceStrategiesArgs

    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.

    SpotRequestState string

    The state of the Spot fleet request.

    Tags map[string]string

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    TagsAll map[string]string

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    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.

    TargetCapacityUnitType string

    The unit for the target capacity. This can only be done with instance_requirements defined

    TargetGroupArns []string

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    TerminateInstancesOnDelete string

    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_expiration argument is used.

    TerminateInstancesWithExpiration bool

    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.

    WaitForFulfillment bool

    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, and priceCapacityOptimized. The default is lowestPrice.

    clientToken String
    context String

    Reserved.

    excessCapacityTerminationPolicy String

    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.

    iamFleetRole String

    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.

    instanceInterruptionBehaviour String

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    instancePoolsToUseCount Integer

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. 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<SpotFleetRequestLaunchSpecification>

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    launchTemplateConfigs List<SpotFleetRequestLaunchTemplateConfig>

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    loadBalancers List<String>

    A list of elastic load balancer names to add to the Spot fleet.

    onDemandAllocationStrategy String

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    onDemandMaxTotalPrice String

    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.

    onDemandTargetCapacity Integer

    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.

    replaceUnhealthyInstances Boolean

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    spotMaintenanceStrategies SpotFleetRequestSpotMaintenanceStrategies

    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.

    spotRequestState String

    The state of the Spot fleet request.

    tags Map<String,String>

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tagsAll Map<String,String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    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.

    targetCapacityUnitType String

    The unit for the target capacity. This can only be done with instance_requirements defined

    targetGroupArns List<String>

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    terminateInstancesOnDelete String

    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_expiration argument is used.

    terminateInstancesWithExpiration Boolean

    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.

    waitForFulfillment Boolean

    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, and priceCapacityOptimized. The default is lowestPrice.

    clientToken string
    context string

    Reserved.

    excessCapacityTerminationPolicy string

    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.

    iamFleetRole string

    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.

    instanceInterruptionBehaviour string

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    instancePoolsToUseCount number

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

    launchSpecifications SpotFleetRequestLaunchSpecification[]

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    launchTemplateConfigs SpotFleetRequestLaunchTemplateConfig[]

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    loadBalancers string[]

    A list of elastic load balancer names to add to the Spot fleet.

    onDemandAllocationStrategy string

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    onDemandMaxTotalPrice string

    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.

    onDemandTargetCapacity number

    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.

    replaceUnhealthyInstances boolean

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    spotMaintenanceStrategies SpotFleetRequestSpotMaintenanceStrategies

    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.

    spotRequestState string

    The state of the Spot fleet request.

    tags {[key: string]: string}

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tagsAll {[key: string]: string}

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    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.

    targetCapacityUnitType string

    The unit for the target capacity. This can only be done with instance_requirements defined

    targetGroupArns string[]

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    terminateInstancesOnDelete string

    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_expiration argument is used.

    terminateInstancesWithExpiration boolean

    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.

    waitForFulfillment boolean

    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, and priceCapacityOptimized. The default is lowestPrice.

    client_token str
    context str

    Reserved.

    excess_capacity_termination_policy str

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

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

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    instance_pools_to_use_count int

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. 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[SpotFleetRequestLaunchSpecificationArgs]

    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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    launch_template_configs Sequence[SpotFleetRequestLaunchTemplateConfigArgs]

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    load_balancers Sequence[str]

    A list of elastic load balancer names to add to the Spot fleet.

    on_demand_allocation_strategy str

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    on_demand_max_total_price str

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

    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_instances bool

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    spot_maintenance_strategies SpotFleetRequestSpotMaintenanceStrategiesArgs

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

    The state of the Spot fleet request.

    tags Mapping[str, str]

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tags_all Mapping[str, str]

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

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

    The unit for the target capacity. This can only be done with instance_requirements defined

    target_group_arns Sequence[str]

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    terminate_instances_on_delete str

    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_expiration argument is used.

    terminate_instances_with_expiration bool

    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_fulfillment bool

    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, and priceCapacityOptimized. The default is lowestPrice.

    clientToken String
    context String

    Reserved.

    excessCapacityTerminationPolicy String

    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.

    iamFleetRole String

    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.

    instanceInterruptionBehaviour String

    Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate.

    instancePoolsToUseCount Number

    The number of Spot pools across which to allocate your target Spot capacity. Valid only when allocation_strategy is set to lowestPrice. 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_specification or launch_template_config is 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.Instance parameter that corresponds to those inputs may be used and it have a additional parameter iam_instance_profile_arn takes aws.iam.InstanceProfile attribute arn as input.

    launchTemplateConfigs List<Property Map>

    Launch template configuration block. See Launch Template Configs below for more details. Conflicts with launch_specification. At least one of launch_specification or launch_template_config is required.

    loadBalancers List<String>

    A list of elastic load balancer names to add to the Spot fleet.

    onDemandAllocationStrategy String

    The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are: lowestPrice and prioritized. the default is lowestPrice.

    onDemandMaxTotalPrice String

    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.

    onDemandTargetCapacity Number

    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.

    replaceUnhealthyInstances Boolean

    Indicates whether Spot fleet should replace unhealthy instances. Default false.

    spotMaintenanceStrategies Property Map

    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.

    spotRequestState String

    The state of the Spot fleet request.

    tags Map<String>

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    tagsAll Map<String>

    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated:

    Please use tags instead.

    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.

    targetCapacityUnitType String

    The unit for the target capacity. This can only be done with instance_requirements defined

    targetGroupArns List<String>

    A list of aws.alb.TargetGroup ARNs, for use with Application Load Balancing.

    terminateInstancesOnDelete String

    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_expiration argument is used.

    terminateInstancesWithExpiration Boolean

    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.

    waitForFulfillment Boolean

    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.

    AssociatePublicIpAddress bool
    AvailabilityZone string

    The availability zone in which to place the request.

    EbsBlockDevices List<SpotFleetRequestLaunchSpecificationEbsBlockDevice>
    EbsOptimized bool
    EphemeralBlockDevices List<SpotFleetRequestLaunchSpecificationEphemeralBlockDevice>
    IamInstanceProfile string
    IamInstanceProfileArn string
    KeyName string
    Monitoring bool
    PlacementGroup string
    PlacementTenancy string
    RootBlockDevices List<SpotFleetRequestLaunchSpecificationRootBlockDevice>
    SpotPrice string

    The maximum bid price per unit hour.

    SubnetId string

    The subnet in which to launch the requested instance.

    Tags Dictionary<string, string>

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    UserData string
    VpcSecurityGroupIds List<string>
    WeightedCapacity string

    The capacity added to the fleet by a fulfilled request.

    Ami string
    InstanceType string

    The type of instance to request.

    AssociatePublicIpAddress bool
    AvailabilityZone string

    The availability zone in which to place the request.

    EbsBlockDevices []SpotFleetRequestLaunchSpecificationEbsBlockDevice
    EbsOptimized bool
    EphemeralBlockDevices []SpotFleetRequestLaunchSpecificationEphemeralBlockDevice
    IamInstanceProfile string
    IamInstanceProfileArn string
    KeyName string
    Monitoring bool
    PlacementGroup string
    PlacementTenancy string
    RootBlockDevices []SpotFleetRequestLaunchSpecificationRootBlockDevice
    SpotPrice string

    The maximum bid price per unit hour.

    SubnetId string

    The subnet in which to launch the requested instance.

    Tags map[string]string

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    UserData string
    VpcSecurityGroupIds []string
    WeightedCapacity string

    The capacity added to the fleet by a fulfilled request.

    ami String
    instanceType String

    The type of instance to request.

    associatePublicIpAddress Boolean
    availabilityZone String

    The availability zone in which to place the request.

    ebsBlockDevices List<SpotFleetRequestLaunchSpecificationEbsBlockDevice>
    ebsOptimized Boolean
    ephemeralBlockDevices List<SpotFleetRequestLaunchSpecificationEphemeralBlockDevice>
    iamInstanceProfile String
    iamInstanceProfileArn String
    keyName String
    monitoring Boolean
    placementGroup String
    placementTenancy String
    rootBlockDevices List<SpotFleetRequestLaunchSpecificationRootBlockDevice>
    spotPrice String

    The maximum bid price per unit hour.

    subnetId String

    The subnet in which to launch the requested instance.

    tags Map<String,String>

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    userData String
    vpcSecurityGroupIds List<String>
    weightedCapacity String

    The capacity added to the fleet by a fulfilled request.

    ami string
    instanceType string

    The type of instance to request.

    associatePublicIpAddress boolean
    availabilityZone string

    The availability zone in which to place the request.

    ebsBlockDevices SpotFleetRequestLaunchSpecificationEbsBlockDevice[]
    ebsOptimized boolean
    ephemeralBlockDevices SpotFleetRequestLaunchSpecificationEphemeralBlockDevice[]
    iamInstanceProfile string
    iamInstanceProfileArn string
    keyName string
    monitoring boolean
    placementGroup string
    placementTenancy string
    rootBlockDevices SpotFleetRequestLaunchSpecificationRootBlockDevice[]
    spotPrice string

    The maximum bid price per unit hour.

    subnetId string

    The subnet in which to launch the requested instance.

    tags {[key: string]: string}

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    userData string
    vpcSecurityGroupIds string[]
    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_ip_address bool
    availability_zone str

    The availability zone in which to place the request.

    ebs_block_devices Sequence[SpotFleetRequestLaunchSpecificationEbsBlockDevice]
    ebs_optimized bool
    ephemeral_block_devices Sequence[SpotFleetRequestLaunchSpecificationEphemeralBlockDevice]
    iam_instance_profile str
    iam_instance_profile_arn str
    key_name str
    monitoring bool
    placement_group str
    placement_tenancy str
    root_block_devices Sequence[SpotFleetRequestLaunchSpecificationRootBlockDevice]
    spot_price str

    The maximum bid price per unit hour.

    subnet_id str

    The subnet in which to launch the requested instance.

    tags Mapping[str, str]

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    user_data str
    vpc_security_group_ids Sequence[str]
    weighted_capacity str

    The capacity added to the fleet by a fulfilled request.

    ami String
    instanceType String

    The type of instance to request.

    associatePublicIpAddress Boolean
    availabilityZone String

    The availability zone in which to place the request.

    ebsBlockDevices List<Property Map>
    ebsOptimized Boolean
    ephemeralBlockDevices List<Property Map>
    iamInstanceProfile String
    iamInstanceProfileArn String
    keyName String
    monitoring Boolean
    placementGroup String
    placementTenancy String
    rootBlockDevices List<Property Map>
    spotPrice String

    The maximum bid price per unit hour.

    subnetId String

    The subnet in which to launch the requested instance.

    tags Map<String>

    A map of tags to assign to the resource. .If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

    userData String
    vpcSecurityGroupIds List<String>
    weightedCapacity String

    The capacity added to the fleet by a fulfilled request.

    SpotFleetRequestLaunchSpecificationEbsBlockDevice, SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs

    deviceName String
    deleteOnTermination Boolean
    encrypted Boolean
    iops Integer
    kmsKeyId String
    snapshotId String
    throughput Integer
    volumeSize Integer
    volumeType String
    deviceName string
    deleteOnTermination boolean
    encrypted boolean
    iops number
    kmsKeyId string
    snapshotId string
    throughput number
    volumeSize number
    volumeType string
    deviceName String
    deleteOnTermination Boolean
    encrypted Boolean
    iops Number
    kmsKeyId String
    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
    deviceName String
    virtualName String

    SpotFleetRequestLaunchSpecificationRootBlockDevice, SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs

    deleteOnTermination Boolean
    encrypted Boolean
    iops Integer
    kmsKeyId String
    throughput Integer
    volumeSize Integer
    volumeType String
    deleteOnTermination boolean
    encrypted boolean
    iops number
    kmsKeyId string
    throughput number
    volumeSize number
    volumeType string
    deleteOnTermination Boolean
    encrypted Boolean
    iops Number
    kmsKeyId String
    throughput Number
    volumeSize Number
    volumeType String

    SpotFleetRequestLaunchTemplateConfig, SpotFleetRequestLaunchTemplateConfigArgs

    LaunchTemplateSpecification SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification

    Launch template specification. See Launch Template Specification below for more details.

    Overrides List<SpotFleetRequestLaunchTemplateConfigOverride>

    One or more override configurations. See Overrides below for more details.

    LaunchTemplateSpecification SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification

    Launch template specification. See Launch Template Specification below for more details.

    Overrides []SpotFleetRequestLaunchTemplateConfigOverride

    One or more override configurations. See Overrides below for more details.

    launchTemplateSpecification SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification

    Launch template specification. See Launch Template Specification below for more details.

    overrides List<SpotFleetRequestLaunchTemplateConfigOverride>

    One or more override configurations. See Overrides below for more details.

    launchTemplateSpecification SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification

    Launch template specification. See Launch Template Specification below for more details.

    overrides SpotFleetRequestLaunchTemplateConfigOverride[]

    One or more override configurations. See Overrides below for more details.

    launch_template_specification SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification

    Launch template specification. See Launch Template Specification below for more details.

    overrides Sequence[SpotFleetRequestLaunchTemplateConfigOverride]

    One or more override configurations. See Overrides below for more details.

    launchTemplateSpecification Property Map

    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 $Latest or $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_behavior is 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 $Latest or $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_behavior is 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 $Latest or $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_behavior is 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 $Latest or $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_behavior is 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 $Latest or $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_behavior is 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 $Latest or $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_behavior is confirmed unsupported.

    SpotFleetRequestLaunchTemplateConfigOverride, SpotFleetRequestLaunchTemplateConfigOverrideArgs

    AvailabilityZone string

    The availability zone in which to place the request.

    InstanceRequirements SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements

    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 SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements

    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 SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements

    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 SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements

    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 SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements

    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 SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    AcceleratorNames List<string>

    List of accelerator names. Default is any acclerator.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    AcceleratorTotalMemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    AllowedInstanceTypes List<string>

    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, or required. Default is excluded.

    BaselineEbsBandwidthMbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps

    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, or required. Default is excluded.

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    ExcludedInstanceTypes List<string>

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    LocalStorage string

    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.

    LocalStorageTypes List<string>

    List of local storage type names. Default any storage type.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    MemoryGibPerVcpu SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu

    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.

    MemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib

    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.

    NetworkBandwidthGbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps

    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.

    NetworkInterfaceCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount

    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.

    OnDemandMaxPricePercentageOverLowestPrice int

    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.

    RequireHibernateSupport bool

    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.

    SpotMaxPricePercentageOverLowestPrice int

    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.

    TotalLocalStorageGb SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb

    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.

    VcpuCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount

    Block describing the minimum and maximum number of vCPUs. Default is no maximum.

    AcceleratorCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    AcceleratorNames []string

    List of accelerator names. Default is any acclerator.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    AcceleratorTotalMemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    AllowedInstanceTypes []string

    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, or required. Default is excluded.

    BaselineEbsBandwidthMbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps

    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, or required. Default is excluded.

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    ExcludedInstanceTypes []string

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    LocalStorage string

    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.

    LocalStorageTypes []string

    List of local storage type names. Default any storage type.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    MemoryGibPerVcpu SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu

    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.

    MemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib

    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.

    NetworkBandwidthGbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps

    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.

    NetworkInterfaceCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount

    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.

    OnDemandMaxPricePercentageOverLowestPrice int

    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.

    RequireHibernateSupport bool

    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.

    SpotMaxPricePercentageOverLowestPrice int

    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.

    TotalLocalStorageGb SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb

    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.

    VcpuCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount

    Block describing the minimum and maximum number of vCPUs. Default is no maximum.

    acceleratorCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    acceleratorNames List<String>

    List of accelerator names. Default is any acclerator.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    acceleratorTotalMemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    allowedInstanceTypes List<String>

    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, or required. Default is excluded.

    baselineEbsBandwidthMbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps

    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, or required. Default is excluded.

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    excludedInstanceTypes List<String>

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    localStorage String

    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.

    localStorageTypes List<String>

    List of local storage type names. Default any storage type.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    memoryGibPerVcpu SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu

    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.

    memoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib

    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.

    networkBandwidthGbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps

    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.

    networkInterfaceCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount

    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.

    onDemandMaxPricePercentageOverLowestPrice Integer

    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.

    requireHibernateSupport Boolean

    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.

    spotMaxPricePercentageOverLowestPrice Integer

    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.

    totalLocalStorageGb SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb

    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.

    vcpuCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount

    Block describing the minimum and maximum number of vCPUs. Default is no maximum.

    acceleratorCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    acceleratorNames string[]

    List of accelerator names. Default is any acclerator.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    acceleratorTotalMemoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    allowedInstanceTypes string[]

    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, or required. Default is excluded.

    baselineEbsBandwidthMbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps

    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, or required. Default is excluded.

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    excludedInstanceTypes string[]

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    localStorage string

    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.

    localStorageTypes string[]

    List of local storage type names. Default any storage type.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    memoryGibPerVcpu SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu

    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.

    memoryMib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib

    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.

    networkBandwidthGbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps

    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.

    networkInterfaceCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount

    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.

    onDemandMaxPricePercentageOverLowestPrice number

    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.

    requireHibernateSupport boolean

    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.

    spotMaxPricePercentageOverLowestPrice number

    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.

    totalLocalStorageGb SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb

    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.

    vcpuCount SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount

    Block describing the minimum and maximum number of vCPUs. Default is no maximum.

    accelerator_count SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    accelerator_names Sequence[str]

    List of accelerator names. Default is any acclerator.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    accelerator_total_memory_mib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    allowed_instance_types Sequence[str]

    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, or required. Default is excluded.

    baseline_ebs_bandwidth_mbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps

    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, or required. Default is excluded.

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    excluded_instance_types Sequence[str]

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    local_storage str

    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.

    local_storage_types Sequence[str]

    List of local storage type names. Default any storage type.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    memory_gib_per_vcpu SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu

    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.

    memory_mib SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib

    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.

    network_bandwidth_gbps SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps

    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.

    network_interface_count SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount

    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.

    on_demand_max_price_percentage_over_lowest_price int

    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_support bool

    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.

    spot_max_price_percentage_over_lowest_price int

    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_storage_gb SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb

    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.

    vcpu_count SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    acceleratorNames List<String>

    List of accelerator names. Default is any acclerator.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    acceleratorTotalMemoryMib Property Map

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    allowedInstanceTypes List<String>

    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, or required. Default is excluded.

    baselineEbsBandwidthMbps Property Map

    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, or required. Default is excluded.

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    excludedInstanceTypes List<String>

    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.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    localStorage String

    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.

    localStorageTypes List<String>

    List of local storage type names. Default any storage type.

    import * as pulumi from "@pulumi/pulumi";
    
    import pulumi
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    

    return await Deployment.RunAsync(() => { });

    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    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) {
        }
    }
    
    {}
    
    memoryGibPerVcpu Property Map

    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.

    networkBandwidthGbps Property Map

    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.

    networkInterfaceCount Property Map

    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.

    onDemandMaxPricePercentageOverLowestPrice Number

    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.

    requireHibernateSupport Boolean

    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.

    spotMaxPricePercentageOverLowestPrice Number

    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.

    totalLocalStorageGb Property Map

    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

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    max Integer

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Integer

    Minimum.

    max number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min number

    Minimum.

    max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    min int

    Minimum.

    max Number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Number

    Minimum.

    SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    max Integer

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Integer

    Minimum.

    max number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min number

    Minimum.

    max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    min int

    Minimum.

    max Number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Number

    Minimum.

    SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    max Integer

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Integer

    Minimum.

    max number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min number

    Minimum.

    max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    min int

    Minimum.

    max Number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Number

    Minimum.

    SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs

    Max double

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min double

    Minimum.

    Max float64

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min float64

    Minimum.

    max Double

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Double

    Minimum.

    max number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min number

    Minimum.

    max float

    Maximum. Set to 0 to exclude instance types with accelerators.

    min float

    Minimum.

    max Number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Number

    Minimum.

    SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    max Integer

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Integer

    Minimum.

    max number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min number

    Minimum.

    max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    min int

    Minimum.

    max Number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Number

    Minimum.

    SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs

    Max double

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min double

    Minimum.

    Max float64

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min float64

    Minimum.

    max Double

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Double

    Minimum.

    max number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min number

    Minimum.

    max float

    Maximum. Set to 0 to exclude instance types with accelerators.

    min float

    Minimum.

    max Number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Number

    Minimum.

    SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    max Integer

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Integer

    Minimum.

    max number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min number

    Minimum.

    max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    min int

    Minimum.

    max Number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Number

    Minimum.

    SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs

    Max double

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min double

    Minimum.

    Max float64

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min float64

    Minimum.

    max Double

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Double

    Minimum.

    max number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min number

    Minimum.

    max float

    Maximum. Set to 0 to exclude instance types with accelerators.

    min float

    Minimum.

    max Number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Number

    Minimum.

    SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    Max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    Min int

    Minimum.

    max Integer

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Integer

    Minimum.

    max number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min number

    Minimum.

    max int

    Maximum. Set to 0 to exclude instance types with accelerators.

    min int

    Minimum.

    max Number

    Maximum. Set to 0 to exclude instance types with accelerators.

    min Number

    Minimum.

    SpotFleetRequestSpotMaintenanceStrategies, SpotFleetRequestSpotMaintenanceStrategiesArgs

    CapacityRebalance SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance

    Nested argument containing the capacity rebalance for your fleet request. Defined below.

    CapacityRebalance SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance

    Nested argument containing the capacity rebalance for your fleet request. Defined below.

    capacityRebalance SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance

    Nested argument containing the capacity rebalance for your fleet request. Defined below.

    capacityRebalance SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance

    Nested argument containing the capacity rebalance for your fleet request. Defined below.

    capacity_rebalance SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance

    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_type set to maintain. Valid values: launch.

    ReplacementStrategy string

    The replacement strategy to use. Only available for spot fleets with fleet_type set to maintain. Valid values: launch.

    replacementStrategy String

    The replacement strategy to use. Only available for spot fleets with fleet_type set to maintain. Valid values: launch.

    replacementStrategy string

    The replacement strategy to use. Only available for spot fleets with fleet_type set to maintain. Valid values: launch.

    replacement_strategy str

    The replacement strategy to use. Only available for spot fleets with fleet_type set to maintain. Valid values: launch.

    replacementStrategy String

    The replacement strategy to use. Only available for spot fleets with fleet_type set to maintain. 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
    

    Package Details

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

    This Pulumi package is based on the aws Terraform Provider.

    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.3.0 published on Thursday, Sep 28, 2023 by Pulumi