diff options
| author | Jenkins <jenkins@review.openstack.org> | 2014-08-07 20:41:57 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2014-08-07 20:41:57 +0000 |
| commit | c7176c16a9c5bedf807ffdd50b79705737f6db5e (patch) | |
| tree | 75cca6ae873acb0c68a731a810d8e58adf88c375 /openstackclient/object/v1/container.py | |
| parent | b3b59c20d2fa5396eeb43a9e702e01aa6626830e (diff) | |
| parent | be83ae763ffbcd3208ba1df9fe8b22cfe3fa6fa2 (diff) | |
| download | python-openstackclient-c7176c16a9c5bedf807ffdd50b79705737f6db5e.tar.gz | |
Merge "Add container create and delete support"
Diffstat (limited to 'openstackclient/object/v1/container.py')
| -rw-r--r-- | openstackclient/object/v1/container.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/openstackclient/object/v1/container.py b/openstackclient/object/v1/container.py index 1e252aaf..ae4013fc 100644 --- a/openstackclient/object/v1/container.py +++ b/openstackclient/object/v1/container.py @@ -19,6 +19,7 @@ import logging import six +from cliff import command from cliff import lister from cliff import show @@ -26,6 +27,56 @@ from openstackclient.common import utils from openstackclient.object.v1.lib import container as lib_container +class CreateContainer(show.ShowOne): + """Create a container""" + + log = logging.getLogger(__name__ + '.CreateContainer') + + def get_parser(self, prog_name): + parser = super(CreateContainer, self).get_parser(prog_name) + parser.add_argument( + 'container', + metavar='<container>', + help='New container name', + ) + return parser + + def take_action(self, parsed_args): + self.log.debug('take_action(%s)', parsed_args) + + data = lib_container.create_container( + self.app.restapi, + self.app.client_manager.object_store.endpoint, + parsed_args.container, + ) + + return zip(*sorted(six.iteritems(data))) + + +class DeleteContainer(command.Command): + """Delete a container""" + + log = logging.getLogger(__name__ + '.DeleteContainer') + + def get_parser(self, prog_name): + parser = super(DeleteContainer, self).get_parser(prog_name) + parser.add_argument( + 'container', + metavar='<container>', + help='Container name to delete', + ) + return parser + + def take_action(self, parsed_args): + self.log.debug('take_action(%s)', parsed_args) + + lib_container.delete_container( + self.app.restapi, + self.app.client_manager.object_store.endpoint, + parsed_args.container, + ) + + class ListContainer(lister.Lister): """List containers""" |
