diff options
| author | Zuul <zuul@review.openstack.org> | 2017-11-07 00:20:07 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-11-07 00:20:07 +0000 |
| commit | c2ebe678f9c98588dca35b5129cdcd2a7746b2a2 (patch) | |
| tree | aec71fef88e9816eafc77f0aefca1c73a3c67cfe /openstackclient/network | |
| parent | e8a87e1478304152e94783ebd50ab4ae621231d9 (diff) | |
| parent | 9ca99b991947c5b932a0c916591cd71568f2ac17 (diff) | |
| download | python-openstackclient-c2ebe678f9c98588dca35b5129cdcd2a7746b2a2.tar.gz | |
Merge "Network: Add supports rbac target-all-projects"
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/network_rbac.py | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/openstackclient/network/v2/network_rbac.py b/openstackclient/network/v2/network_rbac.py index 90754737..6cf82559 100644 --- a/openstackclient/network/v2/network_rbac.py +++ b/openstackclient/network/v2/network_rbac.py @@ -51,11 +51,14 @@ def _get_attrs(client_manager, parsed_args): attrs['object_id'] = object_id identity_client = client_manager.identity - project_id = identity_common.find_project( - identity_client, - parsed_args.target_project, - parsed_args.target_project_domain, - ).id + if parsed_args.target_project is not None: + project_id = identity_common.find_project( + identity_client, + parsed_args.target_project, + parsed_args.target_project_domain, + ).id + elif parsed_args.target_all_projects: + project_id = '*' attrs['target_tenant'] = project_id if parsed_args.project is not None: project_id = identity_common.find_project( @@ -96,13 +99,19 @@ class CreateNetworkRBAC(command.ShowOne): help=_('Action for the RBAC policy ' '("access_as_external" or "access_as_shared")') ) - parser.add_argument( + target_project_group = parser.add_mutually_exclusive_group( + required=True) + target_project_group.add_argument( '--target-project', - required=True, metavar="<target-project>", help=_('The project to which the RBAC policy ' 'will be enforced (name or ID)') ) + target_project_group.add_argument( + '--target-all-projects', + action='store_true', + help=_('Allow creating RBAC policy for all projects.') + ) parser.add_argument( '--target-project-domain', metavar='<target-project-domain>', |
