diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-06-17 18:43:32 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-06-17 18:43:32 +0000 |
| commit | 5e095d66b8974e908bd2c1e17bbcd5e41dfee660 (patch) | |
| tree | 041730a7667373a03c10ed16daa3f7b2ec632026 | |
| parent | d4893efabce193c0444d5d05c1ea922d862bfa67 (diff) | |
| parent | 2b0013c5c1afe6d2fee5f93cf6928f6f910048c1 (diff) | |
| download | python-openstackclient-5e095d66b8974e908bd2c1e17bbcd5e41dfee660.tar.gz | |
Merge "Refactor option handling for user|group|project domain scoping"
| -rw-r--r-- | doc/source/command-objects/ec2-credentials.rst | 9 | ||||
| -rw-r--r-- | doc/source/command-objects/trust.rst | 9 | ||||
| -rw-r--r-- | openstackclient/identity/common.py | 30 | ||||
| -rw-r--r-- | openstackclient/identity/v3/ec2creds.py | 50 | ||||
| -rw-r--r-- | openstackclient/identity/v3/group.py | 56 | ||||
| -rw-r--r-- | openstackclient/identity/v3/role.py | 24 | ||||
| -rw-r--r-- | openstackclient/identity/v3/trust.py | 10 |
7 files changed, 57 insertions, 131 deletions
diff --git a/doc/source/command-objects/ec2-credentials.rst b/doc/source/command-objects/ec2-credentials.rst index f8e38564..6748422e 100644 --- a/doc/source/command-objects/ec2-credentials.rst +++ b/doc/source/command-objects/ec2-credentials.rst @@ -28,19 +28,18 @@ Create EC2 credentials .. option:: --user-domain <user-domain> - Select user from a specific domain (name or ID) - This can be used in case collisions between user names exist. + Domain the user belongs to (name or ID). This can be + used in case collisions between user names exist. .. versionadded:: 3 .. option:: --project-domain <project-domain> - Select project from a specific domain (name or ID) - This can be used in case collisions between project names exist. + Domain the project belongs to (name or ID). This can be + used in case collisions between user names exist. .. versionadded:: 3 - The :option:`--project` and :option:`--user` options are typically only useful for admin users, but may be allowed for other users depending on the policy of the cloud and the roles granted to the user. diff --git a/doc/source/command-objects/trust.rst b/doc/source/command-objects/trust.rst index c5e16b46..556edc54 100644 --- a/doc/source/command-objects/trust.rst +++ b/doc/source/command-objects/trust.rst @@ -39,15 +39,16 @@ Create new trust Sets an expiration date for the trust (format of YYYY-mm-ddTHH:MM:SS) -.. option:: --project-domain <domain> +.. option:: --project-domain <project-domain> - Domain that contains <project> (name or ID) + Domain the project belongs to (name or ID). This can be + used in case collisions between user names exist. -.. option:: --trustor-domain <domain> +.. option:: --trustor-domain <trustor-domain> Domain that contains <trustor> (name or ID) -.. option:: --trustee-domain <domain> +.. option:: --trustee-domain <trustee-domain> Domain that contains <trustee> (name or ID) diff --git a/openstackclient/identity/common.py b/openstackclient/identity/common.py index b97a1778..6eca02ba 100644 --- a/openstackclient/identity/common.py +++ b/openstackclient/identity/common.py @@ -109,3 +109,33 @@ def _find_identity_resource(identity_client_manager, name_or_id, pass return resource_type(None, {'id': name_or_id, 'name': name_or_id}) + + +def add_user_domain_option_to_parser(parser): + parser.add_argument( + '--user-domain', + metavar='<user-domain>', + help=('Domain the user belongs to (name or ID). ' + 'This can be used in case collisions between user names ' + 'exist.') + ) + + +def add_group_domain_option_to_parser(parser): + parser.add_argument( + '--group-domain', + metavar='<group-domain>', + help=('Domain the group belongs to (name or ID). ' + 'This can be used in case collisions between group names ' + 'exist.') + ) + + +def add_project_domain_option_to_parser(parser): + parser.add_argument( + '--project-domain', + metavar='<project-domain>', + help=('Domain the project belongs to (name or ID). ' + 'This can be used in case collisions between project names ' + 'exist.') + ) diff --git a/openstackclient/identity/v3/ec2creds.py b/openstackclient/identity/v3/ec2creds.py index 3c41ba36..03314634 100644 --- a/openstackclient/identity/v3/ec2creds.py +++ b/openstackclient/identity/v3/ec2creds.py @@ -75,24 +75,8 @@ class CreateEC2Creds(show.ShowOne): '(name or ID; default: current authenticated user)' ), ) - parser.add_argument( - '--user-domain', - metavar='<user-domain>', - help=( - 'Select user from a specific domain (name or ID); ' - 'This can be used in case collisions between user names ' - 'exist.' - ), - ) - parser.add_argument( - '--project-domain', - metavar='<project-domain>', - help=( - 'Select project from a specific domain (name or ID); ' - 'This can be used in case collisions between project names ' - 'exist.' - ), - ) + common.add_user_domain_option_to_parser(parser) + common.add_project_domain_option_to_parser(parser) return parser def take_action(self, parsed_args): @@ -149,15 +133,7 @@ class DeleteEC2Creds(command.Command): metavar='<user>', help=_('Delete credentials for user (name or ID)'), ) - parser.add_argument( - '--user-domain', - metavar='<user-domain>', - help=( - 'Select user from a specific domain (name or ID); ' - 'This can be used in case collisions between user names ' - 'exist.' - ), - ) + common.add_user_domain_option_to_parser(parser) return parser def take_action(self, parsed_args): @@ -179,15 +155,7 @@ class ListEC2Creds(lister.Lister): metavar='<user>', help=_('Filter list by user (name or ID)'), ) - parser.add_argument( - '--user-domain', - metavar='<user-domain>', - help=( - 'Select user from a specific domain (name or ID); ' - 'This can be used in case collisions between user names ' - 'exist.' - ), - ) + common.add_user_domain_option_to_parser(parser) return parser def take_action(self, parsed_args): @@ -223,15 +191,7 @@ class ShowEC2Creds(show.ShowOne): metavar='<user>', help=_('Show credentials for user (name or ID)'), ) - parser.add_argument( - '--user-domain', - metavar='<user-domain>', - help=( - 'Select user from a specific domain (name or ID); ' - 'This can be used in case collisions between user names ' - 'exist.' - ), - ) + common.add_user_domain_option_to_parser(parser) return parser def take_action(self, parsed_args): diff --git a/openstackclient/identity/v3/group.py b/openstackclient/identity/v3/group.py index b064eb77..d659f71e 100644 --- a/openstackclient/identity/v3/group.py +++ b/openstackclient/identity/v3/group.py @@ -46,20 +46,8 @@ class AddUserToGroup(command.Command): metavar='<user>', help='User to add to <group> (name or ID)', ) - parser.add_argument( - '--group-domain', - metavar='<group-domain>', - help=('Domain the group belongs to (name or ID). ' - 'This can be used in case collisions between group names ' - 'exist.') - ) - parser.add_argument( - '--user-domain', - metavar='<user-domain>', - help=('Domain the user belongs to (name or ID). ' - 'This can be used in case collisions between user names ' - 'exist.') - ) + common.add_group_domain_option_to_parser(parser) + common.add_user_domain_option_to_parser(parser) return parser def take_action(self, parsed_args): @@ -100,20 +88,8 @@ class CheckUserInGroup(command.Command): metavar='<user>', help='User to check (name or ID)', ) - parser.add_argument( - '--group-domain', - metavar='<group-domain>', - help=('Domain the group belongs to (name or ID). ' - 'This can be used in case collisions between group names ' - 'exist.') - ) - parser.add_argument( - '--user-domain', - metavar='<user-domain>', - help=('Domain the user belongs to (name or ID). ' - 'This can be used in case collisions between user names ' - 'exist.') - ) + common.add_group_domain_option_to_parser(parser) + common.add_user_domain_option_to_parser(parser) return parser def take_action(self, parsed_args): @@ -241,13 +217,7 @@ class ListGroup(lister.Lister): metavar='<user>', help='Filter group list by <user> (name or ID)', ) - parser.add_argument( - '--user-domain', - metavar='<user-domain>', - help=('Domain the user belongs to (name or ID). ' - 'This can be used in case collisions between user names ' - 'exist.') - ) + common.add_user_domain_option_to_parser(parser) parser.add_argument( '--long', action='store_true', @@ -310,20 +280,8 @@ class RemoveUserFromGroup(command.Command): metavar='<user>', help='User to remove from <group> (name or ID)', ) - parser.add_argument( - '--group-domain', - metavar='<group-domain>', - help=('Domain the group belongs to (name or ID). ' - 'This can be used in case collisions between group names ' - 'exist.') - ) - parser.add_argument( - '--user-domain', - metavar='<user-domain>', - help=('Domain the user belongs to (name or ID). ' - 'This can be used in case collisions between user names ' - 'exist.') - ) + common.add_group_domain_option_to_parser(parser) + common.add_user_domain_option_to_parser(parser) return parser def take_action(self, parsed_args): diff --git a/openstackclient/identity/v3/role.py b/openstackclient/identity/v3/role.py index 4f1c04d5..17f47ffd 100644 --- a/openstackclient/identity/v3/role.py +++ b/openstackclient/identity/v3/role.py @@ -52,27 +52,9 @@ def _add_identity_and_resource_options_to_parser(parser): metavar='<group>', help='Include <group> (name or ID)', ) - parser.add_argument( - '--user-domain', - metavar='<user-domain>', - help=('Domain the user belongs to (name or ID). ' - 'This can be used in case collisions between user names ' - 'exist.') - ) - parser.add_argument( - '--group-domain', - metavar='<group-domain>', - help=('Domain the group belongs to (name or ID). ' - 'This can be used in case collisions between group names ' - 'exist.') - ) - parser.add_argument( - '--project-domain', - metavar='<project-domain>', - help=('Domain the project belongs to (name or ID). ' - 'This can be used in case collisions between project names ' - 'exist.') - ) + common.add_group_domain_option_to_parser(parser) + common.add_project_domain_option_to_parser(parser) + common.add_user_domain_option_to_parser(parser) def _process_identity_and_resource_options(parsed_args, diff --git a/openstackclient/identity/v3/trust.py b/openstackclient/identity/v3/trust.py index ab6673d2..c8e5c4c7 100644 --- a/openstackclient/identity/v3/trust.py +++ b/openstackclient/identity/v3/trust.py @@ -71,19 +71,15 @@ class CreateTrust(show.ShowOne): help='Sets an expiration date for the trust' ' (format of YYYY-mm-ddTHH:MM:SS)', ) - parser.add_argument( - '--project-domain', - metavar='<domain>', - help='Domain that contains <project> (name or ID)', - ) + common.add_project_domain_option_to_parser(parser) parser.add_argument( '--trustor-domain', - metavar='<domain>', + metavar='<trustor-domain>', help='Domain that contains <trustor> (name or ID)', ) parser.add_argument( '--trustee-domain', - metavar='<domain>', + metavar='<trustee-domain>', help='Domain that contains <trustee> (name or ID)', ) return parser |
