Command object docs: project, role, user

project
role
user
user role

Change-Id: I445e09a3ffb69114912ae562a9285963a636bfd1
This commit is contained in:
Dean Troyer 2014-11-18 15:11:32 -06:00 committed by Steve Martinelli
parent 7e6b68ded9
commit 04d30c1855
11 changed files with 718 additions and 142 deletions

@ -0,0 +1,155 @@
=======
project
=======
Identity v2, v3
project create
--------------
Create new project
.. program:: project create
.. code:: bash
os project create
[--domain <domain>]
[--description <description>]
[--enable | --disable]
[--property <key=value>]
<name>
.. option:: --domain <domain>
Domain owning the project (name or ID)
.. versionadded:: 3
.. option:: --description <description>
Project description
.. option:: --enable
Enable project (default)
.. option:: --disable
Disable project
.. option:: --property <key=value>
Add a property to :ref:`\<name\> <project_create-name>`
(repeat option to set multiple properties)
.. _project_create-name:
.. describe:: <name>
New project name
project delete
--------------
Delete an existing project
.. program:: project delete
.. code:: bash
os project delete
<project>
.. _project_delete-project:
.. describe:: <project>
Project to delete (name or ID)
project list
------------
List projects
.. program:: project list
.. code:: bash
os project list
[--domain <domain>]
[--long]
.. option:: --domain <domain>
Filter projects by :option:`\<domain\> <--domain>` (name or ID)
.. versionadded:: 3
.. option:: --long
List additional fields in output
project set
-----------
Set project properties
.. program:: project set
.. code:: bash
os project set
[--name <name>]
[--domain <domain>]
[--description <description>]
[--enable | --disable]
[--property <key=value>]
<project>
.. option:: --name <name>
Set project name
.. option:: --domain <domain>
Set domain owning :ref:`\<project\> <project_set-project>` (name or ID)
.. versionadded:: 3
.. option:: --description <description>
Set project description
.. option:: --enable
Enable project (default)
.. option:: --disable
Disable project
.. option:: --property <key=value>
Set a property on :ref:`\<project\> <project_set-project>`
(repeat option to set multiple properties)
.. _project_set-project:
.. describe:: <project>
Project to modify (name or ID)
project show
------------
.. program:: project show
.. code:: bash
os project show
[--domain <domain>]
<project>
.. option:: --domain <domain>
Domain owning :ref:`\<project\> <project_show-project>` (name or ID)
.. versionadded:: 3
.. _project_show-project:
.. describe:: <project>
Project to show (name or ID)

@ -0,0 +1,180 @@
====
role
====
Identity v2, v3
role add
--------
Add role to a user or group in a project or domain
.. program:: role add
.. code:: bash
os role add
--domain <domain> | --project <project>
--user <user> | --group <group>
<role>
.. option:: --domain <domain>
Include `<domain>` (name or ID)
.. versionadded:: 3
.. option:: --project <project>
Include `<project>` (name or ID)
.. option:: --user <user>
Include `<user>` (name or ID)
.. option:: --group <group>
Include `<group>` (name or ID)
.. versionadded:: 3
.. describe:: <role>
Role to add to `<project>`:`<user>` (name or ID)
role create
-----------
Create new role
.. program:: role create
.. code:: bash
os role create
<name>
.. describe:: <name>
New role name
role delete
-----------
Delete an existing role
.. program:: role delete
.. code:: bash
os role delete
<role>
.. option:: <role>
Role to delete (name or ID)
role list
---------
List roles
.. program:: role list
.. code:: bash
os role list
[--domain <domain> | --project <project]
[--user <user> | --group <group>]
.. option:: --domain <domain>
Filter roles by <domain> (name or ID)
.. versionadded:: 3
.. option:: --project <project>
Filter roles by <project> (name or ID)
.. versionadded:: 3
.. option:: --user <user>
Filter roles by <user> (name or ID)
.. versionadded:: 3
.. option:: --group <group>
Filter roles by <group> (name or ID)
.. versionadded:: 3
role remove
-----------
Remove role from domain/project : user/group
.. program:: role remove
.. code:: bash
os role remove
[--domain <domain> | --project <project]
[--user <user> | --group <group>]
<role>
.. option:: --domain <domain>
Include `<domain>` (name or ID)
.. versionadded:: 3
.. option:: --project <project>
Include `<project>` (name or ID)
.. option:: --user <user>
Include `<user>` (name or ID)
.. option:: --group <group>
Include `<group>` (name or ID)
.. versionadded:: 3
.. describe:: <role>
Role to remove from `<project>`:`<user>` (name or ID)
role set
--------
Set role properties
.. versionadded:: 3
.. program:: role set
.. code:: bash
os role set
[--name <name>]
<role>
.. option:: --name <name>
Set role name
.. describe:: <role>
Role to modify (name or ID)
role show
---------
.. program:: role show
.. code:: bash
os role show
<role>
.. describe:: <role>
Role to show (name or ID)

@ -0,0 +1,25 @@
=========
user role
=========
user role list
--------------
List user-role assignments
*Removed in version 3.*
.. program:: user role list
.. code:: bash
os user role list
[--project <project>]
[<user>]
.. option:: --project <project>
Filter users by `<project>` (name or ID)
.. describe:: <user>
User to list (name or ID)

@ -0,0 +1,204 @@
====
user
====
Identity v2, v3
user create
-----------
Create new user
.. program:: user create
.. code:: bash
os user create
[--domain <domain>]
[--project <project>]
[--password <password>]
[--password-prompt]
[--email <email-address>]
[--description <description>]
[--enable | --disable]
[--or-show]
<user-name>
.. option:: --domain <domain>
Default domain (name or ID)
.. versionadded:: 3
.. option:: --project <project>
Default project (name or ID)
.. option:: --password <password>
Set user password
.. option:: --password-prompt
Prompt interactively for password
.. option:: --email <email-address>
Set user email address
.. option:: --description <description>
User description
.. versionadded:: 3
.. option:: --enable
Enable user (default)
.. option:: --disable
Disable user
.. option:: --or-show
Return existing user
If the username already exist return the existing user data and do not fail.
.. describe:: <name>
New user name
user delete
-----------
Delete user
.. program:: user delete
.. code:: bash
os user delete
<user>
.. describe:: <user>
User to delete (name or ID)
user list
---------
List users
.. program:: user list
.. code:: bash
os user list
[--domain <domain>]
[--project <project>]
[--group <group>]
[--long]
.. option:: --domain <domain>
Filter users by `<domain>` (name or ID)
.. versionadded:: 3
.. option:: --project <project>
Filter users by `<project>` (name or ID)
*Removed in version 3.*
.. option:: --group <group>
Filter users by `<group>` membership (name or ID)
.. versionadded:: 3
.. option:: --long
List additional fields in output
user set
--------
Set user properties
.. program:: user set
.. code:: bash
os user set
[--name <name>]
[--domain <domain>]
[--project <project>]
[--password <password>]
[--email <email-address>]
[--description <description>]
[--enable|--disable]
<user>
.. option:: --name <name>
Set user name
.. option:: --domain <domain>
Set default domain (name or ID)
.. versionadded:: 3
.. option:: --project <project>
Set default project (name or ID)
.. option:: --password <password>
Set user password
.. option:: --password-prompt
Prompt interactively for password
.. option:: --email <email-address>
Set user email address
.. option:: --description <description>
Set user description
.. versionadded:: 3
.. option:: --enable
Enable user (default)
.. option:: --disable
Disable user
.. describe:: <user>
User to modify (name or ID)
user show
---------
.. program:: user show
.. code:: bash
os user show
[--domain <domain>]
<user>
.. option:: --domain <domain>
Domain owning :ref:`\<user\> <user_show-user>` (name or ID)
.. versionadded:: 3
.. _user_show-user:
.. describe:: <user>
User to show (name or ID)

@ -94,7 +94,7 @@ referring to both Compute and Volume quotas.
* ``network``: Network - a virtual network for connecting servers and other resources * ``network``: Network - a virtual network for connecting servers and other resources
* ``object``: Object Store - a single file in the Object Store * ``object``: Object Store - a single file in the Object Store
* ``policy``: Identity - determines authorization * ``policy``: Identity - determines authorization
* ``project``: Identity - the owner of a group of resources * ``project``: (**Identity**) owns a group of resources
* ``quota``: (**Compute**, **Volume**) resource usage restrictions * ``quota``: (**Compute**, **Volume**) resource usage restrictions
* ``request token``: Identity - temporary OAuth-based token * ``request token``: Identity - temporary OAuth-based token
* ``role``: Identity - a policy object used to determine authorization * ``role``: Identity - a policy object used to determine authorization
@ -103,8 +103,9 @@ referring to both Compute and Volume quotas.
* ``server``: Compute - a virtual machine instance * ``server``: Compute - a virtual machine instance
* ``service``: Identity - a cloud service * ``service``: Identity - a cloud service
* ``snapshot``: Volume - a point-in-time copy of a volume * ``snapshot``: Volume - a point-in-time copy of a volume
* ``token``: Identity - the magic text used to determine access * ``token``: (**Identity**) a bearer token managed by Identity service
* ``user``: Identity - individuals using cloud resources * ``user``: (**Identity**) individual cloud resources users
* ``user role``: (**Identity**) roles assigned to a user
* ``volume``: Volume - block volumes * ``volume``: Volume - block volumes
* ``volume type``: Volume - deployment-specific types of volumes available * ``volume type``: Volume - deployment-specific types of volumes available

@ -42,8 +42,8 @@ class CreateProject(show.ShowOne):
) )
parser.add_argument( parser.add_argument(
'--description', '--description',
metavar='<project-description>', metavar='<description>',
help=_('New project description'), help=_('Project description'),
) )
enable_group = parser.add_mutually_exclusive_group() enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument( enable_group.add_argument(
@ -60,7 +60,7 @@ class CreateProject(show.ShowOne):
'--property', '--property',
metavar='<key=value>', metavar='<key=value>',
action=parseractions.KeyValueAction, action=parseractions.KeyValueAction,
help=_('Property to add for this project ' help=_('Add a property to <name> '
'(repeat option to set multiple properties)'), '(repeat option to set multiple properties)'),
) )
parser.add_argument( parser.add_argument(
@ -104,7 +104,7 @@ class CreateProject(show.ShowOne):
class DeleteProject(command.Command): class DeleteProject(command.Command):
"""Delete project""" """Delete an existing project"""
log = logging.getLogger(__name__ + '.DeleteProject') log = logging.getLogger(__name__ + '.DeleteProject')
@ -169,17 +169,17 @@ class SetProject(command.Command):
parser.add_argument( parser.add_argument(
'project', 'project',
metavar='<project>', metavar='<project>',
help=_('Project to change (name or ID)'), help=_('Project to modify (name or ID)'),
) )
parser.add_argument( parser.add_argument(
'--name', '--name',
metavar='<new-project-name>', metavar='<name>',
help=_('New project name'), help=_('Set project name'),
) )
parser.add_argument( parser.add_argument(
'--description', '--description',
metavar='<project-description>', metavar='<description>',
help=_('New project description'), help=_('Set project description'),
) )
enable_group = parser.add_mutually_exclusive_group() enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument( enable_group.add_argument(
@ -196,7 +196,7 @@ class SetProject(command.Command):
'--property', '--property',
metavar='<key=value>', metavar='<key=value>',
action=parseractions.KeyValueAction, action=parseractions.KeyValueAction,
help=_('Property to add for this project ' help=_('Set a project property '
'(repeat option to set multiple properties)'), '(repeat option to set multiple properties)'),
) )
return parser return parser
@ -249,7 +249,7 @@ class ShowProject(show.ShowOne):
parser.add_argument( parser.add_argument(
'project', 'project',
metavar='<project>', metavar='<project>',
help=_('Project to display (name or ID)')) help=_('Project to show (name or ID)'))
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):

@ -38,17 +38,20 @@ class AddRole(show.ShowOne):
parser.add_argument( parser.add_argument(
'role', 'role',
metavar='<role>', metavar='<role>',
help=_('Role name or ID to add to user')) help=_('Role to add to <project>:<user> (name or ID)'),
)
parser.add_argument( parser.add_argument(
'--project', '--project',
metavar='<project>', metavar='<project>',
required=True, required=True,
help=_('Include project (name or ID)')) help=_('Include <project> (name or ID)'),
)
parser.add_argument( parser.add_argument(
'--user', '--user',
metavar='<user>', metavar='<user>',
required=True, required=True,
help=_('Name or ID of user to include')) help=_('Include <user> (name or ID)'),
)
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):
@ -80,8 +83,9 @@ class CreateRole(show.ShowOne):
parser = super(CreateRole, self).get_parser(prog_name) parser = super(CreateRole, self).get_parser(prog_name)
parser.add_argument( parser.add_argument(
'role_name', 'role_name',
metavar='<role-name>', metavar='<name>',
help=_('New role name')) help=_('New role name'),
)
parser.add_argument( parser.add_argument(
'--or-show', '--or-show',
action='store_true', action='store_true',
@ -110,7 +114,7 @@ class CreateRole(show.ShowOne):
class DeleteRole(command.Command): class DeleteRole(command.Command):
"""Delete existing role""" """Delete an existing role"""
log = logging.getLogger(__name__ + '.DeleteRole') log = logging.getLogger(__name__ + '.DeleteRole')
@ -119,7 +123,8 @@ class DeleteRole(command.Command):
parser.add_argument( parser.add_argument(
'role', 'role',
metavar='<role>', metavar='<role>',
help=_('Name or ID of role to delete')) help=_('Role to delete (name or ID)'),
)
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):
@ -162,11 +167,13 @@ class ListUserRole(lister.Lister):
'user', 'user',
metavar='<user>', metavar='<user>',
nargs='?', nargs='?',
help=_('Name or ID of user to include')) help=_('User to list (name or ID)'),
)
parser.add_argument( parser.add_argument(
'--project', '--project',
metavar='<project>', metavar='<project>',
help=_('Include project (name or ID)')) help=_('Filter users by <project> (name or ID)'),
)
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):
@ -227,17 +234,20 @@ class RemoveRole(command.Command):
parser.add_argument( parser.add_argument(
'role', 'role',
metavar='<role>', metavar='<role>',
help=_('Role name or ID to remove from user')) help=_('Role to remove from <project>:<user> (name or ID)'),
)
parser.add_argument( parser.add_argument(
'--project', '--project',
metavar='<project>', metavar='<project>',
required=True, required=True,
help=_('Project to include (name or ID)')) help=_('Include <project> (name or ID)'),
)
parser.add_argument( parser.add_argument(
'--user', '--user',
metavar='<user>', metavar='<user>',
required=True, required=True,
help=_('Name or ID of user')) help=_('Include <user> (name or ID)'),
)
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):
@ -265,7 +275,8 @@ class ShowRole(show.ShowOne):
parser.add_argument( parser.add_argument(
'role', 'role',
metavar='<role>', metavar='<role>',
help=_('Name or ID of role to display')) help=_('Role to show (name or ID)'),
)
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):

@ -36,13 +36,18 @@ class CreateUser(show.ShowOne):
parser = super(CreateUser, self).get_parser(prog_name) parser = super(CreateUser, self).get_parser(prog_name)
parser.add_argument( parser.add_argument(
'name', 'name',
metavar='<user-name>', metavar='<name>',
help=_('New user name'), help=_('New user name'),
) )
parser.add_argument(
'--project',
metavar='<project>',
help=_('Default project (name or ID)'),
)
parser.add_argument( parser.add_argument(
'--password', '--password',
metavar='<user-password>', metavar='<password>',
help=_('New user password'), help=_('Set user password'),
) )
parser.add_argument( parser.add_argument(
'--password-prompt', '--password-prompt',
@ -52,13 +57,8 @@ class CreateUser(show.ShowOne):
) )
parser.add_argument( parser.add_argument(
'--email', '--email',
metavar='<user-email>', metavar='<email-address>',
help=_('New user email address'), help=_('Set user email address'),
)
parser.add_argument(
'--project',
metavar='<project>',
help=_('Set default project (name or ID)'),
) )
enable_group = parser.add_mutually_exclusive_group() enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument( enable_group.add_argument(
@ -258,13 +258,18 @@ class SetUser(command.Command):
) )
parser.add_argument( parser.add_argument(
'--name', '--name',
metavar='<new-user-name>', metavar='<name>',
help=_('New user name'), help=_('Set user name'),
)
parser.add_argument(
'--project',
metavar='<project>',
help=_('Set default project (name or ID)'),
) )
parser.add_argument( parser.add_argument(
'--password', '--password',
metavar='<user-password>', metavar='<user-password>',
help=_('New user password'), help=_('Set user password'),
) )
parser.add_argument( parser.add_argument(
'--password-prompt', '--password-prompt',
@ -274,13 +279,8 @@ class SetUser(command.Command):
) )
parser.add_argument( parser.add_argument(
'--email', '--email',
metavar='<user-email>', metavar='<email-address>',
help=_('New user email address'), help=_('Set user email address'),
)
parser.add_argument(
'--project',
metavar='<project>',
help=_('New default project (name or ID)'),
) )
enable_group = parser.add_mutually_exclusive_group() enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument( enable_group.add_argument(

@ -43,13 +43,13 @@ class CreateProject(show.ShowOne):
) )
parser.add_argument( parser.add_argument(
'--domain', '--domain',
metavar='<project-domain>', metavar='<domain>',
help='Domain owning the project (name or ID)', help='Domain owning the project (name or ID)',
) )
parser.add_argument( parser.add_argument(
'--description', '--description',
metavar='<project-description>', metavar='<description>',
help='New project description', help='Project description',
) )
enable_group = parser.add_mutually_exclusive_group() enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument( enable_group.add_argument(
@ -66,7 +66,7 @@ class CreateProject(show.ShowOne):
'--property', '--property',
metavar='<key=value>', metavar='<key=value>',
action=parseractions.KeyValueAction, action=parseractions.KeyValueAction,
help='Property to add for this project ' help='Add a property to <name> '
'(repeat option to set multiple properties)', '(repeat option to set multiple properties)',
) )
parser.add_argument( parser.add_argument(
@ -115,7 +115,7 @@ class CreateProject(show.ShowOne):
class DeleteProject(command.Command): class DeleteProject(command.Command):
"""Delete project""" """Delete an existing project"""
log = logging.getLogger(__name__ + '.DeleteProject') log = logging.getLogger(__name__ + '.DeleteProject')
@ -148,17 +148,17 @@ class ListProject(lister.Lister):
def get_parser(self, prog_name): def get_parser(self, prog_name):
parser = super(ListProject, self).get_parser(prog_name) parser = super(ListProject, self).get_parser(prog_name)
parser.add_argument(
'--domain',
metavar='<domain>',
help='Filter projects by <domain> (name or ID)',
)
parser.add_argument( parser.add_argument(
'--long', '--long',
action='store_true', action='store_true',
default=False, default=False,
help='List additional fields in output', help='List additional fields in output',
) )
parser.add_argument(
'--domain',
metavar='<project-domain>',
help='Filter by a specific domain (name or ID)',
)
return parser return parser
def take_action(self, parsed_args): def take_action(self, parsed_args):
@ -190,22 +190,22 @@ class SetProject(command.Command):
parser.add_argument( parser.add_argument(
'project', 'project',
metavar='<project>', metavar='<project>',
help='Project to change (name or ID)', help='Project to modify (name or ID)',
) )
parser.add_argument( parser.add_argument(
'--name', '--name',
metavar='<new-project-name>', metavar='<name>',
help='New project name', help='Set project name',
) )
parser.add_argument( parser.add_argument(
'--domain', '--domain',
metavar='<project-domain>', metavar='<domain>',
help='New domain owning the project (name or ID)', help='Set domain owning <project> (name or ID)',
) )
parser.add_argument( parser.add_argument(
'--description', '--description',
metavar='<project-description>', metavar='<description>',
help='New project description', help='Set project description',
) )
enable_group = parser.add_mutually_exclusive_group() enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument( enable_group.add_argument(
@ -222,7 +222,7 @@ class SetProject(command.Command):
'--property', '--property',
metavar='<key=value>', metavar='<key=value>',
action=parseractions.KeyValueAction, action=parseractions.KeyValueAction,
help='Property to add for this project ' help='Set a property on <project> '
'(repeat option to set multiple properties)', '(repeat option to set multiple properties)',
) )
return parser return parser
@ -278,7 +278,7 @@ class ShowProject(show.ShowOne):
parser.add_argument( parser.add_argument(
'--domain', '--domain',
metavar='<domain>', metavar='<domain>',
help='Domain where project resides (name or ID)', help='Domain owning <project> (name or ID)',
) )
return parser return parser

@ -38,29 +38,29 @@ class AddRole(command.Command):
parser.add_argument( parser.add_argument(
'role', 'role',
metavar='<role>', metavar='<role>',
help='Name or ID of role to add', help='Role to add to <user> (name or ID)',
)
user_or_group = parser.add_mutually_exclusive_group()
user_or_group.add_argument(
'--user',
metavar='<user>',
help='Name or ID of user to add a role',
)
user_or_group.add_argument(
'--group',
metavar='<group>',
help='Name or ID of group to add a role',
) )
domain_or_project = parser.add_mutually_exclusive_group() domain_or_project = parser.add_mutually_exclusive_group()
domain_or_project.add_argument( domain_or_project.add_argument(
'--domain', '--domain',
metavar='<domain>', metavar='<domain>',
help='Name or ID of domain associated with user or group', help='Include <domain> (name or ID)',
) )
domain_or_project.add_argument( domain_or_project.add_argument(
'--project', '--project',
metavar='<project>', metavar='<project>',
help='Name or ID of project associated with user or group', help='Include `<project>` (name or ID)',
)
user_or_group = parser.add_mutually_exclusive_group()
user_or_group.add_argument(
'--user',
metavar='<user>',
help='Include <user> (name or ID)',
)
user_or_group.add_argument(
'--group',
metavar='<group>',
help='Include <group> (name or ID)',
) )
return parser return parser
@ -177,7 +177,7 @@ class CreateRole(show.ShowOne):
class DeleteRole(command.Command): class DeleteRole(command.Command):
"""Delete existing role""" """Delete an existing role"""
log = logging.getLogger(__name__ + '.DeleteRole') log = logging.getLogger(__name__ + '.DeleteRole')
@ -186,7 +186,7 @@ class DeleteRole(command.Command):
parser.add_argument( parser.add_argument(
'role', 'role',
metavar='<role>', metavar='<role>',
help='Name or ID of role to delete', help='Role to delete (name or ID)',
) )
return parser return parser
@ -214,23 +214,23 @@ class ListRole(lister.Lister):
domain_or_project.add_argument( domain_or_project.add_argument(
'--domain', '--domain',
metavar='<domain>', metavar='<domain>',
help='Filter role list by <domain>', help='Filter roles by <domain> (name or ID)',
) )
domain_or_project.add_argument( domain_or_project.add_argument(
'--project', '--project',
metavar='<project>', metavar='<project>',
help='Filter role list by <project>', help='Filter roles by <project> (name or ID)',
) )
user_or_group = parser.add_mutually_exclusive_group() user_or_group = parser.add_mutually_exclusive_group()
user_or_group.add_argument( user_or_group.add_argument(
'--user', '--user',
metavar='<user>', metavar='<user>',
help='Name or ID of user to list roles assigned to', help='Filter roles by <user> (name or ID)',
) )
user_or_group.add_argument( user_or_group.add_argument(
'--group', '--group',
metavar='<group>', metavar='<group>',
help='Name or ID of group to list roles assigned to', help='Filter roles by <group> (name or ID)',
) )
return parser return parser
@ -320,7 +320,7 @@ class ListRole(lister.Lister):
class RemoveRole(command.Command): class RemoveRole(command.Command):
"""Remove role command""" """Remove role from domain/project : user/group"""
log = logging.getLogger(__name__ + '.RemoveRole') log = logging.getLogger(__name__ + '.RemoveRole')
@ -329,29 +329,29 @@ class RemoveRole(command.Command):
parser.add_argument( parser.add_argument(
'role', 'role',
metavar='<role>', metavar='<role>',
help='Name or ID of role to remove', help='Role to remove (name or ID)',
)
user_or_group = parser.add_mutually_exclusive_group()
user_or_group.add_argument(
'--user',
metavar='<user>',
help='Name or ID of user to remove a role',
)
user_or_group.add_argument(
'--group',
metavar='<group>',
help='Name or ID of group to remove a role',
) )
domain_or_project = parser.add_mutually_exclusive_group() domain_or_project = parser.add_mutually_exclusive_group()
domain_or_project.add_argument( domain_or_project.add_argument(
'--domain', '--domain',
metavar='<domain>', metavar='<domain>',
help='Name or ID of domain associated with user or group', help='Include <domain> (name or ID)',
) )
domain_or_project.add_argument( domain_or_project.add_argument(
'--project', '--project',
metavar='<project>', metavar='<project>',
help='Name or ID of project associated with user or group', help='Include <project> (name or ID)',
)
user_or_group = parser.add_mutually_exclusive_group()
user_or_group.add_argument(
'--user',
metavar='<user>',
help='Include <user> (name or ID)',
)
user_or_group.add_argument(
'--group',
metavar='<group>',
help='Include <group> (name or ID)',
) )
return parser return parser
@ -431,7 +431,7 @@ class RemoveRole(command.Command):
class SetRole(command.Command): class SetRole(command.Command):
"""Set role command""" """Set role properties"""
log = logging.getLogger(__name__ + '.SetRole') log = logging.getLogger(__name__ + '.SetRole')
@ -440,12 +440,12 @@ class SetRole(command.Command):
parser.add_argument( parser.add_argument(
'role', 'role',
metavar='<role>', metavar='<role>',
help='Name or ID of role to update', help='Role to modify (name or ID)',
) )
parser.add_argument( parser.add_argument(
'--name', '--name',
metavar='<new-role-name>', metavar='<name>',
help='New role name', help='Set role name',
) )
return parser return parser
@ -475,7 +475,7 @@ class ShowRole(show.ShowOne):
parser.add_argument( parser.add_argument(
'role', 'role',
metavar='<role>', metavar='<role>',
help='Name or ID of role to display', help='Role to show (name or ID)',
) )
return parser return parser

@ -37,13 +37,23 @@ class CreateUser(show.ShowOne):
parser = super(CreateUser, self).get_parser(prog_name) parser = super(CreateUser, self).get_parser(prog_name)
parser.add_argument( parser.add_argument(
'name', 'name',
metavar='<user-name>', metavar='<name>',
help='New user name', help='New user name',
) )
parser.add_argument(
'--domain',
metavar='<domain>',
help='Default domain (name or ID)',
)
parser.add_argument(
'--project',
metavar='<project>',
help='Default project (name or ID)',
)
parser.add_argument( parser.add_argument(
'--password', '--password',
metavar='<user-password>', metavar='<password>',
help='New user password', help='Set user password',
) )
parser.add_argument( parser.add_argument(
'--password-prompt', '--password-prompt',
@ -53,23 +63,13 @@ class CreateUser(show.ShowOne):
) )
parser.add_argument( parser.add_argument(
'--email', '--email',
metavar='<user-email>', metavar='<email-address>',
help='New user email address', help='Set user email address',
)
parser.add_argument(
'--project',
metavar='<project>',
help='Set default project (name or ID)',
)
parser.add_argument(
'--domain',
metavar='<domain>',
help='New default domain name or ID',
) )
parser.add_argument( parser.add_argument(
'--description', '--description',
metavar='<description>', metavar='<description>',
help='Description for new user', help='User description',
) )
enable_group = parser.add_mutually_exclusive_group() enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument( enable_group.add_argument(
@ -173,12 +173,12 @@ class ListUser(lister.Lister):
parser.add_argument( parser.add_argument(
'--domain', '--domain',
metavar='<domain>', metavar='<domain>',
help='Filter user list by <domain> (name or ID)', help='Filter users by <domain> (name or ID)',
) )
parser.add_argument( parser.add_argument(
'--group', '--group',
metavar='<group>', metavar='<group>',
help='List memberships of <group> (name or ID)', help='Filter users by <group> membership (name or ID)',
) )
parser.add_argument( parser.add_argument(
'--long', '--long',
@ -240,13 +240,23 @@ class SetUser(command.Command):
) )
parser.add_argument( parser.add_argument(
'--name', '--name',
metavar='<new-user-name>', metavar='<name>',
help='New user name', help='Set user name',
)
parser.add_argument(
'--domain',
metavar='<domain>',
help='Set default domain (name or ID)',
)
parser.add_argument(
'--project',
metavar='<project>',
help='Set default project (name or ID)',
) )
parser.add_argument( parser.add_argument(
'--password', '--password',
metavar='<user-password>', metavar='<password>',
help='New user password', help='Set user password',
) )
parser.add_argument( parser.add_argument(
'--password-prompt', '--password-prompt',
@ -256,23 +266,13 @@ class SetUser(command.Command):
) )
parser.add_argument( parser.add_argument(
'--email', '--email',
metavar='<user-email>', metavar='<email-address>',
help='New user email address', help='Set user email address',
)
parser.add_argument(
'--domain',
metavar='<domain>',
help='New domain name or ID',
)
parser.add_argument(
'--project',
metavar='<project>',
help='New project name or ID',
) )
parser.add_argument( parser.add_argument(
'--description', '--description',
metavar='<description>', metavar='<description>',
help='New description', help='Set user description',
) )
enable_group = parser.add_mutually_exclusive_group() enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument( enable_group.add_argument(
@ -380,7 +380,7 @@ class ShowUser(show.ShowOne):
parser.add_argument( parser.add_argument(
'--domain', '--domain',
metavar='<domain>', metavar='<domain>',
help='Domain where user resides (name or ID)', help='Domain owning <user> (name or ID)',
) )
return parser return parser