diff options
| author | TerryHowe <terrylhowe@gmail.com> | 2015-10-15 08:39:23 -0600 |
|---|---|---|
| committer | Terry Howe <terrylhowe@gmail.com> | 2016-02-05 11:18:46 -0700 |
| commit | 514a168656823eb4897e38a15a1a769a7d18f44f (patch) | |
| tree | 135b87cd43c11fd4a03b5e5eea818dcc9d04a07e /openstackclient/object | |
| parent | 42b607edf117e4a3f421a554308330409c88dbb1 (diff) | |
| download | python-openstackclient-514a168656823eb4897e38a15a1a769a7d18f44f.tar.gz | |
Add recursive object delete for containers
Change-Id: Ib291e79864c218464e842a08efd3742193ba5ff0
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, ) |
