Menu
Amazon Elastic Compute Cloud
API Reference (API Version 2016-04-01)

RegisterImage

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

Note

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. For more information, see Launching an Instance from a Snapshot in the Amazon Elastic Compute Cloud User Guide.

Important

Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billingProduct code associated with an AMI to verify subscription status for package updates. Creating an AMI from an EBS snapshot does not maintain this billing code, and subsequent instances launched from such an AMI will not be able to connect to package update infrastructure.

Similarly, although you can create a Windows AMI from a snapshot, you can't successfully launch an instance from the AMI.

To create Windows AMIs or to create AMIs for Linux operating systems that must retain AMI billing codes to work properly, see CreateImage.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

Note

You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes.

Request Parameters

The following parameters are for this specific action. For more information about required and optional parameters that are common to all actions, see Common Query Parameters.

Architecture

The architecture of the AMI.

Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file.

Type: String

Valid Values: i386 | x86_64

Required: No

BlockDeviceMapping.N

One or more block device mapping entries.

Type: array of BlockDeviceMapping objects

Required: No

Description

A description for your AMI.

Type: String

Required: No

DryRun

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

Type: Boolean

Required: No

EnaSupport

Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

Type: Boolean

Required: No

ImageLocation

The full path to your AMI manifest in Amazon S3 storage.

Type: String

Required: No

KernelId

The ID of the kernel.

Type: String

Required: No

Name

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

Type: String

Required: Yes

RamdiskId

The ID of the RAM disk.

Type: String

Required: No

RootDeviceName

The name of the root device (for example, /dev/sda1, or /dev/xvda).

Type: String

Required: No

SriovNetSupport

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

There is no way to disable sriovNetSupport at this time.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

Type: String

Required: No

VirtualizationType

The type of virtualization.

Default: paravirtual

Type: String

Required: No

Response Elements

The following elements are returned by the service.

imageId

The ID of the newly registered AMI.

Type: String

requestId

The ID of the request.

Type: String

Errors

For information about the errors that are common to all actions, see Common Client Errors.

Examples

Example 1

This example registers the AMI specified in the my-new-image.manifest.xml manifest file, located in the bucket called myawsbucket.

Sample Request

https://ec2.amazonaws.com/?Action=RegisterImage
&ImageLocation=myawsbucket/my-new-image.manifest.xml
&AUTHPARAMS

Sample Response

<RegisterImageResponse xmlns="http://ec2.amazonaws.com/doc/2016-04-01/">
  <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 
  <imageId>ami-1a2b3c4d</imageId>
</RegisterImageResponse>

Example 2

This example specifies a snapshot for the root device of an Amazon EBS-backed AMI.

Sample Request

https://ec2.amazonaws.com/?Action=RegisterImage
&RootDeviceName=/dev/sda1 
&BlockDeviceMapping.1.DeviceName=/dev/sda1 
&BlockDeviceMapping.1.Ebs.SnapshotId=snap-1234567890abcdef0 
&Name=MyImage
&AUTHPARAMS

Sample Response

<RegisterImageResponse xmlns="http://ec2.amazonaws.com/doc/2016-04-01/">
  <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 
  <imageId>ami-1a2b3c4d</imageId>
</RegisterImageResponse>

Example 3

This example registers an AMI with a block device mapping for three Amazon EBS volumes. The first volume is the root device volume based on an Amazon EBS snapshot. The second volume is based on another snapshot. The third volume is an empty 100 GiB Amazon EBS volume.

Sample Request

https://ec2.amazonaws.com/?Action=RegisterImage
&RootDeviceName=/dev/sda1
&BlockDeviceMapping.1.DeviceName=/dev/sda1
&BlockDeviceMapping.1.Ebs.SnapshotId=snap-1234567890abcdef0
&BlockDeviceMapping.2.DeviceName=/dev/sdb
&BlockDeviceMapping.2.Ebs.SnapshotId=snap-1234567890abcdef1
&BlockDeviceMapping.3.DeviceName=/dev/sdc
&BlockDeviceMapping.3.Ebs.VolumeSize=100
&Name=MyImage
&AUTHPARAMS

Sample Response

<RegisterImageResponse xmlns="http://ec2.amazonaws.com/doc/2016-04-01/">
  <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId> 
  <imageId>ami-1a2b3c4d</imageId>
</RegisterImageResponse>