Skip to main content

Command-line tools to manage images in AWS EC2

Project description

Build Status

ec2imgutils

A collection of utilities for image management in AWS EC2

Installation

openSUSE and SUSE Linux Enterprise

> zypper in python3-ec2imgutils

PyPI

> pip install ec2imgutils

Test

> pyenv virtualenv 3.9.21 ec2imgutils
> pyenv activate ec2imgutils
> pip install -e .
> pytest

Utilities

ec2deprecateimg

A command line utility to deprecate images in Amazon EC2. The platform does not support a formal deprecation mechanism. The mechansim implemented by this tool is a convention. Unfortunately the tags are not sticky, i.e. not visible to others if the image is shared.

Images are tagged with:

  • Deprecated on -> provided deprecation date or today's date (if no deprecation date is provided) in YYYYMMDD format
  • Removal date -> deprecation date plus the deprecation period specified
  • Replacement image -> The AMI ID and name of the replacement image (Optional)

The image set as the replacement is removed from the list of potential images to be deprecated before any matching takes place. Therefore, the deprecation search criteria specified with --image-name-frag or --image-name-match cannot match the replacement image.

Usage

> ec2deprecateimg --account example --image-name-match v15 --image-virt-type hvm \
--replacement-name exampleimage_v16 --deprecation_date 20220510

See the man pages for more information.

man ec2deprecateimg

ec2listimg

A command line utility to list the AMIs in an account.

Usage

> ec2listimg --account example --image-name-frag foo --region us-west-2

See the man pages for more information.

man ec2listimg

ec2publishimg

A command line utility to control the visibility of an image in AWS EC2. The utility sets the visibility of an AMI to allow others to use the image, making it public or sharing it with sepecific accounts, or setting the image to private, i.e. only available to the account owner.

Usage

> ec2publishimg --account example --image-name-match production-v2 --share-with all

See the man pages for more information.

man ec2publishimg

ec2removeimg

A command line utility to remove images in Amazon EC2. Removing an image, in the sense that all traces of a given image are gone, means the image (AMI) has to be deregistered and the associated snapshot has to be deleted. Having to do this in multiple regions in the UI is tedious and from the the command line is a bookkeeping annoyance. This tool handles the clean up of images.

Usage

> ec2removeimg --account example --image-name-match v15

See the man pages for more information.

man ec2removeimg

ec2uploadimg

A command line utility to upload a compressed raw image file, as created by KIWI for example to Amazon EC2 and create a snapshot or register an EBS backed AMI. Uploads a compressed raw image to Amazon EC2 using an existing EC2 AMI and creates a snapshot or registers a new AMI from the image. The apparent size of the raw image is recommended to be 10 GB or less. It is expected that the raw image has 1 partition, i.e. the root partition is /dev/sda1. The process of creating the image is as follows:

  • Start an instance
  • Create a storage volume and attach it to the running instance
  • Create volume that will be the new root and attach it to the running instance
  • Upload the image
  • Unpack the image and dump it to the new root volume
  • Detach the new root volume and create a snapshot
  • Register a new AMI
  • Clean up

Usage

> ec2uploadimg --account example -d "My first image" -m x86_64 -n my_linux_image -r us-east-1 PATH_TO_COMPRESSED_FILE

See the man pages for more information.

man ec2uploadimg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ec2imgutils-10.0.5.tar.gz (75.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ec2imgutils-10.0.5-py3-none-any.whl (60.5 kB view details)

Uploaded Python 3

File details

Details for the file ec2imgutils-10.0.5.tar.gz.

File metadata

  • Download URL: ec2imgutils-10.0.5.tar.gz
  • Upload date:
  • Size: 75.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ec2imgutils-10.0.5.tar.gz
Algorithm Hash digest
SHA256 65a7e44fb6d94f27f848471f7cc92f935ddcabb00027e596b8214ca12c4513e5
MD5 244fea719bdf35ecd750eda79be4618d
BLAKE2b-256 e98d04c27d0b3b23355bccb67dd32460218f61df11e28da9f8f304586fd5e3ab

See more details on using hashes here.

File details

Details for the file ec2imgutils-10.0.5-py3-none-any.whl.

File metadata

  • Download URL: ec2imgutils-10.0.5-py3-none-any.whl
  • Upload date:
  • Size: 60.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ec2imgutils-10.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 170b25596ab91955e5f707d26c78d184be30110bddcd126caffb55975440658b
MD5 8c11040d4f707ccf77affc2885c563e0
BLAKE2b-256 395171ae6dd55ae7f237a9e596e7db80b56793191a7538d04e45af02ac0261a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page