diff options
| author | wanghong <w.wanghong@huawei.com> | 2014-12-10 14:09:01 +0800 |
|---|---|---|
| committer | wanghong <w.wanghong@huawei.com> | 2014-12-23 09:39:29 +0800 |
| commit | d8f1cbd98461d4c2989384d29c7e2a99223468a9 (patch) | |
| tree | 331fcaca643185c088921f8a510544465f1fda8b /openstackclient/identity/v3/project.py | |
| parent | 3541b0a695af12e31ecae4b4bedbe4235b5c13b4 (diff) | |
| download | python-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/project.py')
| -rw-r--r-- | openstackclient/identity/v3/project.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py index 42412e41..28eb4277 100644 --- a/openstackclient/identity/v3/project.py +++ b/openstackclient/identity/v3/project.py @@ -117,16 +117,17 @@ class CreateProject(show.ShowOne): class DeleteProject(command.Command): - """Delete an existing project""" + """Delete project(s)""" log = logging.getLogger(__name__ + '.DeleteProject') def get_parser(self, prog_name): parser = super(DeleteProject, self).get_parser(prog_name) parser.add_argument( - 'project', + 'projects', metavar='<project>', - help='Project to delete (name or ID)', + nargs="+", + help='Project(s) to delete (name or ID)', ) parser.add_argument( '--domain', @@ -139,16 +140,18 @@ class DeleteProject(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) - project = utils.find_resource(identity_client.projects, - parsed_args.project, - domain_id=domain.id) - else: - project = utils.find_resource(identity_client.projects, - parsed_args.project) - - identity_client.projects.delete(project.id) + for project in parsed_args.projects: + if domain is not None: + project_obj = utils.find_resource(identity_client.projects, + project, + domain_id=domain.id) + else: + project_obj = utils.find_resource(identity_client.projects, + project) + identity_client.projects.delete(project_obj.id) return |
