diff --git a/doc/source/command-list.rst b/doc/source/command-list.rst new file mode 100644 index 0000000000..c4045b0406 --- /dev/null +++ b/doc/source/command-list.rst @@ -0,0 +1,9 @@ +============ +Command List +============ + +.. toctree:: + :glob: + :maxdepth: 2 + + command-objects/* diff --git a/doc/source/command-objects/extension.rst b/doc/source/command-objects/extension.rst new file mode 100644 index 0000000000..8f39a62529 --- /dev/null +++ b/doc/source/command-objects/extension.rst @@ -0,0 +1,41 @@ +========= +extension +========= + +Many OpenStack server APIs include API extensions that enable +additional functionality. + +extension list +-------------- + +List API extensions + +.. program:: extension list +.. code:: bash + + os extension list + [--compute] + [--identity] + [--network] + [--volume] + [--long] + +.. option:: --compute + + List extensions for the Compute API + +.. option:: --identity + + List extensions for the Identity API + +.. option:: --network + + List extensions for the Network API + +.. option:: --volume + + List extensions for the Volume API + +.. option:: --long + + List additional fields in output diff --git a/doc/source/command-objects/limits.rst b/doc/source/command-objects/limits.rst new file mode 100644 index 0000000000..ac388e0f56 --- /dev/null +++ b/doc/source/command-objects/limits.rst @@ -0,0 +1,28 @@ +====== +limits +====== + +The Compute and Volume APIs have resource usage limits. + +limits show +----------- + +Show compute and volume limits + +.. program:: limits show +.. code:: bash + + os limits show + --absolute [--reserved] | --rate + +.. option:: --absolute + + Show absolute limits + +.. option:: --rate + + Show rate limits + +.. option:: --reserved + + Include reservations count [only valid with :option:`--absolute`] diff --git a/doc/source/command-objects/quota.rst b/doc/source/command-objects/quota.rst new file mode 100644 index 0000000000..ba6712c083 --- /dev/null +++ b/doc/source/command-objects/quota.rst @@ -0,0 +1,157 @@ +===== +quota +===== + +Resource quotas appear in multiple APIs, OpenStackClient presents them as a single object with multiple properties. + +quota set +--------- + +Set quotas for project + +.. program:: quota set +.. code:: bash + + os quota set + # Compute settings + [--cores <num-cores>] + [--fixed-ips <num-fixed-ips>] + [--floating-ips <num-floating-ips>] + [--injected-file-size <injected-file-bytes>] + [--injected-files <num-injected-files>] + [--instances <num-instances>] + [--key-pairs <num-key-pairs>] + [--properties <num-properties>] + [--ram <ram-mb>] + + # Volume settings + [--gigabytes <new-gigabytes>] + [--snapshots <new-snapshots>] + [--volumes <new-volumes>] + + <project> + +Set quotas for class + +.. code:: bash + + os quota set + --class + # Compute settings + [--cores <num-cores>] + [--fixed-ips <num-fixed-ips>] + [--floating-ips <num-floating-ips>] + [--injected-file-size <injected-file-bytes>] + [--injected-files <num-injected-files>] + [--instances <num-instances>] + [--key-pairs <num-key-pairs>] + [--properties <num-properties>] + [--ram <ram-mb>] + + # Volume settings + [--gigabytes <new-gigabytes>] + [--snapshots <new-snapshots>] + [--volumes <new-volumes>] + + <class> + +.. option:: --class + + Set quotas for ``<class>`` + +.. option:: --properties <new-properties> + + New value for the properties quota + +.. option:: --ram <new-ram> + + New value for the ram quota + +.. option:: --secgroup-rules <new-secgroup-rules> + + New value for the secgroup-rules quota + +.. option:: --instances <new-instances> + + New value for the instances quota + +.. option:: --key-pairs <new-key-pairs> + + New value for the key-pairs quota + +.. option:: --fixed-ips <new-fixed-ips> + + New value for the fixed-ips quota + +.. option:: --secgroups <new-secgroups> + + New value for the secgroups quota + +.. option:: --injected-file-size <new-injected-file-size> + + New value for the injected-file-size quota + +.. option:: --floating-ips <new-floating-ips> + + New value for the floating-ips quota + +.. option:: --injected-files <new-injected-files> + + New value for the injected-files quota + +.. option:: --cores <new-cores> + + New value for the cores quota + +.. option:: --injected-path-size <new-injected-path-size> + + New value for the injected-path-size quota + +.. option:: --gigabytes <new-gigabytes> + + New value for the gigabytes quota + +.. option:: --volumes <new-volumes> + + New value for the volumes quota + +.. option:: --snapshots <new-snapshots> + + New value for the snapshots quota + +quota show +---------- + +Show quotas for project + +.. program:: quota show +.. code:: bash + + os quota show + [--default] + <project> + + +.. option:: --default + + Show default quotas for :ref:`\<project\> <quota_show-project>` + +.. _quota_show-project: +.. describe:: <project> + + Show quotas for class + +.. code:: bash + + os quota show + --class + <class> + +.. option:: --class + + Show quotas for :ref:`\<class\> <quota_show-class>` + +.. _quota_show-class: +.. describe:: <class> + + Class to show \ No newline at end of file diff --git a/doc/source/commands.rst b/doc/source/commands.rst index 8857f3d55d..37c62e8ec3 100644 --- a/doc/source/commands.rst +++ b/doc/source/commands.rst @@ -1,8 +1,4 @@ -======== -Commands -======== - - +================= Command Structure ================= @@ -83,7 +79,7 @@ referring to both Compute and Volume quotas. * ``credential``: Identity - specific to identity providers * ``domain``: Identity - a grouping of projects * ``endpoint``: Identity - the base URL used to contact a specific service -* ``extension``: Compute, Identity, Volume - additional APIs available +* ``extension``: (**Compute**, **Identity**, **Volume**) OpenStack server API extensions * ``flavor``: Compute - pre-defined configurations of servers: ram, root disk, etc * ``group``: Identity - a grouping of users * ``host``: Compute - the physical computer running a hypervisor @@ -93,13 +89,13 @@ referring to both Compute and Volume quotas. * ``ip fixed``: Compute, Network - an internal IP address assigned to a server * ``ip floating``: Compute, Network - a public IP address that can be mapped to a server * ``keypair``: Compute - an SSH public key -* ``limits``: Compute, Volume - resource usage limits +* ``limits``: (**Compute**, **Volume**) resource usage limits * ``module``: internal - installed Python modules in the OSC process * ``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 -* ``quota``: Compute, Volume - limit on resource usage +* ``quota``: (**Compute**, **Volume**) resource usage restrictions * ``request token``: Identity - temporary OAuth-based token * ``role``: Identity - a policy object used to determine authorization * ``security group``: Compute, Network - groups of network access rules @@ -149,7 +145,7 @@ Those actions with an opposite action are noted in parens if applicable. Implementation -============== +-------------- The command structure is designed to support seamless addition of plugin command modules via ``setuptools`` entry points. The plugin commands must diff --git a/doc/source/index.rst b/doc/source/index.rst index b6145a86b6..2edbb35d57 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -12,6 +12,7 @@ Contents: :maxdepth: 1 releases + command-list commands plugins authentication diff --git a/doc/source/releases.rst b/doc/source/releases.rst index 89b4ad111e..909c362eaf 100644 --- a/doc/source/releases.rst +++ b/doc/source/releases.rst @@ -26,7 +26,7 @@ Release Notes * add ``object create`` and ``object delete`` commands * add initial support for global ``--timing`` options (similar to nova CLI) * complete Python 3 compatibility -* fix ``server resize` command +* fix ``server resize`` command * add authentication via ``--os-trust-id`` for Identity v3 * Add initial support for Network API, ``network create|delete|list|show`` diff --git a/openstackclient/common/extension.py b/openstackclient/common/extension.py index be7426daa0..dad7ed6285 100644 --- a/openstackclient/common/extension.py +++ b/openstackclient/common/extension.py @@ -24,7 +24,7 @@ from openstackclient.common import utils class ListExtension(lister.Lister): - """List extension command""" + """List API extensions""" log = logging.getLogger(__name__ + '.ListExtension') @@ -40,11 +40,6 @@ class ListExtension(lister.Lister): action='store_true', default=False, help='List extensions for the Identity API') - parser.add_argument( - '--long', - action='store_true', - default=False, - help='List additional fields in output') parser.add_argument( '--network', action='store_true', @@ -55,6 +50,11 @@ class ListExtension(lister.Lister): action='store_true', default=False, help='List extensions for the Volume API') + parser.add_argument( + '--long', + action='store_true', + default=False, + help='List additional fields in output') return parser def take_action(self, parsed_args): diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py index e011fd3619..edf4ffdb98 100644 --- a/openstackclient/common/quota.py +++ b/openstackclient/common/quota.py @@ -72,7 +72,7 @@ class SetQuota(command.Command): COMPUTE_QUOTAS.items(), VOLUME_QUOTAS.items()): parser.add_argument( '--%s' % v, - metavar='<new-%s>' % v, + metavar='<%s>' % v, type=int, help='New value for the %s quota' % v, ) diff --git a/openstackclient/identity/v2_0/endpoint.py b/openstackclient/identity/v2_0/endpoint.py index f7d7883109..c5189b62e7 100644 --- a/openstackclient/identity/v2_0/endpoint.py +++ b/openstackclient/identity/v2_0/endpoint.py @@ -28,7 +28,7 @@ from openstackclient.identity import common class CreateEndpoint(show.ShowOne): - """Create endpoint command""" + """Create endpoint""" log = logging.getLogger(__name__ + '.CreateEndpoint')