Try AWS Native preview for resources not in the classic version.
aws.ec2.SpotFleetRequest
Explore with Pulumi AI
Try AWS Native preview for resources not in the classic version.
Provides an EC2 Spot Fleet Request resource. This allows a fleet of Spot instances to be requested on the Spot market.
**NOTE AWS strongly discourages the use of the legacy APIs called by this resource. We recommend using the EC2 Fleet or Auto Scaling Group resources instead.
Example Usage
Using launch specifications
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Request a Spot fleet
const cheapCompute = new aws.ec2.SpotFleetRequest("cheap_compute", {
iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
spotPrice: "0.03",
allocationStrategy: "diversified",
targetCapacity: 6,
validUntil: "2019-11-04T20:44:20Z",
launchSpecifications: [
{
instanceType: "m4.10xlarge",
ami: "ami-1234",
spotPrice: "2.793",
placementTenancy: "dedicated",
iamInstanceProfileArn: example.arn,
},
{
instanceType: "m4.4xlarge",
ami: "ami-5678",
keyName: "my-key",
spotPrice: "1.117",
iamInstanceProfileArn: example.arn,
availabilityZone: "us-west-1a",
subnetId: "subnet-1234",
weightedCapacity: "35",
rootBlockDevices: [{
volumeSize: 300,
volumeType: "gp2",
}],
tags: {
Name: "spot-fleet-example",
},
},
],
});
import pulumi
import pulumi_aws as aws
# Request a Spot fleet
cheap_compute = aws.ec2.SpotFleetRequest("cheap_compute",
iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
spot_price="0.03",
allocation_strategy="diversified",
target_capacity=6,
valid_until="2019-11-04T20:44:20Z",
launch_specifications=[
{
"instanceType": "m4.10xlarge",
"ami": "ami-1234",
"spotPrice": "2.793",
"placementTenancy": "dedicated",
"iamInstanceProfileArn": example["arn"],
},
{
"instanceType": "m4.4xlarge",
"ami": "ami-5678",
"keyName": "my-key",
"spotPrice": "1.117",
"iamInstanceProfileArn": example["arn"],
"availabilityZone": "us-west-1a",
"subnetId": "subnet-1234",
"weightedCapacity": "35",
"rootBlockDevices": [{
"volumeSize": 300,
"volumeType": "gp2",
}],
"tags": {
"Name": "spot-fleet-example",
},
},
])
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Request a Spot fleet
_, err := ec2.NewSpotFleetRequest(ctx, "cheap_compute", &ec2.SpotFleetRequestArgs{
IamFleetRole: pulumi.String("arn:aws:iam::12345678:role/spot-fleet"),
SpotPrice: pulumi.String("0.03"),
AllocationStrategy: pulumi.String("diversified"),
TargetCapacity: pulumi.Int(6),
ValidUntil: pulumi.String("2019-11-04T20:44:20Z"),
LaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{
&ec2.SpotFleetRequestLaunchSpecificationArgs{
InstanceType: pulumi.String("m4.10xlarge"),
Ami: pulumi.String("ami-1234"),
SpotPrice: pulumi.String("2.793"),
PlacementTenancy: pulumi.String("dedicated"),
IamInstanceProfileArn: pulumi.Any(example.Arn),
},
&ec2.SpotFleetRequestLaunchSpecificationArgs{
InstanceType: pulumi.String("m4.4xlarge"),
Ami: pulumi.String("ami-5678"),
KeyName: pulumi.String("my-key"),
SpotPrice: pulumi.String("1.117"),
IamInstanceProfileArn: pulumi.Any(example.Arn),
AvailabilityZone: pulumi.String("us-west-1a"),
SubnetId: pulumi.String("subnet-1234"),
WeightedCapacity: pulumi.String("35"),
RootBlockDevices: ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{
&ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{
VolumeSize: pulumi.Int(300),
VolumeType: pulumi.String("gp2"),
},
},
Tags: pulumi.StringMap{
"Name": pulumi.String("spot-fleet-example"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
// Request a Spot fleet
var cheapCompute = new Aws.Ec2.SpotFleetRequest("cheap_compute", new()
{
IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
SpotPrice = "0.03",
AllocationStrategy = "diversified",
TargetCapacity = 6,
ValidUntil = "2019-11-04T20:44:20Z",
LaunchSpecifications = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
{
InstanceType = "m4.10xlarge",
Ami = "ami-1234",
SpotPrice = "2.793",
PlacementTenancy = "dedicated",
IamInstanceProfileArn = example.Arn,
},
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
{
InstanceType = "m4.4xlarge",
Ami = "ami-5678",
KeyName = "my-key",
SpotPrice = "1.117",
IamInstanceProfileArn = example.Arn,
AvailabilityZone = "us-west-1a",
SubnetId = "subnet-1234",
WeightedCapacity = "35",
RootBlockDevices = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs
{
VolumeSize = 300,
VolumeType = "gp2",
},
},
Tags =
{
{ "Name", "spot-fleet-example" },
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.SpotFleetRequest;
import com.pulumi.aws.ec2.SpotFleetRequestArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
// Request a Spot fleet
var cheapCompute = new SpotFleetRequest("cheapCompute", SpotFleetRequestArgs.builder()
.iamFleetRole("arn:aws:iam::12345678:role/spot-fleet")
.spotPrice("0.03")
.allocationStrategy("diversified")
.targetCapacity(6)
.validUntil("2019-11-04T20:44:20Z")
.launchSpecifications(
SpotFleetRequestLaunchSpecificationArgs.builder()
.instanceType("m4.10xlarge")
.ami("ami-1234")
.spotPrice("2.793")
.placementTenancy("dedicated")
.iamInstanceProfileArn(example.arn())
.build(),
SpotFleetRequestLaunchSpecificationArgs.builder()
.instanceType("m4.4xlarge")
.ami("ami-5678")
.keyName("my-key")
.spotPrice("1.117")
.iamInstanceProfileArn(example.arn())
.availabilityZone("us-west-1a")
.subnetId("subnet-1234")
.weightedCapacity(35)
.rootBlockDevices(SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs.builder()
.volumeSize("300")
.volumeType("gp2")
.build())
.tags(Map.of("Name", "spot-fleet-example"))
.build())
.build());
}
}
resources:
# Request a Spot fleet
cheapCompute:
type: aws:ec2:SpotFleetRequest
name: cheap_compute
properties:
iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
spotPrice: '0.03'
allocationStrategy: diversified
targetCapacity: 6
validUntil: 2019-11-04T20:44:20Z
launchSpecifications:
- instanceType: m4.10xlarge
ami: ami-1234
spotPrice: '2.793'
placementTenancy: dedicated
iamInstanceProfileArn: ${example.arn}
- instanceType: m4.4xlarge
ami: ami-5678
keyName: my-key
spotPrice: '1.117'
iamInstanceProfileArn: ${example.arn}
availabilityZone: us-west-1a
subnetId: subnet-1234
weightedCapacity: 35
rootBlockDevices:
- volumeSize: '300'
volumeType: gp2
tags:
Name: spot-fleet-example
Using launch templates
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = new aws.ec2.LaunchTemplate("foo", {
name: "launch-template",
imageId: "ami-516b9131",
instanceType: "m1.small",
keyName: "some-key",
});
const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("foo", {
iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
spotPrice: "0.005",
targetCapacity: 2,
validUntil: "2019-11-04T20:44:20Z",
launchTemplateConfigs: [{
launchTemplateSpecification: {
id: foo.id,
version: foo.latestVersion,
},
}],
}, {
dependsOn: [test_attach],
});
import pulumi
import pulumi_aws as aws
foo = aws.ec2.LaunchTemplate("foo",
name="launch-template",
image_id="ami-516b9131",
instance_type="m1.small",
key_name="some-key")
foo_spot_fleet_request = aws.ec2.SpotFleetRequest("foo",
iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
spot_price="0.005",
target_capacity=2,
valid_until="2019-11-04T20:44:20Z",
launch_template_configs=[{
"launchTemplateSpecification": {
"id": foo.id,
"version": foo.latest_version,
},
}],
opts = pulumi.ResourceOptions(depends_on=[test_attach]))
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
foo, err := ec2.NewLaunchTemplate(ctx, "foo", &ec2.LaunchTemplateArgs{
Name: pulumi.String("launch-template"),
ImageId: pulumi.String("ami-516b9131"),
InstanceType: pulumi.String("m1.small"),
KeyName: pulumi.String("some-key"),
})
if err != nil {
return err
}
_, err = ec2.NewSpotFleetRequest(ctx, "foo", &ec2.SpotFleetRequestArgs{
IamFleetRole: pulumi.String("arn:aws:iam::12345678:role/spot-fleet"),
SpotPrice: pulumi.String("0.005"),
TargetCapacity: pulumi.Int(2),
ValidUntil: pulumi.String("2019-11-04T20:44:20Z"),
LaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{
&ec2.SpotFleetRequestLaunchTemplateConfigArgs{
LaunchTemplateSpecification: &ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{
Id: foo.ID(),
Version: foo.LatestVersion,
},
},
},
}, pulumi.DependsOn([]pulumi.Resource{
test_attach,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var foo = new Aws.Ec2.LaunchTemplate("foo", new()
{
Name = "launch-template",
ImageId = "ami-516b9131",
InstanceType = "m1.small",
KeyName = "some-key",
});
var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest("foo", new()
{
IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
SpotPrice = "0.005",
TargetCapacity = 2,
ValidUntil = "2019-11-04T20:44:20Z",
LaunchTemplateConfigs = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs
{
LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs
{
Id = foo.Id,
Version = foo.LatestVersion,
},
},
},
}, new CustomResourceOptions
{
DependsOn =
{
test_attach,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.ec2.SpotFleetRequest;
import com.pulumi.aws.ec2.SpotFleetRequestArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var foo = new LaunchTemplate("foo", LaunchTemplateArgs.builder()
.name("launch-template")
.imageId("ami-516b9131")
.instanceType("m1.small")
.keyName("some-key")
.build());
var fooSpotFleetRequest = new SpotFleetRequest("fooSpotFleetRequest", SpotFleetRequestArgs.builder()
.iamFleetRole("arn:aws:iam::12345678:role/spot-fleet")
.spotPrice("0.005")
.targetCapacity(2)
.validUntil("2019-11-04T20:44:20Z")
.launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()
.launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()
.id(foo.id())
.version(foo.latestVersion())
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(test_attach)
.build());
}
}
resources:
foo:
type: aws:ec2:LaunchTemplate
properties:
name: launch-template
imageId: ami-516b9131
instanceType: m1.small
keyName: some-key
fooSpotFleetRequest:
type: aws:ec2:SpotFleetRequest
name: foo
properties:
iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
spotPrice: '0.005'
targetCapacity: 2
validUntil: 2019-11-04T20:44:20Z
launchTemplateConfigs:
- launchTemplateSpecification:
id: ${foo.id}
version: ${foo.latestVersion}
options:
dependson:
- ${["test-attach"]}
NOTE: This provider does not support the functionality where multiple
subnet_id
oravailability_zone
parameters can be specified in the same launch configuration block. If you want to specify multiple values, then separate launch configuration blocks should be used or launch template overrides should be configured, one per subnet:
Using multiple launch specifications
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = new aws.ec2.SpotFleetRequest("foo", {
iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
spotPrice: "0.005",
targetCapacity: 2,
validUntil: "2019-11-04T20:44:20Z",
launchSpecifications: [
{
instanceType: "m1.small",
ami: "ami-d06a90b0",
keyName: "my-key",
availabilityZone: "us-west-2a",
},
{
instanceType: "m5.large",
ami: "ami-d06a90b0",
keyName: "my-key",
availabilityZone: "us-west-2a",
},
],
});
import pulumi
import pulumi_aws as aws
foo = aws.ec2.SpotFleetRequest("foo",
iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
spot_price="0.005",
target_capacity=2,
valid_until="2019-11-04T20:44:20Z",
launch_specifications=[
{
"instanceType": "m1.small",
"ami": "ami-d06a90b0",
"keyName": "my-key",
"availabilityZone": "us-west-2a",
},
{
"instanceType": "m5.large",
"ami": "ami-d06a90b0",
"keyName": "my-key",
"availabilityZone": "us-west-2a",
},
])
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ec2.NewSpotFleetRequest(ctx, "foo", &ec2.SpotFleetRequestArgs{
IamFleetRole: pulumi.String("arn:aws:iam::12345678:role/spot-fleet"),
SpotPrice: pulumi.String("0.005"),
TargetCapacity: pulumi.Int(2),
ValidUntil: pulumi.String("2019-11-04T20:44:20Z"),
LaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{
&ec2.SpotFleetRequestLaunchSpecificationArgs{
InstanceType: pulumi.String("m1.small"),
Ami: pulumi.String("ami-d06a90b0"),
KeyName: pulumi.String("my-key"),
AvailabilityZone: pulumi.String("us-west-2a"),
},
&ec2.SpotFleetRequestLaunchSpecificationArgs{
InstanceType: pulumi.String("m5.large"),
Ami: pulumi.String("ami-d06a90b0"),
KeyName: pulumi.String("my-key"),
AvailabilityZone: pulumi.String("us-west-2a"),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var foo = new Aws.Ec2.SpotFleetRequest("foo", new()
{
IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
SpotPrice = "0.005",
TargetCapacity = 2,
ValidUntil = "2019-11-04T20:44:20Z",
LaunchSpecifications = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
{
InstanceType = "m1.small",
Ami = "ami-d06a90b0",
KeyName = "my-key",
AvailabilityZone = "us-west-2a",
},
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
{
InstanceType = "m5.large",
Ami = "ami-d06a90b0",
KeyName = "my-key",
AvailabilityZone = "us-west-2a",
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.SpotFleetRequest;
import com.pulumi.aws.ec2.SpotFleetRequestArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchSpecificationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var foo = new SpotFleetRequest("foo", SpotFleetRequestArgs.builder()
.iamFleetRole("arn:aws:iam::12345678:role/spot-fleet")
.spotPrice("0.005")
.targetCapacity(2)
.validUntil("2019-11-04T20:44:20Z")
.launchSpecifications(
SpotFleetRequestLaunchSpecificationArgs.builder()
.instanceType("m1.small")
.ami("ami-d06a90b0")
.keyName("my-key")
.availabilityZone("us-west-2a")
.build(),
SpotFleetRequestLaunchSpecificationArgs.builder()
.instanceType("m5.large")
.ami("ami-d06a90b0")
.keyName("my-key")
.availabilityZone("us-west-2a")
.build())
.build());
}
}
resources:
foo:
type: aws:ec2:SpotFleetRequest
properties:
iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
spotPrice: '0.005'
targetCapacity: 2
validUntil: 2019-11-04T20:44:20Z
launchSpecifications:
- instanceType: m1.small
ami: ami-d06a90b0
keyName: my-key
availabilityZone: us-west-2a
- instanceType: m5.large
ami: ami-d06a90b0
keyName: my-key
availabilityZone: us-west-2a
In this example, we use a
dynamic
block to define zero or morelaunch_specification
blocks, producing one for each element in the list of subnet ids.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const config = new pulumi.Config();
const subnets = config.requireObject("subnets");
const example = new aws.ec2.SpotFleetRequest("example", {
launchSpecifications: .map(s => ({
subnetId: s[1],
})).map((v, k) => ({key: k, value: v})).map(entry => ({
ami: "ami-1234",
instanceType: "m4.4xlarge",
subnetId: entry.value.subnetId,
vpcSecurityGroupIds: "sg-123456",
rootBlockDevices: [{
volumeSize: 8,
volumeType: "gp2",
deleteOnTermination: true,
}],
tags: {
Name: "Spot Node",
tag_builder: "builder",
},
})),
iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
targetCapacity: 3,
validUntil: "2019-11-04T20:44:20Z",
allocationStrategy: "lowestPrice",
fleetType: "request",
waitForFulfillment: true,
terminateInstancesWithExpiration: true,
});
import pulumi
import pulumi_aws as aws
config = pulumi.Config()
subnets = config.require_object("subnets")
example = aws.ec2.SpotFleetRequest("example",
launch_specifications=[{
"ami": "ami-1234",
"instanceType": "m4.4xlarge",
"subnetId": entry["value"]["subnetId"],
"vpcSecurityGroupIds": "sg-123456",
"rootBlockDevices": [{
"volumeSize": 8,
"volumeType": "gp2",
"deleteOnTermination": True,
}],
"tags": {
"Name": "Spot Node",
"tag_builder": "builder",
},
} for entry in [{"key": k, "value": v} for k, v in [{
"subnetId": s[1],
} for s in subnets]]],
iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
target_capacity=3,
valid_until="2019-11-04T20:44:20Z",
allocation_strategy="lowestPrice",
fleet_type="request",
wait_for_fulfillment=True,
terminate_instances_with_expiration=True)
Coming soon!
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var subnets = config.RequireObject<dynamic>("subnets");
var example = new Aws.Ec2.SpotFleetRequest("example", new()
{
LaunchSpecifications = .Select(s =>
{
return
{
{ "subnetId", s[1] },
};
}).ToList().Select((v, k) => new { Key = k, Value = v }).Select(entry =>
{
return new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
{
Ami = "ami-1234",
InstanceType = "m4.4xlarge",
SubnetId = entry.Value.SubnetId,
VpcSecurityGroupIds = "sg-123456",
RootBlockDevices = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs
{
VolumeSize = 8,
VolumeType = "gp2",
DeleteOnTermination = true,
},
},
Tags =
{
{ "Name", "Spot Node" },
{ "tag_builder", "builder" },
},
};
}).ToList(),
IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
TargetCapacity = 3,
ValidUntil = "2019-11-04T20:44:20Z",
AllocationStrategy = "lowestPrice",
FleetType = "request",
WaitForFulfillment = true,
TerminateInstancesWithExpiration = true,
});
});
Coming soon!
Coming soon!
Using multiple launch configurations
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.ec2.getSubnets({
filters: [{
name: "vpc-id",
values: [vpcId],
}],
});
const foo = new aws.ec2.LaunchTemplate("foo", {
name: "launch-template",
imageId: "ami-516b9131",
instanceType: "m1.small",
keyName: "some-key",
});
const fooSpotFleetRequest = new aws.ec2.SpotFleetRequest("foo", {
iamFleetRole: "arn:aws:iam::12345678:role/spot-fleet",
spotPrice: "0.005",
targetCapacity: 2,
validUntil: "2019-11-04T20:44:20Z",
launchTemplateConfigs: [{
launchTemplateSpecification: {
id: foo.id,
version: foo.latestVersion,
},
overrides: [
{
subnetId: example.then(example => example.ids?.[0]),
},
{
subnetId: example.then(example => example.ids?.[1]),
},
{
subnetId: example.then(example => example.ids?.[2]),
},
],
}],
}, {
dependsOn: [test_attach],
});
import pulumi
import pulumi_aws as aws
example = aws.ec2.get_subnets(filters=[{
"name": "vpc-id",
"values": [vpc_id],
}])
foo = aws.ec2.LaunchTemplate("foo",
name="launch-template",
image_id="ami-516b9131",
instance_type="m1.small",
key_name="some-key")
foo_spot_fleet_request = aws.ec2.SpotFleetRequest("foo",
iam_fleet_role="arn:aws:iam::12345678:role/spot-fleet",
spot_price="0.005",
target_capacity=2,
valid_until="2019-11-04T20:44:20Z",
launch_template_configs=[{
"launchTemplateSpecification": {
"id": foo.id,
"version": foo.latest_version,
},
"overrides": [
{
"subnetId": example.ids[0],
},
{
"subnetId": example.ids[1],
},
{
"subnetId": example.ids[2],
},
],
}],
opts = pulumi.ResourceOptions(depends_on=[test_attach]))
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := ec2.GetSubnets(ctx, &ec2.GetSubnetsArgs{
Filters: []ec2.GetSubnetsFilter{
{
Name: "vpc-id",
Values: interface{}{
vpcId,
},
},
},
}, nil);
if err != nil {
return err
}
foo, err := ec2.NewLaunchTemplate(ctx, "foo", &ec2.LaunchTemplateArgs{
Name: pulumi.String("launch-template"),
ImageId: pulumi.String("ami-516b9131"),
InstanceType: pulumi.String("m1.small"),
KeyName: pulumi.String("some-key"),
})
if err != nil {
return err
}
_, err = ec2.NewSpotFleetRequest(ctx, "foo", &ec2.SpotFleetRequestArgs{
IamFleetRole: pulumi.String("arn:aws:iam::12345678:role/spot-fleet"),
SpotPrice: pulumi.String("0.005"),
TargetCapacity: pulumi.Int(2),
ValidUntil: pulumi.String("2019-11-04T20:44:20Z"),
LaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{
&ec2.SpotFleetRequestLaunchTemplateConfigArgs{
LaunchTemplateSpecification: &ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{
Id: foo.ID(),
Version: foo.LatestVersion,
},
Overrides: ec2.SpotFleetRequestLaunchTemplateConfigOverrideArray{
&ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{
SubnetId: pulumi.String(example.Ids[0]),
},
&ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{
SubnetId: pulumi.String(example.Ids[1]),
},
&ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{
SubnetId: pulumi.String(example.Ids[2]),
},
},
},
},
}, pulumi.DependsOn([]pulumi.Resource{
test_attach,
}))
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = Aws.Ec2.GetSubnets.Invoke(new()
{
Filters = new[]
{
new Aws.Ec2.Inputs.GetSubnetsFilterInputArgs
{
Name = "vpc-id",
Values = new[]
{
vpcId,
},
},
},
});
var foo = new Aws.Ec2.LaunchTemplate("foo", new()
{
Name = "launch-template",
ImageId = "ami-516b9131",
InstanceType = "m1.small",
KeyName = "some-key",
});
var fooSpotFleetRequest = new Aws.Ec2.SpotFleetRequest("foo", new()
{
IamFleetRole = "arn:aws:iam::12345678:role/spot-fleet",
SpotPrice = "0.005",
TargetCapacity = 2,
ValidUntil = "2019-11-04T20:44:20Z",
LaunchTemplateConfigs = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs
{
LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs
{
Id = foo.Id,
Version = foo.LatestVersion,
},
Overrides = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs
{
SubnetId = example.Apply(getSubnetsResult => getSubnetsResult.Ids[0]),
},
new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs
{
SubnetId = example.Apply(getSubnetsResult => getSubnetsResult.Ids[1]),
},
new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs
{
SubnetId = example.Apply(getSubnetsResult => getSubnetsResult.Ids[2]),
},
},
},
},
}, new CustomResourceOptions
{
DependsOn =
{
test_attach,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetSubnetsArgs;
import com.pulumi.aws.ec2.LaunchTemplate;
import com.pulumi.aws.ec2.LaunchTemplateArgs;
import com.pulumi.aws.ec2.SpotFleetRequest;
import com.pulumi.aws.ec2.SpotFleetRequestArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigArgs;
import com.pulumi.aws.ec2.inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var example = Ec2Functions.getSubnets(GetSubnetsArgs.builder()
.filters(GetSubnetsFilterArgs.builder()
.name("vpc-id")
.values(vpcId)
.build())
.build());
var foo = new LaunchTemplate("foo", LaunchTemplateArgs.builder()
.name("launch-template")
.imageId("ami-516b9131")
.instanceType("m1.small")
.keyName("some-key")
.build());
var fooSpotFleetRequest = new SpotFleetRequest("fooSpotFleetRequest", SpotFleetRequestArgs.builder()
.iamFleetRole("arn:aws:iam::12345678:role/spot-fleet")
.spotPrice("0.005")
.targetCapacity(2)
.validUntil("2019-11-04T20:44:20Z")
.launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()
.launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()
.id(foo.id())
.version(foo.latestVersion())
.build())
.overrides(
SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()
.subnetId(example.applyValue(getSubnetsResult -> getSubnetsResult.ids()[0]))
.build(),
SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()
.subnetId(example.applyValue(getSubnetsResult -> getSubnetsResult.ids()[1]))
.build(),
SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()
.subnetId(example.applyValue(getSubnetsResult -> getSubnetsResult.ids()[2]))
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(test_attach)
.build());
}
}
resources:
foo:
type: aws:ec2:LaunchTemplate
properties:
name: launch-template
imageId: ami-516b9131
instanceType: m1.small
keyName: some-key
fooSpotFleetRequest:
type: aws:ec2:SpotFleetRequest
name: foo
properties:
iamFleetRole: arn:aws:iam::12345678:role/spot-fleet
spotPrice: '0.005'
targetCapacity: 2
validUntil: 2019-11-04T20:44:20Z
launchTemplateConfigs:
- launchTemplateSpecification:
id: ${foo.id}
version: ${foo.latestVersion}
overrides:
- subnetId: ${example.ids[0]}
- subnetId: ${example.ids[1]}
- subnetId: ${example.ids[2]}
options:
dependson:
- ${["test-attach"]}
variables:
example:
fn::invoke:
Function: aws:ec2:getSubnets
Arguments:
filters:
- name: vpc-id
values:
- ${vpcId}
Create SpotFleetRequest Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new SpotFleetRequest(name: string, args: SpotFleetRequestArgs, opts?: CustomResourceOptions);
@overload
def SpotFleetRequest(resource_name: str,
args: SpotFleetRequestArgs,
opts: Optional[ResourceOptions] = None)
@overload
def SpotFleetRequest(resource_name: str,
opts: Optional[ResourceOptions] = None,
iam_fleet_role: Optional[str] = None,
target_capacity: Optional[int] = None,
on_demand_target_capacity: Optional[int] = None,
wait_for_fulfillment: Optional[bool] = None,
allocation_strategy: Optional[str] = None,
instance_interruption_behaviour: Optional[str] = None,
instance_pools_to_use_count: Optional[int] = None,
launch_specifications: Optional[Sequence[SpotFleetRequestLaunchSpecificationArgs]] = None,
launch_template_configs: Optional[Sequence[SpotFleetRequestLaunchTemplateConfigArgs]] = None,
load_balancers: Optional[Sequence[str]] = None,
on_demand_allocation_strategy: Optional[str] = None,
spot_maintenance_strategies: Optional[SpotFleetRequestSpotMaintenanceStrategiesArgs] = None,
excess_capacity_termination_policy: Optional[str] = None,
fleet_type: Optional[str] = None,
on_demand_max_total_price: Optional[str] = None,
spot_price: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
context: Optional[str] = None,
target_capacity_unit_type: Optional[str] = None,
target_group_arns: Optional[Sequence[str]] = None,
terminate_instances_on_delete: Optional[str] = None,
terminate_instances_with_expiration: Optional[bool] = None,
valid_from: Optional[str] = None,
valid_until: Optional[str] = None,
replace_unhealthy_instances: Optional[bool] = None)
func NewSpotFleetRequest(ctx *Context, name string, args SpotFleetRequestArgs, opts ...ResourceOption) (*SpotFleetRequest, error)
public SpotFleetRequest(string name, SpotFleetRequestArgs args, CustomResourceOptions? opts = null)
public SpotFleetRequest(String name, SpotFleetRequestArgs args)
public SpotFleetRequest(String name, SpotFleetRequestArgs args, CustomResourceOptions options)
type: aws:ec2:SpotFleetRequest
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args SpotFleetRequestArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args SpotFleetRequestArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args SpotFleetRequestArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SpotFleetRequestArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SpotFleetRequestArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var spotFleetRequestResource = new Aws.Ec2.SpotFleetRequest("spotFleetRequestResource", new()
{
IamFleetRole = "string",
TargetCapacity = 0,
OnDemandTargetCapacity = 0,
WaitForFulfillment = false,
AllocationStrategy = "string",
InstanceInterruptionBehaviour = "string",
InstancePoolsToUseCount = 0,
LaunchSpecifications = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationArgs
{
InstanceType = "string",
Ami = "string",
Monitoring = false,
PlacementGroup = "string",
EbsOptimized = false,
EphemeralBlockDevices = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs
{
DeviceName = "string",
VirtualName = "string",
},
},
IamInstanceProfile = "string",
IamInstanceProfileArn = "string",
AvailabilityZone = "string",
KeyName = "string",
AssociatePublicIpAddress = false,
EbsBlockDevices = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs
{
DeviceName = "string",
DeleteOnTermination = false,
Encrypted = false,
Iops = 0,
KmsKeyId = "string",
SnapshotId = "string",
Throughput = 0,
VolumeSize = 0,
VolumeType = "string",
},
},
PlacementTenancy = "string",
RootBlockDevices = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs
{
DeleteOnTermination = false,
Encrypted = false,
Iops = 0,
KmsKeyId = "string",
Throughput = 0,
VolumeSize = 0,
VolumeType = "string",
},
},
SpotPrice = "string",
SubnetId = "string",
Tags =
{
{ "string", "string" },
},
UserData = "string",
VpcSecurityGroupIds = new[]
{
"string",
},
WeightedCapacity = "string",
},
},
LaunchTemplateConfigs = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigArgs
{
LaunchTemplateSpecification = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs
{
Id = "string",
Name = "string",
Version = "string",
},
Overrides = new[]
{
new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideArgs
{
AvailabilityZone = "string",
InstanceRequirements = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs
{
AcceleratorCount = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs
{
Max = 0,
Min = 0,
},
AcceleratorManufacturers = new[]
{
"string",
},
AcceleratorNames = new[]
{
"string",
},
AcceleratorTotalMemoryMib = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs
{
Max = 0,
Min = 0,
},
AcceleratorTypes = new[]
{
"string",
},
AllowedInstanceTypes = new[]
{
"string",
},
BareMetal = "string",
BaselineEbsBandwidthMbps = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs
{
Max = 0,
Min = 0,
},
BurstablePerformance = "string",
CpuManufacturers = new[]
{
"string",
},
ExcludedInstanceTypes = new[]
{
"string",
},
InstanceGenerations = new[]
{
"string",
},
LocalStorage = "string",
LocalStorageTypes = new[]
{
"string",
},
MemoryGibPerVcpu = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs
{
Max = 0,
Min = 0,
},
MemoryMib = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs
{
Max = 0,
Min = 0,
},
NetworkBandwidthGbps = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs
{
Max = 0,
Min = 0,
},
NetworkInterfaceCount = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs
{
Max = 0,
Min = 0,
},
OnDemandMaxPricePercentageOverLowestPrice = 0,
RequireHibernateSupport = false,
SpotMaxPricePercentageOverLowestPrice = 0,
TotalLocalStorageGb = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs
{
Max = 0,
Min = 0,
},
VcpuCount = new Aws.Ec2.Inputs.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs
{
Max = 0,
Min = 0,
},
},
InstanceType = "string",
Priority = 0,
SpotPrice = "string",
SubnetId = "string",
WeightedCapacity = 0,
},
},
},
},
LoadBalancers = new[]
{
"string",
},
OnDemandAllocationStrategy = "string",
SpotMaintenanceStrategies = new Aws.Ec2.Inputs.SpotFleetRequestSpotMaintenanceStrategiesArgs
{
CapacityRebalance = new Aws.Ec2.Inputs.SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs
{
ReplacementStrategy = "string",
},
},
ExcessCapacityTerminationPolicy = "string",
FleetType = "string",
OnDemandMaxTotalPrice = "string",
SpotPrice = "string",
Tags =
{
{ "string", "string" },
},
Context = "string",
TargetCapacityUnitType = "string",
TargetGroupArns = new[]
{
"string",
},
TerminateInstancesOnDelete = "string",
TerminateInstancesWithExpiration = false,
ValidFrom = "string",
ValidUntil = "string",
ReplaceUnhealthyInstances = false,
});
example, err := ec2.NewSpotFleetRequest(ctx, "spotFleetRequestResource", &ec2.SpotFleetRequestArgs{
IamFleetRole: pulumi.String("string"),
TargetCapacity: pulumi.Int(0),
OnDemandTargetCapacity: pulumi.Int(0),
WaitForFulfillment: pulumi.Bool(false),
AllocationStrategy: pulumi.String("string"),
InstanceInterruptionBehaviour: pulumi.String("string"),
InstancePoolsToUseCount: pulumi.Int(0),
LaunchSpecifications: ec2.SpotFleetRequestLaunchSpecificationArray{
&ec2.SpotFleetRequestLaunchSpecificationArgs{
InstanceType: pulumi.String("string"),
Ami: pulumi.String("string"),
Monitoring: pulumi.Bool(false),
PlacementGroup: pulumi.String("string"),
EbsOptimized: pulumi.Bool(false),
EphemeralBlockDevices: ec2.SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArray{
&ec2.SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs{
DeviceName: pulumi.String("string"),
VirtualName: pulumi.String("string"),
},
},
IamInstanceProfile: pulumi.String("string"),
IamInstanceProfileArn: pulumi.String("string"),
AvailabilityZone: pulumi.String("string"),
KeyName: pulumi.String("string"),
AssociatePublicIpAddress: pulumi.Bool(false),
EbsBlockDevices: ec2.SpotFleetRequestLaunchSpecificationEbsBlockDeviceArray{
&ec2.SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs{
DeviceName: pulumi.String("string"),
DeleteOnTermination: pulumi.Bool(false),
Encrypted: pulumi.Bool(false),
Iops: pulumi.Int(0),
KmsKeyId: pulumi.String("string"),
SnapshotId: pulumi.String("string"),
Throughput: pulumi.Int(0),
VolumeSize: pulumi.Int(0),
VolumeType: pulumi.String("string"),
},
},
PlacementTenancy: pulumi.String("string"),
RootBlockDevices: ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArray{
&ec2.SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs{
DeleteOnTermination: pulumi.Bool(false),
Encrypted: pulumi.Bool(false),
Iops: pulumi.Int(0),
KmsKeyId: pulumi.String("string"),
Throughput: pulumi.Int(0),
VolumeSize: pulumi.Int(0),
VolumeType: pulumi.String("string"),
},
},
SpotPrice: pulumi.String("string"),
SubnetId: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
UserData: pulumi.String("string"),
VpcSecurityGroupIds: pulumi.StringArray{
pulumi.String("string"),
},
WeightedCapacity: pulumi.String("string"),
},
},
LaunchTemplateConfigs: ec2.SpotFleetRequestLaunchTemplateConfigArray{
&ec2.SpotFleetRequestLaunchTemplateConfigArgs{
LaunchTemplateSpecification: &ec2.SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs{
Id: pulumi.String("string"),
Name: pulumi.String("string"),
Version: pulumi.String("string"),
},
Overrides: ec2.SpotFleetRequestLaunchTemplateConfigOverrideArray{
&ec2.SpotFleetRequestLaunchTemplateConfigOverrideArgs{
AvailabilityZone: pulumi.String("string"),
InstanceRequirements: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs{
AcceleratorCount: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
AcceleratorManufacturers: pulumi.StringArray{
pulumi.String("string"),
},
AcceleratorNames: pulumi.StringArray{
pulumi.String("string"),
},
AcceleratorTotalMemoryMib: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
AcceleratorTypes: pulumi.StringArray{
pulumi.String("string"),
},
AllowedInstanceTypes: pulumi.StringArray{
pulumi.String("string"),
},
BareMetal: pulumi.String("string"),
BaselineEbsBandwidthMbps: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
BurstablePerformance: pulumi.String("string"),
CpuManufacturers: pulumi.StringArray{
pulumi.String("string"),
},
ExcludedInstanceTypes: pulumi.StringArray{
pulumi.String("string"),
},
InstanceGenerations: pulumi.StringArray{
pulumi.String("string"),
},
LocalStorage: pulumi.String("string"),
LocalStorageTypes: pulumi.StringArray{
pulumi.String("string"),
},
MemoryGibPerVcpu: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs{
Max: pulumi.Float64(0),
Min: pulumi.Float64(0),
},
MemoryMib: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
NetworkBandwidthGbps: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs{
Max: pulumi.Float64(0),
Min: pulumi.Float64(0),
},
NetworkInterfaceCount: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
OnDemandMaxPricePercentageOverLowestPrice: pulumi.Int(0),
RequireHibernateSupport: pulumi.Bool(false),
SpotMaxPricePercentageOverLowestPrice: pulumi.Int(0),
TotalLocalStorageGb: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs{
Max: pulumi.Float64(0),
Min: pulumi.Float64(0),
},
VcpuCount: &ec2.SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs{
Max: pulumi.Int(0),
Min: pulumi.Int(0),
},
},
InstanceType: pulumi.String("string"),
Priority: pulumi.Float64(0),
SpotPrice: pulumi.String("string"),
SubnetId: pulumi.String("string"),
WeightedCapacity: pulumi.Float64(0),
},
},
},
},
LoadBalancers: pulumi.StringArray{
pulumi.String("string"),
},
OnDemandAllocationStrategy: pulumi.String("string"),
SpotMaintenanceStrategies: &ec2.SpotFleetRequestSpotMaintenanceStrategiesArgs{
CapacityRebalance: &ec2.SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs{
ReplacementStrategy: pulumi.String("string"),
},
},
ExcessCapacityTerminationPolicy: pulumi.String("string"),
FleetType: pulumi.String("string"),
OnDemandMaxTotalPrice: pulumi.String("string"),
SpotPrice: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
Context: pulumi.String("string"),
TargetCapacityUnitType: pulumi.String("string"),
TargetGroupArns: pulumi.StringArray{
pulumi.String("string"),
},
TerminateInstancesOnDelete: pulumi.String("string"),
TerminateInstancesWithExpiration: pulumi.Bool(false),
ValidFrom: pulumi.String("string"),
ValidUntil: pulumi.String("string"),
ReplaceUnhealthyInstances: pulumi.Bool(false),
})
var spotFleetRequestResource = new SpotFleetRequest("spotFleetRequestResource", SpotFleetRequestArgs.builder()
.iamFleetRole("string")
.targetCapacity(0)
.onDemandTargetCapacity(0)
.waitForFulfillment(false)
.allocationStrategy("string")
.instanceInterruptionBehaviour("string")
.instancePoolsToUseCount(0)
.launchSpecifications(SpotFleetRequestLaunchSpecificationArgs.builder()
.instanceType("string")
.ami("string")
.monitoring(false)
.placementGroup("string")
.ebsOptimized(false)
.ephemeralBlockDevices(SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs.builder()
.deviceName("string")
.virtualName("string")
.build())
.iamInstanceProfile("string")
.iamInstanceProfileArn("string")
.availabilityZone("string")
.keyName("string")
.associatePublicIpAddress(false)
.ebsBlockDevices(SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs.builder()
.deviceName("string")
.deleteOnTermination(false)
.encrypted(false)
.iops(0)
.kmsKeyId("string")
.snapshotId("string")
.throughput(0)
.volumeSize(0)
.volumeType("string")
.build())
.placementTenancy("string")
.rootBlockDevices(SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs.builder()
.deleteOnTermination(false)
.encrypted(false)
.iops(0)
.kmsKeyId("string")
.throughput(0)
.volumeSize(0)
.volumeType("string")
.build())
.spotPrice("string")
.subnetId("string")
.tags(Map.of("string", "string"))
.userData("string")
.vpcSecurityGroupIds("string")
.weightedCapacity("string")
.build())
.launchTemplateConfigs(SpotFleetRequestLaunchTemplateConfigArgs.builder()
.launchTemplateSpecification(SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs.builder()
.id("string")
.name("string")
.version("string")
.build())
.overrides(SpotFleetRequestLaunchTemplateConfigOverrideArgs.builder()
.availabilityZone("string")
.instanceRequirements(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs.builder()
.acceleratorCount(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs.builder()
.max(0)
.min(0)
.build())
.acceleratorManufacturers("string")
.acceleratorNames("string")
.acceleratorTotalMemoryMib(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs.builder()
.max(0)
.min(0)
.build())
.acceleratorTypes("string")
.allowedInstanceTypes("string")
.bareMetal("string")
.baselineEbsBandwidthMbps(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs.builder()
.max(0)
.min(0)
.build())
.burstablePerformance("string")
.cpuManufacturers("string")
.excludedInstanceTypes("string")
.instanceGenerations("string")
.localStorage("string")
.localStorageTypes("string")
.memoryGibPerVcpu(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs.builder()
.max(0)
.min(0)
.build())
.memoryMib(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs.builder()
.max(0)
.min(0)
.build())
.networkBandwidthGbps(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs.builder()
.max(0)
.min(0)
.build())
.networkInterfaceCount(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs.builder()
.max(0)
.min(0)
.build())
.onDemandMaxPricePercentageOverLowestPrice(0)
.requireHibernateSupport(false)
.spotMaxPricePercentageOverLowestPrice(0)
.totalLocalStorageGb(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs.builder()
.max(0)
.min(0)
.build())
.vcpuCount(SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs.builder()
.max(0)
.min(0)
.build())
.build())
.instanceType("string")
.priority(0)
.spotPrice("string")
.subnetId("string")
.weightedCapacity(0)
.build())
.build())
.loadBalancers("string")
.onDemandAllocationStrategy("string")
.spotMaintenanceStrategies(SpotFleetRequestSpotMaintenanceStrategiesArgs.builder()
.capacityRebalance(SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs.builder()
.replacementStrategy("string")
.build())
.build())
.excessCapacityTerminationPolicy("string")
.fleetType("string")
.onDemandMaxTotalPrice("string")
.spotPrice("string")
.tags(Map.of("string", "string"))
.context("string")
.targetCapacityUnitType("string")
.targetGroupArns("string")
.terminateInstancesOnDelete("string")
.terminateInstancesWithExpiration(false)
.validFrom("string")
.validUntil("string")
.replaceUnhealthyInstances(false)
.build());
spot_fleet_request_resource = aws.ec2.SpotFleetRequest("spotFleetRequestResource",
iam_fleet_role="string",
target_capacity=0,
on_demand_target_capacity=0,
wait_for_fulfillment=False,
allocation_strategy="string",
instance_interruption_behaviour="string",
instance_pools_to_use_count=0,
launch_specifications=[{
"instanceType": "string",
"ami": "string",
"monitoring": False,
"placementGroup": "string",
"ebsOptimized": False,
"ephemeralBlockDevices": [{
"deviceName": "string",
"virtualName": "string",
}],
"iamInstanceProfile": "string",
"iamInstanceProfileArn": "string",
"availabilityZone": "string",
"keyName": "string",
"associatePublicIpAddress": False,
"ebsBlockDevices": [{
"deviceName": "string",
"deleteOnTermination": False,
"encrypted": False,
"iops": 0,
"kmsKeyId": "string",
"snapshotId": "string",
"throughput": 0,
"volumeSize": 0,
"volumeType": "string",
}],
"placementTenancy": "string",
"rootBlockDevices": [{
"deleteOnTermination": False,
"encrypted": False,
"iops": 0,
"kmsKeyId": "string",
"throughput": 0,
"volumeSize": 0,
"volumeType": "string",
}],
"spotPrice": "string",
"subnetId": "string",
"tags": {
"string": "string",
},
"userData": "string",
"vpcSecurityGroupIds": ["string"],
"weightedCapacity": "string",
}],
launch_template_configs=[{
"launchTemplateSpecification": {
"id": "string",
"name": "string",
"version": "string",
},
"overrides": [{
"availabilityZone": "string",
"instanceRequirements": {
"acceleratorCount": {
"max": 0,
"min": 0,
},
"acceleratorManufacturers": ["string"],
"acceleratorNames": ["string"],
"acceleratorTotalMemoryMib": {
"max": 0,
"min": 0,
},
"acceleratorTypes": ["string"],
"allowedInstanceTypes": ["string"],
"bareMetal": "string",
"baselineEbsBandwidthMbps": {
"max": 0,
"min": 0,
},
"burstablePerformance": "string",
"cpuManufacturers": ["string"],
"excludedInstanceTypes": ["string"],
"instanceGenerations": ["string"],
"localStorage": "string",
"localStorageTypes": ["string"],
"memoryGibPerVcpu": {
"max": 0,
"min": 0,
},
"memoryMib": {
"max": 0,
"min": 0,
},
"networkBandwidthGbps": {
"max": 0,
"min": 0,
},
"networkInterfaceCount": {
"max": 0,
"min": 0,
},
"onDemandMaxPricePercentageOverLowestPrice": 0,
"requireHibernateSupport": False,
"spotMaxPricePercentageOverLowestPrice": 0,
"totalLocalStorageGb": {
"max": 0,
"min": 0,
},
"vcpuCount": {
"max": 0,
"min": 0,
},
},
"instanceType": "string",
"priority": 0,
"spotPrice": "string",
"subnetId": "string",
"weightedCapacity": 0,
}],
}],
load_balancers=["string"],
on_demand_allocation_strategy="string",
spot_maintenance_strategies={
"capacityRebalance": {
"replacementStrategy": "string",
},
},
excess_capacity_termination_policy="string",
fleet_type="string",
on_demand_max_total_price="string",
spot_price="string",
tags={
"string": "string",
},
context="string",
target_capacity_unit_type="string",
target_group_arns=["string"],
terminate_instances_on_delete="string",
terminate_instances_with_expiration=False,
valid_from="string",
valid_until="string",
replace_unhealthy_instances=False)
const spotFleetRequestResource = new aws.ec2.SpotFleetRequest("spotFleetRequestResource", {
iamFleetRole: "string",
targetCapacity: 0,
onDemandTargetCapacity: 0,
waitForFulfillment: false,
allocationStrategy: "string",
instanceInterruptionBehaviour: "string",
instancePoolsToUseCount: 0,
launchSpecifications: [{
instanceType: "string",
ami: "string",
monitoring: false,
placementGroup: "string",
ebsOptimized: false,
ephemeralBlockDevices: [{
deviceName: "string",
virtualName: "string",
}],
iamInstanceProfile: "string",
iamInstanceProfileArn: "string",
availabilityZone: "string",
keyName: "string",
associatePublicIpAddress: false,
ebsBlockDevices: [{
deviceName: "string",
deleteOnTermination: false,
encrypted: false,
iops: 0,
kmsKeyId: "string",
snapshotId: "string",
throughput: 0,
volumeSize: 0,
volumeType: "string",
}],
placementTenancy: "string",
rootBlockDevices: [{
deleteOnTermination: false,
encrypted: false,
iops: 0,
kmsKeyId: "string",
throughput: 0,
volumeSize: 0,
volumeType: "string",
}],
spotPrice: "string",
subnetId: "string",
tags: {
string: "string",
},
userData: "string",
vpcSecurityGroupIds: ["string"],
weightedCapacity: "string",
}],
launchTemplateConfigs: [{
launchTemplateSpecification: {
id: "string",
name: "string",
version: "string",
},
overrides: [{
availabilityZone: "string",
instanceRequirements: {
acceleratorCount: {
max: 0,
min: 0,
},
acceleratorManufacturers: ["string"],
acceleratorNames: ["string"],
acceleratorTotalMemoryMib: {
max: 0,
min: 0,
},
acceleratorTypes: ["string"],
allowedInstanceTypes: ["string"],
bareMetal: "string",
baselineEbsBandwidthMbps: {
max: 0,
min: 0,
},
burstablePerformance: "string",
cpuManufacturers: ["string"],
excludedInstanceTypes: ["string"],
instanceGenerations: ["string"],
localStorage: "string",
localStorageTypes: ["string"],
memoryGibPerVcpu: {
max: 0,
min: 0,
},
memoryMib: {
max: 0,
min: 0,
},
networkBandwidthGbps: {
max: 0,
min: 0,
},
networkInterfaceCount: {
max: 0,
min: 0,
},
onDemandMaxPricePercentageOverLowestPrice: 0,
requireHibernateSupport: false,
spotMaxPricePercentageOverLowestPrice: 0,
totalLocalStorageGb: {
max: 0,
min: 0,
},
vcpuCount: {
max: 0,
min: 0,
},
},
instanceType: "string",
priority: 0,
spotPrice: "string",
subnetId: "string",
weightedCapacity: 0,
}],
}],
loadBalancers: ["string"],
onDemandAllocationStrategy: "string",
spotMaintenanceStrategies: {
capacityRebalance: {
replacementStrategy: "string",
},
},
excessCapacityTerminationPolicy: "string",
fleetType: "string",
onDemandMaxTotalPrice: "string",
spotPrice: "string",
tags: {
string: "string",
},
context: "string",
targetCapacityUnitType: "string",
targetGroupArns: ["string"],
terminateInstancesOnDelete: "string",
terminateInstancesWithExpiration: false,
validFrom: "string",
validUntil: "string",
replaceUnhealthyInstances: false,
});
type: aws:ec2:SpotFleetRequest
properties:
allocationStrategy: string
context: string
excessCapacityTerminationPolicy: string
fleetType: string
iamFleetRole: string
instanceInterruptionBehaviour: string
instancePoolsToUseCount: 0
launchSpecifications:
- ami: string
associatePublicIpAddress: false
availabilityZone: string
ebsBlockDevices:
- deleteOnTermination: false
deviceName: string
encrypted: false
iops: 0
kmsKeyId: string
snapshotId: string
throughput: 0
volumeSize: 0
volumeType: string
ebsOptimized: false
ephemeralBlockDevices:
- deviceName: string
virtualName: string
iamInstanceProfile: string
iamInstanceProfileArn: string
instanceType: string
keyName: string
monitoring: false
placementGroup: string
placementTenancy: string
rootBlockDevices:
- deleteOnTermination: false
encrypted: false
iops: 0
kmsKeyId: string
throughput: 0
volumeSize: 0
volumeType: string
spotPrice: string
subnetId: string
tags:
string: string
userData: string
vpcSecurityGroupIds:
- string
weightedCapacity: string
launchTemplateConfigs:
- launchTemplateSpecification:
id: string
name: string
version: string
overrides:
- availabilityZone: string
instanceRequirements:
acceleratorCount:
max: 0
min: 0
acceleratorManufacturers:
- string
acceleratorNames:
- string
acceleratorTotalMemoryMib:
max: 0
min: 0
acceleratorTypes:
- string
allowedInstanceTypes:
- string
bareMetal: string
baselineEbsBandwidthMbps:
max: 0
min: 0
burstablePerformance: string
cpuManufacturers:
- string
excludedInstanceTypes:
- string
instanceGenerations:
- string
localStorage: string
localStorageTypes:
- string
memoryGibPerVcpu:
max: 0
min: 0
memoryMib:
max: 0
min: 0
networkBandwidthGbps:
max: 0
min: 0
networkInterfaceCount:
max: 0
min: 0
onDemandMaxPricePercentageOverLowestPrice: 0
requireHibernateSupport: false
spotMaxPricePercentageOverLowestPrice: 0
totalLocalStorageGb:
max: 0
min: 0
vcpuCount:
max: 0
min: 0
instanceType: string
priority: 0
spotPrice: string
subnetId: string
weightedCapacity: 0
loadBalancers:
- string
onDemandAllocationStrategy: string
onDemandMaxTotalPrice: string
onDemandTargetCapacity: 0
replaceUnhealthyInstances: false
spotMaintenanceStrategies:
capacityRebalance:
replacementStrategy: string
spotPrice: string
tags:
string: string
targetCapacity: 0
targetCapacityUnitType: string
targetGroupArns:
- string
terminateInstancesOnDelete: string
terminateInstancesWithExpiration: false
validFrom: string
validUntil: string
waitForFulfillment: false
SpotFleetRequest Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The SpotFleetRequest resource accepts the following input properties:
- Iam
Fleet stringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- 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 string - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - Context string
- Reserved.
- Excess
Capacity stringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- Fleet
Type 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
. - Instance
Interruption stringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - Instance
Pools intTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - Launch
Specifications List<SpotFleet Request Launch Specification> Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- Launch
Template List<SpotConfigs Fleet Request Launch Template Config> - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - Load
Balancers List<string> - A list of elastic load balancer names to add to the Spot fleet.
- On
Demand stringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - On
Demand stringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- On
Demand intTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - Replace
Unhealthy boolInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - Spot
Maintenance SpotStrategies Fleet Request Spot Maintenance Strategies - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- Spot
Price string - The maximum bid price per unit hour.
- Dictionary<string, string>
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Target
Capacity stringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - Target
Group List<string>Arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - Terminate
Instances stringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - Terminate
Instances boolWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- Valid
From 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.
- Valid
Until 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.
- Wait
For boolFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- Iam
Fleet stringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- 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 string - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - Context string
- Reserved.
- Excess
Capacity stringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- Fleet
Type 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
. - Instance
Interruption stringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - Instance
Pools intTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - Launch
Specifications []SpotFleet Request Launch Specification Args Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- Launch
Template []SpotConfigs Fleet Request Launch Template Config Args - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - Load
Balancers []string - A list of elastic load balancer names to add to the Spot fleet.
- On
Demand stringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - On
Demand stringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- On
Demand intTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - Replace
Unhealthy boolInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - Spot
Maintenance SpotStrategies Fleet Request Spot Maintenance Strategies Args - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- Spot
Price string - The maximum bid price per unit hour.
- map[string]string
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Target
Capacity stringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - Target
Group []stringArns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - Terminate
Instances stringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - Terminate
Instances boolWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- Valid
From 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.
- Valid
Until 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.
- Wait
For boolFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- iam
Fleet StringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- target
Capacity 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.
- allocation
Strategy String - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - context String
- Reserved.
- excess
Capacity StringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet
Type 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
. - instance
Interruption StringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - instance
Pools IntegerTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - launch
Specifications List<SpotFleet Request Launch Specification> Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- launch
Template List<SpotConfigs Fleet Request Launch Template Config> - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - load
Balancers List<String> - A list of elastic load balancer names to add to the Spot fleet.
- on
Demand StringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - on
Demand StringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on
Demand IntegerTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - replace
Unhealthy BooleanInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - spot
Maintenance SpotStrategies Fleet Request Spot Maintenance Strategies - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot
Price String - The maximum bid price per unit hour.
- Map<String,String>
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - target
Capacity StringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - target
Group List<String>Arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - terminate
Instances StringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - terminate
Instances BooleanWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid
From 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.
- valid
Until 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.
- wait
For BooleanFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- iam
Fleet stringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- target
Capacity 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.
- allocation
Strategy string - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - context string
- Reserved.
- excess
Capacity stringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet
Type 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
. - instance
Interruption stringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - instance
Pools numberTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - launch
Specifications SpotFleet Request Launch Specification[] Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- launch
Template SpotConfigs Fleet Request Launch Template Config[] - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - load
Balancers string[] - A list of elastic load balancer names to add to the Spot fleet.
- on
Demand stringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - on
Demand stringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on
Demand numberTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - replace
Unhealthy booleanInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - spot
Maintenance SpotStrategies Fleet Request Spot Maintenance Strategies - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot
Price string - The maximum bid price per unit hour.
- {[key: string]: string}
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - target
Capacity stringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - target
Group string[]Arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - terminate
Instances stringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - terminate
Instances booleanWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid
From 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.
- valid
Until 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.
- wait
For booleanFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- iam_
fleet_ strrole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- target_
capacity int - The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- allocation_
strategy str - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - context str
- Reserved.
- excess_
capacity_ strtermination_ policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet_
type str - The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is
maintain
. - instance_
interruption_ strbehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - instance_
pools_ intto_ use_ count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - launch_
specifications Sequence[SpotFleet Request Launch Specification Args] Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- launch_
template_ Sequence[Spotconfigs Fleet Request Launch Template Config Args] - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - load_
balancers Sequence[str] - A list of elastic load balancer names to add to the Spot fleet.
- on_
demand_ strallocation_ strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - on_
demand_ strmax_ total_ price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on_
demand_ inttarget_ capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - replace_
unhealthy_ boolinstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - spot_
maintenance_ Spotstrategies Fleet Request Spot Maintenance Strategies Args - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot_
price str - The maximum bid price per unit hour.
- Mapping[str, str]
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - target_
capacity_ strunit_ type - The unit for the target capacity. This can only be done with
instance_requirements
defined - target_
group_ Sequence[str]arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - terminate_
instances_ stron_ delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - terminate_
instances_ boolwith_ expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid_
from str - The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- valid_
until str - The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- wait_
for_ boolfulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- iam
Fleet StringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- target
Capacity 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.
- allocation
Strategy String - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - context String
- Reserved.
- excess
Capacity StringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet
Type 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
. - instance
Interruption StringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - instance
Pools NumberTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - launch
Specifications 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 oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- launch
Template List<Property Map>Configs - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - load
Balancers List<String> - A list of elastic load balancer names to add to the Spot fleet.
- on
Demand StringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - on
Demand StringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on
Demand NumberTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - replace
Unhealthy BooleanInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - spot
Maintenance Property MapStrategies - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot
Price String - The maximum bid price per unit hour.
- Map<String>
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - target
Capacity StringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - target
Group List<String>Arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - terminate
Instances StringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - terminate
Instances BooleanWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid
From 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.
- valid
Until 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.
- wait
For BooleanFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
Outputs
All input properties are implicitly available as output properties. Additionally, the SpotFleetRequest resource produces the following output properties:
- Client
Token string - Id string
- The provider-assigned unique ID for this managed resource.
- Spot
Request stringState - The state of the Spot fleet request.
- Dictionary<string, string>
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- Client
Token string - Id string
- The provider-assigned unique ID for this managed resource.
- Spot
Request stringState - The state of the Spot fleet request.
- map[string]string
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- client
Token String - id String
- The provider-assigned unique ID for this managed resource.
- spot
Request StringState - The state of the Spot fleet request.
- Map<String,String>
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- client
Token string - id string
- The provider-assigned unique ID for this managed resource.
- spot
Request stringState - The state of the Spot fleet request.
- {[key: string]: string}
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- client_
token str - id str
- The provider-assigned unique ID for this managed resource.
- spot_
request_ strstate - The state of the Spot fleet request.
- Mapping[str, str]
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
- client
Token String - id String
- The provider-assigned unique ID for this managed resource.
- spot
Request StringState - The state of the Spot fleet request.
- Map<String>
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block.
Look up Existing SpotFleetRequest Resource
Get an existing SpotFleetRequest resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: SpotFleetRequestState, opts?: CustomResourceOptions): SpotFleetRequest
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
allocation_strategy: Optional[str] = None,
client_token: Optional[str] = None,
context: Optional[str] = None,
excess_capacity_termination_policy: Optional[str] = None,
fleet_type: Optional[str] = None,
iam_fleet_role: Optional[str] = None,
instance_interruption_behaviour: Optional[str] = None,
instance_pools_to_use_count: Optional[int] = None,
launch_specifications: Optional[Sequence[SpotFleetRequestLaunchSpecificationArgs]] = None,
launch_template_configs: Optional[Sequence[SpotFleetRequestLaunchTemplateConfigArgs]] = None,
load_balancers: Optional[Sequence[str]] = None,
on_demand_allocation_strategy: Optional[str] = None,
on_demand_max_total_price: Optional[str] = None,
on_demand_target_capacity: Optional[int] = None,
replace_unhealthy_instances: Optional[bool] = None,
spot_maintenance_strategies: Optional[SpotFleetRequestSpotMaintenanceStrategiesArgs] = None,
spot_price: Optional[str] = None,
spot_request_state: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None,
target_capacity: Optional[int] = None,
target_capacity_unit_type: Optional[str] = None,
target_group_arns: Optional[Sequence[str]] = None,
terminate_instances_on_delete: Optional[str] = None,
terminate_instances_with_expiration: Optional[bool] = None,
valid_from: Optional[str] = None,
valid_until: Optional[str] = None,
wait_for_fulfillment: Optional[bool] = None) -> 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.
- Allocation
Strategy string - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - Client
Token string - Context string
- Reserved.
- Excess
Capacity stringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- Fleet
Type 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
. - Iam
Fleet stringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- Instance
Interruption stringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - Instance
Pools intTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - Launch
Specifications List<SpotFleet Request Launch Specification> Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- Launch
Template List<SpotConfigs Fleet Request Launch Template Config> - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - Load
Balancers List<string> - A list of elastic load balancer names to add to the Spot fleet.
- On
Demand stringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - On
Demand stringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- On
Demand intTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - Replace
Unhealthy boolInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - Spot
Maintenance SpotStrategies Fleet Request Spot Maintenance Strategies - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- Spot
Price string - The maximum bid price per unit hour.
- Spot
Request stringState - The state of the Spot fleet request.
- Dictionary<string, string>
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Dictionary<string, string>
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - Target
Capacity int - The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- Target
Capacity stringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - Target
Group List<string>Arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - Terminate
Instances stringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - Terminate
Instances boolWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- Valid
From 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.
- Valid
Until 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.
- Wait
For boolFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- Allocation
Strategy string - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - Client
Token string - Context string
- Reserved.
- Excess
Capacity stringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- Fleet
Type 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
. - Iam
Fleet stringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- Instance
Interruption stringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - Instance
Pools intTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - Launch
Specifications []SpotFleet Request Launch Specification Args Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- Launch
Template []SpotConfigs Fleet Request Launch Template Config Args - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - Load
Balancers []string - A list of elastic load balancer names to add to the Spot fleet.
- On
Demand stringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - On
Demand stringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- On
Demand intTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - Replace
Unhealthy boolInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - Spot
Maintenance SpotStrategies Fleet Request Spot Maintenance Strategies Args - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- Spot
Price string - The maximum bid price per unit hour.
- Spot
Request stringState - The state of the Spot fleet request.
- map[string]string
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - map[string]string
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - Target
Capacity int - The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- Target
Capacity stringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - Target
Group []stringArns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - Terminate
Instances stringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - Terminate
Instances boolWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- Valid
From 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.
- Valid
Until 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.
- Wait
For boolFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- allocation
Strategy String - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - client
Token String - context String
- Reserved.
- excess
Capacity StringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet
Type 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
. - iam
Fleet StringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- instance
Interruption StringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - instance
Pools IntegerTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - launch
Specifications List<SpotFleet Request Launch Specification> Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- launch
Template List<SpotConfigs Fleet Request Launch Template Config> - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - load
Balancers List<String> - A list of elastic load balancer names to add to the Spot fleet.
- on
Demand StringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - on
Demand StringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on
Demand IntegerTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - replace
Unhealthy BooleanInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - spot
Maintenance SpotStrategies Fleet Request Spot Maintenance Strategies - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot
Price String - The maximum bid price per unit hour.
- spot
Request StringState - The state of the Spot fleet request.
- Map<String,String>
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String,String>
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - target
Capacity 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.
- target
Capacity StringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - target
Group List<String>Arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - terminate
Instances StringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - terminate
Instances BooleanWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid
From 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.
- valid
Until 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.
- wait
For BooleanFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- allocation
Strategy string - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - client
Token string - context string
- Reserved.
- excess
Capacity stringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet
Type 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
. - iam
Fleet stringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- instance
Interruption stringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - instance
Pools numberTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - launch
Specifications SpotFleet Request Launch Specification[] Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- launch
Template SpotConfigs Fleet Request Launch Template Config[] - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - load
Balancers string[] - A list of elastic load balancer names to add to the Spot fleet.
- on
Demand stringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - on
Demand stringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on
Demand numberTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - replace
Unhealthy booleanInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - spot
Maintenance SpotStrategies Fleet Request Spot Maintenance Strategies - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot
Price string - The maximum bid price per unit hour.
- spot
Request stringState - The state of the Spot fleet request.
- {[key: string]: string}
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - {[key: string]: string}
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - target
Capacity 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.
- target
Capacity stringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - target
Group string[]Arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - terminate
Instances stringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - terminate
Instances booleanWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid
From 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.
- valid
Until 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.
- wait
For booleanFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- allocation_
strategy str - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - client_
token str - context str
- Reserved.
- excess_
capacity_ strtermination_ policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet_
type str - The type of fleet request. Indicates whether the Spot Fleet only requests the target
capacity or also attempts to maintain it. Default is
maintain
. - iam_
fleet_ strrole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- instance_
interruption_ strbehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - instance_
pools_ intto_ use_ count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - launch_
specifications Sequence[SpotFleet Request Launch Specification Args] Used to define the launch configuration of the spot-fleet request. Can be specified multiple times to define different bids across different markets and instance types. Conflicts with
launch_template_config
. At least one oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- launch_
template_ Sequence[Spotconfigs Fleet Request Launch Template Config Args] - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - load_
balancers Sequence[str] - A list of elastic load balancer names to add to the Spot fleet.
- on_
demand_ strallocation_ strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - on_
demand_ strmax_ total_ price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on_
demand_ inttarget_ capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - replace_
unhealthy_ boolinstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - spot_
maintenance_ Spotstrategies Fleet Request Spot Maintenance Strategies Args - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot_
price str - The maximum bid price per unit hour.
- spot_
request_ strstate - The state of the Spot fleet request.
- Mapping[str, str]
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Mapping[str, str]
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - target_
capacity int - The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O.
- target_
capacity_ strunit_ type - The unit for the target capacity. This can only be done with
instance_requirements
defined - target_
group_ Sequence[str]arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - terminate_
instances_ stron_ delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - terminate_
instances_ boolwith_ expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid_
from str - The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
- valid_
until str - The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request.
- wait_
for_ boolfulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
- allocation
Strategy String - Indicates how to allocate the target capacity across
the Spot pools specified by the Spot fleet request. Valid values:
lowestPrice
,diversified
,capacityOptimized
,capacityOptimizedPrioritized
, andpriceCapacityOptimized
. The default islowestPrice
. - client
Token String - context String
- Reserved.
- excess
Capacity StringTermination Policy - Indicates whether running Spot instances should be terminated if the target capacity of the Spot fleet request is decreased below the current size of the Spot fleet.
- fleet
Type 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
. - iam
Fleet StringRole - Grants the Spot fleet permission to terminate Spot instances on your behalf when you cancel its Spot fleet request using CancelSpotFleetRequests or when the Spot fleet request expires, if you set terminateInstancesWithExpiration.
- instance
Interruption StringBehaviour - Indicates whether a Spot
instance stops or terminates when it is interrupted. Default is
terminate
. - instance
Pools NumberTo Use Count - The number of Spot pools across which to allocate your target Spot capacity.
Valid only when
allocation_strategy
is set tolowestPrice
. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify. - launch
Specifications 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 oflaunch_specification
orlaunch_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 normalaws.ec2.Instance
parameter that corresponds to those inputs may be used and it have a additional parameteriam_instance_profile_arn
takesaws.iam.InstanceProfile
attributearn
as input.- launch
Template List<Property Map>Configs - Launch template configuration block. See Launch Template Configs below for more details. Conflicts with
launch_specification
. At least one oflaunch_specification
orlaunch_template_config
is required. - load
Balancers List<String> - A list of elastic load balancer names to add to the Spot fleet.
- on
Demand StringAllocation Strategy - The order of the launch template overrides to use in fulfilling On-Demand capacity. the possible values are:
lowestPrice
andprioritized
. the default islowestPrice
. - on
Demand StringMax Total Price - The maximum amount per hour for On-Demand Instances that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.
- on
Demand NumberTarget Capacity - The number of On-Demand units to request. If the request type is
maintain
, you can specify a target capacity of 0 and add capacity later. - replace
Unhealthy BooleanInstances - Indicates whether Spot fleet should replace unhealthy instances. Default
false
. - spot
Maintenance Property MapStrategies - Nested argument containing maintenance strategies for managing your Spot Instances that are at an elevated risk of being interrupted. Defined below.
- spot
Price String - The maximum bid price per unit hour.
- spot
Request StringState - The state of the Spot fleet request.
- Map<String>
- A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String>
- A map of tags assigned to the resource, including those inherited from the provider
default_tags
configuration block. - target
Capacity 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.
- target
Capacity StringUnit Type - The unit for the target capacity. This can only be done with
instance_requirements
defined - target
Group List<String>Arns - A list of
aws.alb.TargetGroup
ARNs, for use with Application Load Balancing. - terminate
Instances StringOn Delete - Indicates whether running Spot
instances should be terminated when the resource is deleted (and the Spot fleet request cancelled).
If no value is specified, the value of the
terminate_instances_with_expiration
argument is used. - terminate
Instances BooleanWith Expiration - Indicates whether running Spot instances should be terminated when the Spot fleet request expires.
- valid
From 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.
- valid
Until 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.
- wait
For BooleanFulfillment - If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
Supporting Types
SpotFleetRequestLaunchSpecification, SpotFleetRequestLaunchSpecificationArgs
- Ami string
- Instance
Type string - Associate
Public boolIp Address - Availability
Zone string - Ebs
Block List<SpotDevices Fleet Request Launch Specification Ebs Block Device> - Ebs
Optimized bool - Ephemeral
Block List<SpotDevices Fleet Request Launch Specification Ephemeral Block Device> - Iam
Instance stringProfile - Iam
Instance stringProfile Arn - Key
Name string - Monitoring bool
- Placement
Group string - Placement
Tenancy string - Root
Block List<SpotDevices Fleet Request Launch Specification Root Block Device> - Spot
Price string - The maximum bid price per unit hour.
- Subnet
Id string - 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. - User
Data string - Vpc
Security List<string>Group Ids - Weighted
Capacity string
- Ami string
- Instance
Type string - Associate
Public boolIp Address - Availability
Zone string - Ebs
Block []SpotDevices Fleet Request Launch Specification Ebs Block Device - Ebs
Optimized bool - Ephemeral
Block []SpotDevices Fleet Request Launch Specification Ephemeral Block Device - Iam
Instance stringProfile - Iam
Instance stringProfile Arn - Key
Name string - Monitoring bool
- Placement
Group string - Placement
Tenancy string - Root
Block []SpotDevices Fleet Request Launch Specification Root Block Device - Spot
Price string - The maximum bid price per unit hour.
- Subnet
Id string - 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. - User
Data string - Vpc
Security []stringGroup Ids - Weighted
Capacity string
- ami String
- instance
Type String - associate
Public BooleanIp Address - availability
Zone String - ebs
Block List<SpotDevices Fleet Request Launch Specification Ebs Block Device> - ebs
Optimized Boolean - ephemeral
Block List<SpotDevices Fleet Request Launch Specification Ephemeral Block Device> - iam
Instance StringProfile - iam
Instance StringProfile Arn - key
Name String - monitoring Boolean
- placement
Group String - placement
Tenancy String - root
Block List<SpotDevices Fleet Request Launch Specification Root Block Device> - spot
Price String - The maximum bid price per unit hour.
- subnet
Id String - 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. - user
Data String - vpc
Security List<String>Group Ids - weighted
Capacity String
- ami string
- instance
Type string - associate
Public booleanIp Address - availability
Zone string - ebs
Block SpotDevices Fleet Request Launch Specification Ebs Block Device[] - ebs
Optimized boolean - ephemeral
Block SpotDevices Fleet Request Launch Specification Ephemeral Block Device[] - iam
Instance stringProfile - iam
Instance stringProfile Arn - key
Name string - monitoring boolean
- placement
Group string - placement
Tenancy string - root
Block SpotDevices Fleet Request Launch Specification Root Block Device[] - spot
Price string - The maximum bid price per unit hour.
- subnet
Id string - {[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. - user
Data string - vpc
Security string[]Group Ids - weighted
Capacity string
- ami str
- instance_
type str - associate_
public_ boolip_ address - availability_
zone str - ebs_
block_ Sequence[Spotdevices Fleet Request Launch Specification Ebs Block Device] - ebs_
optimized bool - ephemeral_
block_ Sequence[Spotdevices Fleet Request Launch Specification Ephemeral Block Device] - iam_
instance_ strprofile - iam_
instance_ strprofile_ arn - key_
name str - monitoring bool
- placement_
group str - placement_
tenancy str - root_
block_ Sequence[Spotdevices Fleet Request Launch Specification Root Block Device] - spot_
price str - The maximum bid price per unit hour.
- subnet_
id str - 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_ Sequence[str]group_ ids - weighted_
capacity str
- ami String
- instance
Type String - associate
Public BooleanIp Address - availability
Zone String - ebs
Block List<Property Map>Devices - ebs
Optimized Boolean - ephemeral
Block List<Property Map>Devices - iam
Instance StringProfile - iam
Instance StringProfile Arn - key
Name String - monitoring Boolean
- placement
Group String - placement
Tenancy String - root
Block List<Property Map>Devices - spot
Price String - The maximum bid price per unit hour.
- subnet
Id String - 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. - user
Data String - vpc
Security List<String>Group Ids - weighted
Capacity String
SpotFleetRequestLaunchSpecificationEbsBlockDevice, SpotFleetRequestLaunchSpecificationEbsBlockDeviceArgs
- Device
Name string - Delete
On boolTermination - Encrypted bool
- Iops int
- Kms
Key stringId - Snapshot
Id string - Throughput int
- Volume
Size int - Volume
Type string
- Device
Name string - Delete
On boolTermination - Encrypted bool
- Iops int
- Kms
Key stringId - Snapshot
Id string - Throughput int
- Volume
Size int - Volume
Type string
- device
Name String - delete
On BooleanTermination - encrypted Boolean
- iops Integer
- kms
Key StringId - snapshot
Id String - throughput Integer
- volume
Size Integer - volume
Type String
- device
Name string - delete
On booleanTermination - encrypted boolean
- iops number
- kms
Key stringId - snapshot
Id string - throughput number
- volume
Size number - volume
Type string
- device_
name str - delete_
on_ booltermination - encrypted bool
- iops int
- kms_
key_ strid - snapshot_
id str - throughput int
- volume_
size int - volume_
type str
- device
Name String - delete
On BooleanTermination - encrypted Boolean
- iops Number
- kms
Key StringId - snapshot
Id String - throughput Number
- volume
Size Number - volume
Type String
SpotFleetRequestLaunchSpecificationEphemeralBlockDevice, SpotFleetRequestLaunchSpecificationEphemeralBlockDeviceArgs
- Device
Name string - Virtual
Name string
- Device
Name string - Virtual
Name string
- device
Name String - virtual
Name String
- device
Name string - virtual
Name string
- device_
name str - virtual_
name str
- device
Name String - virtual
Name String
SpotFleetRequestLaunchSpecificationRootBlockDevice, SpotFleetRequestLaunchSpecificationRootBlockDeviceArgs
- Delete
On boolTermination - Encrypted bool
- Iops int
- Kms
Key stringId - Throughput int
- Volume
Size int - Volume
Type string
- Delete
On boolTermination - Encrypted bool
- Iops int
- Kms
Key stringId - Throughput int
- Volume
Size int - Volume
Type string
- delete
On BooleanTermination - encrypted Boolean
- iops Integer
- kms
Key StringId - throughput Integer
- volume
Size Integer - volume
Type String
- delete
On booleanTermination - encrypted boolean
- iops number
- kms
Key stringId - throughput number
- volume
Size number - volume
Type string
- delete_
on_ booltermination - encrypted bool
- iops int
- kms_
key_ strid - throughput int
- volume_
size int - volume_
type str
- delete
On BooleanTermination - encrypted Boolean
- iops Number
- kms
Key StringId - throughput Number
- volume
Size Number - volume
Type String
SpotFleetRequestLaunchTemplateConfig, SpotFleetRequestLaunchTemplateConfigArgs
- Launch
Template SpotSpecification Fleet Request Launch Template Config Launch Template Specification - Launch template specification. See Launch Template Specification below for more details.
- Overrides
List<Spot
Fleet Request Launch Template Config Override> - One or more override configurations. See Overrides below for more details.
- Launch
Template SpotSpecification Fleet Request Launch Template Config Launch Template Specification - Launch template specification. See Launch Template Specification below for more details.
- Overrides
[]Spot
Fleet Request Launch Template Config Override - One or more override configurations. See Overrides below for more details.
- launch
Template SpotSpecification Fleet Request Launch Template Config Launch Template Specification - Launch template specification. See Launch Template Specification below for more details.
- overrides
List<Spot
Fleet Request Launch Template Config Override> - One or more override configurations. See Overrides below for more details.
- launch
Template SpotSpecification Fleet Request Launch Template Config Launch Template Specification - Launch template specification. See Launch Template Specification below for more details.
- overrides
Spot
Fleet Request Launch Template Config Override[] - One or more override configurations. See Overrides below for more details.
- launch_
template_ Spotspecification Fleet Request Launch Template Config Launch Template Specification - Launch template specification. See Launch Template Specification below for more details.
- overrides
Sequence[Spot
Fleet Request Launch Template Config Override] - One or more override configurations. See Overrides below for more details.
- launch
Template Property MapSpecification - Launch template specification. See Launch Template Specification below for more details.
- overrides List<Property Map>
- One or more override configurations. See Overrides below for more details.
SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecification, SpotFleetRequestLaunchTemplateConfigLaunchTemplateSpecificationArgs
- Id string
- The ID of the launch template. Conflicts with
name
. - Name string
- The name of the launch template. Conflicts with
id
. - Version string
Template version. Unlike the autoscaling equivalent, does not support
$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 leastinstance_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 leastinstance_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 leastinstance_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 leastinstance_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 leastinstance_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 leastinstance_initiated_shutdown_behavior
is confirmed unsupported.
SpotFleetRequestLaunchTemplateConfigOverride, SpotFleetRequestLaunchTemplateConfigOverrideArgs
- Availability
Zone string - The availability zone in which to place the request.
- Instance
Requirements SpotFleet Request Launch Template Config Override Instance Requirements - The instance requirements. See below.
- Instance
Type 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.
- Spot
Price string - The maximum spot bid for this override request.
- Subnet
Id string - The subnet in which to launch the requested instance.
- Weighted
Capacity double - The capacity added to the fleet by a fulfilled request.
- Availability
Zone string - The availability zone in which to place the request.
- Instance
Requirements SpotFleet Request Launch Template Config Override Instance Requirements - The instance requirements. See below.
- Instance
Type 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.
- Spot
Price string - The maximum spot bid for this override request.
- Subnet
Id string - The subnet in which to launch the requested instance.
- Weighted
Capacity float64 - The capacity added to the fleet by a fulfilled request.
- availability
Zone String - The availability zone in which to place the request.
- instance
Requirements SpotFleet Request Launch Template Config Override Instance Requirements - The instance requirements. See below.
- instance
Type 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.
- spot
Price String - The maximum spot bid for this override request.
- subnet
Id String - The subnet in which to launch the requested instance.
- weighted
Capacity Double - The capacity added to the fleet by a fulfilled request.
- availability
Zone string - The availability zone in which to place the request.
- instance
Requirements SpotFleet Request Launch Template Config Override Instance Requirements - The instance requirements. See below.
- instance
Type 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.
- spot
Price string - The maximum spot bid for this override request.
- subnet
Id string - The subnet in which to launch the requested instance.
- weighted
Capacity number - The capacity added to the fleet by a fulfilled request.
- availability_
zone str - The availability zone in which to place the request.
- instance_
requirements SpotFleet Request Launch Template Config Override Instance Requirements - The instance requirements. See below.
- instance_
type str - The type of instance to request.
- priority float
- The priority for the launch template override. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.
- spot_
price str - The maximum spot bid for this override request.
- subnet_
id str - The subnet in which to launch the requested instance.
- weighted_
capacity float - The capacity added to the fleet by a fulfilled request.
- availability
Zone String - The availability zone in which to place the request.
- instance
Requirements Property Map - The instance requirements. See below.
- instance
Type 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.
- spot
Price String - The maximum spot bid for this override request.
- subnet
Id String - The subnet in which to launch the requested instance.
- weighted
Capacity Number - The capacity added to the fleet by a fulfilled request.
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirements, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsArgs
- Accelerator
Count SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count - Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- Accelerator
Manufacturers List<string> - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- Accelerator
Names List<string> - List of accelerator names. Default is any acclerator.
Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- Accelerator
Total SpotMemory Mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib - Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- Accelerator
Types List<string> - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- Allowed
Instance List<string>Types List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- Bare
Metal string - Indicate whether bare metal instace types should be
included
,excluded
, orrequired
. Default isexcluded
. - Baseline
Ebs SpotBandwidth Mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps - Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- Burstable
Performance string - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - Cpu
Manufacturers List<string> List of CPU manufacturer names. Default is any manufacturer.
NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Valid names: * amazon-web-services * amd * intel
- Excluded
Instance List<string>Types List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- Instance
Generations List<string> - List of instance generation names. Default is any generation.
Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- Local
Storage string - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - Local
Storage List<string>Types - List of local storage type names. Default any storage type.
Value names: * hdd - hard disk drive * ssd - solid state drive
- Memory
Gib SpotPer Vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu - Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- Memory
Mib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib - Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- Network
Bandwidth SpotGbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps - Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- Network
Interface SpotCount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count - Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- On
Demand intMax Price Percentage Over Lowest Price The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- Require
Hibernate boolSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either
true
orfalse
. Default isfalse
. - Spot
Max intPrice Percentage Over Lowest Price The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- Total
Local SpotStorage Gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb - Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- Vcpu
Count SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count - Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- Accelerator
Count SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count - Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- Accelerator
Manufacturers []string - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- Accelerator
Names []string - List of accelerator names. Default is any acclerator.
Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- Accelerator
Total SpotMemory Mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib - Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- Accelerator
Types []string - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- Allowed
Instance []stringTypes List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- Bare
Metal string - Indicate whether bare metal instace types should be
included
,excluded
, orrequired
. Default isexcluded
. - Baseline
Ebs SpotBandwidth Mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps - Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- Burstable
Performance string - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - Cpu
Manufacturers []string List of CPU manufacturer names. Default is any manufacturer.
NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Valid names: * amazon-web-services * amd * intel
- Excluded
Instance []stringTypes List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- Instance
Generations []string - List of instance generation names. Default is any generation.
Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- Local
Storage string - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - Local
Storage []stringTypes - List of local storage type names. Default any storage type.
Value names: * hdd - hard disk drive * ssd - solid state drive
- Memory
Gib SpotPer Vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu - Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- Memory
Mib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib - Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- Network
Bandwidth SpotGbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps - Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- Network
Interface SpotCount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count - Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- On
Demand intMax Price Percentage Over Lowest Price The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- Require
Hibernate boolSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either
true
orfalse
. Default isfalse
. - Spot
Max intPrice Percentage Over Lowest Price The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- Total
Local SpotStorage Gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb - Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- Vcpu
Count SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count - Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- accelerator
Count SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count - Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- accelerator
Manufacturers List<String> - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- accelerator
Names List<String> - List of accelerator names. Default is any acclerator.
Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- accelerator
Total SpotMemory Mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib - Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- accelerator
Types List<String> - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- allowed
Instance List<String>Types List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- bare
Metal String - Indicate whether bare metal instace types should be
included
,excluded
, orrequired
. Default isexcluded
. - baseline
Ebs SpotBandwidth Mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps - Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstable
Performance String - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - cpu
Manufacturers List<String> List of CPU manufacturer names. Default is any manufacturer.
NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Valid names: * amazon-web-services * amd * intel
- excluded
Instance List<String>Types List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- instance
Generations List<String> - List of instance generation names. Default is any generation.
Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- local
Storage String - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - local
Storage List<String>Types - List of local storage type names. Default any storage type.
Value names: * hdd - hard disk drive * ssd - solid state drive
- memory
Gib SpotPer Vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu - Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memory
Mib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib - Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- network
Bandwidth SpotGbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps - Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- network
Interface SpotCount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count - Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- on
Demand IntegerMax Price Percentage Over Lowest Price The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- require
Hibernate BooleanSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either
true
orfalse
. Default isfalse
. - spot
Max IntegerPrice Percentage Over Lowest Price The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- total
Local SpotStorage Gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb - Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpu
Count SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count - Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- accelerator
Count SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count - Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- accelerator
Manufacturers string[] - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- accelerator
Names string[] - List of accelerator names. Default is any acclerator.
Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- accelerator
Total SpotMemory Mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib - Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- accelerator
Types string[] - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- allowed
Instance string[]Types List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- bare
Metal string - Indicate whether bare metal instace types should be
included
,excluded
, orrequired
. Default isexcluded
. - baseline
Ebs SpotBandwidth Mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps - Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstable
Performance string - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - cpu
Manufacturers string[] List of CPU manufacturer names. Default is any manufacturer.
NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Valid names: * amazon-web-services * amd * intel
- excluded
Instance string[]Types List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- instance
Generations string[] - List of instance generation names. Default is any generation.
Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- local
Storage string - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - local
Storage string[]Types - List of local storage type names. Default any storage type.
Value names: * hdd - hard disk drive * ssd - solid state drive
- memory
Gib SpotPer Vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu - Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memory
Mib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib - Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- network
Bandwidth SpotGbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps - Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- network
Interface SpotCount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count - Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- on
Demand numberMax Price Percentage Over Lowest Price The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- require
Hibernate booleanSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either
true
orfalse
. Default isfalse
. - spot
Max numberPrice Percentage Over Lowest Price The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- total
Local SpotStorage Gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb - Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpu
Count SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count - Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- accelerator_
count SpotFleet Request Launch Template Config Override Instance Requirements Accelerator Count - Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- accelerator_
manufacturers Sequence[str] - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- accelerator_
names Sequence[str] - List of accelerator names. Default is any acclerator.
Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- accelerator_
total_ Spotmemory_ mib Fleet Request Launch Template Config Override Instance Requirements Accelerator Total Memory Mib - Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- accelerator_
types Sequence[str] - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- allowed_
instance_ Sequence[str]types List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- bare_
metal str - Indicate whether bare metal instace types should be
included
,excluded
, orrequired
. Default isexcluded
. - baseline_
ebs_ Spotbandwidth_ mbps Fleet Request Launch Template Config Override Instance Requirements Baseline Ebs Bandwidth Mbps - Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstable_
performance str - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - cpu_
manufacturers Sequence[str] List of CPU manufacturer names. Default is any manufacturer.
NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Valid names: * amazon-web-services * amd * intel
- excluded_
instance_ Sequence[str]types List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- instance_
generations Sequence[str] - List of instance generation names. Default is any generation.
Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- local_
storage str - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - local_
storage_ Sequence[str]types - List of local storage type names. Default any storage type.
Value names: * hdd - hard disk drive * ssd - solid state drive
- memory_
gib_ Spotper_ vcpu Fleet Request Launch Template Config Override Instance Requirements Memory Gib Per Vcpu - Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memory_
mib SpotFleet Request Launch Template Config Override Instance Requirements Memory Mib - Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- network_
bandwidth_ Spotgbps Fleet Request Launch Template Config Override Instance Requirements Network Bandwidth Gbps - Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- network_
interface_ Spotcount Fleet Request Launch Template Config Override Instance Requirements Network Interface Count - Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- on_
demand_ intmax_ price_ percentage_ over_ lowest_ price The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- require_
hibernate_ boolsupport - Indicate whether instance types must support On-Demand Instance Hibernation, either
true
orfalse
. Default isfalse
. - spot_
max_ intprice_ percentage_ over_ lowest_ price The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- total_
local_ Spotstorage_ gb Fleet Request Launch Template Config Override Instance Requirements Total Local Storage Gb - Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpu_
count SpotFleet Request Launch Template Config Override Instance Requirements Vcpu Count - Block describing the minimum and maximum number of vCPUs. Default is no maximum.
- accelerator
Count Property Map - Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
- accelerator
Manufacturers List<String> - List of accelerator manufacturer names. Default is any manufacturer.
Valid names: * amazon-web-services * amd * nvidia * xilinx
- accelerator
Names List<String> - List of accelerator names. Default is any acclerator.
Valid names: * a100 - NVIDIA A100 GPUs * v100 - NVIDIA V100 GPUs * k80 - NVIDIA K80 GPUs * t4 - NVIDIA T4 GPUs * m60 - NVIDIA M60 GPUs * radeon-pro-v520 - AMD Radeon Pro V520 GPUs * vu9p - Xilinx VU9P FPGAs
- accelerator
Total Property MapMemory Mib - Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
- accelerator
Types List<String> - List of accelerator types. Default is any accelerator type.
Valid types: * fpga * gpu * inference
- allowed
Instance List<String>Types List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyexcluded_instance_types
.- bare
Metal String - Indicate whether bare metal instace types should be
included
,excluded
, orrequired
. Default isexcluded
. - baseline
Ebs Property MapBandwidth Mbps - Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
- burstable
Performance String - Indicate whether burstable performance instance types should be
included
,excluded
, orrequired
. Default isexcluded
. - cpu
Manufacturers List<String> List of CPU manufacturer names. Default is any manufacturer.
NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Valid names: * amazon-web-services * amd * intel
- excluded
Instance List<String>Types List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples:
m5.8xlarge
,c5*.*
,m5a.*
,r*
,*3*
. For example, if you specifyc5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specifym5a.*
, 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 specifyallowed_instance_types
.- instance
Generations List<String> - List of instance generation names. Default is any generation.
Valid names: * current - Recommended for best performance. * previous - For existing applications optimized for older instance types.
- local
Storage String - Indicate whether instance types with local storage volumes are
included
,excluded
, orrequired
. Default isincluded
. - local
Storage List<String>Types - List of local storage type names. Default any storage type.
Value names: * hdd - hard disk drive * ssd - solid state drive
- memory
Gib Property MapPer Vcpu - Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
- memory
Mib Property Map - Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
- network
Bandwidth Property MapGbps - Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
- network
Interface Property MapCount - Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
- on
Demand NumberMax Price Percentage Over Lowest Price The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- require
Hibernate BooleanSupport - Indicate whether instance types must support On-Demand Instance Hibernation, either
true
orfalse
. Default isfalse
. - spot
Max NumberPrice Percentage Over Lowest Price The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.
If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
- total
Local Property MapStorage Gb - Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
- vcpu
Count Property Map - Block describing the minimum and maximum number of vCPUs. Default is no maximum.
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCount, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorCountArgs
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMib, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsAcceleratorTotalMemoryMibArgs
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbps, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsBaselineEbsBandwidthMbpsArgs
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpu, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryGibPerVcpuArgs
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMib, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsMemoryMibArgs
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbps, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkBandwidthGbpsArgs
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCount, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsNetworkInterfaceCountArgs
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGb, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsTotalLocalStorageGbArgs
SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCount, SpotFleetRequestLaunchTemplateConfigOverrideInstanceRequirementsVcpuCountArgs
SpotFleetRequestSpotMaintenanceStrategies, SpotFleetRequestSpotMaintenanceStrategiesArgs
- Capacity
Rebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance - Nested argument containing the capacity rebalance for your fleet request. Defined below.
- Capacity
Rebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance - Nested argument containing the capacity rebalance for your fleet request. Defined below.
- capacity
Rebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance - Nested argument containing the capacity rebalance for your fleet request. Defined below.
- capacity
Rebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance - Nested argument containing the capacity rebalance for your fleet request. Defined below.
- capacity_
rebalance SpotFleet Request Spot Maintenance Strategies Capacity Rebalance - Nested argument containing the capacity rebalance for your fleet request. Defined below.
- capacity
Rebalance Property Map - Nested argument containing the capacity rebalance for your fleet request. Defined below.
SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalance, SpotFleetRequestSpotMaintenanceStrategiesCapacityRebalanceArgs
- Replacement
Strategy string - The replacement strategy to use. Only available for spot fleets with
fleet_type
set tomaintain
. Valid values:launch
.
- Replacement
Strategy string - The replacement strategy to use. Only available for spot fleets with
fleet_type
set tomaintain
. Valid values:launch
.
- replacement
Strategy String - The replacement strategy to use. Only available for spot fleets with
fleet_type
set tomaintain
. Valid values:launch
.
- replacement
Strategy string - The replacement strategy to use. Only available for spot fleets with
fleet_type
set tomaintain
. Valid values:launch
.
- replacement_
strategy str - The replacement strategy to use. Only available for spot fleets with
fleet_type
set tomaintain
. Valid values:launch
.
- replacement
Strategy String - The replacement strategy to use. Only available for spot fleets with
fleet_type
set tomaintain
. Valid values:launch
.
Import
Using pulumi import
, import Spot Fleet Requests using id
. For example:
$ pulumi import aws:ec2/spotFleetRequest:SpotFleetRequest fleet sfr-005e9ec8-5546-4c31-b317-31a62325411e
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
aws
Terraform Provider.
Try AWS Native preview for resources not in the classic version.