summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2015-06-09 17:25:12 -0400
committerSteve Martinelli <stevemar@ca.ibm.com>2015-06-17 12:38:40 -0400
commit2b0013c5c1afe6d2fee5f93cf6928f6f910048c1 (patch)
tree87413a7156db9480e41a5fc158d20152bd2f097e /openstackclient
parentc508162d53eca70596ab28333982185cf27d1c38 (diff)
downloadpython-openstackclient-2b0013c5c1afe6d2fee5f93cf6928f6f910048c1.tar.gz
Refactor option handling for user|group|project domain scoping
put the common options in identity.common, this way the help is consistent Change-Id: I5b09cfb56fa0f8d16feb95150f216fccbe9f2b22
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/identity/common.py30
-rw-r--r--openstackclient/identity/v3/ec2creds.py50
-rw-r--r--openstackclient/identity/v3/group.py56
-rw-r--r--openstackclient/identity/v3/role.py24
-rw-r--r--openstackclient/identity/v3/trust.py10
5 files changed, 48 insertions, 122 deletions
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 f995ae55..b518b370 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