summaryrefslogtreecommitdiff
path: root/openstackclient/identity/v3/group.py
diff options
context:
space:
mode:
authorwanghong <w.wanghong@huawei.com>2014-12-10 14:09:01 +0800
committerwanghong <w.wanghong@huawei.com>2014-12-23 09:39:29 +0800
commitd8f1cbd98461d4c2989384d29c7e2a99223468a9 (patch)
tree331fcaca643185c088921f8a510544465f1fda8b /openstackclient/identity/v3/group.py
parent3541b0a695af12e31ecae4b4bedbe4235b5c13b4 (diff)
downloadpython-openstackclient-d8f1cbd98461d4c2989384d29c7e2a99223468a9.tar.gz
add multi-delete support for identity
This is part2. Add support for these objects: identity.project(v2.0) identity.role(v2.0) identity.user(v2.0) identity.project(v3) identity.role(v3) identity.user(v3) identity.group(v3) Closes-Bug: #1400597 Change-Id: I270434d657cf4ddc23c3aba2c704d6ef184b0dbc
Diffstat (limited to 'openstackclient/identity/v3/group.py')
-rw-r--r--openstackclient/identity/v3/group.py25
1 files changed, 14 insertions, 11 deletions
diff --git a/openstackclient/identity/v3/group.py b/openstackclient/identity/v3/group.py
index b617cd76..327a64d5 100644
--- a/openstackclient/identity/v3/group.py
+++ b/openstackclient/identity/v3/group.py
@@ -159,16 +159,17 @@ class CreateGroup(show.ShowOne):
class DeleteGroup(command.Command):
- """Delete group command"""
+ """Delete group(s)"""
log = logging.getLogger(__name__ + '.DeleteGroup')
def get_parser(self, prog_name):
parser = super(DeleteGroup, self).get_parser(prog_name)
parser.add_argument(
- 'group',
+ 'groups',
metavar='<group>',
- help='Name or ID of group to delete')
+ nargs="+",
+ help='Group(s) to delete (name or ID)')
parser.add_argument(
'--domain',
metavar='<domain>',
@@ -180,16 +181,18 @@ class DeleteGroup(command.Command):
self.log.debug('take_action(%s)', parsed_args)
identity_client = self.app.client_manager.identity
+ domain = None
if parsed_args.domain:
domain = common.find_domain(identity_client, parsed_args.domain)
- group = utils.find_resource(identity_client.groups,
- parsed_args.group,
- domain_id=domain.id)
- else:
- group = utils.find_resource(identity_client.groups,
- parsed_args.group)
-
- identity_client.groups.delete(group.id)
+ for group in parsed_args.groups:
+ if domain is not None:
+ group_obj = utils.find_resource(identity_client.groups,
+ group,
+ domain_id=domain.id)
+ else:
+ group_obj = utils.find_resource(identity_client.groups,
+ group)
+ identity_client.groups.delete(group_obj.id)
return