diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-02-05 22:49:33 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-02-05 22:49:33 +0000 |
| commit | 546398c14bd0019e3723d54333fac71921c88bea (patch) | |
| tree | 6c706d28d86e5dd8ac76ca0ca6958a048c27f9a5 /openstackclient/object | |
| parent | 05b18749ef96e68198da974f3bc6ec41fd014266 (diff) | |
| parent | 514a168656823eb4897e38a15a1a769a7d18f44f (diff) | |
| download | python-openstackclient-546398c14bd0019e3723d54333fac71921c88bea.tar.gz | |
Merge "Add recursive object delete for containers"
Diffstat (limited to 'openstackclient/object')
| -rw-r--r-- | openstackclient/object/v1/container.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/openstackclient/object/v1/container.py b/openstackclient/object/v1/container.py index e70afd9d..80b84238 100644 --- a/openstackclient/object/v1/container.py +++ b/openstackclient/object/v1/container.py @@ -59,6 +59,12 @@ class DeleteContainer(command.Command): def get_parser(self, prog_name): parser = super(DeleteContainer, self).get_parser(prog_name) parser.add_argument( + '--recursive', '-r', + action='store_true', + default=False, + help='Recursively delete objects and container', + ) + parser.add_argument( 'containers', metavar='<container>', nargs="+", @@ -69,6 +75,14 @@ class DeleteContainer(command.Command): def take_action(self, parsed_args): for container in parsed_args.containers: + if parsed_args.recursive: + objs = self.app.client_manager.object_store.object_list( + container=container) + for obj in objs: + self.app.client_manager.object_store.object_delete( + container=container, + object=obj['name'], + ) self.app.client_manager.object_store.container_delete( container=container, ) |
