AmiCopy

The “AMI copy” resource allows duplication of an Amazon Machine Image (AMI), including cross-region copies.

If the source AMI has associated EBS snapshots, those will also be duplicated along with the AMI.

This is useful for taking a single AMI provisioned in one region and making it available in another for a multi-region deployment.

Copying an AMI can take several minutes. The creation of this resource will block until the new AMI is available for use on new instances.

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var example = new Aws.Ec2.AmiCopy("example", new Aws.Ec2.AmiCopyArgs
        {
            Description = "A copy of ami-xxxxxxxx",
            SourceAmiId = "ami-xxxxxxxx",
            SourceAmiRegion = "us-west-1",
            Tags = 
            {
                { "Name", "HelloWorld" },
            },
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ec2.NewAmiCopy(ctx, "example", &ec2.AmiCopyArgs{
			Description:     pulumi.String("A copy of ami-xxxxxxxx"),
			SourceAmiId:     pulumi.String("ami-xxxxxxxx"),
			SourceAmiRegion: pulumi.String("us-west-1"),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("HelloWorld"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_aws as aws

example = aws.ec2.AmiCopy("example",
    description="A copy of ami-xxxxxxxx",
    source_ami_id="ami-xxxxxxxx",
    source_ami_region="us-west-1",
    tags={
        "Name": "HelloWorld",
    })
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.ec2.AmiCopy("example", {
    description: "A copy of ami-xxxxxxxx",
    sourceAmiId: "ami-xxxxxxxx",
    sourceAmiRegion: "us-west-1",
    tags: {
        Name: "HelloWorld",
    },
});

Create a AmiCopy Resource

new AmiCopy(name: string, args: AmiCopyArgs, opts?: CustomResourceOptions);
@overload
def AmiCopy(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            description: Optional[str] = None,
            ebs_block_devices: Optional[Sequence[AmiCopyEbsBlockDeviceArgs]] = None,
            encrypted: Optional[bool] = None,
            ephemeral_block_devices: Optional[Sequence[AmiCopyEphemeralBlockDeviceArgs]] = None,
            kms_key_id: Optional[str] = None,
            name: Optional[str] = None,
            source_ami_id: Optional[str] = None,
            source_ami_region: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None)
@overload
def AmiCopy(resource_name: str,
            args: AmiCopyArgs,
            opts: Optional[ResourceOptions] = None)
func NewAmiCopy(ctx *Context, name string, args AmiCopyArgs, opts ...ResourceOption) (*AmiCopy, error)
public AmiCopy(string name, AmiCopyArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args AmiCopyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args AmiCopyArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args AmiCopyArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args AmiCopyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

AmiCopy Resource Properties

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

Inputs

The AmiCopy resource accepts the following input properties:

SourceAmiId string
The id of the AMI to copy. This id must be valid in the region given by source_ami_region.
SourceAmiRegion string
The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
Description string
A longer, human-readable description for the AMI.
EbsBlockDevices List<AmiCopyEbsBlockDeviceArgs>
Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
Encrypted bool
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
EphemeralBlockDevices List<AmiCopyEphemeralBlockDeviceArgs>
Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
KmsKeyId string
The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
Name string
A region-unique name for the AMI.
Tags Dictionary<string, string>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
SourceAmiId string
The id of the AMI to copy. This id must be valid in the region given by source_ami_region.
SourceAmiRegion string
The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
Description string
A longer, human-readable description for the AMI.
EbsBlockDevices []AmiCopyEbsBlockDevice
Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
Encrypted bool
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
EphemeralBlockDevices []AmiCopyEphemeralBlockDevice
Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
KmsKeyId string
The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
Name string
A region-unique name for the AMI.
Tags map[string]string
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
sourceAmiId string
The id of the AMI to copy. This id must be valid in the region given by source_ami_region.
sourceAmiRegion string
The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
description string
A longer, human-readable description for the AMI.
ebsBlockDevices AmiCopyEbsBlockDeviceArgs[]
Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
encrypted boolean
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
ephemeralBlockDevices AmiCopyEphemeralBlockDeviceArgs[]
Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
kmsKeyId string
The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
name string
A region-unique name for the AMI.
tags {[key: string]: string}
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
source_ami_id str
The id of the AMI to copy. This id must be valid in the region given by source_ami_region.
source_ami_region str
The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
description str
A longer, human-readable description for the AMI.
ebs_block_devices Sequence[AmiCopyEbsBlockDeviceArgs]
Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
encrypted bool
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
ephemeral_block_devices Sequence[AmiCopyEphemeralBlockDeviceArgs]
Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
kms_key_id str
The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
name str
A region-unique name for the AMI.
tags Mapping[str, str]
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]

Outputs

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

Architecture string
Machine architecture for created instances. Defaults to “x86_64”.
Arn string
The ARN of the AMI.
EnaSupport bool
Specifies whether enhanced networking with ENA is enabled. Defaults to false.
Hypervisor string
Id string
The provider-assigned unique ID for this managed resource.
ImageLocation string
Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.
ImageOwnerAlias string
ImageType string
KernelId string
The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
ManageEbsSnapshots bool
OwnerId string
Platform string
PlatformDetails string
Public bool
RamdiskId string
The id of an initrd image (ARI) that will be used when booting the created instances.
RootDeviceName string
The name of the root device (for example, /dev/sda1, or /dev/xvda).
RootSnapshotId string
SriovNetSupport string
When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
UsageOperation string
VirtualizationType string
Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
Architecture string
Machine architecture for created instances. Defaults to “x86_64”.
Arn string
The ARN of the AMI.
EnaSupport bool
Specifies whether enhanced networking with ENA is enabled. Defaults to false.
Hypervisor string
Id string
The provider-assigned unique ID for this managed resource.
ImageLocation string
Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.
ImageOwnerAlias string
ImageType string
KernelId string
The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
ManageEbsSnapshots bool
OwnerId string
Platform string
PlatformDetails string
Public bool
RamdiskId string
The id of an initrd image (ARI) that will be used when booting the created instances.
RootDeviceName string
The name of the root device (for example, /dev/sda1, or /dev/xvda).
RootSnapshotId string
SriovNetSupport string
When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
UsageOperation string
VirtualizationType string
Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
architecture string
Machine architecture for created instances. Defaults to “x86_64”.
arn string
The ARN of the AMI.
enaSupport boolean
Specifies whether enhanced networking with ENA is enabled. Defaults to false.
hypervisor string
id string
The provider-assigned unique ID for this managed resource.
imageLocation string
Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.
imageOwnerAlias string
imageType string
kernelId string
The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
manageEbsSnapshots boolean
ownerId string
platform string
platformDetails string
public boolean
ramdiskId string
The id of an initrd image (ARI) that will be used when booting the created instances.
rootDeviceName string
The name of the root device (for example, /dev/sda1, or /dev/xvda).
rootSnapshotId string
sriovNetSupport string
When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
usageOperation string
virtualizationType string
Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
architecture str
Machine architecture for created instances. Defaults to “x86_64”.
arn str
The ARN of the AMI.
ena_support bool
Specifies whether enhanced networking with ENA is enabled. Defaults to false.
hypervisor str
id str
The provider-assigned unique ID for this managed resource.
image_location str
Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.
image_owner_alias str
image_type str
kernel_id str
The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
manage_ebs_snapshots bool
owner_id str
platform str
platform_details str
public bool
ramdisk_id str
The id of an initrd image (ARI) that will be used when booting the created instances.
root_device_name str
The name of the root device (for example, /dev/sda1, or /dev/xvda).
root_snapshot_id str
sriov_net_support str
When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
usage_operation str
virtualization_type str
Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.

Look up an Existing AmiCopy Resource

Get an existing AmiCopy 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?: AmiCopyState, opts?: CustomResourceOptions): AmiCopy
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        architecture: Optional[str] = None,
        arn: Optional[str] = None,
        description: Optional[str] = None,
        ebs_block_devices: Optional[Sequence[AmiCopyEbsBlockDeviceArgs]] = None,
        ena_support: Optional[bool] = None,
        encrypted: Optional[bool] = None,
        ephemeral_block_devices: Optional[Sequence[AmiCopyEphemeralBlockDeviceArgs]] = None,
        hypervisor: Optional[str] = None,
        image_location: Optional[str] = None,
        image_owner_alias: Optional[str] = None,
        image_type: Optional[str] = None,
        kernel_id: Optional[str] = None,
        kms_key_id: Optional[str] = None,
        manage_ebs_snapshots: Optional[bool] = None,
        name: Optional[str] = None,
        owner_id: Optional[str] = None,
        platform: Optional[str] = None,
        platform_details: Optional[str] = None,
        public: Optional[bool] = None,
        ramdisk_id: Optional[str] = None,
        root_device_name: Optional[str] = None,
        root_snapshot_id: Optional[str] = None,
        source_ami_id: Optional[str] = None,
        source_ami_region: Optional[str] = None,
        sriov_net_support: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        usage_operation: Optional[str] = None,
        virtualization_type: Optional[str] = None) -> AmiCopy
func GetAmiCopy(ctx *Context, name string, id IDInput, state *AmiCopyState, opts ...ResourceOption) (*AmiCopy, error)
public static AmiCopy Get(string name, Input<string> id, AmiCopyState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Architecture string
Machine architecture for created instances. Defaults to “x86_64”.
Arn string
The ARN of the AMI.
Description string
A longer, human-readable description for the AMI.
EbsBlockDevices List<AmiCopyEbsBlockDeviceArgs>
Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
EnaSupport bool
Specifies whether enhanced networking with ENA is enabled. Defaults to false.
Encrypted bool
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
EphemeralBlockDevices List<AmiCopyEphemeralBlockDeviceArgs>
Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
Hypervisor string
ImageLocation string
Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.
ImageOwnerAlias string
ImageType string
KernelId string
The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
KmsKeyId string
The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
ManageEbsSnapshots bool
Name string
A region-unique name for the AMI.
OwnerId string
Platform string
PlatformDetails string
Public bool
RamdiskId string
The id of an initrd image (ARI) that will be used when booting the created instances.
RootDeviceName string
The name of the root device (for example, /dev/sda1, or /dev/xvda).
RootSnapshotId string
SourceAmiId string
The id of the AMI to copy. This id must be valid in the region given by source_ami_region.
SourceAmiRegion string
The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
SriovNetSupport string
When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
Tags Dictionary<string, string>
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
UsageOperation string
VirtualizationType string
Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
Architecture string
Machine architecture for created instances. Defaults to “x86_64”.
Arn string
The ARN of the AMI.
Description string
A longer, human-readable description for the AMI.
EbsBlockDevices []AmiCopyEbsBlockDevice
Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
EnaSupport bool
Specifies whether enhanced networking with ENA is enabled. Defaults to false.
Encrypted bool
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
EphemeralBlockDevices []AmiCopyEphemeralBlockDevice
Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
Hypervisor string
ImageLocation string
Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.
ImageOwnerAlias string
ImageType string
KernelId string
The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
KmsKeyId string
The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
ManageEbsSnapshots bool
Name string
A region-unique name for the AMI.
OwnerId string
Platform string
PlatformDetails string
Public bool
RamdiskId string
The id of an initrd image (ARI) that will be used when booting the created instances.
RootDeviceName string
The name of the root device (for example, /dev/sda1, or /dev/xvda).
RootSnapshotId string
SourceAmiId string
The id of the AMI to copy. This id must be valid in the region given by source_ami_region.
SourceAmiRegion string
The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
SriovNetSupport string
When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
Tags map[string]string
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
UsageOperation string
VirtualizationType string
Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
architecture string
Machine architecture for created instances. Defaults to “x86_64”.
arn string
The ARN of the AMI.
description string
A longer, human-readable description for the AMI.
ebsBlockDevices AmiCopyEbsBlockDeviceArgs[]
Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
enaSupport boolean
Specifies whether enhanced networking with ENA is enabled. Defaults to false.
encrypted boolean
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
ephemeralBlockDevices AmiCopyEphemeralBlockDeviceArgs[]
Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
hypervisor string
imageLocation string
Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.
imageOwnerAlias string
imageType string
kernelId string
The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
kmsKeyId string
The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
manageEbsSnapshots boolean
name string
A region-unique name for the AMI.
ownerId string
platform string
platformDetails string
public boolean
ramdiskId string
The id of an initrd image (ARI) that will be used when booting the created instances.
rootDeviceName string
The name of the root device (for example, /dev/sda1, or /dev/xvda).
rootSnapshotId string
sourceAmiId string
The id of the AMI to copy. This id must be valid in the region given by source_ami_region.
sourceAmiRegion string
The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
sriovNetSupport string
When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
tags {[key: string]: string}
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
usageOperation string
virtualizationType string
Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.
architecture str
Machine architecture for created instances. Defaults to “x86_64”.
arn str
The ARN of the AMI.
description str
A longer, human-readable description for the AMI.
ebs_block_devices Sequence[AmiCopyEbsBlockDeviceArgs]
Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
ena_support bool
Specifies whether enhanced networking with ENA is enabled. Defaults to false.
encrypted bool
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
ephemeral_block_devices Sequence[AmiCopyEphemeralBlockDeviceArgs]
Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
hypervisor str
image_location str
Path to an S3 object containing an image manifest, e.g. created by the ec2-upload-bundle command in the EC2 command line tools.
image_owner_alias str
image_type str
kernel_id str
The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
kms_key_id str
The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when encrypting the snapshots of an image during a copy operation. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used
manage_ebs_snapshots bool
name str
A region-unique name for the AMI.
owner_id str
platform str
platform_details str
public bool
ramdisk_id str
The id of an initrd image (ARI) that will be used when booting the created instances.
root_device_name str
The name of the root device (for example, /dev/sda1, or /dev/xvda).
root_snapshot_id str
source_ami_id str
The id of the AMI to copy. This id must be valid in the region given by source_ami_region.
source_ami_region str
The region from which the AMI will be copied. This may be the same as the AWS provider region in order to create a copy within the same region.
sriov_net_support str
When set to “simple” (the default), enables enhanced networking for created instances. No other value is supported at this time.
tags Mapping[str, str]
A map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
usage_operation str
virtualization_type str
Keyword to choose what virtualization mode created instances will use. Can be either “paravirtual” (the default) or “hvm”. The choice of virtualization type changes the set of further arguments that are required, as described below.

Supporting Types

AmiCopyEbsBlockDevice

DeleteOnTermination bool
Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
DeviceName string
The path at which the device is exposed to created instances.
Encrypted bool
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
Iops int
Number of I/O operations per second the created volumes will support.
SnapshotId string
The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the volume_size attribute must be at least as large as the referenced snapshot.
Throughput int
The throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
VolumeSize int
The size of created volumes in GiB. If snapshot_id is set and volume_size is omitted then the volume will have the same size as the selected snapshot.
VolumeType string
The type of EBS volume to create. Can be standard, gp2, gp3, io1, io2, sc1 or st1 (Default: standard).
DeleteOnTermination bool
Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
DeviceName string
The path at which the device is exposed to created instances.
Encrypted bool
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
Iops int
Number of I/O operations per second the created volumes will support.
SnapshotId string
The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the volume_size attribute must be at least as large as the referenced snapshot.
Throughput int
The throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
VolumeSize int
The size of created volumes in GiB. If snapshot_id is set and volume_size is omitted then the volume will have the same size as the selected snapshot.
VolumeType string
The type of EBS volume to create. Can be standard, gp2, gp3, io1, io2, sc1 or st1 (Default: standard).
deleteOnTermination boolean
Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
deviceName string
The path at which the device is exposed to created instances.
encrypted boolean
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
iops number
Number of I/O operations per second the created volumes will support.
snapshotId string
The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the volume_size attribute must be at least as large as the referenced snapshot.
throughput number
The throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
volumeSize number
The size of created volumes in GiB. If snapshot_id is set and volume_size is omitted then the volume will have the same size as the selected snapshot.
volumeType string
The type of EBS volume to create. Can be standard, gp2, gp3, io1, io2, sc1 or st1 (Default: standard).
delete_on_termination bool
Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
device_name str
The path at which the device is exposed to created instances.
encrypted bool
Boolean controlling whether the created EBS volumes will be encrypted. Can’t be used with snapshot_id.
iops int
Number of I/O operations per second the created volumes will support.
snapshot_id str
The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the volume_size attribute must be at least as large as the referenced snapshot.
throughput int
The throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
volume_size int
The size of created volumes in GiB. If snapshot_id is set and volume_size is omitted then the volume will have the same size as the selected snapshot.
volume_type str
The type of EBS volume to create. Can be standard, gp2, gp3, io1, io2, sc1 or st1 (Default: standard).

AmiCopyEphemeralBlockDevice

DeviceName string
The path at which the device is exposed to created instances.
VirtualName string
A name for the ephemeral device, of the form “ephemeralN” where N is a volume number starting from zero.
DeviceName string
The path at which the device is exposed to created instances.
VirtualName string
A name for the ephemeral device, of the form “ephemeralN” where N is a volume number starting from zero.
deviceName string
The path at which the device is exposed to created instances.
virtualName string
A name for the ephemeral device, of the form “ephemeralN” where N is a volume number starting from zero.
device_name str
The path at which the device is exposed to created instances.
virtual_name str
A name for the ephemeral device, of the form “ephemeralN” where N is a volume number starting from zero.

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.