diff options
| author | Jenkins <jenkins@review.openstack.org> | 2014-12-02 00:43:03 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2014-12-02 00:43:03 +0000 |
| commit | 2663e1638901336c8431c64936d54adec6a17856 (patch) | |
| tree | 6095d2043f8857fccc4cb8afcbd21c799363cab0 | |
| parent | 9eb757f95efb68c9ec8a8a5ca56932a7995086d8 (diff) | |
| parent | 4b239eea4290522a24ed4242d983dc69ff7e382e (diff) | |
| download | python-openstackclient-2663e1638901336c8431c64936d54adec6a17856.tar.gz | |
Merge "Add support for domains when deleting identity v3 resources"
| -rw-r--r-- | doc/source/command-objects/project.rst | 6 | ||||
| -rw-r--r-- | doc/source/command-objects/user.rst | 8 | ||||
| -rw-r--r-- | openstackclient/identity/v3/group.py | 16 | ||||
| -rw-r--r-- | openstackclient/identity/v3/project.py | 17 | ||||
| -rw-r--r-- | openstackclient/identity/v3/user.py | 17 |
5 files changed, 55 insertions, 9 deletions
diff --git a/doc/source/command-objects/project.rst b/doc/source/command-objects/project.rst index ba741d1d..0be4e806 100644 --- a/doc/source/command-objects/project.rst +++ b/doc/source/command-objects/project.rst @@ -58,6 +58,12 @@ Delete an existing project os project delete <project> +.. option:: --domain <domain> + + Domain owning :ref:`\<project\> <_project_delete-project>` (name or ID) + + .. versionadded:: 3 + .. _project_delete-project: .. describe:: <project> diff --git a/doc/source/command-objects/user.rst b/doc/source/command-objects/user.rst index 53becf27..24a2725b 100644 --- a/doc/source/command-objects/user.rst +++ b/doc/source/command-objects/user.rst @@ -80,6 +80,14 @@ Delete user os user delete <user> +.. option:: --domain <domain> + + Domain owning :ref:`\<user\> <_user_delete-user>` (name or ID) + + .. versionadded:: 3 + +.. _user_delete-user: + .. describe:: <user> User to delete (name or ID) diff --git a/openstackclient/identity/v3/group.py b/openstackclient/identity/v3/group.py index 14838bba..5d3cf642 100644 --- a/openstackclient/identity/v3/group.py +++ b/openstackclient/identity/v3/group.py @@ -169,12 +169,26 @@ class DeleteGroup(command.Command): 'group', metavar='<group>', help='Name or ID of group to delete') + parser.add_argument( + '--domain', + metavar='<domain>', + help='Domain where group resides (name or ID)', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity - group = utils.find_resource(identity_client.groups, parsed_args.group) + + 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) return diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py index 3b0e92fd..1e3977ba 100644 --- a/openstackclient/identity/v3/project.py +++ b/openstackclient/identity/v3/project.py @@ -126,16 +126,25 @@ class DeleteProject(command.Command): metavar='<project>', help='Project to delete (name or ID)', ) + parser.add_argument( + '--domain', + metavar='<domain>', + help='Domain owning <project> (name or ID)', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity - project = utils.find_resource( - identity_client.projects, - parsed_args.project, - ) + 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) return diff --git a/openstackclient/identity/v3/user.py b/openstackclient/identity/v3/user.py index 10ffce36..665dd4bb 100644 --- a/openstackclient/identity/v3/user.py +++ b/openstackclient/identity/v3/user.py @@ -148,16 +148,25 @@ class DeleteUser(command.Command): metavar='<user>', help='User to delete (name or ID)', ) + parser.add_argument( + '--domain', + metavar='<domain>', + help='Domain owning <user> (name or ID)', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity - user = utils.find_resource( - identity_client.users, - parsed_args.user, - ) + if parsed_args.domain: + domain = common.find_domain(identity_client, parsed_args.domain) + user = utils.find_resource(identity_client.users, + parsed_args.user, + domain_id=domain.id) + else: + user = utils.find_resource(identity_client.users, + parsed_args.user) identity_client.users.delete(user.id) return |
