View a markdown version of this page

VM Import Manifest - Amazon Elastic Compute Cloud

VM Import Manifest

The import manifest is an XML file created and consumed by the Amazon EC2 API operations ImportInstance and ImportVolume. Note that these operations are not supported by the AWS CLI.

The manifest allows a virtual machine image to be broken into small parts for transfer and then reassembled at the destination, with support for retrying failed partial transfers. This file is generally created, consumed, and destroyed by the Amazon EC2 tools without user intervention.

In some exceptional situations, developers may wish to construct a manifest manually or programmatically, making it possible to bypass certain API operations while still providing a manifest for other operations that require the file as a parameter value.

This topic documents the structure of the manifest and provides a sample file.

Note

Direct manipulation of the manifest departs from the standard workflow of the Amazon EC2 API. We recommend that you follow the procedures in VM Import/Export processes instead.

Manifest Schema

The schema below describes the format of the manifest. Documentation for the schema elements is presented inline.

Version designator for the manifest file, File format of volume to be imported, with value RAW, VHD, or VMDK. Complex type describing the software that created the manifest. Signed URL used to delete the stored manifest file. Complex type describing the size and chunking of the volume file. Name of the software that created the manifest. Version of the software that created the manifest. Release number of the software that created the manifest. Exact size of the file to be imported (bytes on disk). Rounded size in gigabytes of volume to be imported. Complex type describing and counting the parts into which the file is split. Definition of a particular part. Any number of parts may be defined. Total count of the parts. Complex type defining the starting and ending byte count of a part. The S3 object name of the part. Signed URLs for issuing a HEAD request on the S3 object containing this part. Signed URLs for issuing a GET request on the S3 object containing this part. Signed URLs for issuing a DELETE request on the S3 object containing this part. Index number of this part. Offset of a part's first byte in the disk image. Offset of a part's last byte in the disk image.

Examples

This first example of a manifest describes a volume image with two parts. The files containing the parts are on a local system and must be uploaded to Amazon S3.

2010-11-15 VMDK ec2-upload-disk-image 1.0.0 2010-11-15 https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdkmanifest.xml?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=m%2Bl%2FkuKuvfEeD%2Fya%2B0TrgeiH%2FLM%3D 12595200 1 d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part0 https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part0?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=2yqS2VGYXGmqcbu%2FrQEn8FGIKaI%3D https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part0?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=nEvl8VhFoEuIjJFRkAYB2IWKRtY%3D https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part0?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=CX19zc4Eys8BN%2FXsoepk%2Bi3i4No%3D d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part1 https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part1?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=3b%2F8ky92L8g%2BBf15Ou194VnR4Js%3D https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part1?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=W%2FxagI5ChmfqqgY8WwyDJ3Rgviw%3D https://example-disk-part-bucket.s3.amazonaws.com/d6e1ca17-72f6-4ab0-b2c8-d7ba8186cb23/cirros-0.3.2-x86_64-disk.vmdk.part1?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE&Expires=1416618486&Signature=08FH3QPwkIcNURnNpT9DIvvhQ0I%3D

The second example describes a volume image with a single part that has already been uploaded to Amazon S3.

2010-11-15 VMDK Linux_RHEL_59_64.vmdk 1.0.0 2010-11-15 https://example-disk-part-bucket.s3.ap-northeast-2.amazonaws.com/Linux_RHEL_59_64.vmdk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ26ZRPZDGYJT4KAQFEXAMPLE%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20151119T234529Z&X-Amz-Expires=604800&X-Amz-Signature=4dbf803f2e52fb6a876d3b63778033af42ec11155b37366ab4fca56691672807&X-Amz-SignedHeaders=Host 994433536 1 Linux_RHEL_59_64.vmdk https://example-disk-part-bucket.s3.ap-northeast-2.amazonaws.com/Linux_RHEL_59_64.vmdk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ26ZRPZDGYJT4KAQFEXAMPLE%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20151119T234529Z&X-Amz-Expires=604800&X-Amz-Signature=4c3a7bdf3ef8fa53a5585fc67747c81ea1f65bf09f3768998a575dabf5dfda2e&X-Amz-SignedHeaders=Host https://example-disk-part-bucket.s3.ap-northeast-2.amazonaws.com/Linux_RHEL_59_64.vmdk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ26ZRPZDGYJT4KAQFEXAMPLE%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20151119T234529Z&X-Amz-Expires=604800&X-Amz-Signature=329d6abb673e4ce11c0aa602f34f62fb8ced703e8ae6c04f24c16e79d7699e52&X-Amz-SignedHeaders=Host https://example-disk-part-bucket.s3.ap-northeast-2.amazonaws.com/Linux_RHEL_59_64.vmdk?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJ26ZRPZDGYJT4KAQFEXAMPLE%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20151119T234529Z&X-Amz-Expires=604800&X-Amz-Signature=4dbf803f2e52fb6a876d3b63778033af42ec11155b37366ab4fca56691672807&X-Amz-SignedHeaders=Host