summaryrefslogtreecommitdiff
path: root/openstackclient/object
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-02-05 22:49:33 +0000
committerGerrit Code Review <review@openstack.org>2016-02-05 22:49:33 +0000
commit546398c14bd0019e3723d54333fac71921c88bea (patch)
tree6c706d28d86e5dd8ac76ca0ca6958a048c27f9a5 /openstackclient/object
parent05b18749ef96e68198da974f3bc6ec41fd014266 (diff)
parent514a168656823eb4897e38a15a1a769a7d18f44f (diff)
downloadpython-openstackclient-546398c14bd0019e3723d54333fac71921c88bea.tar.gz
Merge "Add recursive object delete for containers"
Diffstat (limited to 'openstackclient/object')
-rw-r--r--openstackclient/object/v1/container.py14
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,
)