1. Packages
  2. AWS
  3. API Docs
  4. ec2
  5. SpotInstanceRequest
AWS v6.76.0 published on Tuesday, Apr 8, 2025 by Pulumi

aws.ec2.SpotInstanceRequest

Explore with Pulumi AI

Provides an EC2 Spot Instance Request resource. This allows instances to be requested on the spot market.

By default this provider creates Spot Instance Requests with a persistent type, which means that for the duration of their lifetime, AWS will launch an instance with the configured details if and when the spot market will accept the requested price.

On destruction, this provider will make an attempt to terminate the associated Spot Instance if there is one present.

Spot Instances requests with a one-time type will close the spot request when the instance is terminated either by the request being below the current spot price availability or by a user.

NOTE: Because their behavior depends on the live status of the spot market, Spot Instance Requests have a unique lifecycle that makes them behave differently than other resources. Most importantly: there is no guarantee that a Spot Instance exists to fulfill the request at any given point in time. See the AWS Spot Instance documentation for more information.

**NOTE AWS strongly discourages the use of the legacy APIs called by this resource. We recommend using the EC2 Instance resource with instance_market_options instead.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Request a spot instance at $0.03
const cheapWorker = new aws.ec2.SpotInstanceRequest("cheap_worker", {
    ami: "ami-1234",
    spotPrice: "0.03",
    instanceType: "c4.xlarge",
    tags: {
        Name: "CheapWorker",
    },
});
Copy
import pulumi
import pulumi_aws as aws

# Request a spot instance at $0.03
cheap_worker = aws.ec2.SpotInstanceRequest("cheap_worker",
    ami="ami-1234",
    spot_price="0.03",
    instance_type="c4.xlarge",
    tags={
        "Name": "CheapWorker",
    })
Copy
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 instance at $0.03
		_, err := ec2.NewSpotInstanceRequest(ctx, "cheap_worker", &ec2.SpotInstanceRequestArgs{
			Ami:          pulumi.String("ami-1234"),
			SpotPrice:    pulumi.String("0.03"),
			InstanceType: pulumi.String("c4.xlarge"),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("CheapWorker"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    // Request a spot instance at $0.03
    var cheapWorker = new Aws.Ec2.SpotInstanceRequest("cheap_worker", new()
    {
        Ami = "ami-1234",
        SpotPrice = "0.03",
        InstanceType = "c4.xlarge",
        Tags = 
        {
            { "Name", "CheapWorker" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.SpotInstanceRequest;
import com.pulumi.aws.ec2.SpotInstanceRequestArgs;
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 instance at $0.03
        var cheapWorker = new SpotInstanceRequest("cheapWorker", SpotInstanceRequestArgs.builder()
            .ami("ami-1234")
            .spotPrice("0.03")
            .instanceType("c4.xlarge")
            .tags(Map.of("Name", "CheapWorker"))
            .build());

    }
}
Copy
resources:
  # Request a spot instance at $0.03
  cheapWorker:
    type: aws:ec2:SpotInstanceRequest
    name: cheap_worker
    properties:
      ami: ami-1234
      spotPrice: '0.03'
      instanceType: c4.xlarge
      tags:
        Name: CheapWorker
Copy

Create SpotInstanceRequest Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new SpotInstanceRequest(name: string, args?: SpotInstanceRequestArgs, opts?: CustomResourceOptions);
@overload
def SpotInstanceRequest(resource_name: str,
                        args: Optional[SpotInstanceRequestArgs] = None,
                        opts: Optional[ResourceOptions] = None)

@overload
def SpotInstanceRequest(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        ami: Optional[str] = None,
                        associate_public_ip_address: Optional[bool] = None,
                        availability_zone: Optional[str] = None,
                        block_duration_minutes: Optional[int] = None,
                        capacity_reservation_specification: Optional[SpotInstanceRequestCapacityReservationSpecificationArgs] = None,
                        cpu_core_count: Optional[int] = None,
                        cpu_options: Optional[SpotInstanceRequestCpuOptionsArgs] = None,
                        cpu_threads_per_core: Optional[int] = None,
                        credit_specification: Optional[SpotInstanceRequestCreditSpecificationArgs] = None,
                        disable_api_stop: Optional[bool] = None,
                        disable_api_termination: Optional[bool] = None,
                        ebs_block_devices: Optional[Sequence[SpotInstanceRequestEbsBlockDeviceArgs]] = None,
                        ebs_optimized: Optional[bool] = None,
                        enable_primary_ipv6: Optional[bool] = None,
                        enclave_options: Optional[SpotInstanceRequestEnclaveOptionsArgs] = None,
                        ephemeral_block_devices: Optional[Sequence[SpotInstanceRequestEphemeralBlockDeviceArgs]] = None,
                        get_password_data: Optional[bool] = None,
                        hibernation: Optional[bool] = None,
                        host_id: Optional[str] = None,
                        host_resource_group_arn: Optional[str] = None,
                        iam_instance_profile: Optional[str] = None,
                        instance_initiated_shutdown_behavior: Optional[str] = None,
                        instance_interruption_behavior: Optional[str] = None,
                        instance_type: Optional[str] = None,
                        ipv6_address_count: Optional[int] = None,
                        ipv6_addresses: Optional[Sequence[str]] = None,
                        key_name: Optional[str] = None,
                        launch_group: Optional[str] = None,
                        launch_template: Optional[SpotInstanceRequestLaunchTemplateArgs] = None,
                        maintenance_options: Optional[SpotInstanceRequestMaintenanceOptionsArgs] = None,
                        metadata_options: Optional[SpotInstanceRequestMetadataOptionsArgs] = None,
                        monitoring: Optional[bool] = None,
                        network_interfaces: Optional[Sequence[SpotInstanceRequestNetworkInterfaceArgs]] = None,
                        placement_group: Optional[str] = None,
                        placement_partition_number: Optional[int] = None,
                        private_dns_name_options: Optional[SpotInstanceRequestPrivateDnsNameOptionsArgs] = None,
                        private_ip: Optional[str] = None,
                        root_block_device: Optional[SpotInstanceRequestRootBlockDeviceArgs] = None,
                        secondary_private_ips: Optional[Sequence[str]] = None,
                        security_groups: Optional[Sequence[str]] = None,
                        source_dest_check: Optional[bool] = None,
                        spot_price: Optional[str] = None,
                        spot_type: Optional[str] = None,
                        subnet_id: Optional[str] = None,
                        tags: Optional[Mapping[str, str]] = None,
                        tenancy: Optional[str] = None,
                        user_data: Optional[str] = None,
                        user_data_base64: Optional[str] = None,
                        user_data_replace_on_change: Optional[bool] = None,
                        valid_from: Optional[str] = None,
                        valid_until: Optional[str] = None,
                        volume_tags: Optional[Mapping[str, str]] = None,
                        vpc_security_group_ids: Optional[Sequence[str]] = None,
                        wait_for_fulfillment: Optional[bool] = None)
func NewSpotInstanceRequest(ctx *Context, name string, args *SpotInstanceRequestArgs, opts ...ResourceOption) (*SpotInstanceRequest, error)
public SpotInstanceRequest(string name, SpotInstanceRequestArgs? args = null, CustomResourceOptions? opts = null)
public SpotInstanceRequest(String name, SpotInstanceRequestArgs args)
public SpotInstanceRequest(String name, SpotInstanceRequestArgs args, CustomResourceOptions options)
type: aws:ec2:SpotInstanceRequest
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args SpotInstanceRequestArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args SpotInstanceRequestArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args SpotInstanceRequestArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args SpotInstanceRequestArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. SpotInstanceRequestArgs
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 spotInstanceRequestResource = new Aws.Ec2.SpotInstanceRequest("spotInstanceRequestResource", new()
{
    Ami = "string",
    AssociatePublicIpAddress = false,
    AvailabilityZone = "string",
    BlockDurationMinutes = 0,
    CapacityReservationSpecification = new Aws.Ec2.Inputs.SpotInstanceRequestCapacityReservationSpecificationArgs
    {
        CapacityReservationPreference = "string",
        CapacityReservationTarget = new Aws.Ec2.Inputs.SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs
        {
            CapacityReservationId = "string",
            CapacityReservationResourceGroupArn = "string",
        },
    },
    CpuOptions = new Aws.Ec2.Inputs.SpotInstanceRequestCpuOptionsArgs
    {
        AmdSevSnp = "string",
        CoreCount = 0,
        ThreadsPerCore = 0,
    },
    CreditSpecification = new Aws.Ec2.Inputs.SpotInstanceRequestCreditSpecificationArgs
    {
        CpuCredits = "string",
    },
    DisableApiStop = false,
    DisableApiTermination = false,
    EbsBlockDevices = new[]
    {
        new Aws.Ec2.Inputs.SpotInstanceRequestEbsBlockDeviceArgs
        {
            DeviceName = "string",
            DeleteOnTermination = false,
            Encrypted = false,
            Iops = 0,
            KmsKeyId = "string",
            SnapshotId = "string",
            Tags = 
            {
                { "string", "string" },
            },
            TagsAll = 
            {
                { "string", "string" },
            },
            Throughput = 0,
            VolumeId = "string",
            VolumeSize = 0,
            VolumeType = "string",
        },
    },
    EbsOptimized = false,
    EnablePrimaryIpv6 = false,
    EnclaveOptions = new Aws.Ec2.Inputs.SpotInstanceRequestEnclaveOptionsArgs
    {
        Enabled = false,
    },
    EphemeralBlockDevices = new[]
    {
        new Aws.Ec2.Inputs.SpotInstanceRequestEphemeralBlockDeviceArgs
        {
            DeviceName = "string",
            NoDevice = false,
            VirtualName = "string",
        },
    },
    GetPasswordData = false,
    Hibernation = false,
    HostId = "string",
    HostResourceGroupArn = "string",
    IamInstanceProfile = "string",
    InstanceInitiatedShutdownBehavior = "string",
    InstanceInterruptionBehavior = "string",
    InstanceType = "string",
    Ipv6AddressCount = 0,
    Ipv6Addresses = new[]
    {
        "string",
    },
    KeyName = "string",
    LaunchGroup = "string",
    LaunchTemplate = new Aws.Ec2.Inputs.SpotInstanceRequestLaunchTemplateArgs
    {
        Id = "string",
        Name = "string",
        Version = "string",
    },
    MaintenanceOptions = new Aws.Ec2.Inputs.SpotInstanceRequestMaintenanceOptionsArgs
    {
        AutoRecovery = "string",
    },
    MetadataOptions = new Aws.Ec2.Inputs.SpotInstanceRequestMetadataOptionsArgs
    {
        HttpEndpoint = "string",
        HttpProtocolIpv6 = "string",
        HttpPutResponseHopLimit = 0,
        HttpTokens = "string",
        InstanceMetadataTags = "string",
    },
    Monitoring = false,
    NetworkInterfaces = new[]
    {
        new Aws.Ec2.Inputs.SpotInstanceRequestNetworkInterfaceArgs
        {
            DeviceIndex = 0,
            NetworkInterfaceId = "string",
            DeleteOnTermination = false,
            NetworkCardIndex = 0,
        },
    },
    PlacementGroup = "string",
    PlacementPartitionNumber = 0,
    PrivateDnsNameOptions = new Aws.Ec2.Inputs.SpotInstanceRequestPrivateDnsNameOptionsArgs
    {
        EnableResourceNameDnsARecord = false,
        EnableResourceNameDnsAaaaRecord = false,
        HostnameType = "string",
    },
    PrivateIp = "string",
    RootBlockDevice = new Aws.Ec2.Inputs.SpotInstanceRequestRootBlockDeviceArgs
    {
        DeleteOnTermination = false,
        DeviceName = "string",
        Encrypted = false,
        Iops = 0,
        KmsKeyId = "string",
        Tags = 
        {
            { "string", "string" },
        },
        TagsAll = 
        {
            { "string", "string" },
        },
        Throughput = 0,
        VolumeId = "string",
        VolumeSize = 0,
        VolumeType = "string",
    },
    SecondaryPrivateIps = new[]
    {
        "string",
    },
    SecurityGroups = new[]
    {
        "string",
    },
    SourceDestCheck = false,
    SpotPrice = "string",
    SpotType = "string",
    SubnetId = "string",
    Tags = 
    {
        { "string", "string" },
    },
    Tenancy = "string",
    UserData = "string",
    UserDataBase64 = "string",
    UserDataReplaceOnChange = false,
    ValidFrom = "string",
    ValidUntil = "string",
    VolumeTags = 
    {
        { "string", "string" },
    },
    VpcSecurityGroupIds = new[]
    {
        "string",
    },
    WaitForFulfillment = false,
});
Copy
example, err := ec2.NewSpotInstanceRequest(ctx, "spotInstanceRequestResource", &ec2.SpotInstanceRequestArgs{
	Ami:                      pulumi.String("string"),
	AssociatePublicIpAddress: pulumi.Bool(false),
	AvailabilityZone:         pulumi.String("string"),
	BlockDurationMinutes:     pulumi.Int(0),
	CapacityReservationSpecification: &ec2.SpotInstanceRequestCapacityReservationSpecificationArgs{
		CapacityReservationPreference: pulumi.String("string"),
		CapacityReservationTarget: &ec2.SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs{
			CapacityReservationId:               pulumi.String("string"),
			CapacityReservationResourceGroupArn: pulumi.String("string"),
		},
	},
	CpuOptions: &ec2.SpotInstanceRequestCpuOptionsArgs{
		AmdSevSnp:      pulumi.String("string"),
		CoreCount:      pulumi.Int(0),
		ThreadsPerCore: pulumi.Int(0),
	},
	CreditSpecification: &ec2.SpotInstanceRequestCreditSpecificationArgs{
		CpuCredits: pulumi.String("string"),
	},
	DisableApiStop:        pulumi.Bool(false),
	DisableApiTermination: pulumi.Bool(false),
	EbsBlockDevices: ec2.SpotInstanceRequestEbsBlockDeviceArray{
		&ec2.SpotInstanceRequestEbsBlockDeviceArgs{
			DeviceName:          pulumi.String("string"),
			DeleteOnTermination: pulumi.Bool(false),
			Encrypted:           pulumi.Bool(false),
			Iops:                pulumi.Int(0),
			KmsKeyId:            pulumi.String("string"),
			SnapshotId:          pulumi.String("string"),
			Tags: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			TagsAll: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			Throughput: pulumi.Int(0),
			VolumeId:   pulumi.String("string"),
			VolumeSize: pulumi.Int(0),
			VolumeType: pulumi.String("string"),
		},
	},
	EbsOptimized:      pulumi.Bool(false),
	EnablePrimaryIpv6: pulumi.Bool(false),
	EnclaveOptions: &ec2.SpotInstanceRequestEnclaveOptionsArgs{
		Enabled: pulumi.Bool(false),
	},
	EphemeralBlockDevices: ec2.SpotInstanceRequestEphemeralBlockDeviceArray{
		&ec2.SpotInstanceRequestEphemeralBlockDeviceArgs{
			DeviceName:  pulumi.String("string"),
			NoDevice:    pulumi.Bool(false),
			VirtualName: pulumi.String("string"),
		},
	},
	GetPasswordData:                   pulumi.Bool(false),
	Hibernation:                       pulumi.Bool(false),
	HostId:                            pulumi.String("string"),
	HostResourceGroupArn:              pulumi.String("string"),
	IamInstanceProfile:                pulumi.String("string"),
	InstanceInitiatedShutdownBehavior: pulumi.String("string"),
	InstanceInterruptionBehavior:      pulumi.String("string"),
	InstanceType:                      pulumi.String("string"),
	Ipv6AddressCount:                  pulumi.Int(0),
	Ipv6Addresses: pulumi.StringArray{
		pulumi.String("string"),
	},
	KeyName:     pulumi.String("string"),
	LaunchGroup: pulumi.String("string"),
	LaunchTemplate: &ec2.SpotInstanceRequestLaunchTemplateArgs{
		Id:      pulumi.String("string"),
		Name:    pulumi.String("string"),
		Version: pulumi.String("string"),
	},
	MaintenanceOptions: &ec2.SpotInstanceRequestMaintenanceOptionsArgs{
		AutoRecovery: pulumi.String("string"),
	},
	MetadataOptions: &ec2.SpotInstanceRequestMetadataOptionsArgs{
		HttpEndpoint:            pulumi.String("string"),
		HttpProtocolIpv6:        pulumi.String("string"),
		HttpPutResponseHopLimit: pulumi.Int(0),
		HttpTokens:              pulumi.String("string"),
		InstanceMetadataTags:    pulumi.String("string"),
	},
	Monitoring: pulumi.Bool(false),
	NetworkInterfaces: ec2.SpotInstanceRequestNetworkInterfaceArray{
		&ec2.SpotInstanceRequestNetworkInterfaceArgs{
			DeviceIndex:         pulumi.Int(0),
			NetworkInterfaceId:  pulumi.String("string"),
			DeleteOnTermination: pulumi.Bool(false),
			NetworkCardIndex:    pulumi.Int(0),
		},
	},
	PlacementGroup:           pulumi.String("string"),
	PlacementPartitionNumber: pulumi.Int(0),
	PrivateDnsNameOptions: &ec2.SpotInstanceRequestPrivateDnsNameOptionsArgs{
		EnableResourceNameDnsARecord:    pulumi.Bool(false),
		EnableResourceNameDnsAaaaRecord: pulumi.Bool(false),
		HostnameType:                    pulumi.String("string"),
	},
	PrivateIp: pulumi.String("string"),
	RootBlockDevice: &ec2.SpotInstanceRequestRootBlockDeviceArgs{
		DeleteOnTermination: pulumi.Bool(false),
		DeviceName:          pulumi.String("string"),
		Encrypted:           pulumi.Bool(false),
		Iops:                pulumi.Int(0),
		KmsKeyId:            pulumi.String("string"),
		Tags: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		TagsAll: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		Throughput: pulumi.Int(0),
		VolumeId:   pulumi.String("string"),
		VolumeSize: pulumi.Int(0),
		VolumeType: pulumi.String("string"),
	},
	SecondaryPrivateIps: pulumi.StringArray{
		pulumi.String("string"),
	},
	SecurityGroups: pulumi.StringArray{
		pulumi.String("string"),
	},
	SourceDestCheck: pulumi.Bool(false),
	SpotPrice:       pulumi.String("string"),
	SpotType:        pulumi.String("string"),
	SubnetId:        pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Tenancy:                 pulumi.String("string"),
	UserData:                pulumi.String("string"),
	UserDataBase64:          pulumi.String("string"),
	UserDataReplaceOnChange: pulumi.Bool(false),
	ValidFrom:               pulumi.String("string"),
	ValidUntil:              pulumi.String("string"),
	VolumeTags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	VpcSecurityGroupIds: pulumi.StringArray{
		pulumi.String("string"),
	},
	WaitForFulfillment: pulumi.Bool(false),
})
Copy
var spotInstanceRequestResource = new SpotInstanceRequest("spotInstanceRequestResource", SpotInstanceRequestArgs.builder()
    .ami("string")
    .associatePublicIpAddress(false)
    .availabilityZone("string")
    .blockDurationMinutes(0)
    .capacityReservationSpecification(SpotInstanceRequestCapacityReservationSpecificationArgs.builder()
        .capacityReservationPreference("string")
        .capacityReservationTarget(SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs.builder()
            .capacityReservationId("string")
            .capacityReservationResourceGroupArn("string")
            .build())
        .build())
    .cpuOptions(SpotInstanceRequestCpuOptionsArgs.builder()
        .amdSevSnp("string")
        .coreCount(0)
        .threadsPerCore(0)
        .build())
    .creditSpecification(SpotInstanceRequestCreditSpecificationArgs.builder()
        .cpuCredits("string")
        .build())
    .disableApiStop(false)
    .disableApiTermination(false)
    .ebsBlockDevices(SpotInstanceRequestEbsBlockDeviceArgs.builder()
        .deviceName("string")
        .deleteOnTermination(false)
        .encrypted(false)
        .iops(0)
        .kmsKeyId("string")
        .snapshotId("string")
        .tags(Map.of("string", "string"))
        .tagsAll(Map.of("string", "string"))
        .throughput(0)
        .volumeId("string")
        .volumeSize(0)
        .volumeType("string")
        .build())
    .ebsOptimized(false)
    .enablePrimaryIpv6(false)
    .enclaveOptions(SpotInstanceRequestEnclaveOptionsArgs.builder()
        .enabled(false)
        .build())
    .ephemeralBlockDevices(SpotInstanceRequestEphemeralBlockDeviceArgs.builder()
        .deviceName("string")
        .noDevice(false)
        .virtualName("string")
        .build())
    .getPasswordData(false)
    .hibernation(false)
    .hostId("string")
    .hostResourceGroupArn("string")
    .iamInstanceProfile("string")
    .instanceInitiatedShutdownBehavior("string")
    .instanceInterruptionBehavior("string")
    .instanceType("string")
    .ipv6AddressCount(0)
    .ipv6Addresses("string")
    .keyName("string")
    .launchGroup("string")
    .launchTemplate(SpotInstanceRequestLaunchTemplateArgs.builder()
        .id("string")
        .name("string")
        .version("string")
        .build())
    .maintenanceOptions(SpotInstanceRequestMaintenanceOptionsArgs.builder()
        .autoRecovery("string")
        .build())
    .metadataOptions(SpotInstanceRequestMetadataOptionsArgs.builder()
        .httpEndpoint("string")
        .httpProtocolIpv6("string")
        .httpPutResponseHopLimit(0)
        .httpTokens("string")
        .instanceMetadataTags("string")
        .build())
    .monitoring(false)
    .networkInterfaces(SpotInstanceRequestNetworkInterfaceArgs.builder()
        .deviceIndex(0)
        .networkInterfaceId("string")
        .deleteOnTermination(false)
        .networkCardIndex(0)
        .build())
    .placementGroup("string")
    .placementPartitionNumber(0)
    .privateDnsNameOptions(SpotInstanceRequestPrivateDnsNameOptionsArgs.builder()
        .enableResourceNameDnsARecord(false)
        .enableResourceNameDnsAaaaRecord(false)
        .hostnameType("string")
        .build())
    .privateIp("string")
    .rootBlockDevice(SpotInstanceRequestRootBlockDeviceArgs.builder()
        .deleteOnTermination(false)
        .deviceName("string")
        .encrypted(false)
        .iops(0)
        .kmsKeyId("string")
        .tags(Map.of("string", "string"))
        .tagsAll(Map.of("string", "string"))
        .throughput(0)
        .volumeId("string")
        .volumeSize(0)
        .volumeType("string")
        .build())
    .secondaryPrivateIps("string")
    .securityGroups("string")
    .sourceDestCheck(false)
    .spotPrice("string")
    .spotType("string")
    .subnetId("string")
    .tags(Map.of("string", "string"))
    .tenancy("string")
    .userData("string")
    .userDataBase64("string")
    .userDataReplaceOnChange(false)
    .validFrom("string")
    .validUntil("string")
    .volumeTags(Map.of("string", "string"))
    .vpcSecurityGroupIds("string")
    .waitForFulfillment(false)
    .build());
Copy
spot_instance_request_resource = aws.ec2.SpotInstanceRequest("spotInstanceRequestResource",
    ami="string",
    associate_public_ip_address=False,
    availability_zone="string",
    block_duration_minutes=0,
    capacity_reservation_specification={
        "capacity_reservation_preference": "string",
        "capacity_reservation_target": {
            "capacity_reservation_id": "string",
            "capacity_reservation_resource_group_arn": "string",
        },
    },
    cpu_options={
        "amd_sev_snp": "string",
        "core_count": 0,
        "threads_per_core": 0,
    },
    credit_specification={
        "cpu_credits": "string",
    },
    disable_api_stop=False,
    disable_api_termination=False,
    ebs_block_devices=[{
        "device_name": "string",
        "delete_on_termination": False,
        "encrypted": False,
        "iops": 0,
        "kms_key_id": "string",
        "snapshot_id": "string",
        "tags": {
            "string": "string",
        },
        "tags_all": {
            "string": "string",
        },
        "throughput": 0,
        "volume_id": "string",
        "volume_size": 0,
        "volume_type": "string",
    }],
    ebs_optimized=False,
    enable_primary_ipv6=False,
    enclave_options={
        "enabled": False,
    },
    ephemeral_block_devices=[{
        "device_name": "string",
        "no_device": False,
        "virtual_name": "string",
    }],
    get_password_data=False,
    hibernation=False,
    host_id="string",
    host_resource_group_arn="string",
    iam_instance_profile="string",
    instance_initiated_shutdown_behavior="string",
    instance_interruption_behavior="string",
    instance_type="string",
    ipv6_address_count=0,
    ipv6_addresses=["string"],
    key_name="string",
    launch_group="string",
    launch_template={
        "id": "string",
        "name": "string",
        "version": "string",
    },
    maintenance_options={
        "auto_recovery": "string",
    },
    metadata_options={
        "http_endpoint": "string",
        "http_protocol_ipv6": "string",
        "http_put_response_hop_limit": 0,
        "http_tokens": "string",
        "instance_metadata_tags": "string",
    },
    monitoring=False,
    network_interfaces=[{
        "device_index": 0,
        "network_interface_id": "string",
        "delete_on_termination": False,
        "network_card_index": 0,
    }],
    placement_group="string",
    placement_partition_number=0,
    private_dns_name_options={
        "enable_resource_name_dns_a_record": False,
        "enable_resource_name_dns_aaaa_record": False,
        "hostname_type": "string",
    },
    private_ip="string",
    root_block_device={
        "delete_on_termination": False,
        "device_name": "string",
        "encrypted": False,
        "iops": 0,
        "kms_key_id": "string",
        "tags": {
            "string": "string",
        },
        "tags_all": {
            "string": "string",
        },
        "throughput": 0,
        "volume_id": "string",
        "volume_size": 0,
        "volume_type": "string",
    },
    secondary_private_ips=["string"],
    security_groups=["string"],
    source_dest_check=False,
    spot_price="string",
    spot_type="string",
    subnet_id="string",
    tags={
        "string": "string",
    },
    tenancy="string",
    user_data="string",
    user_data_base64="string",
    user_data_replace_on_change=False,
    valid_from="string",
    valid_until="string",
    volume_tags={
        "string": "string",
    },
    vpc_security_group_ids=["string"],
    wait_for_fulfillment=False)
Copy
const spotInstanceRequestResource = new aws.ec2.SpotInstanceRequest("spotInstanceRequestResource", {
    ami: "string",
    associatePublicIpAddress: false,
    availabilityZone: "string",
    blockDurationMinutes: 0,
    capacityReservationSpecification: {
        capacityReservationPreference: "string",
        capacityReservationTarget: {
            capacityReservationId: "string",
            capacityReservationResourceGroupArn: "string",
        },
    },
    cpuOptions: {
        amdSevSnp: "string",
        coreCount: 0,
        threadsPerCore: 0,
    },
    creditSpecification: {
        cpuCredits: "string",
    },
    disableApiStop: false,
    disableApiTermination: false,
    ebsBlockDevices: [{
        deviceName: "string",
        deleteOnTermination: false,
        encrypted: false,
        iops: 0,
        kmsKeyId: "string",
        snapshotId: "string",
        tags: {
            string: "string",
        },
        tagsAll: {
            string: "string",
        },
        throughput: 0,
        volumeId: "string",
        volumeSize: 0,
        volumeType: "string",
    }],
    ebsOptimized: false,
    enablePrimaryIpv6: false,
    enclaveOptions: {
        enabled: false,
    },
    ephemeralBlockDevices: [{
        deviceName: "string",
        noDevice: false,
        virtualName: "string",
    }],
    getPasswordData: false,
    hibernation: false,
    hostId: "string",
    hostResourceGroupArn: "string",
    iamInstanceProfile: "string",
    instanceInitiatedShutdownBehavior: "string",
    instanceInterruptionBehavior: "string",
    instanceType: "string",
    ipv6AddressCount: 0,
    ipv6Addresses: ["string"],
    keyName: "string",
    launchGroup: "string",
    launchTemplate: {
        id: "string",
        name: "string",
        version: "string",
    },
    maintenanceOptions: {
        autoRecovery: "string",
    },
    metadataOptions: {
        httpEndpoint: "string",
        httpProtocolIpv6: "string",
        httpPutResponseHopLimit: 0,
        httpTokens: "string",
        instanceMetadataTags: "string",
    },
    monitoring: false,
    networkInterfaces: [{
        deviceIndex: 0,
        networkInterfaceId: "string",
        deleteOnTermination: false,
        networkCardIndex: 0,
    }],
    placementGroup: "string",
    placementPartitionNumber: 0,
    privateDnsNameOptions: {
        enableResourceNameDnsARecord: false,
        enableResourceNameDnsAaaaRecord: false,
        hostnameType: "string",
    },
    privateIp: "string",
    rootBlockDevice: {
        deleteOnTermination: false,
        deviceName: "string",
        encrypted: false,
        iops: 0,
        kmsKeyId: "string",
        tags: {
            string: "string",
        },
        tagsAll: {
            string: "string",
        },
        throughput: 0,
        volumeId: "string",
        volumeSize: 0,
        volumeType: "string",
    },
    secondaryPrivateIps: ["string"],
    securityGroups: ["string"],
    sourceDestCheck: false,
    spotPrice: "string",
    spotType: "string",
    subnetId: "string",
    tags: {
        string: "string",
    },
    tenancy: "string",
    userData: "string",
    userDataBase64: "string",
    userDataReplaceOnChange: false,
    validFrom: "string",
    validUntil: "string",
    volumeTags: {
        string: "string",
    },
    vpcSecurityGroupIds: ["string"],
    waitForFulfillment: false,
});
Copy
type: aws:ec2:SpotInstanceRequest
properties:
    ami: string
    associatePublicIpAddress: false
    availabilityZone: string
    blockDurationMinutes: 0
    capacityReservationSpecification:
        capacityReservationPreference: string
        capacityReservationTarget:
            capacityReservationId: string
            capacityReservationResourceGroupArn: string
    cpuOptions:
        amdSevSnp: string
        coreCount: 0
        threadsPerCore: 0
    creditSpecification:
        cpuCredits: string
    disableApiStop: false
    disableApiTermination: false
    ebsBlockDevices:
        - deleteOnTermination: false
          deviceName: string
          encrypted: false
          iops: 0
          kmsKeyId: string
          snapshotId: string
          tags:
            string: string
          tagsAll:
            string: string
          throughput: 0
          volumeId: string
          volumeSize: 0
          volumeType: string
    ebsOptimized: false
    enablePrimaryIpv6: false
    enclaveOptions:
        enabled: false
    ephemeralBlockDevices:
        - deviceName: string
          noDevice: false
          virtualName: string
    getPasswordData: false
    hibernation: false
    hostId: string
    hostResourceGroupArn: string
    iamInstanceProfile: string
    instanceInitiatedShutdownBehavior: string
    instanceInterruptionBehavior: string
    instanceType: string
    ipv6AddressCount: 0
    ipv6Addresses:
        - string
    keyName: string
    launchGroup: string
    launchTemplate:
        id: string
        name: string
        version: string
    maintenanceOptions:
        autoRecovery: string
    metadataOptions:
        httpEndpoint: string
        httpProtocolIpv6: string
        httpPutResponseHopLimit: 0
        httpTokens: string
        instanceMetadataTags: string
    monitoring: false
    networkInterfaces:
        - deleteOnTermination: false
          deviceIndex: 0
          networkCardIndex: 0
          networkInterfaceId: string
    placementGroup: string
    placementPartitionNumber: 0
    privateDnsNameOptions:
        enableResourceNameDnsARecord: false
        enableResourceNameDnsAaaaRecord: false
        hostnameType: string
    privateIp: string
    rootBlockDevice:
        deleteOnTermination: false
        deviceName: string
        encrypted: false
        iops: 0
        kmsKeyId: string
        tags:
            string: string
        tagsAll:
            string: string
        throughput: 0
        volumeId: string
        volumeSize: 0
        volumeType: string
    secondaryPrivateIps:
        - string
    securityGroups:
        - string
    sourceDestCheck: false
    spotPrice: string
    spotType: string
    subnetId: string
    tags:
        string: string
    tenancy: string
    userData: string
    userDataBase64: string
    userDataReplaceOnChange: false
    validFrom: string
    validUntil: string
    volumeTags:
        string: string
    vpcSecurityGroupIds:
        - string
    waitForFulfillment: false
Copy

SpotInstanceRequest Resource Properties

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

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The SpotInstanceRequest resource accepts the following input properties:

Ami Changes to this property will trigger replacement. string
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
AssociatePublicIpAddress Changes to this property will trigger replacement. bool
Whether to associate a public IP address with an instance in a VPC.
AvailabilityZone Changes to this property will trigger replacement. string
AZ to start the instance in.
BlockDurationMinutes Changes to this property will trigger replacement. int
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
CapacityReservationSpecification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecification

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

CpuCoreCount Changes to this property will trigger replacement. int
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

CpuOptions Changes to this property will trigger replacement. SpotInstanceRequestCpuOptions
The CPU options for the instance. See CPU Options below for more details.
CpuThreadsPerCore Changes to this property will trigger replacement. int
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

CreditSpecification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecification
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
DisableApiStop Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Stop Protection.
DisableApiTermination Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Termination Protection.
EbsBlockDevices Changes to this property will trigger replacement. List<SpotInstanceRequestEbsBlockDevice>
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
EbsOptimized Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
EnablePrimaryIpv6 Changes to this property will trigger replacement. bool
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
EnclaveOptions Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptions
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
EphemeralBlockDevices Changes to this property will trigger replacement. List<SpotInstanceRequestEphemeralBlockDevice>
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
GetPasswordData Changes to this property will trigger replacement. bool
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
Hibernation Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will support hibernation.
HostId Changes to this property will trigger replacement. string
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
HostResourceGroupArn Changes to this property will trigger replacement. string
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
IamInstanceProfile Changes to this property will trigger replacement. string
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
InstanceInitiatedShutdownBehavior Changes to this property will trigger replacement. string
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
InstanceInterruptionBehavior Changes to this property will trigger replacement. string
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
InstanceType Changes to this property will trigger replacement. string
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
Ipv6AddressCount Changes to this property will trigger replacement. int
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
Ipv6Addresses Changes to this property will trigger replacement. List<string>
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
KeyName Changes to this property will trigger replacement. string
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
LaunchGroup Changes to this property will trigger replacement. string
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
LaunchTemplate Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplate
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
MaintenanceOptions Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptions
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
MetadataOptions Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptions
Customize the metadata options of the instance. See Metadata Options below for more details.
Monitoring Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
NetworkInterfaces Changes to this property will trigger replacement. List<SpotInstanceRequestNetworkInterface>
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
PlacementGroup Changes to this property will trigger replacement. string
Placement Group to start the instance in.
PlacementPartitionNumber Changes to this property will trigger replacement. int
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
PrivateDnsNameOptions Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptions
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
PrivateIp Changes to this property will trigger replacement. string
Private IP address to associate with the instance in a VPC.
RootBlockDevice Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDevice
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
SecondaryPrivateIps Changes to this property will trigger replacement. List<string>
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
SecurityGroups Changes to this property will trigger replacement. List<string>

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

SourceDestCheck Changes to this property will trigger replacement. bool
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
SpotPrice Changes to this property will trigger replacement. string
The maximum price to request on the spot market.
SpotType string
If set to one-time, after the instance is terminated, the spot request will be closed.
SubnetId Changes to this property will trigger replacement. string
VPC Subnet ID to launch in.
Tags Dictionary<string, string>
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
Tenancy Changes to this property will trigger replacement. string
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
UserData Changes to this property will trigger replacement. string
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
UserDataBase64 Changes to this property will trigger replacement. string
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
UserDataReplaceOnChange Changes to this property will trigger replacement. bool
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
ValidFrom Changes to this property will trigger replacement. string
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
ValidUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
VolumeTags Dictionary<string, string>

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

VpcSecurityGroupIds Changes to this property will trigger replacement. List<string>
List of security group IDs to associate with.
WaitForFulfillment bool
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
Ami Changes to this property will trigger replacement. string
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
AssociatePublicIpAddress Changes to this property will trigger replacement. bool
Whether to associate a public IP address with an instance in a VPC.
AvailabilityZone Changes to this property will trigger replacement. string
AZ to start the instance in.
BlockDurationMinutes Changes to this property will trigger replacement. int
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
CapacityReservationSpecification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecificationArgs

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

CpuCoreCount Changes to this property will trigger replacement. int
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

CpuOptions Changes to this property will trigger replacement. SpotInstanceRequestCpuOptionsArgs
The CPU options for the instance. See CPU Options below for more details.
CpuThreadsPerCore Changes to this property will trigger replacement. int
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

CreditSpecification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecificationArgs
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
DisableApiStop Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Stop Protection.
DisableApiTermination Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Termination Protection.
EbsBlockDevices Changes to this property will trigger replacement. []SpotInstanceRequestEbsBlockDeviceArgs
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
EbsOptimized Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
EnablePrimaryIpv6 Changes to this property will trigger replacement. bool
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
EnclaveOptions Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptionsArgs
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
EphemeralBlockDevices Changes to this property will trigger replacement. []SpotInstanceRequestEphemeralBlockDeviceArgs
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
GetPasswordData Changes to this property will trigger replacement. bool
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
Hibernation Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will support hibernation.
HostId Changes to this property will trigger replacement. string
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
HostResourceGroupArn Changes to this property will trigger replacement. string
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
IamInstanceProfile Changes to this property will trigger replacement. string
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
InstanceInitiatedShutdownBehavior Changes to this property will trigger replacement. string
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
InstanceInterruptionBehavior Changes to this property will trigger replacement. string
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
InstanceType Changes to this property will trigger replacement. string
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
Ipv6AddressCount Changes to this property will trigger replacement. int
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
Ipv6Addresses Changes to this property will trigger replacement. []string
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
KeyName Changes to this property will trigger replacement. string
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
LaunchGroup Changes to this property will trigger replacement. string
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
LaunchTemplate Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplateArgs
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
MaintenanceOptions Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptionsArgs
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
MetadataOptions Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptionsArgs
Customize the metadata options of the instance. See Metadata Options below for more details.
Monitoring Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
NetworkInterfaces Changes to this property will trigger replacement. []SpotInstanceRequestNetworkInterfaceArgs
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
PlacementGroup Changes to this property will trigger replacement. string
Placement Group to start the instance in.
PlacementPartitionNumber Changes to this property will trigger replacement. int
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
PrivateDnsNameOptions Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptionsArgs
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
PrivateIp Changes to this property will trigger replacement. string
Private IP address to associate with the instance in a VPC.
RootBlockDevice Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDeviceArgs
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
SecondaryPrivateIps Changes to this property will trigger replacement. []string
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
SecurityGroups Changes to this property will trigger replacement. []string

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

SourceDestCheck Changes to this property will trigger replacement. bool
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
SpotPrice Changes to this property will trigger replacement. string
The maximum price to request on the spot market.
SpotType string
If set to one-time, after the instance is terminated, the spot request will be closed.
SubnetId Changes to this property will trigger replacement. string
VPC Subnet ID to launch in.
Tags map[string]string
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
Tenancy Changes to this property will trigger replacement. string
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
UserData Changes to this property will trigger replacement. string
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
UserDataBase64 Changes to this property will trigger replacement. string
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
UserDataReplaceOnChange Changes to this property will trigger replacement. bool
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
ValidFrom Changes to this property will trigger replacement. string
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
ValidUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
VolumeTags map[string]string

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

VpcSecurityGroupIds Changes to this property will trigger replacement. []string
List of security group IDs to associate with.
WaitForFulfillment bool
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
ami Changes to this property will trigger replacement. String
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
associatePublicIpAddress Changes to this property will trigger replacement. Boolean
Whether to associate a public IP address with an instance in a VPC.
availabilityZone Changes to this property will trigger replacement. String
AZ to start the instance in.
blockDurationMinutes Changes to this property will trigger replacement. Integer
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
capacityReservationSpecification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecification

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

cpuCoreCount Changes to this property will trigger replacement. Integer
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

cpuOptions Changes to this property will trigger replacement. SpotInstanceRequestCpuOptions
The CPU options for the instance. See CPU Options below for more details.
cpuThreadsPerCore Changes to this property will trigger replacement. Integer
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

creditSpecification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecification
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
disableApiStop Changes to this property will trigger replacement. Boolean
If true, enables EC2 Instance Stop Protection.
disableApiTermination Changes to this property will trigger replacement. Boolean
If true, enables EC2 Instance Termination Protection.
ebsBlockDevices Changes to this property will trigger replacement. List<SpotInstanceRequestEbsBlockDevice>
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
ebsOptimized Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
enablePrimaryIpv6 Changes to this property will trigger replacement. Boolean
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
enclaveOptions Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptions
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
ephemeralBlockDevices Changes to this property will trigger replacement. List<SpotInstanceRequestEphemeralBlockDevice>
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
getPasswordData Changes to this property will trigger replacement. Boolean
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
hibernation Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will support hibernation.
hostId Changes to this property will trigger replacement. String
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
hostResourceGroupArn Changes to this property will trigger replacement. String
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
iamInstanceProfile Changes to this property will trigger replacement. String
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
instanceInitiatedShutdownBehavior Changes to this property will trigger replacement. String
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
instanceInterruptionBehavior Changes to this property will trigger replacement. String
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
instanceType Changes to this property will trigger replacement. String
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
ipv6AddressCount Changes to this property will trigger replacement. Integer
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
ipv6Addresses Changes to this property will trigger replacement. List<String>
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
keyName Changes to this property will trigger replacement. String
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
launchGroup Changes to this property will trigger replacement. String
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
launchTemplate Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplate
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
maintenanceOptions Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptions
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
metadataOptions Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptions
Customize the metadata options of the instance. See Metadata Options below for more details.
monitoring Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
networkInterfaces Changes to this property will trigger replacement. List<SpotInstanceRequestNetworkInterface>
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
placementGroup Changes to this property will trigger replacement. String
Placement Group to start the instance in.
placementPartitionNumber Changes to this property will trigger replacement. Integer
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
privateDnsNameOptions Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptions
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
privateIp Changes to this property will trigger replacement. String
Private IP address to associate with the instance in a VPC.
rootBlockDevice Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDevice
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
secondaryPrivateIps Changes to this property will trigger replacement. List<String>
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
securityGroups Changes to this property will trigger replacement. List<String>

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

sourceDestCheck Changes to this property will trigger replacement. Boolean
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
spotPrice Changes to this property will trigger replacement. String
The maximum price to request on the spot market.
spotType String
If set to one-time, after the instance is terminated, the spot request will be closed.
subnetId Changes to this property will trigger replacement. String
VPC Subnet ID to launch in.
tags Map<String,String>
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tenancy Changes to this property will trigger replacement. String
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
userData Changes to this property will trigger replacement. String
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataBase64 Changes to this property will trigger replacement. String
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataReplaceOnChange Changes to this property will trigger replacement. Boolean
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
validFrom Changes to this property will trigger replacement. String
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
validUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
volumeTags Map<String,String>

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

vpcSecurityGroupIds Changes to this property will trigger replacement. List<String>
List of security group IDs to associate with.
waitForFulfillment Boolean
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
ami Changes to this property will trigger replacement. string
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
associatePublicIpAddress Changes to this property will trigger replacement. boolean
Whether to associate a public IP address with an instance in a VPC.
availabilityZone Changes to this property will trigger replacement. string
AZ to start the instance in.
blockDurationMinutes Changes to this property will trigger replacement. number
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
capacityReservationSpecification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecification

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

cpuCoreCount Changes to this property will trigger replacement. number
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

cpuOptions Changes to this property will trigger replacement. SpotInstanceRequestCpuOptions
The CPU options for the instance. See CPU Options below for more details.
cpuThreadsPerCore Changes to this property will trigger replacement. number
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

creditSpecification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecification
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
disableApiStop Changes to this property will trigger replacement. boolean
If true, enables EC2 Instance Stop Protection.
disableApiTermination Changes to this property will trigger replacement. boolean
If true, enables EC2 Instance Termination Protection.
ebsBlockDevices Changes to this property will trigger replacement. SpotInstanceRequestEbsBlockDevice[]
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
ebsOptimized Changes to this property will trigger replacement. boolean
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
enablePrimaryIpv6 Changes to this property will trigger replacement. boolean
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
enclaveOptions Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptions
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
ephemeralBlockDevices Changes to this property will trigger replacement. SpotInstanceRequestEphemeralBlockDevice[]
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
getPasswordData Changes to this property will trigger replacement. boolean
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
hibernation Changes to this property will trigger replacement. boolean
If true, the launched EC2 instance will support hibernation.
hostId Changes to this property will trigger replacement. string
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
hostResourceGroupArn Changes to this property will trigger replacement. string
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
iamInstanceProfile Changes to this property will trigger replacement. string
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
instanceInitiatedShutdownBehavior Changes to this property will trigger replacement. string
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
instanceInterruptionBehavior Changes to this property will trigger replacement. string
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
instanceType Changes to this property will trigger replacement. string
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
ipv6AddressCount Changes to this property will trigger replacement. number
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
ipv6Addresses Changes to this property will trigger replacement. string[]
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
keyName Changes to this property will trigger replacement. string
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
launchGroup Changes to this property will trigger replacement. string
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
launchTemplate Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplate
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
maintenanceOptions Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptions
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
metadataOptions Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptions
Customize the metadata options of the instance. See Metadata Options below for more details.
monitoring Changes to this property will trigger replacement. boolean
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
networkInterfaces Changes to this property will trigger replacement. SpotInstanceRequestNetworkInterface[]
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
placementGroup Changes to this property will trigger replacement. string
Placement Group to start the instance in.
placementPartitionNumber Changes to this property will trigger replacement. number
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
privateDnsNameOptions Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptions
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
privateIp Changes to this property will trigger replacement. string
Private IP address to associate with the instance in a VPC.
rootBlockDevice Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDevice
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
secondaryPrivateIps Changes to this property will trigger replacement. string[]
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
securityGroups Changes to this property will trigger replacement. string[]

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

sourceDestCheck Changes to this property will trigger replacement. boolean
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
spotPrice Changes to this property will trigger replacement. string
The maximum price to request on the spot market.
spotType string
If set to one-time, after the instance is terminated, the spot request will be closed.
subnetId Changes to this property will trigger replacement. string
VPC Subnet ID to launch in.
tags {[key: string]: string}
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tenancy Changes to this property will trigger replacement. string
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
userData Changes to this property will trigger replacement. string
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataBase64 Changes to this property will trigger replacement. string
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataReplaceOnChange Changes to this property will trigger replacement. boolean
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
validFrom Changes to this property will trigger replacement. string
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
validUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
volumeTags {[key: string]: string}

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

vpcSecurityGroupIds Changes to this property will trigger replacement. string[]
List of security group IDs to associate with.
waitForFulfillment boolean
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
ami Changes to this property will trigger replacement. str
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
associate_public_ip_address Changes to this property will trigger replacement. bool
Whether to associate a public IP address with an instance in a VPC.
availability_zone Changes to this property will trigger replacement. str
AZ to start the instance in.
block_duration_minutes Changes to this property will trigger replacement. int
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
capacity_reservation_specification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecificationArgs

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

cpu_core_count Changes to this property will trigger replacement. int
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

cpu_options Changes to this property will trigger replacement. SpotInstanceRequestCpuOptionsArgs
The CPU options for the instance. See CPU Options below for more details.
cpu_threads_per_core Changes to this property will trigger replacement. int
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

credit_specification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecificationArgs
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
disable_api_stop Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Stop Protection.
disable_api_termination Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Termination Protection.
ebs_block_devices Changes to this property will trigger replacement. Sequence[SpotInstanceRequestEbsBlockDeviceArgs]
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
ebs_optimized Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
enable_primary_ipv6 Changes to this property will trigger replacement. bool
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
enclave_options Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptionsArgs
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
ephemeral_block_devices Changes to this property will trigger replacement. Sequence[SpotInstanceRequestEphemeralBlockDeviceArgs]
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
get_password_data Changes to this property will trigger replacement. bool
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
hibernation Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will support hibernation.
host_id Changes to this property will trigger replacement. str
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
host_resource_group_arn Changes to this property will trigger replacement. str
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
iam_instance_profile Changes to this property will trigger replacement. str
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
instance_initiated_shutdown_behavior Changes to this property will trigger replacement. str
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
instance_interruption_behavior Changes to this property will trigger replacement. str
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
instance_type Changes to this property will trigger replacement. str
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
ipv6_address_count Changes to this property will trigger replacement. int
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
ipv6_addresses Changes to this property will trigger replacement. Sequence[str]
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
key_name Changes to this property will trigger replacement. str
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
launch_group Changes to this property will trigger replacement. str
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
launch_template Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplateArgs
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
maintenance_options Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptionsArgs
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
metadata_options Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptionsArgs
Customize the metadata options of the instance. See Metadata Options below for more details.
monitoring Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
network_interfaces Changes to this property will trigger replacement. Sequence[SpotInstanceRequestNetworkInterfaceArgs]
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
placement_group Changes to this property will trigger replacement. str
Placement Group to start the instance in.
placement_partition_number Changes to this property will trigger replacement. int
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
private_dns_name_options Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptionsArgs
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
private_ip Changes to this property will trigger replacement. str
Private IP address to associate with the instance in a VPC.
root_block_device Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDeviceArgs
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
secondary_private_ips Changes to this property will trigger replacement. Sequence[str]
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
security_groups Changes to this property will trigger replacement. Sequence[str]

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

source_dest_check Changes to this property will trigger replacement. bool
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
spot_price Changes to this property will trigger replacement. str
The maximum price to request on the spot market.
spot_type str
If set to one-time, after the instance is terminated, the spot request will be closed.
subnet_id Changes to this property will trigger replacement. str
VPC Subnet ID to launch in.
tags Mapping[str, str]
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tenancy Changes to this property will trigger replacement. str
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
user_data Changes to this property will trigger replacement. str
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
user_data_base64 Changes to this property will trigger replacement. str
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
user_data_replace_on_change Changes to this property will trigger replacement. bool
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
valid_from Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
volume_tags Mapping[str, str]

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

vpc_security_group_ids Changes to this property will trigger replacement. Sequence[str]
List of security group IDs to associate with.
wait_for_fulfillment bool
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
ami Changes to this property will trigger replacement. String
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
associatePublicIpAddress Changes to this property will trigger replacement. Boolean
Whether to associate a public IP address with an instance in a VPC.
availabilityZone Changes to this property will trigger replacement. String
AZ to start the instance in.
blockDurationMinutes Changes to this property will trigger replacement. Number
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
capacityReservationSpecification Changes to this property will trigger replacement. Property Map

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

cpuCoreCount Changes to this property will trigger replacement. Number
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

cpuOptions Changes to this property will trigger replacement. Property Map
The CPU options for the instance. See CPU Options below for more details.
cpuThreadsPerCore Changes to this property will trigger replacement. Number
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

creditSpecification Changes to this property will trigger replacement. Property Map
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
disableApiStop Changes to this property will trigger replacement. Boolean
If true, enables EC2 Instance Stop Protection.
disableApiTermination Changes to this property will trigger replacement. Boolean
If true, enables EC2 Instance Termination Protection.
ebsBlockDevices Changes to this property will trigger replacement. List<Property Map>
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
ebsOptimized Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
enablePrimaryIpv6 Changes to this property will trigger replacement. Boolean
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
enclaveOptions Changes to this property will trigger replacement. Property Map
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
ephemeralBlockDevices Changes to this property will trigger replacement. List<Property Map>
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
getPasswordData Changes to this property will trigger replacement. Boolean
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
hibernation Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will support hibernation.
hostId Changes to this property will trigger replacement. String
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
hostResourceGroupArn Changes to this property will trigger replacement. String
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
iamInstanceProfile Changes to this property will trigger replacement. String
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
instanceInitiatedShutdownBehavior Changes to this property will trigger replacement. String
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
instanceInterruptionBehavior Changes to this property will trigger replacement. String
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
instanceType Changes to this property will trigger replacement. String
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
ipv6AddressCount Changes to this property will trigger replacement. Number
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
ipv6Addresses Changes to this property will trigger replacement. List<String>
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
keyName Changes to this property will trigger replacement. String
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
launchGroup Changes to this property will trigger replacement. String
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
launchTemplate Changes to this property will trigger replacement. Property Map
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
maintenanceOptions Changes to this property will trigger replacement. Property Map
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
metadataOptions Changes to this property will trigger replacement. Property Map
Customize the metadata options of the instance. See Metadata Options below for more details.
monitoring Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
networkInterfaces Changes to this property will trigger replacement. List<Property Map>
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
placementGroup Changes to this property will trigger replacement. String
Placement Group to start the instance in.
placementPartitionNumber Changes to this property will trigger replacement. Number
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
privateDnsNameOptions Changes to this property will trigger replacement. Property Map
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
privateIp Changes to this property will trigger replacement. String
Private IP address to associate with the instance in a VPC.
rootBlockDevice Changes to this property will trigger replacement. Property Map
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
secondaryPrivateIps Changes to this property will trigger replacement. List<String>
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
securityGroups Changes to this property will trigger replacement. List<String>

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

sourceDestCheck Changes to this property will trigger replacement. Boolean
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
spotPrice Changes to this property will trigger replacement. String
The maximum price to request on the spot market.
spotType String
If set to one-time, after the instance is terminated, the spot request will be closed.
subnetId Changes to this property will trigger replacement. String
VPC Subnet ID to launch in.
tags Map<String>
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tenancy Changes to this property will trigger replacement. String
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
userData Changes to this property will trigger replacement. String
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataBase64 Changes to this property will trigger replacement. String
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataReplaceOnChange Changes to this property will trigger replacement. Boolean
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
validFrom Changes to this property will trigger replacement. String
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
validUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
volumeTags Map<String>

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

vpcSecurityGroupIds Changes to this property will trigger replacement. List<String>
List of security group IDs to associate with.
waitForFulfillment Boolean
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

Outputs

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

Arn string
Id string
The provider-assigned unique ID for this managed resource.
InstanceState string
OutpostArn string
PasswordData string
PrimaryNetworkInterfaceId string
PrivateDns string
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
PublicDns string
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
PublicIp string
The public IP address assigned to the instance, if applicable.
SpotBidStatus string
The current bid status of the Spot Instance Request.
SpotInstanceId string
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
SpotRequestState string
The current request state of the Spot Instance Request.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Arn string
Id string
The provider-assigned unique ID for this managed resource.
InstanceState string
OutpostArn string
PasswordData string
PrimaryNetworkInterfaceId string
PrivateDns string
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
PublicDns string
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
PublicIp string
The public IP address assigned to the instance, if applicable.
SpotBidStatus string
The current bid status of the Spot Instance Request.
SpotInstanceId string
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
SpotRequestState string
The current request state of the Spot Instance Request.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn String
id String
The provider-assigned unique ID for this managed resource.
instanceState String
outpostArn String
passwordData String
primaryNetworkInterfaceId String
privateDns String
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
publicDns String
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
publicIp String
The public IP address assigned to the instance, if applicable.
spotBidStatus String
The current bid status of the Spot Instance Request.
spotInstanceId String
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
spotRequestState String
The current request state of the Spot Instance Request.
tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn string
id string
The provider-assigned unique ID for this managed resource.
instanceState string
outpostArn string
passwordData string
primaryNetworkInterfaceId string
privateDns string
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
publicDns string
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
publicIp string
The public IP address assigned to the instance, if applicable.
spotBidStatus string
The current bid status of the Spot Instance Request.
spotInstanceId string
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
spotRequestState string
The current request state of the Spot Instance Request.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn str
id str
The provider-assigned unique ID for this managed resource.
instance_state str
outpost_arn str
password_data str
primary_network_interface_id str
private_dns str
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
public_dns str
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
public_ip str
The public IP address assigned to the instance, if applicable.
spot_bid_status str
The current bid status of the Spot Instance Request.
spot_instance_id str
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
spot_request_state str
The current request state of the Spot Instance Request.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

arn String
id String
The provider-assigned unique ID for this managed resource.
instanceState String
outpostArn String
passwordData String
primaryNetworkInterfaceId String
privateDns String
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
publicDns String
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
publicIp String
The public IP address assigned to the instance, if applicable.
spotBidStatus String
The current bid status of the Spot Instance Request.
spotInstanceId String
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
spotRequestState String
The current request state of the Spot Instance Request.
tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Look up Existing SpotInstanceRequest Resource

Get an existing SpotInstanceRequest 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?: SpotInstanceRequestState, opts?: CustomResourceOptions): SpotInstanceRequest
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        ami: Optional[str] = None,
        arn: Optional[str] = None,
        associate_public_ip_address: Optional[bool] = None,
        availability_zone: Optional[str] = None,
        block_duration_minutes: Optional[int] = None,
        capacity_reservation_specification: Optional[SpotInstanceRequestCapacityReservationSpecificationArgs] = None,
        cpu_core_count: Optional[int] = None,
        cpu_options: Optional[SpotInstanceRequestCpuOptionsArgs] = None,
        cpu_threads_per_core: Optional[int] = None,
        credit_specification: Optional[SpotInstanceRequestCreditSpecificationArgs] = None,
        disable_api_stop: Optional[bool] = None,
        disable_api_termination: Optional[bool] = None,
        ebs_block_devices: Optional[Sequence[SpotInstanceRequestEbsBlockDeviceArgs]] = None,
        ebs_optimized: Optional[bool] = None,
        enable_primary_ipv6: Optional[bool] = None,
        enclave_options: Optional[SpotInstanceRequestEnclaveOptionsArgs] = None,
        ephemeral_block_devices: Optional[Sequence[SpotInstanceRequestEphemeralBlockDeviceArgs]] = None,
        get_password_data: Optional[bool] = None,
        hibernation: Optional[bool] = None,
        host_id: Optional[str] = None,
        host_resource_group_arn: Optional[str] = None,
        iam_instance_profile: Optional[str] = None,
        instance_initiated_shutdown_behavior: Optional[str] = None,
        instance_interruption_behavior: Optional[str] = None,
        instance_state: Optional[str] = None,
        instance_type: Optional[str] = None,
        ipv6_address_count: Optional[int] = None,
        ipv6_addresses: Optional[Sequence[str]] = None,
        key_name: Optional[str] = None,
        launch_group: Optional[str] = None,
        launch_template: Optional[SpotInstanceRequestLaunchTemplateArgs] = None,
        maintenance_options: Optional[SpotInstanceRequestMaintenanceOptionsArgs] = None,
        metadata_options: Optional[SpotInstanceRequestMetadataOptionsArgs] = None,
        monitoring: Optional[bool] = None,
        network_interfaces: Optional[Sequence[SpotInstanceRequestNetworkInterfaceArgs]] = None,
        outpost_arn: Optional[str] = None,
        password_data: Optional[str] = None,
        placement_group: Optional[str] = None,
        placement_partition_number: Optional[int] = None,
        primary_network_interface_id: Optional[str] = None,
        private_dns: Optional[str] = None,
        private_dns_name_options: Optional[SpotInstanceRequestPrivateDnsNameOptionsArgs] = None,
        private_ip: Optional[str] = None,
        public_dns: Optional[str] = None,
        public_ip: Optional[str] = None,
        root_block_device: Optional[SpotInstanceRequestRootBlockDeviceArgs] = None,
        secondary_private_ips: Optional[Sequence[str]] = None,
        security_groups: Optional[Sequence[str]] = None,
        source_dest_check: Optional[bool] = None,
        spot_bid_status: Optional[str] = None,
        spot_instance_id: Optional[str] = None,
        spot_price: Optional[str] = None,
        spot_request_state: Optional[str] = None,
        spot_type: Optional[str] = None,
        subnet_id: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        tenancy: Optional[str] = None,
        user_data: Optional[str] = None,
        user_data_base64: Optional[str] = None,
        user_data_replace_on_change: Optional[bool] = None,
        valid_from: Optional[str] = None,
        valid_until: Optional[str] = None,
        volume_tags: Optional[Mapping[str, str]] = None,
        vpc_security_group_ids: Optional[Sequence[str]] = None,
        wait_for_fulfillment: Optional[bool] = None) -> SpotInstanceRequest
func GetSpotInstanceRequest(ctx *Context, name string, id IDInput, state *SpotInstanceRequestState, opts ...ResourceOption) (*SpotInstanceRequest, error)
public static SpotInstanceRequest Get(string name, Input<string> id, SpotInstanceRequestState? state, CustomResourceOptions? opts = null)
public static SpotInstanceRequest get(String name, Output<String> id, SpotInstanceRequestState state, CustomResourceOptions options)
resources:  _:    type: aws:ec2:SpotInstanceRequest    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Ami Changes to this property will trigger replacement. string
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
Arn string
AssociatePublicIpAddress Changes to this property will trigger replacement. bool
Whether to associate a public IP address with an instance in a VPC.
AvailabilityZone Changes to this property will trigger replacement. string
AZ to start the instance in.
BlockDurationMinutes Changes to this property will trigger replacement. int
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
CapacityReservationSpecification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecification

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

CpuCoreCount Changes to this property will trigger replacement. int
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

CpuOptions Changes to this property will trigger replacement. SpotInstanceRequestCpuOptions
The CPU options for the instance. See CPU Options below for more details.
CpuThreadsPerCore Changes to this property will trigger replacement. int
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

CreditSpecification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecification
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
DisableApiStop Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Stop Protection.
DisableApiTermination Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Termination Protection.
EbsBlockDevices Changes to this property will trigger replacement. List<SpotInstanceRequestEbsBlockDevice>
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
EbsOptimized Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
EnablePrimaryIpv6 Changes to this property will trigger replacement. bool
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
EnclaveOptions Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptions
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
EphemeralBlockDevices Changes to this property will trigger replacement. List<SpotInstanceRequestEphemeralBlockDevice>
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
GetPasswordData Changes to this property will trigger replacement. bool
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
Hibernation Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will support hibernation.
HostId Changes to this property will trigger replacement. string
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
HostResourceGroupArn Changes to this property will trigger replacement. string
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
IamInstanceProfile Changes to this property will trigger replacement. string
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
InstanceInitiatedShutdownBehavior Changes to this property will trigger replacement. string
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
InstanceInterruptionBehavior Changes to this property will trigger replacement. string
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
InstanceState string
InstanceType Changes to this property will trigger replacement. string
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
Ipv6AddressCount Changes to this property will trigger replacement. int
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
Ipv6Addresses Changes to this property will trigger replacement. List<string>
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
KeyName Changes to this property will trigger replacement. string
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
LaunchGroup Changes to this property will trigger replacement. string
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
LaunchTemplate Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplate
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
MaintenanceOptions Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptions
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
MetadataOptions Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptions
Customize the metadata options of the instance. See Metadata Options below for more details.
Monitoring Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
NetworkInterfaces Changes to this property will trigger replacement. List<SpotInstanceRequestNetworkInterface>
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
OutpostArn string
PasswordData string
PlacementGroup Changes to this property will trigger replacement. string
Placement Group to start the instance in.
PlacementPartitionNumber Changes to this property will trigger replacement. int
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
PrimaryNetworkInterfaceId string
PrivateDns string
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
PrivateDnsNameOptions Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptions
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
PrivateIp Changes to this property will trigger replacement. string
Private IP address to associate with the instance in a VPC.
PublicDns string
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
PublicIp string
The public IP address assigned to the instance, if applicable.
RootBlockDevice Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDevice
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
SecondaryPrivateIps Changes to this property will trigger replacement. List<string>
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
SecurityGroups Changes to this property will trigger replacement. List<string>

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

SourceDestCheck Changes to this property will trigger replacement. bool
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
SpotBidStatus string
The current bid status of the Spot Instance Request.
SpotInstanceId string
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
SpotPrice Changes to this property will trigger replacement. string
The maximum price to request on the spot market.
SpotRequestState string
The current request state of the Spot Instance Request.
SpotType string
If set to one-time, after the instance is terminated, the spot request will be closed.
SubnetId Changes to this property will trigger replacement. string
VPC Subnet ID to launch in.
Tags Dictionary<string, string>
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Tenancy Changes to this property will trigger replacement. string
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
UserData Changes to this property will trigger replacement. string
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
UserDataBase64 Changes to this property will trigger replacement. string
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
UserDataReplaceOnChange Changes to this property will trigger replacement. bool
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
ValidFrom Changes to this property will trigger replacement. string
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
ValidUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
VolumeTags Dictionary<string, string>

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

VpcSecurityGroupIds Changes to this property will trigger replacement. List<string>
List of security group IDs to associate with.
WaitForFulfillment bool
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
Ami Changes to this property will trigger replacement. string
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
Arn string
AssociatePublicIpAddress Changes to this property will trigger replacement. bool
Whether to associate a public IP address with an instance in a VPC.
AvailabilityZone Changes to this property will trigger replacement. string
AZ to start the instance in.
BlockDurationMinutes Changes to this property will trigger replacement. int
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
CapacityReservationSpecification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecificationArgs

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

CpuCoreCount Changes to this property will trigger replacement. int
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

CpuOptions Changes to this property will trigger replacement. SpotInstanceRequestCpuOptionsArgs
The CPU options for the instance. See CPU Options below for more details.
CpuThreadsPerCore Changes to this property will trigger replacement. int
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

CreditSpecification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecificationArgs
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
DisableApiStop Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Stop Protection.
DisableApiTermination Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Termination Protection.
EbsBlockDevices Changes to this property will trigger replacement. []SpotInstanceRequestEbsBlockDeviceArgs
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
EbsOptimized Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
EnablePrimaryIpv6 Changes to this property will trigger replacement. bool
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
EnclaveOptions Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptionsArgs
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
EphemeralBlockDevices Changes to this property will trigger replacement. []SpotInstanceRequestEphemeralBlockDeviceArgs
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
GetPasswordData Changes to this property will trigger replacement. bool
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
Hibernation Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will support hibernation.
HostId Changes to this property will trigger replacement. string
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
HostResourceGroupArn Changes to this property will trigger replacement. string
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
IamInstanceProfile Changes to this property will trigger replacement. string
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
InstanceInitiatedShutdownBehavior Changes to this property will trigger replacement. string
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
InstanceInterruptionBehavior Changes to this property will trigger replacement. string
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
InstanceState string
InstanceType Changes to this property will trigger replacement. string
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
Ipv6AddressCount Changes to this property will trigger replacement. int
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
Ipv6Addresses Changes to this property will trigger replacement. []string
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
KeyName Changes to this property will trigger replacement. string
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
LaunchGroup Changes to this property will trigger replacement. string
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
LaunchTemplate Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplateArgs
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
MaintenanceOptions Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptionsArgs
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
MetadataOptions Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptionsArgs
Customize the metadata options of the instance. See Metadata Options below for more details.
Monitoring Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
NetworkInterfaces Changes to this property will trigger replacement. []SpotInstanceRequestNetworkInterfaceArgs
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
OutpostArn string
PasswordData string
PlacementGroup Changes to this property will trigger replacement. string
Placement Group to start the instance in.
PlacementPartitionNumber Changes to this property will trigger replacement. int
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
PrimaryNetworkInterfaceId string
PrivateDns string
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
PrivateDnsNameOptions Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptionsArgs
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
PrivateIp Changes to this property will trigger replacement. string
Private IP address to associate with the instance in a VPC.
PublicDns string
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
PublicIp string
The public IP address assigned to the instance, if applicable.
RootBlockDevice Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDeviceArgs
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
SecondaryPrivateIps Changes to this property will trigger replacement. []string
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
SecurityGroups Changes to this property will trigger replacement. []string

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

SourceDestCheck Changes to this property will trigger replacement. bool
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
SpotBidStatus string
The current bid status of the Spot Instance Request.
SpotInstanceId string
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
SpotPrice Changes to this property will trigger replacement. string
The maximum price to request on the spot market.
SpotRequestState string
The current request state of the Spot Instance Request.
SpotType string
If set to one-time, after the instance is terminated, the spot request will be closed.
SubnetId Changes to this property will trigger replacement. string
VPC Subnet ID to launch in.
Tags map[string]string
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Tenancy Changes to this property will trigger replacement. string
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
UserData Changes to this property will trigger replacement. string
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
UserDataBase64 Changes to this property will trigger replacement. string
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
UserDataReplaceOnChange Changes to this property will trigger replacement. bool
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
ValidFrom Changes to this property will trigger replacement. string
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
ValidUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
VolumeTags map[string]string

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

VpcSecurityGroupIds Changes to this property will trigger replacement. []string
List of security group IDs to associate with.
WaitForFulfillment bool
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
ami Changes to this property will trigger replacement. String
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
arn String
associatePublicIpAddress Changes to this property will trigger replacement. Boolean
Whether to associate a public IP address with an instance in a VPC.
availabilityZone Changes to this property will trigger replacement. String
AZ to start the instance in.
blockDurationMinutes Changes to this property will trigger replacement. Integer
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
capacityReservationSpecification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecification

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

cpuCoreCount Changes to this property will trigger replacement. Integer
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

cpuOptions Changes to this property will trigger replacement. SpotInstanceRequestCpuOptions
The CPU options for the instance. See CPU Options below for more details.
cpuThreadsPerCore Changes to this property will trigger replacement. Integer
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

creditSpecification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecification
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
disableApiStop Changes to this property will trigger replacement. Boolean
If true, enables EC2 Instance Stop Protection.
disableApiTermination Changes to this property will trigger replacement. Boolean
If true, enables EC2 Instance Termination Protection.
ebsBlockDevices Changes to this property will trigger replacement. List<SpotInstanceRequestEbsBlockDevice>
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
ebsOptimized Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
enablePrimaryIpv6 Changes to this property will trigger replacement. Boolean
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
enclaveOptions Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptions
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
ephemeralBlockDevices Changes to this property will trigger replacement. List<SpotInstanceRequestEphemeralBlockDevice>
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
getPasswordData Changes to this property will trigger replacement. Boolean
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
hibernation Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will support hibernation.
hostId Changes to this property will trigger replacement. String
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
hostResourceGroupArn Changes to this property will trigger replacement. String
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
iamInstanceProfile Changes to this property will trigger replacement. String
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
instanceInitiatedShutdownBehavior Changes to this property will trigger replacement. String
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
instanceInterruptionBehavior Changes to this property will trigger replacement. String
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
instanceState String
instanceType Changes to this property will trigger replacement. String
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
ipv6AddressCount Changes to this property will trigger replacement. Integer
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
ipv6Addresses Changes to this property will trigger replacement. List<String>
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
keyName Changes to this property will trigger replacement. String
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
launchGroup Changes to this property will trigger replacement. String
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
launchTemplate Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplate
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
maintenanceOptions Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptions
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
metadataOptions Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptions
Customize the metadata options of the instance. See Metadata Options below for more details.
monitoring Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
networkInterfaces Changes to this property will trigger replacement. List<SpotInstanceRequestNetworkInterface>
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
outpostArn String
passwordData String
placementGroup Changes to this property will trigger replacement. String
Placement Group to start the instance in.
placementPartitionNumber Changes to this property will trigger replacement. Integer
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
primaryNetworkInterfaceId String
privateDns String
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
privateDnsNameOptions Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptions
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
privateIp Changes to this property will trigger replacement. String
Private IP address to associate with the instance in a VPC.
publicDns String
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
publicIp String
The public IP address assigned to the instance, if applicable.
rootBlockDevice Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDevice
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
secondaryPrivateIps Changes to this property will trigger replacement. List<String>
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
securityGroups Changes to this property will trigger replacement. List<String>

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

sourceDestCheck Changes to this property will trigger replacement. Boolean
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
spotBidStatus String
The current bid status of the Spot Instance Request.
spotInstanceId String
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
spotPrice Changes to this property will trigger replacement. String
The maximum price to request on the spot market.
spotRequestState String
The current request state of the Spot Instance Request.
spotType String
If set to one-time, after the instance is terminated, the spot request will be closed.
subnetId Changes to this property will trigger replacement. String
VPC Subnet ID to launch in.
tags Map<String,String>
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

tenancy Changes to this property will trigger replacement. String
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
userData Changes to this property will trigger replacement. String
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataBase64 Changes to this property will trigger replacement. String
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataReplaceOnChange Changes to this property will trigger replacement. Boolean
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
validFrom Changes to this property will trigger replacement. String
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
validUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
volumeTags Map<String,String>

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

vpcSecurityGroupIds Changes to this property will trigger replacement. List<String>
List of security group IDs to associate with.
waitForFulfillment Boolean
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
ami Changes to this property will trigger replacement. string
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
arn string
associatePublicIpAddress Changes to this property will trigger replacement. boolean
Whether to associate a public IP address with an instance in a VPC.
availabilityZone Changes to this property will trigger replacement. string
AZ to start the instance in.
blockDurationMinutes Changes to this property will trigger replacement. number
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
capacityReservationSpecification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecification

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

cpuCoreCount Changes to this property will trigger replacement. number
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

cpuOptions Changes to this property will trigger replacement. SpotInstanceRequestCpuOptions
The CPU options for the instance. See CPU Options below for more details.
cpuThreadsPerCore Changes to this property will trigger replacement. number
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

creditSpecification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecification
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
disableApiStop Changes to this property will trigger replacement. boolean
If true, enables EC2 Instance Stop Protection.
disableApiTermination Changes to this property will trigger replacement. boolean
If true, enables EC2 Instance Termination Protection.
ebsBlockDevices Changes to this property will trigger replacement. SpotInstanceRequestEbsBlockDevice[]
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
ebsOptimized Changes to this property will trigger replacement. boolean
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
enablePrimaryIpv6 Changes to this property will trigger replacement. boolean
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
enclaveOptions Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptions
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
ephemeralBlockDevices Changes to this property will trigger replacement. SpotInstanceRequestEphemeralBlockDevice[]
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
getPasswordData Changes to this property will trigger replacement. boolean
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
hibernation Changes to this property will trigger replacement. boolean
If true, the launched EC2 instance will support hibernation.
hostId Changes to this property will trigger replacement. string
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
hostResourceGroupArn Changes to this property will trigger replacement. string
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
iamInstanceProfile Changes to this property will trigger replacement. string
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
instanceInitiatedShutdownBehavior Changes to this property will trigger replacement. string
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
instanceInterruptionBehavior Changes to this property will trigger replacement. string
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
instanceState string
instanceType Changes to this property will trigger replacement. string
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
ipv6AddressCount Changes to this property will trigger replacement. number
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
ipv6Addresses Changes to this property will trigger replacement. string[]
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
keyName Changes to this property will trigger replacement. string
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
launchGroup Changes to this property will trigger replacement. string
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
launchTemplate Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplate
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
maintenanceOptions Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptions
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
metadataOptions Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptions
Customize the metadata options of the instance. See Metadata Options below for more details.
monitoring Changes to this property will trigger replacement. boolean
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
networkInterfaces Changes to this property will trigger replacement. SpotInstanceRequestNetworkInterface[]
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
outpostArn string
passwordData string
placementGroup Changes to this property will trigger replacement. string
Placement Group to start the instance in.
placementPartitionNumber Changes to this property will trigger replacement. number
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
primaryNetworkInterfaceId string
privateDns string
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
privateDnsNameOptions Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptions
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
privateIp Changes to this property will trigger replacement. string
Private IP address to associate with the instance in a VPC.
publicDns string
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
publicIp string
The public IP address assigned to the instance, if applicable.
rootBlockDevice Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDevice
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
secondaryPrivateIps Changes to this property will trigger replacement. string[]
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
securityGroups Changes to this property will trigger replacement. string[]

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

sourceDestCheck Changes to this property will trigger replacement. boolean
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
spotBidStatus string
The current bid status of the Spot Instance Request.
spotInstanceId string
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
spotPrice Changes to this property will trigger replacement. string
The maximum price to request on the spot market.
spotRequestState string
The current request state of the Spot Instance Request.
spotType string
If set to one-time, after the instance is terminated, the spot request will be closed.
subnetId Changes to this property will trigger replacement. string
VPC Subnet ID to launch in.
tags {[key: string]: string}
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

tenancy Changes to this property will trigger replacement. string
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
userData Changes to this property will trigger replacement. string
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataBase64 Changes to this property will trigger replacement. string
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataReplaceOnChange Changes to this property will trigger replacement. boolean
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
validFrom Changes to this property will trigger replacement. string
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
validUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
volumeTags {[key: string]: string}

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

vpcSecurityGroupIds Changes to this property will trigger replacement. string[]
List of security group IDs to associate with.
waitForFulfillment boolean
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
ami Changes to this property will trigger replacement. str
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
arn str
associate_public_ip_address Changes to this property will trigger replacement. bool
Whether to associate a public IP address with an instance in a VPC.
availability_zone Changes to this property will trigger replacement. str
AZ to start the instance in.
block_duration_minutes Changes to this property will trigger replacement. int
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
capacity_reservation_specification Changes to this property will trigger replacement. SpotInstanceRequestCapacityReservationSpecificationArgs

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

cpu_core_count Changes to this property will trigger replacement. int
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

cpu_options Changes to this property will trigger replacement. SpotInstanceRequestCpuOptionsArgs
The CPU options for the instance. See CPU Options below for more details.
cpu_threads_per_core Changes to this property will trigger replacement. int
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

credit_specification Changes to this property will trigger replacement. SpotInstanceRequestCreditSpecificationArgs
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
disable_api_stop Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Stop Protection.
disable_api_termination Changes to this property will trigger replacement. bool
If true, enables EC2 Instance Termination Protection.
ebs_block_devices Changes to this property will trigger replacement. Sequence[SpotInstanceRequestEbsBlockDeviceArgs]
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
ebs_optimized Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
enable_primary_ipv6 Changes to this property will trigger replacement. bool
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
enclave_options Changes to this property will trigger replacement. SpotInstanceRequestEnclaveOptionsArgs
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
ephemeral_block_devices Changes to this property will trigger replacement. Sequence[SpotInstanceRequestEphemeralBlockDeviceArgs]
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
get_password_data Changes to this property will trigger replacement. bool
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
hibernation Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will support hibernation.
host_id Changes to this property will trigger replacement. str
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
host_resource_group_arn Changes to this property will trigger replacement. str
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
iam_instance_profile Changes to this property will trigger replacement. str
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
instance_initiated_shutdown_behavior Changes to this property will trigger replacement. str
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
instance_interruption_behavior Changes to this property will trigger replacement. str
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
instance_state str
instance_type Changes to this property will trigger replacement. str
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
ipv6_address_count Changes to this property will trigger replacement. int
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
ipv6_addresses Changes to this property will trigger replacement. Sequence[str]
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
key_name Changes to this property will trigger replacement. str
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
launch_group Changes to this property will trigger replacement. str
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
launch_template Changes to this property will trigger replacement. SpotInstanceRequestLaunchTemplateArgs
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
maintenance_options Changes to this property will trigger replacement. SpotInstanceRequestMaintenanceOptionsArgs
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
metadata_options Changes to this property will trigger replacement. SpotInstanceRequestMetadataOptionsArgs
Customize the metadata options of the instance. See Metadata Options below for more details.
monitoring Changes to this property will trigger replacement. bool
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
network_interfaces Changes to this property will trigger replacement. Sequence[SpotInstanceRequestNetworkInterfaceArgs]
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
outpost_arn str
password_data str
placement_group Changes to this property will trigger replacement. str
Placement Group to start the instance in.
placement_partition_number Changes to this property will trigger replacement. int
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
primary_network_interface_id str
private_dns str
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
private_dns_name_options Changes to this property will trigger replacement. SpotInstanceRequestPrivateDnsNameOptionsArgs
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
private_ip Changes to this property will trigger replacement. str
Private IP address to associate with the instance in a VPC.
public_dns str
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
public_ip str
The public IP address assigned to the instance, if applicable.
root_block_device Changes to this property will trigger replacement. SpotInstanceRequestRootBlockDeviceArgs
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
secondary_private_ips Changes to this property will trigger replacement. Sequence[str]
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
security_groups Changes to this property will trigger replacement. Sequence[str]

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

source_dest_check Changes to this property will trigger replacement. bool
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
spot_bid_status str
The current bid status of the Spot Instance Request.
spot_instance_id str
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
spot_price Changes to this property will trigger replacement. str
The maximum price to request on the spot market.
spot_request_state str
The current request state of the Spot Instance Request.
spot_type str
If set to one-time, after the instance is terminated, the spot request will be closed.
subnet_id Changes to this property will trigger replacement. str
VPC Subnet ID to launch in.
tags Mapping[str, str]
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

tenancy Changes to this property will trigger replacement. str
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
user_data Changes to this property will trigger replacement. str
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
user_data_base64 Changes to this property will trigger replacement. str
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
user_data_replace_on_change Changes to this property will trigger replacement. bool
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
valid_from Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
volume_tags Mapping[str, str]

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

vpc_security_group_ids Changes to this property will trigger replacement. Sequence[str]
List of security group IDs to associate with.
wait_for_fulfillment bool
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.
ami Changes to this property will trigger replacement. String
AMI to use for the instance. Required unless launch_template is specified and the Launch Template specifes an AMI. If an AMI is specified in the Launch Template, setting ami will override the AMI specified in the Launch Template.
arn String
associatePublicIpAddress Changes to this property will trigger replacement. Boolean
Whether to associate a public IP address with an instance in a VPC.
availabilityZone Changes to this property will trigger replacement. String
AZ to start the instance in.
blockDurationMinutes Changes to this property will trigger replacement. Number
The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). The duration period starts as soon as your Spot instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates. Note that you can't specify an Availability Zone group or a launch group if you specify a duration.
capacityReservationSpecification Changes to this property will trigger replacement. Property Map

Describes an instance's Capacity Reservation targeting option. See Capacity Reservation Specification below for more details.

NOTE: Changing cpu_core_count and/or cpu_threads_per_core will cause the resource to be destroyed and re-created.

cpuCoreCount Changes to this property will trigger replacement. Number
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.

Deprecated: cpu_core_count is deprecated. Use cpu_options instead.

cpuOptions Changes to this property will trigger replacement. Property Map
The CPU options for the instance. See CPU Options below for more details.
cpuThreadsPerCore Changes to this property will trigger replacement. Number
If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

Deprecated: cpu_threads_per_core is deprecated. Use cpu_options instead.

creditSpecification Changes to this property will trigger replacement. Property Map
Configuration block for customizing the credit specification of the instance. See Credit Specification below for more details. This provider will only perform drift detection of its value when present in a configuration. Removing this configuration on existing instances will only stop managing it. It will not change the configuration back to the default for the instance type.
disableApiStop Changes to this property will trigger replacement. Boolean
If true, enables EC2 Instance Stop Protection.
disableApiTermination Changes to this property will trigger replacement. Boolean
If true, enables EC2 Instance Termination Protection.
ebsBlockDevices Changes to this property will trigger replacement. List<Property Map>
One or more configuration blocks with additional EBS block devices to attach to the instance. Block device configurations only apply on resource creation. See Block Devices below for details on attributes and drift detection. When accessing this as an attribute reference, it is a set of objects.
ebsOptimized Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will be EBS-optimized. Note that if this is not set on an instance type that is optimized by default then this will show as disabled but if the instance type is optimized by default then there is no need to set this and there is no effect to disabling it. See the EBS Optimized section of the AWS User Guide for more information.
enablePrimaryIpv6 Changes to this property will trigger replacement. Boolean
Whether to assign a primary IPv6 Global Unicast Address (GUA) to the instance when launched in a dual-stack or IPv6-only subnet. A primary IPv6 address ensures a consistent IPv6 address for the instance and is automatically assigned by AWS to the ENI. Once enabled, the first IPv6 GUA becomes the primary IPv6 address and cannot be disabled. The primary IPv6 address remains until the instance is terminated or the ENI is detached. Disabling enable_primary_ipv6 after it has been enabled forces recreation of the instance.
enclaveOptions Changes to this property will trigger replacement. Property Map
Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
ephemeralBlockDevices Changes to this property will trigger replacement. List<Property Map>
One or more configuration blocks to customize Ephemeral (also known as "Instance Store") volumes on the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a set of objects.
getPasswordData Changes to this property will trigger replacement. Boolean
If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
hibernation Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will support hibernation.
hostId Changes to this property will trigger replacement. String
ID of a dedicated host that the instance will be assigned to. Use when an instance is to be launched on a specific dedicated host.
hostResourceGroupArn Changes to this property will trigger replacement. String
ARN of the host resource group in which to launch the instances. If you specify an ARN, omit the tenancy parameter or set it to host.
iamInstanceProfile Changes to this property will trigger replacement. String
IAM Instance Profile to launch the instance with. Specified as the name of the Instance Profile. Ensure your credentials have the correct permission to assign the instance profile according to the EC2 documentation, notably iam:PassRole.
instanceInitiatedShutdownBehavior Changes to this property will trigger replacement. String
Shutdown behavior for the instance. Amazon defaults this to stop for EBS-backed instances and terminate for instance-store instances. Cannot be set on instance-store instances. See Shutdown Behavior for more information.
instanceInterruptionBehavior Changes to this property will trigger replacement. String
Indicates Spot instance behavior when it is interrupted. Valid values are terminate, stop, or hibernate. Default value is terminate.
instanceState String
instanceType Changes to this property will trigger replacement. String
Instance type to use for the instance. Required unless launch_template is specified and the Launch Template specifies an instance type. If an instance type is specified in the Launch Template, setting instance_type will override the instance type specified in the Launch Template. Updates to this field will trigger a stop/start of the EC2 instance.
ipv6AddressCount Changes to this property will trigger replacement. Number
Number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
ipv6Addresses Changes to this property will trigger replacement. List<String>
Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface
keyName Changes to this property will trigger replacement. String
Key name of the Key Pair to use for the instance; which can be managed using the aws.ec2.KeyPair resource.
launchGroup Changes to this property will trigger replacement. String
A launch group is a group of spot instances that launch together and terminate together. If left empty instances are launched and terminated individually.
launchTemplate Changes to this property will trigger replacement. Property Map
Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template. See Launch Template Specification below for more details.
maintenanceOptions Changes to this property will trigger replacement. Property Map
Maintenance and recovery options for the instance. See Maintenance Options below for more details.
metadataOptions Changes to this property will trigger replacement. Property Map
Customize the metadata options of the instance. See Metadata Options below for more details.
monitoring Changes to this property will trigger replacement. Boolean
If true, the launched EC2 instance will have detailed monitoring enabled. (Available since v0.6.0)
networkInterfaces Changes to this property will trigger replacement. List<Property Map>
Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
outpostArn String
passwordData String
placementGroup Changes to this property will trigger replacement. String
Placement Group to start the instance in.
placementPartitionNumber Changes to this property will trigger replacement. Number
Number of the partition the instance is in. Valid only if the aws.ec2.PlacementGroup resource's strategy argument is set to "partition".
primaryNetworkInterfaceId String
privateDns String
The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC
privateDnsNameOptions Changes to this property will trigger replacement. Property Map
Options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
privateIp Changes to this property will trigger replacement. String
Private IP address to associate with the instance in a VPC.
publicDns String
The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC
publicIp String
The public IP address assigned to the instance, if applicable.
rootBlockDevice Changes to this property will trigger replacement. Property Map
Configuration block to customize details about the root block device of the instance. See Block Devices below for details. When accessing this as an attribute reference, it is a list containing one object.
secondaryPrivateIps Changes to this property will trigger replacement. List<String>
List of secondary private IPv4 addresses to assign to the instance's primary network interface (eth0) in a VPC. Can only be assigned to the primary network interface (eth0) attached at instance creation, not a pre-existing network interface i.e., referenced in a network_interface block. Refer to the Elastic network interfaces documentation to see the maximum number of private IP addresses allowed per instance type.
securityGroups Changes to this property will trigger replacement. List<String>

List of security group names to associate with.

NOTE: If you are creating Instances in a VPC, use vpc_security_group_ids instead.

sourceDestCheck Changes to this property will trigger replacement. Boolean
Controls if traffic is routed to the instance when the destination address does not match the instance. Used for NAT or VPNs. Defaults true.
spotBidStatus String
The current bid status of the Spot Instance Request.
spotInstanceId String
The Instance ID (if any) that is currently fulfilling the Spot Instance request.
spotPrice Changes to this property will trigger replacement. String
The maximum price to request on the spot market.
spotRequestState String
The current request state of the Spot Instance Request.
spotType String
If set to one-time, after the instance is terminated, the spot request will be closed.
subnetId Changes to this property will trigger replacement. String
VPC Subnet ID to launch in.
tags Map<String>
Map of tags to assign to the resource. Note that these tags apply to the instance and not block storage devices. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

tenancy Changes to this property will trigger replacement. String
Tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command. Valid values are default, dedicated, and host.
userData Changes to this property will trigger replacement. String
User data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataBase64 Changes to this property will trigger replacement. String
Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption. Updates to this field will trigger a stop/start of the EC2 instance by default. If the user_data_replace_on_change is set then updates to this field will trigger a destroy and recreate of the EC2 instance.
userDataReplaceOnChange Changes to this property will trigger replacement. Boolean
When used in combination with user_data or user_data_base64 will trigger a destroy and recreate of the EC2 instance when set to true. Defaults to false if not set.
validFrom Changes to this property will trigger replacement. String
The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.
validUntil Changes to this property will trigger replacement. 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. The default end date is 7 days from the current date.
volumeTags Map<String>

Map of tags to assign, at instance-creation time, to root and EBS volumes.

NOTE: Do not use volume_tags if you plan to manage block device tags outside the aws.ec2.Instance configuration, such as using tags in an aws.ebs.Volume resource attached via aws.ec2.VolumeAttachment. Doing so will result in resource cycling and inconsistent behavior.

vpcSecurityGroupIds Changes to this property will trigger replacement. List<String>
List of security group IDs to associate with.
waitForFulfillment Boolean
If set, this provider will wait for the Spot Request to be fulfilled, and will throw an error if the timeout of 10m is reached.

Supporting Types

SpotInstanceRequestCapacityReservationSpecification
, SpotInstanceRequestCapacityReservationSpecificationArgs

CapacityReservationPreference string
Indicates the instance's Capacity Reservation preferences. Can be "open" or "none". (Default: "open").
CapacityReservationTarget SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget

Information about the target Capacity Reservation. See Capacity Reservation Target below for more details.

For more information, see the documentation on Capacity Reservations.

CapacityReservationPreference string
Indicates the instance's Capacity Reservation preferences. Can be "open" or "none". (Default: "open").
CapacityReservationTarget SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget

Information about the target Capacity Reservation. See Capacity Reservation Target below for more details.

For more information, see the documentation on Capacity Reservations.

capacityReservationPreference String
Indicates the instance's Capacity Reservation preferences. Can be "open" or "none". (Default: "open").
capacityReservationTarget SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget

Information about the target Capacity Reservation. See Capacity Reservation Target below for more details.

For more information, see the documentation on Capacity Reservations.

capacityReservationPreference string
Indicates the instance's Capacity Reservation preferences. Can be "open" or "none". (Default: "open").
capacityReservationTarget SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget

Information about the target Capacity Reservation. See Capacity Reservation Target below for more details.

For more information, see the documentation on Capacity Reservations.

capacity_reservation_preference str
Indicates the instance's Capacity Reservation preferences. Can be "open" or "none". (Default: "open").
capacity_reservation_target SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget

Information about the target Capacity Reservation. See Capacity Reservation Target below for more details.

For more information, see the documentation on Capacity Reservations.

capacityReservationPreference String
Indicates the instance's Capacity Reservation preferences. Can be "open" or "none". (Default: "open").
capacityReservationTarget Property Map

Information about the target Capacity Reservation. See Capacity Reservation Target below for more details.

For more information, see the documentation on Capacity Reservations.

SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTarget
, SpotInstanceRequestCapacityReservationSpecificationCapacityReservationTargetArgs

CapacityReservationId string
ID of the Capacity Reservation in which to run the instance.
CapacityReservationResourceGroupArn string
ARN of the Capacity Reservation resource group in which to run the instance.
CapacityReservationId string
ID of the Capacity Reservation in which to run the instance.
CapacityReservationResourceGroupArn string
ARN of the Capacity Reservation resource group in which to run the instance.
capacityReservationId String
ID of the Capacity Reservation in which to run the instance.
capacityReservationResourceGroupArn String
ARN of the Capacity Reservation resource group in which to run the instance.
capacityReservationId string
ID of the Capacity Reservation in which to run the instance.
capacityReservationResourceGroupArn string
ARN of the Capacity Reservation resource group in which to run the instance.
capacity_reservation_id str
ID of the Capacity Reservation in which to run the instance.
capacity_reservation_resource_group_arn str
ARN of the Capacity Reservation resource group in which to run the instance.
capacityReservationId String
ID of the Capacity Reservation in which to run the instance.
capacityReservationResourceGroupArn String
ARN of the Capacity Reservation resource group in which to run the instance.

SpotInstanceRequestCpuOptions
, SpotInstanceRequestCpuOptionsArgs

AmdSevSnp Changes to this property will trigger replacement. string
Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
CoreCount Changes to this property will trigger replacement. int
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
ThreadsPerCore Changes to this property will trigger replacement. int

If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

For more information, see the documentation on Optimizing CPU options.

AmdSevSnp Changes to this property will trigger replacement. string
Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
CoreCount Changes to this property will trigger replacement. int
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
ThreadsPerCore Changes to this property will trigger replacement. int

If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

For more information, see the documentation on Optimizing CPU options.

amdSevSnp Changes to this property will trigger replacement. String
Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
coreCount Changes to this property will trigger replacement. Integer
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
threadsPerCore Changes to this property will trigger replacement. Integer

If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

For more information, see the documentation on Optimizing CPU options.

amdSevSnp Changes to this property will trigger replacement. string
Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
coreCount Changes to this property will trigger replacement. number
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
threadsPerCore Changes to this property will trigger replacement. number

If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

For more information, see the documentation on Optimizing CPU options.

amd_sev_snp Changes to this property will trigger replacement. str
Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
core_count Changes to this property will trigger replacement. int
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
threads_per_core Changes to this property will trigger replacement. int

If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

For more information, see the documentation on Optimizing CPU options.

amdSevSnp Changes to this property will trigger replacement. String
Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
coreCount Changes to this property will trigger replacement. Number
Sets the number of CPU cores for an instance. This option is only supported on creation of instance type that support CPU Options CPU Cores and Threads Per CPU Core Per Instance Type - specifying this option for unsupported instance types will return an error from the EC2 API.
threadsPerCore Changes to this property will trigger replacement. Number

If set to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.

For more information, see the documentation on Optimizing CPU options.

SpotInstanceRequestCreditSpecification
, SpotInstanceRequestCreditSpecificationArgs

CpuCredits string
Credit option for CPU usage. Valid values include standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
CpuCredits string
Credit option for CPU usage. Valid values include standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
cpuCredits String
Credit option for CPU usage. Valid values include standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
cpuCredits string
Credit option for CPU usage. Valid values include standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
cpu_credits str
Credit option for CPU usage. Valid values include standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
cpuCredits String
Credit option for CPU usage. Valid values include standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.

SpotInstanceRequestEbsBlockDevice
, SpotInstanceRequestEbsBlockDeviceArgs

DeviceName
This property is required.
Changes to this property will trigger replacement.
string
Name of the device to mount.
DeleteOnTermination Changes to this property will trigger replacement. bool
Whether the volume should be destroyed on instance termination. Defaults to true.
Encrypted Changes to this property will trigger replacement. bool
Enables EBS encryption on the volume. Defaults to false. Cannot be used with snapshot_id. Must be configured to perform drift detection.
Iops Changes to this property will trigger replacement. int
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
KmsKeyId Changes to this property will trigger replacement. string
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
SnapshotId Changes to this property will trigger replacement. string
Snapshot ID to mount.
Tags Dictionary<string, string>
Map of tags to assign to the device.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
Throughput Changes to this property will trigger replacement. int
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
VolumeId string
VolumeSize Changes to this property will trigger replacement. int
Size of the volume in gibibytes (GiB).
VolumeType Changes to this property will trigger replacement. string

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to gp2.

NOTE: Currently, changes to the ebs_block_device configuration of existing resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the aws.ebs.Volume and aws.ec2.VolumeAttachment resources instead. If you use ebs_block_device on an aws.ec2.Instance, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, ebs_block_device cannot be mixed with external aws.ebs.Volume and aws.ec2.VolumeAttachment resources for a given instance.

DeviceName
This property is required.
Changes to this property will trigger replacement.
string
Name of the device to mount.
DeleteOnTermination Changes to this property will trigger replacement. bool
Whether the volume should be destroyed on instance termination. Defaults to true.
Encrypted Changes to this property will trigger replacement. bool
Enables EBS encryption on the volume. Defaults to false. Cannot be used with snapshot_id. Must be configured to perform drift detection.
Iops Changes to this property will trigger replacement. int
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
KmsKeyId Changes to this property will trigger replacement. string
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
SnapshotId Changes to this property will trigger replacement. string
Snapshot ID to mount.
Tags map[string]string
Map of tags to assign to the device.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
Throughput Changes to this property will trigger replacement. int
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
VolumeId string
VolumeSize Changes to this property will trigger replacement. int
Size of the volume in gibibytes (GiB).
VolumeType Changes to this property will trigger replacement. string

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to gp2.

NOTE: Currently, changes to the ebs_block_device configuration of existing resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the aws.ebs.Volume and aws.ec2.VolumeAttachment resources instead. If you use ebs_block_device on an aws.ec2.Instance, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, ebs_block_device cannot be mixed with external aws.ebs.Volume and aws.ec2.VolumeAttachment resources for a given instance.

deviceName
This property is required.
Changes to this property will trigger replacement.
String
Name of the device to mount.
deleteOnTermination Changes to this property will trigger replacement. Boolean
Whether the volume should be destroyed on instance termination. Defaults to true.
encrypted Changes to this property will trigger replacement. Boolean
Enables EBS encryption on the volume. Defaults to false. Cannot be used with snapshot_id. Must be configured to perform drift detection.
iops Changes to this property will trigger replacement. Integer
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
kmsKeyId Changes to this property will trigger replacement. String
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
snapshotId Changes to this property will trigger replacement. String
Snapshot ID to mount.
tags Map<String,String>
Map of tags to assign to the device.
tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
throughput Changes to this property will trigger replacement. Integer
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
volumeId String
volumeSize Changes to this property will trigger replacement. Integer
Size of the volume in gibibytes (GiB).
volumeType Changes to this property will trigger replacement. String

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to gp2.

NOTE: Currently, changes to the ebs_block_device configuration of existing resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the aws.ebs.Volume and aws.ec2.VolumeAttachment resources instead. If you use ebs_block_device on an aws.ec2.Instance, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, ebs_block_device cannot be mixed with external aws.ebs.Volume and aws.ec2.VolumeAttachment resources for a given instance.

deviceName
This property is required.
Changes to this property will trigger replacement.
string
Name of the device to mount.
deleteOnTermination Changes to this property will trigger replacement. boolean
Whether the volume should be destroyed on instance termination. Defaults to true.
encrypted Changes to this property will trigger replacement. boolean
Enables EBS encryption on the volume. Defaults to false. Cannot be used with snapshot_id. Must be configured to perform drift detection.
iops Changes to this property will trigger replacement. number
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
kmsKeyId Changes to this property will trigger replacement. string
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
snapshotId Changes to this property will trigger replacement. string
Snapshot ID to mount.
tags {[key: string]: string}
Map of tags to assign to the device.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
throughput Changes to this property will trigger replacement. number
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
volumeId string
volumeSize Changes to this property will trigger replacement. number
Size of the volume in gibibytes (GiB).
volumeType Changes to this property will trigger replacement. string

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to gp2.

NOTE: Currently, changes to the ebs_block_device configuration of existing resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the aws.ebs.Volume and aws.ec2.VolumeAttachment resources instead. If you use ebs_block_device on an aws.ec2.Instance, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, ebs_block_device cannot be mixed with external aws.ebs.Volume and aws.ec2.VolumeAttachment resources for a given instance.

device_name
This property is required.
Changes to this property will trigger replacement.
str
Name of the device to mount.
delete_on_termination Changes to this property will trigger replacement. bool
Whether the volume should be destroyed on instance termination. Defaults to true.
encrypted Changes to this property will trigger replacement. bool
Enables EBS encryption on the volume. Defaults to false. Cannot be used with snapshot_id. Must be configured to perform drift detection.
iops Changes to this property will trigger replacement. int
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
kms_key_id Changes to this property will trigger replacement. str
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
snapshot_id Changes to this property will trigger replacement. str
Snapshot ID to mount.
tags Mapping[str, str]
Map of tags to assign to the device.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
throughput Changes to this property will trigger replacement. int
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
volume_id str
volume_size Changes to this property will trigger replacement. int
Size of the volume in gibibytes (GiB).
volume_type Changes to this property will trigger replacement. str

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to gp2.

NOTE: Currently, changes to the ebs_block_device configuration of existing resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the aws.ebs.Volume and aws.ec2.VolumeAttachment resources instead. If you use ebs_block_device on an aws.ec2.Instance, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, ebs_block_device cannot be mixed with external aws.ebs.Volume and aws.ec2.VolumeAttachment resources for a given instance.

deviceName
This property is required.
Changes to this property will trigger replacement.
String
Name of the device to mount.
deleteOnTermination Changes to this property will trigger replacement. Boolean
Whether the volume should be destroyed on instance termination. Defaults to true.
encrypted Changes to this property will trigger replacement. Boolean
Enables EBS encryption on the volume. Defaults to false. Cannot be used with snapshot_id. Must be configured to perform drift detection.
iops Changes to this property will trigger replacement. Number
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
kmsKeyId Changes to this property will trigger replacement. String
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
snapshotId Changes to this property will trigger replacement. String
Snapshot ID to mount.
tags Map<String>
Map of tags to assign to the device.
tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
throughput Changes to this property will trigger replacement. Number
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
volumeId String
volumeSize Changes to this property will trigger replacement. Number
Size of the volume in gibibytes (GiB).
volumeType Changes to this property will trigger replacement. String

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to gp2.

NOTE: Currently, changes to the ebs_block_device configuration of existing resources cannot be automatically detected by this provider. To manage changes and attachments of an EBS block to an instance, use the aws.ebs.Volume and aws.ec2.VolumeAttachment resources instead. If you use ebs_block_device on an aws.ec2.Instance, this provider will assume management over the full set of non-root EBS block devices for the instance, treating additional block devices as drift. For this reason, ebs_block_device cannot be mixed with external aws.ebs.Volume and aws.ec2.VolumeAttachment resources for a given instance.

SpotInstanceRequestEnclaveOptions
, SpotInstanceRequestEnclaveOptionsArgs

Enabled Changes to this property will trigger replacement. bool

Whether Nitro Enclaves will be enabled on the instance. Defaults to false.

For more information, see the documentation on Nitro Enclaves.

Enabled Changes to this property will trigger replacement. bool

Whether Nitro Enclaves will be enabled on the instance. Defaults to false.

For more information, see the documentation on Nitro Enclaves.

enabled Changes to this property will trigger replacement. Boolean

Whether Nitro Enclaves will be enabled on the instance. Defaults to false.

For more information, see the documentation on Nitro Enclaves.

enabled Changes to this property will trigger replacement. boolean

Whether Nitro Enclaves will be enabled on the instance. Defaults to false.

For more information, see the documentation on Nitro Enclaves.

enabled Changes to this property will trigger replacement. bool

Whether Nitro Enclaves will be enabled on the instance. Defaults to false.

For more information, see the documentation on Nitro Enclaves.

enabled Changes to this property will trigger replacement. Boolean

Whether Nitro Enclaves will be enabled on the instance. Defaults to false.

For more information, see the documentation on Nitro Enclaves.

SpotInstanceRequestEphemeralBlockDevice
, SpotInstanceRequestEphemeralBlockDeviceArgs

DeviceName This property is required. string
Name of the block device to mount on the instance.
NoDevice bool
Suppresses the specified device included in the AMI's block device mapping.
VirtualName string

Instance Store Device Name (e.g., ephemeral0).

Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS publishes a list of which ephemeral devices are available on each type. The devices are always identified by the virtual_name in the format ephemeral{0..N}.

DeviceName This property is required. string
Name of the block device to mount on the instance.
NoDevice bool
Suppresses the specified device included in the AMI's block device mapping.
VirtualName string

Instance Store Device Name (e.g., ephemeral0).

Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS publishes a list of which ephemeral devices are available on each type. The devices are always identified by the virtual_name in the format ephemeral{0..N}.

deviceName This property is required. String
Name of the block device to mount on the instance.
noDevice Boolean
Suppresses the specified device included in the AMI's block device mapping.
virtualName String

Instance Store Device Name (e.g., ephemeral0).

Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS publishes a list of which ephemeral devices are available on each type. The devices are always identified by the virtual_name in the format ephemeral{0..N}.

deviceName This property is required. string
Name of the block device to mount on the instance.
noDevice boolean
Suppresses the specified device included in the AMI's block device mapping.
virtualName string

Instance Store Device Name (e.g., ephemeral0).

Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS publishes a list of which ephemeral devices are available on each type. The devices are always identified by the virtual_name in the format ephemeral{0..N}.

device_name This property is required. str
Name of the block device to mount on the instance.
no_device bool
Suppresses the specified device included in the AMI's block device mapping.
virtual_name str

Instance Store Device Name (e.g., ephemeral0).

Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS publishes a list of which ephemeral devices are available on each type. The devices are always identified by the virtual_name in the format ephemeral{0..N}.

deviceName This property is required. String
Name of the block device to mount on the instance.
noDevice Boolean
Suppresses the specified device included in the AMI's block device mapping.
virtualName String

Instance Store Device Name (e.g., ephemeral0).

Each AWS Instance type has a different set of Instance Store block devices available for attachment. AWS publishes a list of which ephemeral devices are available on each type. The devices are always identified by the virtual_name in the format ephemeral{0..N}.

SpotInstanceRequestLaunchTemplate
, SpotInstanceRequestLaunchTemplateArgs

Id Changes to this property will trigger replacement. string
ID of the launch template. Conflicts with name.
Name Changes to this property will trigger replacement. string
Name of the launch template. Conflicts with id.
Version string
Template version. Can be a specific version number, $Latest or $Default. The default value is $Default.
Id Changes to this property will trigger replacement. string
ID of the launch template. Conflicts with name.
Name Changes to this property will trigger replacement. string
Name of the launch template. Conflicts with id.
Version string
Template version. Can be a specific version number, $Latest or $Default. The default value is $Default.
id Changes to this property will trigger replacement. String
ID of the launch template. Conflicts with name.
name Changes to this property will trigger replacement. String
Name of the launch template. Conflicts with id.
version String
Template version. Can be a specific version number, $Latest or $Default. The default value is $Default.
id Changes to this property will trigger replacement. string
ID of the launch template. Conflicts with name.
name Changes to this property will trigger replacement. string
Name of the launch template. Conflicts with id.
version string
Template version. Can be a specific version number, $Latest or $Default. The default value is $Default.
id Changes to this property will trigger replacement. str
ID of the launch template. Conflicts with name.
name Changes to this property will trigger replacement. str
Name of the launch template. Conflicts with id.
version str
Template version. Can be a specific version number, $Latest or $Default. The default value is $Default.
id Changes to this property will trigger replacement. String
ID of the launch template. Conflicts with name.
name Changes to this property will trigger replacement. String
Name of the launch template. Conflicts with id.
version String
Template version. Can be a specific version number, $Latest or $Default. The default value is $Default.

SpotInstanceRequestMaintenanceOptions
, SpotInstanceRequestMaintenanceOptionsArgs

AutoRecovery string
Automatic recovery behavior of the Instance. Can be "default" or "disabled". See Recover your instance for more details.
AutoRecovery string
Automatic recovery behavior of the Instance. Can be "default" or "disabled". See Recover your instance for more details.
autoRecovery String
Automatic recovery behavior of the Instance. Can be "default" or "disabled". See Recover your instance for more details.
autoRecovery string
Automatic recovery behavior of the Instance. Can be "default" or "disabled". See Recover your instance for more details.
auto_recovery str
Automatic recovery behavior of the Instance. Can be "default" or "disabled". See Recover your instance for more details.
autoRecovery String
Automatic recovery behavior of the Instance. Can be "default" or "disabled". See Recover your instance for more details.

SpotInstanceRequestMetadataOptions
, SpotInstanceRequestMetadataOptionsArgs

HttpEndpoint string
Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled.
HttpProtocolIpv6 string
Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to disabled.
HttpPutResponseHopLimit int
Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from 1 to 64. Defaults to 1.
HttpTokens string
Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required.
InstanceMetadataTags string

Enables or disables access to instance tags from the instance metadata service. Valid values include enabled or disabled. Defaults to disabled.

For more information, see the documentation on the Instance Metadata Service.

HttpEndpoint string
Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled.
HttpProtocolIpv6 string
Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to disabled.
HttpPutResponseHopLimit int
Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from 1 to 64. Defaults to 1.
HttpTokens string
Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required.
InstanceMetadataTags string

Enables or disables access to instance tags from the instance metadata service. Valid values include enabled or disabled. Defaults to disabled.

For more information, see the documentation on the Instance Metadata Service.

httpEndpoint String
Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled.
httpProtocolIpv6 String
Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to disabled.
httpPutResponseHopLimit Integer
Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from 1 to 64. Defaults to 1.
httpTokens String
Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required.
instanceMetadataTags String

Enables or disables access to instance tags from the instance metadata service. Valid values include enabled or disabled. Defaults to disabled.

For more information, see the documentation on the Instance Metadata Service.

httpEndpoint string
Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled.
httpProtocolIpv6 string
Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to disabled.
httpPutResponseHopLimit number
Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from 1 to 64. Defaults to 1.
httpTokens string
Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required.
instanceMetadataTags string

Enables or disables access to instance tags from the instance metadata service. Valid values include enabled or disabled. Defaults to disabled.

For more information, see the documentation on the Instance Metadata Service.

http_endpoint str
Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled.
http_protocol_ipv6 str
Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to disabled.
http_put_response_hop_limit int
Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from 1 to 64. Defaults to 1.
http_tokens str
Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required.
instance_metadata_tags str

Enables or disables access to instance tags from the instance metadata service. Valid values include enabled or disabled. Defaults to disabled.

For more information, see the documentation on the Instance Metadata Service.

httpEndpoint String
Whether the metadata service is available. Valid values include enabled or disabled. Defaults to enabled.
httpProtocolIpv6 String
Whether the IPv6 endpoint for the instance metadata service is enabled. Defaults to disabled.
httpPutResponseHopLimit Number
Desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Valid values are integer from 1 to 64. Defaults to 1.
httpTokens String
Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Valid values include optional or required.
instanceMetadataTags String

Enables or disables access to instance tags from the instance metadata service. Valid values include enabled or disabled. Defaults to disabled.

For more information, see the documentation on the Instance Metadata Service.

SpotInstanceRequestNetworkInterface
, SpotInstanceRequestNetworkInterfaceArgs

DeviceIndex
This property is required.
Changes to this property will trigger replacement.
int
Integer index of the network interface attachment. Limited by instance type.
NetworkInterfaceId
This property is required.
Changes to this property will trigger replacement.
string
ID of the network interface to attach.
DeleteOnTermination Changes to this property will trigger replacement. bool
Whether or not to delete the network interface on instance termination. Defaults to false. Currently, the only valid value is false, as this is only supported when creating new network interfaces when launching an instance.
NetworkCardIndex Changes to this property will trigger replacement. int
Integer index of the network card. Limited by instance type. The default index is 0.
DeviceIndex
This property is required.
Changes to this property will trigger replacement.
int
Integer index of the network interface attachment. Limited by instance type.
NetworkInterfaceId
This property is required.
Changes to this property will trigger replacement.
string
ID of the network interface to attach.
DeleteOnTermination Changes to this property will trigger replacement. bool
Whether or not to delete the network interface on instance termination. Defaults to false. Currently, the only valid value is false, as this is only supported when creating new network interfaces when launching an instance.
NetworkCardIndex Changes to this property will trigger replacement. int
Integer index of the network card. Limited by instance type. The default index is 0.
deviceIndex
This property is required.
Changes to this property will trigger replacement.
Integer
Integer index of the network interface attachment. Limited by instance type.
networkInterfaceId
This property is required.
Changes to this property will trigger replacement.
String
ID of the network interface to attach.
deleteOnTermination Changes to this property will trigger replacement. Boolean
Whether or not to delete the network interface on instance termination. Defaults to false. Currently, the only valid value is false, as this is only supported when creating new network interfaces when launching an instance.
networkCardIndex Changes to this property will trigger replacement. Integer
Integer index of the network card. Limited by instance type. The default index is 0.
deviceIndex
This property is required.
Changes to this property will trigger replacement.
number
Integer index of the network interface attachment. Limited by instance type.
networkInterfaceId
This property is required.
Changes to this property will trigger replacement.
string
ID of the network interface to attach.
deleteOnTermination Changes to this property will trigger replacement. boolean
Whether or not to delete the network interface on instance termination. Defaults to false. Currently, the only valid value is false, as this is only supported when creating new network interfaces when launching an instance.
networkCardIndex Changes to this property will trigger replacement. number
Integer index of the network card. Limited by instance type. The default index is 0.
device_index
This property is required.
Changes to this property will trigger replacement.
int
Integer index of the network interface attachment. Limited by instance type.
network_interface_id
This property is required.
Changes to this property will trigger replacement.
str
ID of the network interface to attach.
delete_on_termination Changes to this property will trigger replacement. bool
Whether or not to delete the network interface on instance termination. Defaults to false. Currently, the only valid value is false, as this is only supported when creating new network interfaces when launching an instance.
network_card_index Changes to this property will trigger replacement. int
Integer index of the network card. Limited by instance type. The default index is 0.
deviceIndex
This property is required.
Changes to this property will trigger replacement.
Number
Integer index of the network interface attachment. Limited by instance type.
networkInterfaceId
This property is required.
Changes to this property will trigger replacement.
String
ID of the network interface to attach.
deleteOnTermination Changes to this property will trigger replacement. Boolean
Whether or not to delete the network interface on instance termination. Defaults to false. Currently, the only valid value is false, as this is only supported when creating new network interfaces when launching an instance.
networkCardIndex Changes to this property will trigger replacement. Number
Integer index of the network card. Limited by instance type. The default index is 0.

SpotInstanceRequestPrivateDnsNameOptions
, SpotInstanceRequestPrivateDnsNameOptionsArgs

EnableResourceNameDnsARecord bool
Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
EnableResourceNameDnsAaaaRecord bool
Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
HostnameType string
Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
EnableResourceNameDnsARecord bool
Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
EnableResourceNameDnsAaaaRecord bool
Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
HostnameType string
Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
enableResourceNameDnsARecord Boolean
Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
enableResourceNameDnsAaaaRecord Boolean
Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
hostnameType String
Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
enableResourceNameDnsARecord boolean
Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
enableResourceNameDnsAaaaRecord boolean
Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
hostnameType string
Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
enable_resource_name_dns_a_record bool
Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
enable_resource_name_dns_aaaa_record bool
Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
hostname_type str
Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
enableResourceNameDnsARecord Boolean
Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
enableResourceNameDnsAaaaRecord Boolean
Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
hostnameType String
Type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.

SpotInstanceRequestRootBlockDevice
, SpotInstanceRequestRootBlockDeviceArgs

DeleteOnTermination bool
Whether the volume should be destroyed on instance termination. Defaults to true.
DeviceName string
Encrypted Changes to this property will trigger replacement. bool
Whether to enable volume encryption. Defaults to false. Must be configured to perform drift detection.
Iops int
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
KmsKeyId Changes to this property will trigger replacement. string
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
Tags Dictionary<string, string>
Map of tags to assign to the device.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
Throughput int
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
VolumeId string
VolumeSize int
Size of the volume in gibibytes (GiB).
VolumeType string

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to the volume type that the AMI uses.

Modifying the encrypted or kms_key_id settings of the root_block_device requires resource replacement.

DeleteOnTermination bool
Whether the volume should be destroyed on instance termination. Defaults to true.
DeviceName string
Encrypted Changes to this property will trigger replacement. bool
Whether to enable volume encryption. Defaults to false. Must be configured to perform drift detection.
Iops int
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
KmsKeyId Changes to this property will trigger replacement. string
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
Tags map[string]string
Map of tags to assign to the device.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
Throughput int
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
VolumeId string
VolumeSize int
Size of the volume in gibibytes (GiB).
VolumeType string

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to the volume type that the AMI uses.

Modifying the encrypted or kms_key_id settings of the root_block_device requires resource replacement.

deleteOnTermination Boolean
Whether the volume should be destroyed on instance termination. Defaults to true.
deviceName String
encrypted Changes to this property will trigger replacement. Boolean
Whether to enable volume encryption. Defaults to false. Must be configured to perform drift detection.
iops Integer
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
kmsKeyId Changes to this property will trigger replacement. String
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
tags Map<String,String>
Map of tags to assign to the device.
tagsAll Map<String,String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
throughput Integer
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
volumeId String
volumeSize Integer
Size of the volume in gibibytes (GiB).
volumeType String

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to the volume type that the AMI uses.

Modifying the encrypted or kms_key_id settings of the root_block_device requires resource replacement.

deleteOnTermination boolean
Whether the volume should be destroyed on instance termination. Defaults to true.
deviceName string
encrypted Changes to this property will trigger replacement. boolean
Whether to enable volume encryption. Defaults to false. Must be configured to perform drift detection.
iops number
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
kmsKeyId Changes to this property will trigger replacement. string
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
tags {[key: string]: string}
Map of tags to assign to the device.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
throughput number
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
volumeId string
volumeSize number
Size of the volume in gibibytes (GiB).
volumeType string

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to the volume type that the AMI uses.

Modifying the encrypted or kms_key_id settings of the root_block_device requires resource replacement.

delete_on_termination bool
Whether the volume should be destroyed on instance termination. Defaults to true.
device_name str
encrypted Changes to this property will trigger replacement. bool
Whether to enable volume encryption. Defaults to false. Must be configured to perform drift detection.
iops int
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
kms_key_id Changes to this property will trigger replacement. str
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
tags Mapping[str, str]
Map of tags to assign to the device.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
throughput int
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
volume_id str
volume_size int
Size of the volume in gibibytes (GiB).
volume_type str

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to the volume type that the AMI uses.

Modifying the encrypted or kms_key_id settings of the root_block_device requires resource replacement.

deleteOnTermination Boolean
Whether the volume should be destroyed on instance termination. Defaults to true.
deviceName String
encrypted Changes to this property will trigger replacement. Boolean
Whether to enable volume encryption. Defaults to false. Must be configured to perform drift detection.
iops Number
Amount of provisioned IOPS. Only valid for volume_type of io1, io2 or gp3.
kmsKeyId Changes to this property will trigger replacement. String
Amazon Resource Name (ARN) of the KMS Key to use when encrypting the volume. Must be configured to perform drift detection.
tags Map<String>
Map of tags to assign to the device.
tagsAll Map<String>
A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
throughput Number
Throughput to provision for a volume in mebibytes per second (MiB/s). This is only valid for volume_type of gp3.
volumeId String
volumeSize Number
Size of the volume in gibibytes (GiB).
volumeType String

Type of volume. Valid values include standard, gp2, gp3, io1, io2, sc1, or st1. Defaults to the volume type that the AMI uses.

Modifying the encrypted or kms_key_id settings of the root_block_device requires resource replacement.

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.