aws.ec2.AmiCopy
Explore with Pulumi AI
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:
- Source
Ami stringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - Source
Ami stringRegion - 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 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.
- Destination
Outpost stringArn - 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 List<AmiDevices Copy Ebs Block Device> - 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 List<AmiDevices Copy Ephemeral Block Device> - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- Kms
Key stringId - 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.
- 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.
- Source
Ami stringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - Source
Ami stringRegion - 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 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.
- Destination
Outpost stringArn - 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 []AmiDevices Copy Ebs Block Device Args - 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 []AmiDevices Copy Ephemeral Block Device Args - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- Kms
Key stringId - 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.
- 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.
- source
Ami StringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - source
Ami StringRegion - 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 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.
- destination
Outpost StringArn - 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 List<AmiDevices Copy Ebs Block Device> - 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
- ephemeral
Block List<AmiDevices Copy Ephemeral Block Device> - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- kms
Key StringId - 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.
- 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.
- source
Ami stringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - source
Ami stringRegion - 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 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.
- destination
Outpost stringArn - 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 AmiDevices Copy Ebs Block Device[] - 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
- ephemeral
Block AmiDevices Copy Ephemeral Block Device[] - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- kms
Key stringId - 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.
- {[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_ strid - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - source_
ami_ strregion - 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_ strarn - 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_ Sequence[Amidevices Copy Ebs Block Device Args] - 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_ Sequence[Amidevices Copy Ephemeral Block Device Args] - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- kms_
key_ strid - 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.
- 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.
- source
Ami StringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - source
Ami StringRegion - 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 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.
- destination
Outpost StringArn - 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 List<Property Map>Devices - 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
- ephemeral
Block List<Property Map>Devices - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- kms
Key StringId - 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.
- 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.
- Boot
Mode string - 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 string
- Id string
- The provider-assigned unique ID for this managed resource.
- Image
Location 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. - Image
Owner stringAlias - Image
Type string - Imds
Support 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. - Kernel
Id string - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- Manage
Ebs boolSnapshots - Owner
Id string - Platform string
- Platform
Details string - Public bool
- Ramdisk
Id string - ID of an initrd image (ARI) that will be used when booting the created instances.
- Root
Device stringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - Root
Snapshot stringId - Sriov
Net stringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- Dictionary<string, string>
- Tpm
Support 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. - Usage
Operation string - Virtualization
Type 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.
- Boot
Mode string - 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 string
- Id string
- The provider-assigned unique ID for this managed resource.
- Image
Location 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. - Image
Owner stringAlias - Image
Type string - Imds
Support 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. - Kernel
Id string - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- Manage
Ebs boolSnapshots - Owner
Id string - Platform string
- Platform
Details string - Public bool
- Ramdisk
Id string - ID of an initrd image (ARI) that will be used when booting the created instances.
- Root
Device stringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - Root
Snapshot stringId - Sriov
Net stringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- map[string]string
- Tpm
Support 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. - Usage
Operation string - Virtualization
Type 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.
- boot
Mode String - Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- ena
Support Boolean - Whether enhanced networking with ENA is enabled. Defaults to
false
. - hypervisor String
- id String
- The provider-assigned unique ID for this managed resource.
- image
Location 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. - image
Owner StringAlias - image
Type String - imds
Support 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. - kernel
Id String - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- manage
Ebs BooleanSnapshots - owner
Id String - platform String
- platform
Details String - public_ Boolean
- ramdisk
Id String - ID of an initrd image (ARI) that will be used when booting the created instances.
- root
Device StringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - root
Snapshot StringId - sriov
Net StringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- Map<String,String>
- tpm
Support 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. - usage
Operation String - virtualization
Type 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.
- boot
Mode string - Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- ena
Support boolean - Whether enhanced networking with ENA is enabled. Defaults to
false
. - hypervisor string
- id string
- The provider-assigned unique ID for this managed resource.
- image
Location 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. - image
Owner stringAlias - image
Type string - imds
Support 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. - kernel
Id string - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- manage
Ebs booleanSnapshots - owner
Id string - platform string
- platform
Details string - public boolean
- ramdisk
Id string - ID of an initrd image (ARI) that will be used when booting the created instances.
- root
Device stringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - root
Snapshot stringId - sriov
Net stringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- {[key: string]: string}
- tpm
Support 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. - usage
Operation string - virtualization
Type 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_ stralias - 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_ boolsnapshots - 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_ strname - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - root_
snapshot_ strid - sriov_
net_ strsupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- Mapping[str, str]
- 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.
- boot
Mode String - Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- ena
Support Boolean - Whether enhanced networking with ENA is enabled. Defaults to
false
. - hypervisor String
- id String
- The provider-assigned unique ID for this managed resource.
- image
Location 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. - image
Owner StringAlias - image
Type String - imds
Support 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. - kernel
Id String - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- manage
Ebs BooleanSnapshots - owner
Id String - platform String
- platform
Details String - public Boolean
- ramdisk
Id String - ID of an initrd image (ARI) that will be used when booting the created instances.
- root
Device StringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - root
Snapshot StringId - sriov
Net StringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- Map<String>
- tpm
Support 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. - usage
Operation String - virtualization
Type 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.
- Architecture string
- Machine architecture for created instances. Defaults to "x86_64".
- Arn string
- ARN of the AMI.
- Boot
Mode string - Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- Deprecation
Time 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.
- Destination
Outpost stringArn - 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 List<AmiDevices Copy Ebs Block Device> - 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 List<AmiDevices Copy Ephemeral Block Device> - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- Hypervisor string
- Image
Location 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. - Image
Owner stringAlias - Image
Type string - Imds
Support 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. - Kernel
Id string - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- Kms
Key stringId - 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 boolSnapshots - Name string
- Region-unique name for the AMI.
- Owner
Id string - Platform string
- Platform
Details string - Public bool
- Ramdisk
Id string - ID of an initrd image (ARI) that will be used when booting the created instances.
- Root
Device stringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - Root
Snapshot stringId - Source
Ami stringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - Source
Ami stringRegion - 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 stringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- 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. - Dictionary<string, string>
- Tpm
Support 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. - Usage
Operation string - Virtualization
Type 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.
- Boot
Mode string - Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- Deprecation
Time 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.
- Destination
Outpost stringArn - 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 []AmiDevices Copy Ebs Block Device Args - 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 []AmiDevices Copy Ephemeral Block Device Args - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- Hypervisor string
- Image
Location 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. - Image
Owner stringAlias - Image
Type string - Imds
Support 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. - Kernel
Id string - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- Kms
Key stringId - 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 boolSnapshots - Name string
- Region-unique name for the AMI.
- Owner
Id string - Platform string
- Platform
Details string - Public bool
- Ramdisk
Id string - ID of an initrd image (ARI) that will be used when booting the created instances.
- Root
Device stringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - Root
Snapshot stringId - Source
Ami stringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - Source
Ami stringRegion - 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 stringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- 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. - map[string]string
- Tpm
Support 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. - Usage
Operation string - Virtualization
Type 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.
- boot
Mode String - Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- deprecation
Time 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.
- destination
Outpost StringArn - 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 List<AmiDevices Copy Ebs Block Device> - Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
- ena
Support 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
- ephemeral
Block List<AmiDevices Copy Ephemeral Block Device> - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- hypervisor String
- image
Location 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. - image
Owner StringAlias - image
Type String - imds
Support 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. - kernel
Id String - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- kms
Key StringId - 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 BooleanSnapshots - name String
- Region-unique name for the AMI.
- owner
Id String - platform String
- platform
Details String - public_ Boolean
- ramdisk
Id String - ID of an initrd image (ARI) that will be used when booting the created instances.
- root
Device StringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - root
Snapshot StringId - source
Ami StringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - source
Ami StringRegion - 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 StringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- 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. - Map<String,String>
- tpm
Support 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. - usage
Operation String - virtualization
Type 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.
- boot
Mode string - Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- deprecation
Time 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.
- destination
Outpost stringArn - 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 AmiDevices Copy Ebs Block Device[] - Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
- ena
Support 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
- ephemeral
Block AmiDevices Copy Ephemeral Block Device[] - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- hypervisor string
- image
Location 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. - image
Owner stringAlias - image
Type string - imds
Support 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. - kernel
Id string - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- kms
Key stringId - 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 booleanSnapshots - name string
- Region-unique name for the AMI.
- owner
Id string - platform string
- platform
Details string - public boolean
- ramdisk
Id string - ID of an initrd image (ARI) that will be used when booting the created instances.
- root
Device stringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - root
Snapshot stringId - source
Ami stringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - source
Ami stringRegion - 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 stringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- {[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. - {[key: string]: string}
- tpm
Support 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. - usage
Operation string - virtualization
Type 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_ strarn - 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_ Sequence[Amidevices Copy Ebs Block Device Args] - 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_ Sequence[Amidevices Copy Ephemeral Block Device Args] - 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_ stralias - 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_ strid - 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_ boolsnapshots - 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_ strname - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - root_
snapshot_ strid - source_
ami_ strid - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - source_
ami_ strregion - 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_ strsupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- 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. - Mapping[str, str]
- 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.
- boot
Mode String - Boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- deprecation
Time 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.
- destination
Outpost StringArn - 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 List<Property Map>Devices - Nested block describing an EBS block device that should be attached to created instances. The structure of this block is described below.
- ena
Support 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
- ephemeral
Block List<Property Map>Devices - Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- hypervisor String
- image
Location 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. - image
Owner StringAlias - image
Type String - imds
Support 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. - kernel
Id String - ID of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- kms
Key StringId - 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 BooleanSnapshots - name String
- Region-unique name for the AMI.
- owner
Id String - platform String
- platform
Details String - public Boolean
- ramdisk
Id String - ID of an initrd image (ARI) that will be used when booting the created instances.
- root
Device StringName - Name of the root device (for example,
/dev/sda1
, or/dev/xvda
). - root
Snapshot StringId - source
Ami StringId - Id of the AMI to copy. This id must be valid in the region
given by
source_ami_region
. - source
Ami StringRegion - 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 StringSupport - When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- 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. - Map<String>
- tpm
Support 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. - usage
Operation String - virtualization
Type 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
- Delete
On boolTermination - Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- Device
Name 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.
- Outpost
Arn string ARN of the Outpost on which the snapshot is stored.
Note: You can specify
encrypted
orsnapshot_id
but not both.- Snapshot
Id 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
ofgp3
. - Volume
Size int - Size of created volumes in GiB.
If
snapshot_id
is set andvolume_size
is omitted then the volume will have the same size as the selected snapshot. - Volume
Type string - Type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
- Delete
On boolTermination - Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- Device
Name 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.
- Outpost
Arn string ARN of the Outpost on which the snapshot is stored.
Note: You can specify
encrypted
orsnapshot_id
but not both.- Snapshot
Id 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
ofgp3
. - Volume
Size int - Size of created volumes in GiB.
If
snapshot_id
is set andvolume_size
is omitted then the volume will have the same size as the selected snapshot. - Volume
Type string - Type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
- delete
On BooleanTermination - Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- device
Name 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.
- outpost
Arn String ARN of the Outpost on which the snapshot is stored.
Note: You can specify
encrypted
orsnapshot_id
but not both.- snapshot
Id 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
ofgp3
. - volume
Size Integer - Size of created volumes in GiB.
If
snapshot_id
is set andvolume_size
is omitted then the volume will have the same size as the selected snapshot. - volume
Type String - Type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
- delete
On booleanTermination - Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- device
Name 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.
- outpost
Arn string ARN of the Outpost on which the snapshot is stored.
Note: You can specify
encrypted
orsnapshot_id
but not both.- snapshot
Id 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
ofgp3
. - volume
Size number - Size of created volumes in GiB.
If
snapshot_id
is set andvolume_size
is omitted then the volume will have the same size as the selected snapshot. - volume
Type string - Type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
- delete_
on_ booltermination - 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
orsnapshot_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
ofgp3
. - volume_
size int - Size of created volumes in GiB.
If
snapshot_id
is set andvolume_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
orst1
(Default:standard
).
- delete
On BooleanTermination - Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- device
Name 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.
- outpost
Arn String ARN of the Outpost on which the snapshot is stored.
Note: You can specify
encrypted
orsnapshot_id
but not both.- snapshot
Id 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
ofgp3
. - volume
Size Number - Size of created volumes in GiB.
If
snapshot_id
is set andvolume_size
is omitted then the volume will have the same size as the selected snapshot. - volume
Type String - Type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
AmiCopyEphemeralBlockDevice, AmiCopyEphemeralBlockDeviceArgs
- Device
Name string - Path at which the device is exposed to created instances.
- Virtual
Name string - Name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
- Device
Name string - Path at which the device is exposed to created instances.
- Virtual
Name string - Name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
- device
Name String - Path at which the device is exposed to created instances.
- virtual
Name String - Name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
- device
Name string - Path at which the device is exposed to created instances.
- virtual
Name 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.
- device
Name String - Path at which the device is exposed to created instances.
- virtual
Name 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.