summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/source/command-objects/project.rst155
-rw-r--r--doc/source/command-objects/role.rst180
-rw-r--r--doc/source/command-objects/user-role.rst25
-rw-r--r--doc/source/command-objects/user.rst204
-rw-r--r--doc/source/commands.rst7
-rw-r--r--openstackclient/identity/v2_0/project.py22
-rw-r--r--openstackclient/identity/v2_0/role.py37
-rw-r--r--openstackclient/identity/v2_0/user.py40
-rw-r--r--openstackclient/identity/v3/project.py38
-rw-r--r--openstackclient/identity/v3/role.py80
-rw-r--r--openstackclient/identity/v3/user.py72
11 files changed, 718 insertions, 142 deletions
diff --git a/doc/source/command-objects/project.rst b/doc/source/command-objects/project.rst
new file mode 100644
index 00000000..ba741d1d
--- /dev/null
+++ b/doc/source/command-objects/project.rst
@@ -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)
diff --git a/doc/source/command-objects/role.rst b/doc/source/command-objects/role.rst
new file mode 100644
index 00000000..1cc80d7d
--- /dev/null
+++ b/doc/source/command-objects/role.rst
@@ -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)
diff --git a/doc/source/command-objects/user-role.rst b/doc/source/command-objects/user-role.rst
new file mode 100644
index 00000000..a25e90ff
--- /dev/null
+++ b/doc/source/command-objects/user-role.rst
@@ -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)
diff --git a/doc/source/command-objects/user.rst b/doc/source/command-objects/user.rst
new file mode 100644
index 00000000..53becf27
--- /dev/null
+++ b/doc/source/command-objects/user.rst
@@ -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)
diff --git a/doc/source/commands.rst b/doc/source/commands.rst
index 506fbfc2..250a8039 100644
--- a/doc/source/commands.rst
+++ b/doc/source/commands.rst
@@ -94,7 +94,7 @@ referring to both Compute and Volume quotas.
* ``network``: Network - a virtual network for connecting servers and other resources
* ``object``: Object Store - a single file in the Object Store
* ``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
* ``request token``: Identity - temporary OAuth-based token
* ``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
* ``service``: Identity - a cloud service
* ``snapshot``: Volume - a point-in-time copy of a volume
-* ``token``: Identity - the magic text used to determine access
-* ``user``: Identity - individuals using cloud resources
+* ``token``: (**Identity**) a bearer token managed by Identity service
+* ``user``: (**Identity**) individual cloud resources users
+* ``user role``: (**Identity**) roles assigned to a user
* ``volume``: Volume - block volumes
* ``volume type``: Volume - deployment-specific types of volumes available
diff --git a/openstackclient/identity/v2_0/project.py b/openstackclient/identity/v2_0/project.py
index 2d66b400..df759ce6 100644
--- a/openstackclient/identity/v2_0/project.py
+++ b/openstackclient/identity/v2_0/project.py
@@ -42,8 +42,8 @@ class CreateProject(show.ShowOne):
)
parser.add_argument(
'--description',
- metavar='<project-description>',
- help=_('New project description'),
+ metavar='<description>',
+ help=_('Project description'),
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
@@ -60,7 +60,7 @@ class CreateProject(show.ShowOne):
'--property',
metavar='<key=value>',
action=parseractions.KeyValueAction,
- help=_('Property to add for this project '
+ help=_('Add a property to <name> '
'(repeat option to set multiple properties)'),
)
parser.add_argument(
@@ -104,7 +104,7 @@ class CreateProject(show.ShowOne):
class DeleteProject(command.Command):
- """Delete project"""
+ """Delete an existing project"""
log = logging.getLogger(__name__ + '.DeleteProject')
@@ -169,17 +169,17 @@ class SetProject(command.Command):
parser.add_argument(
'project',
metavar='<project>',
- help=_('Project to change (name or ID)'),
+ help=_('Project to modify (name or ID)'),
)
parser.add_argument(
'--name',
- metavar='<new-project-name>',
- help=_('New project name'),
+ metavar='<name>',
+ help=_('Set project name'),
)
parser.add_argument(
'--description',
- metavar='<project-description>',
- help=_('New project description'),
+ metavar='<description>',
+ help=_('Set project description'),
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
@@ -196,7 +196,7 @@ class SetProject(command.Command):
'--property',
metavar='<key=value>',
action=parseractions.KeyValueAction,
- help=_('Property to add for this project '
+ help=_('Set a project property '
'(repeat option to set multiple properties)'),
)
return parser
@@ -249,7 +249,7 @@ class ShowProject(show.ShowOne):
parser.add_argument(
'project',
metavar='<project>',
- help=_('Project to display (name or ID)'))
+ help=_('Project to show (name or ID)'))
return parser
def take_action(self, parsed_args):
diff --git a/openstackclient/identity/v2_0/role.py b/openstackclient/identity/v2_0/role.py
index df69e857..cec95095 100644
--- a/openstackclient/identity/v2_0/role.py
+++ b/openstackclient/identity/v2_0/role.py
@@ -38,17 +38,20 @@ class AddRole(show.ShowOne):
parser.add_argument(
'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(
'--project',
metavar='<project>',
required=True,
- help=_('Include project (name or ID)'))
+ help=_('Include <project> (name or ID)'),
+ )
parser.add_argument(
'--user',
metavar='<user>',
required=True,
- help=_('Name or ID of user to include'))
+ help=_('Include <user> (name or ID)'),
+ )
return parser
def take_action(self, parsed_args):
@@ -80,8 +83,9 @@ class CreateRole(show.ShowOne):
parser = super(CreateRole, self).get_parser(prog_name)
parser.add_argument(
'role_name',
- metavar='<role-name>',
- help=_('New role name'))
+ metavar='<name>',
+ help=_('New role name'),
+ )
parser.add_argument(
'--or-show',
action='store_true',
@@ -110,7 +114,7 @@ class CreateRole(show.ShowOne):
class DeleteRole(command.Command):
- """Delete existing role"""
+ """Delete an existing role"""
log = logging.getLogger(__name__ + '.DeleteRole')
@@ -119,7 +123,8 @@ class DeleteRole(command.Command):
parser.add_argument(
'role',
metavar='<role>',
- help=_('Name or ID of role to delete'))
+ help=_('Role to delete (name or ID)'),
+ )
return parser
def take_action(self, parsed_args):
@@ -162,11 +167,13 @@ class ListUserRole(lister.Lister):
'user',
metavar='<user>',
nargs='?',
- help=_('Name or ID of user to include'))
+ help=_('User to list (name or ID)'),
+ )
parser.add_argument(
'--project',
metavar='<project>',
- help=_('Include project (name or ID)'))
+ help=_('Filter users by <project> (name or ID)'),
+ )
return parser
def take_action(self, parsed_args):
@@ -227,17 +234,20 @@ class RemoveRole(command.Command):
parser.add_argument(
'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(
'--project',
metavar='<project>',
required=True,
- help=_('Project to include (name or ID)'))
+ help=_('Include <project> (name or ID)'),
+ )
parser.add_argument(
'--user',
metavar='<user>',
required=True,
- help=_('Name or ID of user'))
+ help=_('Include <user> (name or ID)'),
+ )
return parser
def take_action(self, parsed_args):
@@ -265,7 +275,8 @@ class ShowRole(show.ShowOne):
parser.add_argument(
'role',
metavar='<role>',
- help=_('Name or ID of role to display'))
+ help=_('Role to show (name or ID)'),
+ )
return parser
def take_action(self, parsed_args):
diff --git a/openstackclient/identity/v2_0/user.py b/openstackclient/identity/v2_0/user.py
index 2ebcba18..955e19e7 100644
--- a/openstackclient/identity/v2_0/user.py
+++ b/openstackclient/identity/v2_0/user.py
@@ -36,13 +36,18 @@ class CreateUser(show.ShowOne):
parser = super(CreateUser, self).get_parser(prog_name)
parser.add_argument(
'name',
- metavar='<user-name>',
+ metavar='<name>',
help=_('New user name'),
)
parser.add_argument(
+ '--project',
+ metavar='<project>',
+ help=_('Default project (name or ID)'),
+ )
+ parser.add_argument(
'--password',
- metavar='<user-password>',
- help=_('New user password'),
+ metavar='<password>',
+ help=_('Set user password'),
)
parser.add_argument(
'--password-prompt',
@@ -52,13 +57,8 @@ class CreateUser(show.ShowOne):
)
parser.add_argument(
'--email',
- metavar='<user-email>',
- help=_('New user email address'),
- )
- parser.add_argument(
- '--project',
- metavar='<project>',
- help=_('Set default project (name or ID)'),
+ metavar='<email-address>',
+ help=_('Set user email address'),
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
@@ -258,13 +258,18 @@ class SetUser(command.Command):
)
parser.add_argument(
'--name',
- metavar='<new-user-name>',
- help=_('New user name'),
+ metavar='<name>',
+ help=_('Set user name'),
+ )
+ parser.add_argument(
+ '--project',
+ metavar='<project>',
+ help=_('Set default project (name or ID)'),
)
parser.add_argument(
'--password',
metavar='<user-password>',
- help=_('New user password'),
+ help=_('Set user password'),
)
parser.add_argument(
'--password-prompt',
@@ -274,13 +279,8 @@ class SetUser(command.Command):
)
parser.add_argument(
'--email',
- metavar='<user-email>',
- help=_('New user email address'),
- )
- parser.add_argument(
- '--project',
- metavar='<project>',
- help=_('New default project (name or ID)'),
+ metavar='<email-address>',
+ help=_('Set user email address'),
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py
index 4fcf8127..3b0e92fd 100644
--- a/openstackclient/identity/v3/project.py
+++ b/openstackclient/identity/v3/project.py
@@ -43,13 +43,13 @@ class CreateProject(show.ShowOne):
)
parser.add_argument(
'--domain',
- metavar='<project-domain>',
+ metavar='<domain>',
help='Domain owning the project (name or ID)',
)
parser.add_argument(
'--description',
- metavar='<project-description>',
- help='New project description',
+ metavar='<description>',
+ help='Project description',
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
@@ -66,7 +66,7 @@ class CreateProject(show.ShowOne):
'--property',
metavar='<key=value>',
action=parseractions.KeyValueAction,
- help='Property to add for this project '
+ help='Add a property to <name> '
'(repeat option to set multiple properties)',
)
parser.add_argument(
@@ -115,7 +115,7 @@ class CreateProject(show.ShowOne):
class DeleteProject(command.Command):
- """Delete project"""
+ """Delete an existing project"""
log = logging.getLogger(__name__ + '.DeleteProject')
@@ -149,16 +149,16 @@ class ListProject(lister.Lister):
def get_parser(self, 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(
'--long',
action='store_true',
default=False,
help='List additional fields in output',
)
- parser.add_argument(
- '--domain',
- metavar='<project-domain>',
- help='Filter by a specific domain (name or ID)',
- )
return parser
def take_action(self, parsed_args):
@@ -190,22 +190,22 @@ class SetProject(command.Command):
parser.add_argument(
'project',
metavar='<project>',
- help='Project to change (name or ID)',
+ help='Project to modify (name or ID)',
)
parser.add_argument(
'--name',
- metavar='<new-project-name>',
- help='New project name',
+ metavar='<name>',
+ help='Set project name',
)
parser.add_argument(
'--domain',
- metavar='<project-domain>',
- help='New domain owning the project (name or ID)',
+ metavar='<domain>',
+ help='Set domain owning <project> (name or ID)',
)
parser.add_argument(
'--description',
- metavar='<project-description>',
- help='New project description',
+ metavar='<description>',
+ help='Set project description',
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
@@ -222,7 +222,7 @@ class SetProject(command.Command):
'--property',
metavar='<key=value>',
action=parseractions.KeyValueAction,
- help='Property to add for this project '
+ help='Set a property on <project> '
'(repeat option to set multiple properties)',
)
return parser
@@ -278,7 +278,7 @@ class ShowProject(show.ShowOne):
parser.add_argument(
'--domain',
metavar='<domain>',
- help='Domain where project resides (name or ID)',
+ help='Domain owning <project> (name or ID)',
)
return parser
diff --git a/openstackclient/identity/v3/role.py b/openstackclient/identity/v3/role.py
index 7801ca65..017ffd76 100644
--- a/openstackclient/identity/v3/role.py
+++ b/openstackclient/identity/v3/role.py
@@ -38,29 +38,29 @@ class AddRole(command.Command):
parser.add_argument(
'role',
metavar='<role>',
- help='Name or ID of role to add',
- )
- 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',
+ help='Role to add to <user> (name or ID)',
)
domain_or_project = parser.add_mutually_exclusive_group()
domain_or_project.add_argument(
'--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(
'--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
@@ -177,7 +177,7 @@ class CreateRole(show.ShowOne):
class DeleteRole(command.Command):
- """Delete existing role"""
+ """Delete an existing role"""
log = logging.getLogger(__name__ + '.DeleteRole')
@@ -186,7 +186,7 @@ class DeleteRole(command.Command):
parser.add_argument(
'role',
metavar='<role>',
- help='Name or ID of role to delete',
+ help='Role to delete (name or ID)',
)
return parser
@@ -214,23 +214,23 @@ class ListRole(lister.Lister):
domain_or_project.add_argument(
'--domain',
metavar='<domain>',
- help='Filter role list by <domain>',
+ help='Filter roles by <domain> (name or ID)',
)
domain_or_project.add_argument(
'--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.add_argument(
'--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(
'--group',
metavar='<group>',
- help='Name or ID of group to list roles assigned to',
+ help='Filter roles by <group> (name or ID)',
)
return parser
@@ -320,7 +320,7 @@ class ListRole(lister.Lister):
class RemoveRole(command.Command):
- """Remove role command"""
+ """Remove role from domain/project : user/group"""
log = logging.getLogger(__name__ + '.RemoveRole')
@@ -329,29 +329,29 @@ class RemoveRole(command.Command):
parser.add_argument(
'role',
metavar='<role>',
- help='Name or ID of role to remove',
- )
- 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',
+ help='Role to remove (name or ID)',
)
domain_or_project = parser.add_mutually_exclusive_group()
domain_or_project.add_argument(
'--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(
'--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
@@ -431,7 +431,7 @@ class RemoveRole(command.Command):
class SetRole(command.Command):
- """Set role command"""
+ """Set role properties"""
log = logging.getLogger(__name__ + '.SetRole')
@@ -440,12 +440,12 @@ class SetRole(command.Command):
parser.add_argument(
'role',
metavar='<role>',
- help='Name or ID of role to update',
+ help='Role to modify (name or ID)',
)
parser.add_argument(
'--name',
- metavar='<new-role-name>',
- help='New role name',
+ metavar='<name>',
+ help='Set role name',
)
return parser
@@ -475,7 +475,7 @@ class ShowRole(show.ShowOne):
parser.add_argument(
'role',
metavar='<role>',
- help='Name or ID of role to display',
+ help='Role to show (name or ID)',
)
return parser
diff --git a/openstackclient/identity/v3/user.py b/openstackclient/identity/v3/user.py
index 63dd3b4f..10ffce36 100644
--- a/openstackclient/identity/v3/user.py
+++ b/openstackclient/identity/v3/user.py
@@ -37,13 +37,23 @@ class CreateUser(show.ShowOne):
parser = super(CreateUser, self).get_parser(prog_name)
parser.add_argument(
'name',
- metavar='<user-name>',
+ metavar='<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(
'--password',
- metavar='<user-password>',
- help='New user password',
+ metavar='<password>',
+ help='Set user password',
)
parser.add_argument(
'--password-prompt',
@@ -53,23 +63,13 @@ class CreateUser(show.ShowOne):
)
parser.add_argument(
'--email',
- metavar='<user-email>',
- help='New 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',
+ metavar='<email-address>',
+ help='Set user email address',
)
parser.add_argument(
'--description',
metavar='<description>',
- help='Description for new user',
+ help='User description',
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
@@ -173,12 +173,12 @@ class ListUser(lister.Lister):
parser.add_argument(
'--domain',
metavar='<domain>',
- help='Filter user list by <domain> (name or ID)',
+ help='Filter users by <domain> (name or ID)',
)
parser.add_argument(
'--group',
metavar='<group>',
- help='List memberships of <group> (name or ID)',
+ help='Filter users by <group> membership (name or ID)',
)
parser.add_argument(
'--long',
@@ -240,13 +240,23 @@ class SetUser(command.Command):
)
parser.add_argument(
'--name',
- metavar='<new-user-name>',
- help='New user name',
+ metavar='<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(
'--password',
- metavar='<user-password>',
- help='New user password',
+ metavar='<password>',
+ help='Set user password',
)
parser.add_argument(
'--password-prompt',
@@ -256,23 +266,13 @@ class SetUser(command.Command):
)
parser.add_argument(
'--email',
- metavar='<user-email>',
- help='New 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',
+ metavar='<email-address>',
+ help='Set user email address',
)
parser.add_argument(
'--description',
metavar='<description>',
- help='New description',
+ help='Set user description',
)
enable_group = parser.add_mutually_exclusive_group()
enable_group.add_argument(
@@ -380,7 +380,7 @@ class ShowUser(show.ShowOne):
parser.add_argument(
'--domain',
metavar='<domain>',
- help='Domain where user resides (name or ID)',
+ help='Domain owning <user> (name or ID)',
)
return parser