Merge "Refactor option handling for user|group|project domain scoping"
This commit is contained in:
commit
5e095d66b8
@ -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.
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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.')
|
||||
)
|
||||
|
@ -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):
|
||||
|
@ -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):
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user