Skip to content

Commit

Permalink
new commands, small refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
wnkz committed Mar 10, 2017
1 parent c24b596 commit b31c5db
Show file tree
Hide file tree
Showing 5 changed files with 151 additions and 96 deletions.
6 changes: 5 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ShipAMI - Simple AWS AMIs management
====================================

|Build Status| |Version| |License|
|Build Status| |Version| |Coverage| |License|

CLI for simple AWS AMIs management

Expand All @@ -14,6 +14,10 @@ CLI for simple AWS AMIs management
:target: https://pypi.python.org/pypi/shipami/
:alt: Version

.. |Coverage| image:: https://coveralls.io/repos/github/wnkz/shipami/badge.svg
:target: https://coveralls.io/github/wnkz/shipami
:alt: Coverage

.. |License| image:: https://img.shields.io/pypi/l/shipami.svg?style=flat
:target: https://github.com/wnkz/shipami/blob/master/LICENSE
:alt: License
Expand Down
1 change: 0 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@

install_requires=[
'click==6.7',
'click-log',
'botocore>=1.5.0,<1.6.0',
'boto3>=1.4.4'
],
Expand Down
32 changes: 26 additions & 6 deletions shipami/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,24 @@
import json
import logging
import click
import click_log

from shipami.core import ShipAMI

logging.basicConfig()
logger = logging.getLogger(__name__)


@click.group()
@click_log.simple_verbosity_option()
@click_log.init(__name__)
@click.version_option(VERSION)
@click.option('--region')
@click.option('-v', '--verbose', is_flag=True, default=False)
@click.pass_context
def cli(ctx, region):
def cli(ctx, region, verbose):
"""CLI tool to manage AWS AMI and Marketplace"""
if verbose:
logger.setLevel(logging.DEBUG)
else:
logger.setLevel(logging.INFO)
ctx.obj = ShipAMI(region)


Expand All @@ -41,6 +44,21 @@ def list(shipami):
click.echo('\t{}:\t{}'.format(image['ImageId'], image['Name']))


@cli.command()
@click.argument('image-id')
@click.option('--name')
@click.option('--description')
@click.option('--source-region')
@click.option('--copy-tags/--no-copy-tags', default=True)
@click.option('--copy-tags-to-snapshots/--no-copy-tags-to-snapshots', default=False)
@click.option('--copy-permissions/--no-copy-permissions', default=False)
@click.option('--wait/--no-wait', default=False)
@click.pass_obj
def copy(shipami, **kwargs):
image_id = shipami.copy(kwargs.pop('image_id'), **kwargs)
click.echo(image_id)


@cli.command()
@click.argument('image-id')
@click.argument('release')
Expand Down Expand Up @@ -68,6 +86,8 @@ def share(shipami, **kwargs):

@cli.command()
@click.argument('image-id', nargs=-1)
@click.option('--force', is_flag=True, default=False)
@click.pass_obj
def delete(shipami, image_id):
shipami.delete(image_id)
def delete(shipami, image_id, force):
for deleted in shipami.delete(image_id, force):
click.echo(deleted)
Loading

0 comments on commit b31c5db

Please sign in to comment.