AWS Classic
Ami
The AMI resource allows the creation and management of a completely-custom Amazon Machine Image (AMI).
If you just want to duplicate an existing AMI, possibly copying it to another
region, it’s better to use aws.ec2.AmiCopy
instead.
If you just want to share an existing AMI with another AWS account,
it’s better to use aws.ec2.AmiLaunchPermission
instead.
Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
// Create an AMI that will start a machine whose root device is backed by
// an EBS volume populated from a snapshot. It is assumed that such a snapshot
// already exists with the id "snap-xxxxxxxx".
var example = new Aws.Ec2.Ami("example", new Aws.Ec2.AmiArgs
{
EbsBlockDevices =
{
new Aws.Ec2.Inputs.AmiEbsBlockDeviceArgs
{
DeviceName = "/dev/xvda",
SnapshotId = "snap-xxxxxxxx",
VolumeSize = 8,
},
},
RootDeviceName = "/dev/xvda",
VirtualizationType = "hvm",
});
}
}
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ec2.NewAmi(ctx, "example", &ec2.AmiArgs{
EbsBlockDevices: ec2.AmiEbsBlockDeviceArray{
&ec2.AmiEbsBlockDeviceArgs{
DeviceName: pulumi.String("/dev/xvda"),
SnapshotId: pulumi.String("snap-xxxxxxxx"),
VolumeSize: pulumi.Int(8),
},
},
RootDeviceName: pulumi.String("/dev/xvda"),
VirtualizationType: pulumi.String("hvm"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Ami("example", AmiArgs.builder()
.ebsBlockDevices(AmiEbsBlockDevice.builder()
.deviceName("/dev/xvda")
.snapshotId("snap-xxxxxxxx")
.volumeSize(8)
.build())
.rootDeviceName("/dev/xvda")
.virtualizationType("hvm")
.build());
}
}
import pulumi
import pulumi_aws as aws
# Create an AMI that will start a machine whose root device is backed by
# an EBS volume populated from a snapshot. It is assumed that such a snapshot
# already exists with the id "snap-xxxxxxxx".
example = aws.ec2.Ami("example",
ebs_block_devices=[aws.ec2.AmiEbsBlockDeviceArgs(
device_name="/dev/xvda",
snapshot_id="snap-xxxxxxxx",
volume_size=8,
)],
root_device_name="/dev/xvda",
virtualization_type="hvm")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// Create an AMI that will start a machine whose root device is backed by
// an EBS volume populated from a snapshot. It is assumed that such a snapshot
// already exists with the id "snap-xxxxxxxx".
const example = new aws.ec2.Ami("example", {
ebsBlockDevices: [{
deviceName: "/dev/xvda",
snapshotId: "snap-xxxxxxxx",
volumeSize: 8,
}],
rootDeviceName: "/dev/xvda",
virtualizationType: "hvm",
});
resources:
example:
type: aws:ec2:Ami
properties:
ebsBlockDevices:
- deviceName: /dev/xvda
snapshotId: snap-xxxxxxxx
volumeSize: 8
rootDeviceName: /dev/xvda
virtualizationType: hvm
Create a Ami Resource
new Ami(name: string, args?: AmiArgs, opts?: CustomResourceOptions);
@overload
def Ami(resource_name: str,
opts: Optional[ResourceOptions] = None,
architecture: Optional[str] = None,
boot_mode: Optional[str] = None,
description: Optional[str] = None,
ebs_block_devices: Optional[Sequence[AmiEbsBlockDeviceArgs]] = None,
ena_support: Optional[bool] = None,
ephemeral_block_devices: Optional[Sequence[AmiEphemeralBlockDeviceArgs]] = None,
image_location: Optional[str] = None,
kernel_id: Optional[str] = None,
name: Optional[str] = None,
ramdisk_id: Optional[str] = None,
root_device_name: Optional[str] = None,
sriov_net_support: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
virtualization_type: Optional[str] = None)
@overload
def Ami(resource_name: str,
args: Optional[AmiArgs] = None,
opts: Optional[ResourceOptions] = None)
func NewAmi(ctx *Context, name string, args *AmiArgs, opts ...ResourceOption) (*Ami, error)
public Ami(string name, AmiArgs? args = null, CustomResourceOptions? opts = null)
type: aws:ec2:Ami
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AmiArgs
- 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 AmiArgs
- 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 AmiArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AmiArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args AmiArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Ami 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 Ami resource accepts the following input properties:
- Architecture string
Machine architecture for created instances. Defaults to "x86_64".
- Boot
Mode string The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- Description string
A longer, human-readable description for the AMI.
- Ebs
Block List<Pulumi.Devices Aws. Ec2. Inputs. Ami 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 Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- Ephemeral
Block List<Pulumi.Devices Aws. Ec2. Inputs. Ami 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.
- 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.- Kernel
Id string The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- Name string
A region-unique name for the AMI.
- Ramdisk
Id string The id of an initrd image (ARI) that will be used when booting the created instances.
- Root
Device stringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- 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>
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- 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".
- Boot
Mode string The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- Description string
A longer, human-readable description for the AMI.
- Ebs
Block []AmiDevices 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 Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- Ephemeral
Block []AmiDevices 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.
- 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.- Kernel
Id string The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- Name string
A region-unique name for the AMI.
- Ramdisk
Id string The id of an initrd image (ARI) that will be used when booting the created instances.
- Root
Device stringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- 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
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- 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".
- boot
Mode String The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- description String
A longer, human-readable description for the AMI.
- ebs
Block ListDevices 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 Boolean Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- ephemeral
Block ListDevices 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.
- 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.- kernel
Id String The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- name String
A region-unique name for the AMI.
- ramdisk
Id String The id of an initrd image (ARI) that will be used when booting the created instances.
- root
Device StringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- sriov
Net StringSupport When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- Map
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- 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".
- boot
Mode string The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- description string
A longer, human-readable description for the AMI.
- ebs
Block AmiDevices 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 boolean Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- ephemeral
Block AmiDevices 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.
- 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.- kernel
Id string The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- name string
A region-unique name for the AMI.
- ramdisk
Id string The id of an initrd image (ARI) that will be used when booting the created instances.
- root
Device stringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- 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}
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- 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".
- boot_
mode str The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- description str
A longer, human-readable description for the AMI.
- ebs_
block_ Sequence[Amidevices 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 Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- ephemeral_
block_ Sequence[Amidevices 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.
- 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.- kernel_
id str The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- name str
A region-unique name for the AMI.
- ramdisk_
id str The id of an initrd image (ARI) that will be used when booting the created instances.
- root_
device_ strname The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- 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]
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- 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".
- boot
Mode String The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- description String
A longer, human-readable description for the AMI.
- ebs
Block ListDevices 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 Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- ephemeral
Block ListDevices Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- 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.- kernel
Id String The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- name String
A region-unique name for the AMI.
- ramdisk
Id String The id of an initrd image (ARI) that will be used when booting the created instances.
- root
Device StringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- sriov
Net StringSupport When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- Map
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- 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.
Outputs
All input properties are implicitly available as output properties. Additionally, the Ami resource produces the following output properties:
- Arn string
The ARN of the AMI.
- Hypervisor string
The hypervisor type of the image.
- Id string
The provider-assigned unique ID for this managed resource.
- Image
Owner stringAlias The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- Image
Type string The type of image.
- Manage
Ebs boolSnapshots - Owner
Id string The AWS account ID of the image owner.
- Platform string
This value is set to windows for Windows AMIs; otherwise, it is blank.
- Platform
Details string The platform details associated with the billing code of the AMI.
- Public bool
Indicates whether the image has public launch permissions.
- Root
Snapshot stringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider .
- Usage
Operation string The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- Arn string
The ARN of the AMI.
- Hypervisor string
The hypervisor type of the image.
- Id string
The provider-assigned unique ID for this managed resource.
- Image
Owner stringAlias The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- Image
Type string The type of image.
- Manage
Ebs boolSnapshots - Owner
Id string The AWS account ID of the image owner.
- Platform string
This value is set to windows for Windows AMIs; otherwise, it is blank.
- Platform
Details string The platform details associated with the billing code of the AMI.
- Public bool
Indicates whether the image has public launch permissions.
- Root
Snapshot stringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- map[string]string
A map of tags assigned to the resource, including those inherited from the provider .
- Usage
Operation string The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- arn String
The ARN of the AMI.
- hypervisor String
The hypervisor type of the image.
- id String
The provider-assigned unique ID for this managed resource.
- image
Owner StringAlias The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- image
Type String The type of image.
- manage
Ebs BooleanSnapshots - owner
Id String The AWS account ID of the image owner.
- platform String
This value is set to windows for Windows AMIs; otherwise, it is blank.
- platform
Details String The platform details associated with the billing code of the AMI.
- public_ Boolean
Indicates whether the image has public launch permissions.
- root
Snapshot StringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- Map
A map of tags assigned to the resource, including those inherited from the provider .
- usage
Operation String The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- arn string
The ARN of the AMI.
- hypervisor string
The hypervisor type of the image.
- id string
The provider-assigned unique ID for this managed resource.
- image
Owner stringAlias The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- image
Type string The type of image.
- manage
Ebs booleanSnapshots - owner
Id string The AWS account ID of the image owner.
- platform string
This value is set to windows for Windows AMIs; otherwise, it is blank.
- platform
Details string The platform details associated with the billing code of the AMI.
- public boolean
Indicates whether the image has public launch permissions.
- root
Snapshot stringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider .
- usage
Operation string The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- arn str
The ARN of the AMI.
- hypervisor str
The hypervisor type of the image.
- id str
The provider-assigned unique ID for this managed resource.
- image_
owner_ stralias The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- image_
type str The type of image.
- manage_
ebs_ boolsnapshots - owner_
id str The AWS account ID of the image owner.
- platform str
This value is set to windows for Windows AMIs; otherwise, it is blank.
- platform_
details str The platform details associated with the billing code of the AMI.
- public bool
Indicates whether the image has public launch permissions.
- root_
snapshot_ strid The Snapshot ID for the root volume (for EBS-backed AMIs)
- Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider .
- usage_
operation str The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- arn String
The ARN of the AMI.
- hypervisor String
The hypervisor type of the image.
- id String
The provider-assigned unique ID for this managed resource.
- image
Owner StringAlias The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- image
Type String The type of image.
- manage
Ebs BooleanSnapshots - owner
Id String The AWS account ID of the image owner.
- platform String
This value is set to windows for Windows AMIs; otherwise, it is blank.
- platform
Details String The platform details associated with the billing code of the AMI.
- public Boolean
Indicates whether the image has public launch permissions.
- root
Snapshot StringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- Map
A map of tags assigned to the resource, including those inherited from the provider .
- usage
Operation String The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
Look up an Existing Ami Resource
Get an existing Ami 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?: AmiState, opts?: CustomResourceOptions): Ami
@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,
description: Optional[str] = None,
ebs_block_devices: Optional[Sequence[AmiEbsBlockDeviceArgs]] = None,
ena_support: Optional[bool] = None,
ephemeral_block_devices: Optional[Sequence[AmiEphemeralBlockDeviceArgs]] = None,
hypervisor: Optional[str] = None,
image_location: Optional[str] = None,
image_owner_alias: Optional[str] = None,
image_type: Optional[str] = None,
kernel_id: Optional[str] = None,
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,
sriov_net_support: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None,
usage_operation: Optional[str] = None,
virtualization_type: Optional[str] = None) -> Ami
func GetAmi(ctx *Context, name string, id IDInput, state *AmiState, opts ...ResourceOption) (*Ami, error)
public static Ami Get(string name, Input<string> id, AmiState? state, CustomResourceOptions? opts = null)
public static Ami get(String name, Output<String> id, AmiState 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
The ARN of the AMI.
- Boot
Mode string The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- Description string
A longer, human-readable description for the AMI.
- Ebs
Block List<Pulumi.Devices Aws. Ec2. Inputs. Ami 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 Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- Ephemeral
Block List<Pulumi.Devices Aws. Ec2. Inputs. Ami 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
The hypervisor type of the image.
- 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 The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- Image
Type string The type of image.
- Kernel
Id string The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- Manage
Ebs boolSnapshots - Name string
A region-unique name for the AMI.
- Owner
Id string The AWS account ID of the image owner.
- Platform string
This value is set to windows for Windows AMIs; otherwise, it is blank.
- Platform
Details string The platform details associated with the billing code of the AMI.
- Public bool
Indicates whether the image has public launch permissions.
- Ramdisk
Id string The id of an initrd image (ARI) that will be used when booting the created instances.
- Root
Device stringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- Root
Snapshot stringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- 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>
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider .
- Usage
Operation string The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- 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
The ARN of the AMI.
- Boot
Mode string The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- Description string
A longer, human-readable description for the AMI.
- Ebs
Block []AmiDevices 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 Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- Ephemeral
Block []AmiDevices 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
The hypervisor type of the image.
- 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 The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- Image
Type string The type of image.
- Kernel
Id string The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- Manage
Ebs boolSnapshots - Name string
A region-unique name for the AMI.
- Owner
Id string The AWS account ID of the image owner.
- Platform string
This value is set to windows for Windows AMIs; otherwise, it is blank.
- Platform
Details string The platform details associated with the billing code of the AMI.
- Public bool
Indicates whether the image has public launch permissions.
- Ramdisk
Id string The id of an initrd image (ARI) that will be used when booting the created instances.
- Root
Device stringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- Root
Snapshot stringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- 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
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- map[string]string
A map of tags assigned to the resource, including those inherited from the provider .
- Usage
Operation string The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- 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
The ARN of the AMI.
- boot
Mode String The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- description String
A longer, human-readable description for the AMI.
- ebs
Block ListDevices 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 Boolean Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- ephemeral
Block ListDevices 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
The hypervisor type of the image.
- 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 The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- image
Type String The type of image.
- kernel
Id String The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- manage
Ebs BooleanSnapshots - name String
A region-unique name for the AMI.
- owner
Id String The AWS account ID of the image owner.
- platform String
This value is set to windows for Windows AMIs; otherwise, it is blank.
- platform
Details String The platform details associated with the billing code of the AMI.
- public_ Boolean
Indicates whether the image has public launch permissions.
- ramdisk
Id String The id of an initrd image (ARI) that will be used when booting the created instances.
- root
Device StringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- root
Snapshot StringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- sriov
Net StringSupport When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- Map
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Map
A map of tags assigned to the resource, including those inherited from the provider .
- usage
Operation String The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- 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
The ARN of the AMI.
- boot
Mode string The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- description string
A longer, human-readable description for the AMI.
- ebs
Block AmiDevices 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 boolean Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- ephemeral
Block AmiDevices 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
The hypervisor type of the image.
- 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 The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- image
Type string The type of image.
- kernel
Id string The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- manage
Ebs booleanSnapshots - name string
A region-unique name for the AMI.
- owner
Id string The AWS account ID of the image owner.
- platform string
This value is set to windows for Windows AMIs; otherwise, it is blank.
- platform
Details string The platform details associated with the billing code of the AMI.
- public boolean
Indicates whether the image has public launch permissions.
- ramdisk
Id string The id of an initrd image (ARI) that will be used when booting the created instances.
- root
Device stringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- root
Snapshot stringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- 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}
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider .
- usage
Operation string The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- 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
The ARN of the AMI.
- boot_
mode str The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- description str
A longer, human-readable description for the AMI.
- ebs_
block_ Sequence[Amidevices 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 Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- ephemeral_
block_ Sequence[Amidevices 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
The hypervisor type of the image.
- 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 The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- image_
type str The type of image.
- kernel_
id str The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- manage_
ebs_ boolsnapshots - name str
A region-unique name for the AMI.
- owner_
id str The AWS account ID of the image owner.
- platform str
This value is set to windows for Windows AMIs; otherwise, it is blank.
- platform_
details str The platform details associated with the billing code of the AMI.
- public bool
Indicates whether the image has public launch permissions.
- ramdisk_
id str The id of an initrd image (ARI) that will be used when booting the created instances.
- root_
device_ strname The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- root_
snapshot_ strid The Snapshot ID for the root volume (for EBS-backed AMIs)
- 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]
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider .
- usage_
operation str The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- 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
The ARN of the AMI.
- boot
Mode String The boot mode of the AMI. For more information, see Boot modes in the Amazon Elastic Compute Cloud User Guide.
- description String
A longer, human-readable description for the AMI.
- ebs
Block ListDevices 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 Specifies whether enhanced networking with ENA is enabled. Defaults to
false
.- ephemeral
Block ListDevices Nested block describing an ephemeral block device that should be attached to created instances. The structure of this block is described below.
- hypervisor String
The hypervisor type of the image.
- 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 The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.
- image
Type String The type of image.
- kernel
Id String The id of the kernel image (AKI) that will be used as the paravirtual kernel in created instances.
- manage
Ebs BooleanSnapshots - name String
A region-unique name for the AMI.
- owner
Id String The AWS account ID of the image owner.
- platform String
This value is set to windows for Windows AMIs; otherwise, it is blank.
- platform
Details String The platform details associated with the billing code of the AMI.
- public Boolean
Indicates whether the image has public launch permissions.
- ramdisk
Id String The id of an initrd image (ARI) that will be used when booting the created instances.
- root
Device StringName The name of the root device (for example,
/dev/sda1
, or/dev/xvda
).- root
Snapshot StringId The Snapshot ID for the root volume (for EBS-backed AMIs)
- sriov
Net StringSupport When set to "simple" (the default), enables enhanced networking for created instances. No other value is supported at this time.
- Map
A map of tags to assign to the resource. .If configured with a provider
default_tags
configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Map
A map of tags assigned to the resource, including those inherited from the provider .
- usage
Operation String The operation of the Amazon EC2 instance and the billing code that is associated with the AMI.
- 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
AmiEbsBlockDevice
- Device
Name string The path at which the device is exposed to created instances.
- Delete
On boolTermination Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- 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 The ARN of the Outpost on which the snapshot is stored.
- Snapshot
Id string The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the
volume_size
attribute must be at least as large as the referenced snapshot.- Throughput int
The throughput that the EBS volume supports, in MiB/s. Only valid for
volume_type
ofgp3
.- Volume
Size int The 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 The type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
- Device
Name string The path at which the device is exposed to created instances.
- Delete
On boolTermination Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- 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 The ARN of the Outpost on which the snapshot is stored.
- Snapshot
Id string The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the
volume_size
attribute must be at least as large as the referenced snapshot.- Throughput int
The throughput that the EBS volume supports, in MiB/s. Only valid for
volume_type
ofgp3
.- Volume
Size int The 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 The type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
- device
Name String The path at which the device is exposed to created instances.
- delete
On BooleanTermination Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- 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 The ARN of the Outpost on which the snapshot is stored.
- snapshot
Id String The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the
volume_size
attribute must be at least as large as the referenced snapshot.- throughput Integer
The throughput that the EBS volume supports, in MiB/s. Only valid for
volume_type
ofgp3
.- volume
Size Integer The 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 The type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
- device
Name string The path at which the device is exposed to created instances.
- delete
On booleanTermination Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- 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 The ARN of the Outpost on which the snapshot is stored.
- snapshot
Id string The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the
volume_size
attribute must be at least as large as the referenced snapshot.- throughput number
The throughput that the EBS volume supports, in MiB/s. Only valid for
volume_type
ofgp3
.- volume
Size number The 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 The type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
- device_
name str The path at which the device is exposed to created instances.
- delete_
on_ booltermination Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- 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 The ARN of the Outpost on which the snapshot is stored.
- snapshot_
id str The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the
volume_size
attribute must be at least as large as the referenced snapshot.- throughput int
The throughput that the EBS volume supports, in MiB/s. Only valid for
volume_type
ofgp3
.- volume_
size int The 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 The type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
- device
Name String The path at which the device is exposed to created instances.
- delete
On BooleanTermination Boolean controlling whether the EBS volumes created to support each created instance will be deleted once that instance is terminated.
- 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 The ARN of the Outpost on which the snapshot is stored.
- snapshot
Id String The id of an EBS snapshot that will be used to initialize the created EBS volumes. If set, the
volume_size
attribute must be at least as large as the referenced snapshot.- throughput Number
The throughput that the EBS volume supports, in MiB/s. Only valid for
volume_type
ofgp3
.- volume
Size Number The 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 The type of EBS volume to create. Can be
standard
,gp2
,gp3
,io1
,io2
,sc1
orst1
(Default:standard
).
AmiEphemeralBlockDevice
- Device
Name string The path at which the device is exposed to created instances.
- Virtual
Name string A name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
- Device
Name string The path at which the device is exposed to created instances.
- Virtual
Name string A name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
- device
Name String The path at which the device is exposed to created instances.
- virtual
Name String A name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
- device
Name string The path at which the device is exposed to created instances.
- virtual
Name string A name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
- device_
name str The path at which the device is exposed to created instances.
- virtual_
name str A name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
- device
Name String The path at which the device is exposed to created instances.
- virtual
Name String A name for the ephemeral device, of the form "ephemeralN" where N is a volume number starting from zero.
Import
aws_ami
can be imported using the ID of the AMI, e.g.,
$ pulumi import aws:ec2/ami:Ami example ami-12345678
Package Details
- Repository
- https://github.com/pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
aws
Terraform Provider.