python-openstackclient/doc/source/command-objects/project.rst
adrian-turjak 49f6032b69 Non-Admin can't list own projects
Due to a default Keystone policy until Newtown,
and the use of resource_find, non-admins are unable
to list their own projects.

This patch bypasses this problem while also introducing better
UX for non-admins wishing to get their project list.

'openstack project list' retains the default of 'list all projects'
but on a forbidden error will default instead to 'list my projects'.
This way for non-admins 'list my projects' feels like the default
without breaking the expected admin default.

Adding the '--my-projects' option allows admins to easily list their
own projects or allows non-admins to be explicit and bypass the
forbidden error fallback.

Change-Id: I1021276f69fbbf28e13e17c4e567d932fce7ed8b
Closes-Bug: #1627555
2017-03-20 14:40:56 +13:00

236 lines
4.2 KiB
ReStructuredText

=======
project
=======
Identity v2, v3
project create
--------------
Create new project
.. program:: project create
.. code:: bash
openstack project create
[--domain <domain>]
[--parent <project>]
[--description <description>]
[--enable | --disable]
[--property <key=value>]
[--or-show]
<name>
.. option:: --domain <domain>
Domain owning the project (name or ID)
.. versionadded:: 3
.. option:: --parent <project>
Parent of 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)
.. option:: --or-show
Return existing project
If the project already exists return the existing project data and do not fail.
.. _project_create-name:
.. describe:: <name>
New project name
project delete
--------------
Delete project(s)
.. program:: project delete
.. code:: bash
openstack project delete
[--domain <domain>]
<project> [<project> ...]
.. option:: --domain <domain>
Domain owning :ref:`\<project\> <project_delete-project>` (name or ID)
.. versionadded:: 3
.. _project_delete-project:
.. describe:: <project>
Project to delete (name or ID)
project list
------------
List projects
.. program:: project list
.. code:: bash
openstack project list
[--domain <domain>]
[--user <user>]
[--my-projects]
[--long]
[--sort <key>[:<direction>,<key>:<direction>,..]]
.. option:: --domain <domain>
Filter projects by :option:`\<domain\> <--domain>` (name or ID)
.. versionadded:: 3
.. option:: --user <user>
Filter projects by :option:`\<user\> <--user>` (name or ID)
.. versionadded:: 3
.. option:: --my-projects
List projects for the authenticated user. Supersedes other filters.
.. versionadded:: 3
.. option:: --long
List additional fields in output
.. option:: --sort <key>[:<direction>,<key>:<direction>,..]
Sort output by selected keys and directions (asc or desc) (default: asc),
multiple keys and directions can be specified --sort
<key>[:<direction>,<key>:<direction>,..]
project set
-----------
Set project properties
.. program:: project set
.. code:: bash
openstack project set
[--name <name>]
[--domain <domain>]
[--description <description>]
[--enable | --disable]
[--property <key=value>]
<project>
.. option:: --name <name>
Set project name
.. option:: --domain <domain>
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)
*Identity version 2 only*
.. _project_set-project:
.. describe:: <project>
Project to modify (name or ID)
project show
------------
Display project details
.. program:: project show
.. code:: bash
openstack project show
[--domain <domain>]
<project>
.. option:: --domain <domain>
Domain owning :ref:`\<project\> <project_show-project>` (name or ID)
.. versionadded:: 3
.. option:: --parents
Show the project\'s parents as a list
.. versionadded:: 3
.. option:: --children
Show project\'s subtree (children) as a list
.. versionadded:: 3
.. _project_show-project:
.. describe:: <project>
Project to display (name or ID)
project unset
-------------
Unset project properties
*Identity version 2 only*
.. program:: project unset
.. code:: bash
openstack project unset
--property <key> [--property <key> ...]
<project>
.. option:: --property <key>
Property key to remove from project (repeat option to remove multiple properties)
.. describe:: <project>
Project to modify (name or ID)