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

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

AWS Classic v6.46.0 published on Wednesday, Jul 24, 2024 by Pulumi

aws.ec2.AmiCopy

Explore with Pulumi AI

aws logo

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

AWS Classic v6.46.0 published on Wednesday, Jul 24, 2024 by Pulumi

    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

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.ec2.AmiCopy("example", {
        name: "example",
        description: "A copy of ami-xxxxxxxx",
        sourceAmiId: "ami-xxxxxxxx",
        sourceAmiRegion: "us-west-1",
        tags: {
            Name: "HelloWorld",
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.ec2.AmiCopy("example",
        name="example",
        description="A copy of ami-xxxxxxxx",
        source_ami_id="ami-xxxxxxxx",
        source_ami_region="us-west-1",
        tags={
            "Name": "HelloWorld",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := ec2.NewAmiCopy(ctx, "example", &ec2.AmiCopyArgs{
    			Name:            pulumi.String("example"),
    			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
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Ec2.AmiCopy("example", new()
        {
            Name = "example",
            Description = "A copy of ami-xxxxxxxx",
            SourceAmiId = "ami-xxxxxxxx",
            SourceAmiRegion = "us-west-1",
            Tags = 
            {
                { "Name", "HelloWorld" },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.ec2.AmiCopy;
    import com.pulumi.aws.ec2.AmiCopyArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new AmiCopy("example", AmiCopyArgs.builder()
                .name("example")
                .description("A copy of ami-xxxxxxxx")
                .sourceAmiId("ami-xxxxxxxx")
                .sourceAmiRegion("us-west-1")
                .tags(Map.of("Name", "HelloWorld"))
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:ec2:AmiCopy
        properties:
          name: example
          description: A copy of ami-xxxxxxxx
          sourceAmiId: ami-xxxxxxxx
          sourceAmiRegion: us-west-1
          tags:
            Name: HelloWorld
    

    Create AmiCopy Resource

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

    Constructor syntax

    new AmiCopy(name: string, args: AmiCopyArgs, opts?: CustomResourceOptions);
    @overload
    def AmiCopy(resource_name: str,
                args: AmiCopyArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def AmiCopy(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                source_ami_id: Optional[str] = None,
                source_ami_region: Optional[str] = None,
                deprecation_time: Optional[str] = None,
                description: Optional[str] = None,
                destination_outpost_arn: 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,
                tags: Optional[Mapping[str, str]] = None)
    func NewAmiCopy(ctx *Context, name string, args AmiCopyArgs, opts ...ResourceOption) (*AmiCopy, error)
    public AmiCopy(string name, AmiCopyArgs args, CustomResourceOptions? opts = null)
    public AmiCopy(String name, AmiCopyArgs args)
    public AmiCopy(String name, AmiCopyArgs args, CustomResourceOptions options)
    
    type: aws:ec2:AmiCopy
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args 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.
    name String
    The unique name of the resource.
    args AmiCopyArgs
    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 amiCopyResource = new Aws.Ec2.AmiCopy("amiCopyResource", new()
    {
        SourceAmiId = "string",
        SourceAmiRegion = "string",
        DeprecationTime = "string",
        Description = "string",
        DestinationOutpostArn = "string",
        EbsBlockDevices = new[]
        {
            new Aws.Ec2.Inputs.AmiCopyEbsBlockDeviceArgs
            {
                DeleteOnTermination = false,
                DeviceName = "string",
                Encrypted = false,
                Iops = 0,
                OutpostArn = "string",
                SnapshotId = "string",
                Throughput = 0,
                VolumeSize = 0,
                VolumeType = "string",
            },
        },
        Encrypted = false,
        EphemeralBlockDevices = new[]
        {
            new Aws.Ec2.Inputs.AmiCopyEphemeralBlockDeviceArgs
            {
                DeviceName = "string",
                VirtualName = "string",
            },
        },
        KmsKeyId = "string",
        Name = "string",
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := ec2.NewAmiCopy(ctx, "amiCopyResource", &ec2.AmiCopyArgs{
    	SourceAmiId:           pulumi.String("string"),
    	SourceAmiRegion:       pulumi.String("string"),
    	DeprecationTime:       pulumi.String("string"),
    	Description:           pulumi.String("string"),
    	DestinationOutpostArn: pulumi.String("string"),
    	EbsBlockDevices: ec2.AmiCopyEbsBlockDeviceArray{
    		&ec2.AmiCopyEbsBlockDeviceArgs{
    			DeleteOnTermination: pulumi.Bool(false),
    			DeviceName:          pulumi.String("string"),
    			Encrypted:           pulumi.Bool(false),
    			Iops:                pulumi.Int(0),
    			OutpostArn:          pulumi.String("string"),
    			SnapshotId:          pulumi.String("string"),
    			Throughput:          pulumi.Int(0),
    			VolumeSize:          pulumi.Int(0),
    			VolumeType:          pulumi.String("string"),
    		},
    	},
    	Encrypted: pulumi.Bool(false),
    	EphemeralBlockDevices: ec2.AmiCopyEphemeralBlockDeviceArray{
    		&ec2.AmiCopyEphemeralBlockDeviceArgs{
    			DeviceName:  pulumi.String("string"),
    			VirtualName: pulumi.String("string"),
    		},
    	},
    	KmsKeyId: pulumi.String("string"),
    	Name:     pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var amiCopyResource = new AmiCopy("amiCopyResource", AmiCopyArgs.builder()
        .sourceAmiId("string")
        .sourceAmiRegion("string")
        .deprecationTime("string")
        .description("string")
        .destinationOutpostArn("string")
        .ebsBlockDevices(AmiCopyEbsBlockDeviceArgs.builder()
            .deleteOnTermination(false)
            .deviceName("string")
            .encrypted(false)
            .iops(0)
            .outpostArn("string")
            .snapshotId("string")
            .throughput(0)
            .volumeSize(0)
            .volumeType("string")
            .build())
        .encrypted(false)
        .ephemeralBlockDevices(AmiCopyEphemeralBlockDeviceArgs.builder()
            .deviceName("string")
            .virtualName("string")
            .build())
        .kmsKeyId("string")
        .name("string")
        .tags(Map.of("string", "string"))
        .build());
    
    ami_copy_resource = aws.ec2.AmiCopy("amiCopyResource",
        source_ami_id="string",
        source_ami_region="string",
        deprecation_time="string",
        description="string",
        destination_outpost_arn="string",
        ebs_block_devices=[{
            "deleteOnTermination": False,
            "deviceName": "string",
            "encrypted": False,
            "iops": 0,
            "outpostArn": "string",
            "snapshotId": "string",
            "throughput": 0,
            "volumeSize": 0,
            "volumeType": "string",
        }],
        encrypted=False,
        ephemeral_block_devices=[{
            "deviceName": "string",
            "virtualName": "string",
        }],
        kms_key_id="string",
        name="string",
        tags={
            "string": "string",
        })
    
    const amiCopyResource = new aws.ec2.AmiCopy("amiCopyResource", {
        sourceAmiId: "string",
        sourceAmiRegion: "string",
        deprecationTime: "string",
        description: "string",
        destinationOutpostArn: "string",
        ebsBlockDevices: [{
            deleteOnTermination: false,
            deviceName: "string",
            encrypted: false,
            iops: 0,
            outpostArn: "string",
            snapshotId: "string",
            throughput: 0,
            volumeSize: 0,
            volumeType: "string",
        }],
        encrypted: false,
        ephemeralBlockDevices: [{
            deviceName: "string",
            virtualName: "string",
        }],
        kmsKeyId: "string",
        name: "string",
        tags: {
            string: "string",
        },
    });
    
    type: aws:ec2:AmiCopy
    properties:
        deprecationTime: string
        description: string
        destinationOutpostArn: string
        ebsBlockDevices:
            - deleteOnTermination: false
              deviceName: string
              encrypted: false
              iops: 0
              outpostArn: string
              snapshotId: string
              throughput: 0
              volumeSize: 0
              volumeType: string
        encrypted: false
        ephemeralBlockDevices:
            - deviceName: string
              virtualName: string
        kmsKeyId: string
        name: string
        sourceAmiId: string
        sourceAmiRegion: string
        tags:
            string: string
    

    AmiCopy Resource Properties

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

    Inputs

    The AmiCopy resource accepts the following input properties:

    SourceAmiId string
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    SourceAmiRegion string
    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.
    DeprecationTime string
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    Description string
    Longer, human-readable description for the AMI.
    DestinationOutpostArn string
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    EbsBlockDevices List<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
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    EphemeralBlockDevices List<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
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    Name string
    Region-unique name for the AMI.
    Tags Dictionary<string, string>
    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.
    SourceAmiId string
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    SourceAmiRegion string
    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.
    DeprecationTime string
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    Description string
    Longer, human-readable description for the AMI.
    DestinationOutpostArn string
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    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 bool
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    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
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    Name string
    Region-unique name for the AMI.
    Tags map[string]string
    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.
    sourceAmiId String
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    sourceAmiRegion String
    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.
    deprecationTime String
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    description String
    Longer, human-readable description for the AMI.
    destinationOutpostArn String
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    ebsBlockDevices List<AmiCopyEbsBlockDevice>
    Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
    encrypted Boolean
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    ephemeralBlockDevices List<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
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    name String
    Region-unique name for the AMI.
    tags Map<String,String>
    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.
    sourceAmiId string
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    sourceAmiRegion string
    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.
    deprecationTime string
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    description string
    Longer, human-readable description for the AMI.
    destinationOutpostArn string
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    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 boolean
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    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
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    name string
    Region-unique name for the AMI.
    tags {[key: string]: string}
    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.
    source_ami_id str
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    source_ami_region str
    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.
    deprecation_time str
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    description str
    Longer, human-readable description for the AMI.
    destination_outpost_arn str
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    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
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    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
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    name str
    Region-unique name for the AMI.
    tags Mapping[str, str]
    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.
    sourceAmiId String
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    sourceAmiRegion String
    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.
    deprecationTime String
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    description String
    Longer, human-readable description for the AMI.
    destinationOutpostArn String
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    ebsBlockDevices List<Property Map>
    Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
    encrypted Boolean
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    ephemeralBlockDevices List<Property Map>
    Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
    kmsKeyId String
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    name String
    Region-unique name for the AMI.
    tags Map<String>
    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.

    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
    ARN of the AMI.
    BootMode string
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    EnaSupport bool
    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
    ImdsSupport string
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    KernelId string
    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
    ID of an initrd image (ARI) that will be used when booting the created instances.
    RootDeviceName string
    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.
    TagsAll Dictionary<string, string>

    Deprecated: Please use tags instead.

    TpmSupport string
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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
    ARN of the AMI.
    BootMode string
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    EnaSupport bool
    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
    ImdsSupport string
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    KernelId string
    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
    ID of an initrd image (ARI) that will be used when booting the created instances.
    RootDeviceName string
    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.
    TagsAll map[string]string

    Deprecated: Please use tags instead.

    TpmSupport string
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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
    ARN of the AMI.
    bootMode String
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    enaSupport Boolean
    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
    imdsSupport String
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    kernelId String
    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
    ID of an initrd image (ARI) that will be used when booting the created instances.
    rootDeviceName String
    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.
    tagsAll Map<String,String>

    Deprecated: Please use tags instead.

    tpmSupport String
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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
    ARN of the AMI.
    bootMode string
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    enaSupport boolean
    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
    imdsSupport string
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    kernelId string
    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
    ID of an initrd image (ARI) that will be used when booting the created instances.
    rootDeviceName string
    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.
    tagsAll {[key: string]: string}

    Deprecated: Please use tags instead.

    tpmSupport string
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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
    ARN of the AMI.
    boot_mode str
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    ena_support bool
    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
    imds_support str
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    kernel_id str
    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
    ID of an initrd image (ARI) that will be used when booting the created instances.
    root_device_name str
    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.
    tags_all Mapping[str, str]

    Deprecated: Please use tags instead.

    tpm_support str
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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.
    architecture String
    Machine architecture for created instances. Defaults to "x86_64".
    arn String
    ARN of the AMI.
    bootMode String
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    enaSupport Boolean
    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
    imdsSupport String
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    kernelId String
    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
    ID of an initrd image (ARI) that will be used when booting the created instances.
    rootDeviceName String
    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.
    tagsAll Map<String>

    Deprecated: Please use tags instead.

    tpmSupport String
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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.

    Look up 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,
            boot_mode: Optional[str] = None,
            deprecation_time: Optional[str] = None,
            description: Optional[str] = None,
            destination_outpost_arn: 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,
            imds_support: 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,
            tpm_support: Optional[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)
    public static AmiCopy get(String name, Output<String> id, AmiCopyState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Architecture string
    Machine architecture for created instances. Defaults to "x86_64".
    Arn string
    ARN of the AMI.
    BootMode string
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    DeprecationTime string
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    Description string
    Longer, human-readable description for the AMI.
    DestinationOutpostArn string
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    EbsBlockDevices List<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
    Whether enhanced networking with ENA is enabled. Defaults to false.
    Encrypted bool
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    EphemeralBlockDevices List<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
    ImdsSupport string
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    KernelId string
    ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
    KmsKeyId string
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    ManageEbsSnapshots bool
    Name string
    Region-unique name for the AMI.
    OwnerId string
    Platform string
    PlatformDetails string
    Public bool
    RamdiskId string
    ID of an initrd image (ARI) that will be used when booting the created instances.
    RootDeviceName string
    Name of the root device (for example, /dev/sda1, or /dev/xvda).
    RootSnapshotId string
    SourceAmiId string
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    SourceAmiRegion string
    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>
    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>

    Deprecated: Please use tags instead.

    TpmSupport string
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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
    ARN of the AMI.
    BootMode string
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    DeprecationTime string
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    Description string
    Longer, human-readable description for the AMI.
    DestinationOutpostArn string
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    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 bool
    Whether enhanced networking with ENA is enabled. Defaults to false.
    Encrypted bool
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    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
    ImdsSupport string
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    KernelId string
    ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
    KmsKeyId string
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    ManageEbsSnapshots bool
    Name string
    Region-unique name for the AMI.
    OwnerId string
    Platform string
    PlatformDetails string
    Public bool
    RamdiskId string
    ID of an initrd image (ARI) that will be used when booting the created instances.
    RootDeviceName string
    Name of the root device (for example, /dev/sda1, or /dev/xvda).
    RootSnapshotId string
    SourceAmiId string
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    SourceAmiRegion string
    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
    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

    Deprecated: Please use tags instead.

    TpmSupport string
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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
    ARN of the AMI.
    bootMode String
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    deprecationTime String
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    description String
    Longer, human-readable description for the AMI.
    destinationOutpostArn String
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    ebsBlockDevices List<AmiCopyEbsBlockDevice>
    Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
    enaSupport Boolean
    Whether enhanced networking with ENA is enabled. Defaults to false.
    encrypted Boolean
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    ephemeralBlockDevices List<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
    imdsSupport String
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    kernelId String
    ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
    kmsKeyId String
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    manageEbsSnapshots Boolean
    name String
    Region-unique name for the AMI.
    ownerId String
    platform String
    platformDetails String
    public_ Boolean
    ramdiskId String
    ID of an initrd image (ARI) that will be used when booting the created instances.
    rootDeviceName String
    Name of the root device (for example, /dev/sda1, or /dev/xvda).
    rootSnapshotId String
    sourceAmiId String
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    sourceAmiRegion String
    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>
    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>

    Deprecated: Please use tags instead.

    tpmSupport String
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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
    ARN of the AMI.
    bootMode string
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    deprecationTime string
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    description string
    Longer, human-readable description for the AMI.
    destinationOutpostArn string
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    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 boolean
    Whether enhanced networking with ENA is enabled. Defaults to false.
    encrypted boolean
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    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
    imdsSupport string
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    kernelId string
    ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
    kmsKeyId string
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    manageEbsSnapshots boolean
    name string
    Region-unique name for the AMI.
    ownerId string
    platform string
    platformDetails string
    public boolean
    ramdiskId string
    ID of an initrd image (ARI) that will be used when booting the created instances.
    rootDeviceName string
    Name of the root device (for example, /dev/sda1, or /dev/xvda).
    rootSnapshotId string
    sourceAmiId string
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    sourceAmiRegion string
    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}
    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}

    Deprecated: Please use tags instead.

    tpmSupport string
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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
    ARN of the AMI.
    boot_mode str
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    deprecation_time str
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    description str
    Longer, human-readable description for the AMI.
    destination_outpost_arn str
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    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
    Whether enhanced networking with ENA is enabled. Defaults to false.
    encrypted bool
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    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
    imds_support str
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    kernel_id str
    ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
    kms_key_id str
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    manage_ebs_snapshots bool
    name str
    Region-unique name for the AMI.
    owner_id str
    platform str
    platform_details str
    public bool
    ramdisk_id str
    ID of an initrd image (ARI) that will be used when booting the created instances.
    root_device_name str
    Name of the root device (for example, /dev/sda1, or /dev/xvda).
    root_snapshot_id str
    source_ami_id str
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    source_ami_region str
    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]
    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]

    Deprecated: Please use tags instead.

    tpm_support str
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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.
    architecture String
    Machine architecture for created instances. Defaults to "x86_64".
    arn String
    ARN of the AMI.
    bootMode String
    Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
    deprecationTime String
    Date and time to deprecate the AMI. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)
    description String
    Longer, human-readable description for the AMI.
    destinationOutpostArn String
    ARN of the Outpost to which to copy the AMI. Only specify this parameter when copying an AMI from an AWS Region to an Outpost. The AMI must be in the Region of the destination Outpost.
    ebsBlockDevices List<Property Map>
    Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
    enaSupport Boolean
    Whether enhanced networking with ENA is enabled. Defaults to false.
    encrypted Boolean
    Whether the destination snapshots of the copied image should be encrypted. Defaults to false
    ephemeralBlockDevices List<Property Map>
    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
    imdsSupport String
    If EC2 instances started from this image should require the use of the Instance Metadata Service V2 (IMDSv2), set this argument to v2.0. For more information, see Configure instance metadata options for new instances.
    kernelId String
    ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
    kmsKeyId String
    Full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used
    manageEbsSnapshots Boolean
    name String
    Region-unique name for the AMI.
    ownerId String
    platform String
    platformDetails String
    public Boolean
    ramdiskId String
    ID of an initrd image (ARI) that will be used when booting the created instances.
    rootDeviceName String
    Name of the root device (for example, /dev/sda1, or /dev/xvda).
    rootSnapshotId String
    sourceAmiId String
    Id of the AMI to copy. This id must be valid in the region given by source_ami_region.
    sourceAmiRegion String
    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>
    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>

    Deprecated: Please use tags instead.

    tpmSupport String
    If the image is configured for NitroTPM support, the value is v2.0. For more information, see NitroTPM in the Amazon Elastic Compute Cloud User Guide.
    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.

    Supporting Types

    AmiCopyEbsBlockDevice, AmiCopyEbsBlockDeviceArgs

    DeleteOnTermination bool
    Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
    DeviceName string
    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.
    OutpostArn string

    ARN of the Outpost on which the snapshot is stored.

    Note: You can specify encrypted or snapshot_id but not both.

    SnapshotId string
    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
    Throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
    VolumeSize int
    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
    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
    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.
    OutpostArn string

    ARN of the Outpost on which the snapshot is stored.

    Note: You can specify encrypted or snapshot_id but not both.

    SnapshotId string
    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
    Throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
    VolumeSize int
    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
    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
    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 Integer
    Number of I/O operations per second the created volumes will support.
    outpostArn String

    ARN of the Outpost on which the snapshot is stored.

    Note: You can specify encrypted or snapshot_id but not both.

    snapshotId String
    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 Integer
    Throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
    volumeSize Integer
    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
    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
    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.
    outpostArn string

    ARN of the Outpost on which the snapshot is stored.

    Note: You can specify encrypted or snapshot_id but not both.

    snapshotId string
    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
    Throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
    volumeSize number
    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
    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
    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.
    outpost_arn str

    ARN of the Outpost on which the snapshot is stored.

    Note: You can specify encrypted or snapshot_id but not both.

    snapshot_id str
    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
    Throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
    volume_size int
    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
    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
    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.
    outpostArn String

    ARN of the Outpost on which the snapshot is stored.

    Note: You can specify encrypted or snapshot_id but not both.

    snapshotId String
    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
    Throughput that the EBS volume supports, in MiB/s. Only valid for volume_type of gp3.
    volumeSize Number
    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
    Type of EBS volume to create. Can be standard, gp2, gp3, io1, io2, sc1 or st1 (Default: standard).

    AmiCopyEphemeralBlockDevice, AmiCopyEphemeralBlockDeviceArgs

    DeviceName string
    Path at which the device is exposed to created instances.
    VirtualName string
    Name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
    DeviceName string
    Path at which the device is exposed to created instances.
    VirtualName string
    Name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
    deviceName String
    Path at which the device is exposed to created instances.
    virtualName String
    Name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
    deviceName string
    Path at which the device is exposed to created instances.
    virtualName string
    Name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
    device_name str
    Path at which the device is exposed to created instances.
    virtual_name str
    Name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
    deviceName String
    Path at which the device is exposed to created instances.
    virtualName String
    Name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.

    Package Details

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

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

    AWS Classic v6.46.0 published on Wednesday, Jul 24, 2024 by Pulumi