Skip to main content

CLI tool to manage AWS AMI and Marketplace

Project description

Build Status Version Coverage License

CLI for simple AWS AMIs management

Quick Start

Install with pip:

$ pip install shipami
$ shipami --help

Example: Publish AMI for AWS Marketplace

  1. List available AMIs in your default region (eg. eu-west-1)
$ shipami list
NAME       RELEASE    ID            STATE      CREATED      MANAGED    COPIED FROM             COPIED TO
foo                   ami-00000000  available  5 days ago   no         origin
  1. Create a release based on this image in us-east-1 region
$ shipami --region us-east-1 release ami-00000000 1.0 --source-region eu-west-1
ami-000000aa

$ shipami --region us-east-1 list
NAME       RELEASE    ID            STATE      CREATED      MANAGED    COPIED FROM             COPIED TO
foo-1.0    1.0        ami-000000aa  pending    just now     yes        eu-west-1:ami-00000000
  1. Manually share with AWS Marketplace account
$ shipami --region us-east-1 share ami-000000aa

$ shipami --region us-east-1 show ami-000000aa
id:     ami-000000aa
name:   foo-1.0
state:  available
tags:
  shipami:copied_from: eu-west-1:ami-00000000
  shipami:managed: True
  shipami:release: 1.0
devices mappings:
  /dev/xvda 8Go type:gp2
shared with:
  679593333241 (AWS MARKETPLACE) OK

Commands

You can get further help and usage instructions on any command with the --help option.

copy

$ shipami copy ami-00000000
ami-000000aa
$ shipami list
NAME       RELEASE    ID            STATE      CREATED      MANAGED    COPIED FROM             COPIED TO
foo                   ami-00000000  available  5 days ago   no         origin                  eu-west-1:ami-000000aa
foo                   ami-000000aa  pending    just now     yes        eu-west-1:ami-00000000

delete

$ shipami list
NAME       RELEASE    ID            STATE      CREATED      MANAGED    COPIED FROM             COPIED TO
foo                   ami-00000000  available  5 days ago   no         origin                  eu-west-1:ami-000000aa
foo                   ami-000000aa  available  1 day ago    yes        eu-west-1:ami-00000000

$ shipami delete ami-000000aa
ami-000000aa

$ shipami list
NAME       RELEASE    ID            STATE      CREATED      MANAGED    COPIED FROM             COPIED TO
foo                   ami-00000000  available  5 days ago   no         origin

list

$ shipami list
NAME       RELEASE    ID            STATE      CREATED      MANAGED    COPIED FROM             COPIED TO
foo                   ami-00000000  available  5 days ago   no         origin

release

$ shipami release ami-00000000 1.0
ami-000000aa
$ shipami list
NAME       RELEASE    ID            STATE      CREATED      MANAGED    COPIED FROM             COPIED TO
foo                   ami-00000000  available  5 days ago   no         origin                  eu-west-1:ami-000000aa
foo-1.0    1.0        ami-000000aa  pending    just now     yes        eu-west-1:ami-00000000

share

$ shipami share ami-000000aa 012345678912

show

$ shipami show ami-000000aa
id:     ami-000000aa
name:   foo-1.0
state:  available
tags:
  shipami:copied_from: eu-west-1:ami-00000000
  shipami:managed: True
  shipami:release: 1.0
devices mappings:
  /dev/xvda 8Go type:gp2
shared with:
  012345678912

Project details


Download files

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

Files for shipami, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size shipami-1.1.0-py2.py3-none-any.whl (10.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size shipami-1.1.0.tar.gz (29.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page