From f7feef7f8d1df7b6a28eb6d2e684bf8f1853d356 Mon Sep 17 00:00:00 2001 From: Juan Antonio Osorio Robles Date: Mon, 8 Jun 2015 16:30:06 +0300 Subject: Enable specifying domain for group and role commands Many of the commands for the group and role resources were lacking an option to specify the specific domain groups, projects or users belong to. This commit fixes that. Change-Id: I461d2bcfd01ad2dea970de38ec7ad6f4a631ceb1 Closes-bug: #1446546 --- openstackclient/identity/common.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'openstackclient/identity/common.py') diff --git a/openstackclient/identity/common.py b/openstackclient/identity/common.py index a6e674c0..b97a1778 100644 --- a/openstackclient/identity/common.py +++ b/openstackclient/identity/common.py @@ -43,22 +43,32 @@ def find_service(identity_client, name_type_or_id): raise exceptions.CommandError(msg) +def _get_domain_id_if_requested(identity_client, domain_name_or_id): + if not domain_name_or_id: + return None + domain = find_domain(identity_client, domain_name_or_id) + return domain.id + + def find_domain(identity_client, name_or_id): return _find_identity_resource(identity_client.domains, name_or_id, domains.Domain) -def find_group(identity_client, name_or_id, domain_id=None): +def find_group(identity_client, name_or_id, domain_name_or_id=None): + domain_id = _get_domain_id_if_requested(identity_client, domain_name_or_id) return _find_identity_resource(identity_client.groups, name_or_id, groups.Group, domain_id=domain_id) -def find_project(identity_client, name_or_id, domain_id=None): +def find_project(identity_client, name_or_id, domain_name_or_id=None): + domain_id = _get_domain_id_if_requested(identity_client, domain_name_or_id) return _find_identity_resource(identity_client.projects, name_or_id, projects.Project, domain_id=domain_id) -def find_user(identity_client, name_or_id, domain_id=None): +def find_user(identity_client, name_or_id, domain_name_or_id=None): + domain_id = _get_domain_id_if_requested(identity_client, domain_name_or_id) return _find_identity_resource(identity_client.users, name_or_id, users.User, domain_id=domain_id) -- cgit v1.2.1