From 514a168656823eb4897e38a15a1a769a7d18f44f Mon Sep 17 00:00:00 2001 From: TerryHowe Date: Thu, 15 Oct 2015 08:39:23 -0600 Subject: Add recursive object delete for containers Change-Id: Ib291e79864c218464e842a08efd3742193ba5ff0 --- openstackclient/object/v1/container.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'openstackclient/object') 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 @@ -58,6 +58,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='', @@ -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, ) -- cgit v1.2.1