summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/source/cli/command-objects/availability-zone.rst31
-rw-r--r--doc/source/cli/command-objects/configuration.rst23
-rw-r--r--doc/source/cli/command-objects/extension.rst52
-rw-r--r--doc/source/cli/command-objects/limits.rst34
-rw-r--r--doc/source/cli/command-objects/project-purge.rst35
-rw-r--r--doc/source/cli/command-objects/quota.rst271
-rw-r--r--doc/source/cli/command-objects/versions.rst47
-rw-r--r--openstackclient/common/quota.py42
-rw-r--r--openstackclient/common/versions.py15
9 files changed, 56 insertions, 494 deletions
diff --git a/doc/source/cli/command-objects/availability-zone.rst b/doc/source/cli/command-objects/availability-zone.rst
index d4c117a0..bdc64f15 100644
--- a/doc/source/cli/command-objects/availability-zone.rst
+++ b/doc/source/cli/command-objects/availability-zone.rst
@@ -7,32 +7,5 @@ compute and network services.
Block Storage v2, Compute v2, Network v2
-availability zone list
-----------------------
-
-List availability zones and their status
-
-.. program availability zone list
-.. code:: bash
-
- openstack availability zone list
- [--compute]
- [--network]
- [--volume]
- [--long]
-
-.. option:: --compute
-
- List compute availability zones
-
-.. option:: --network
-
- List network availability zones
-
-.. option:: --volume
-
- List volume availability zones
-
-.. option:: --long
-
- List additional fields in output
+.. autoprogram-cliff:: openstack.common
+ :command: availability zone list
diff --git a/doc/source/cli/command-objects/configuration.rst b/doc/source/cli/command-objects/configuration.rst
index 6e704d2d..22fd13e4 100644
--- a/doc/source/cli/command-objects/configuration.rst
+++ b/doc/source/cli/command-objects/configuration.rst
@@ -6,24 +6,5 @@ Available for all services
.. _configuration-show:
-configuration show
-------------------
-
-Show the current openstack client configuration. This command is a little
-different from other show commands because it does not take a resource name
-or id to show. The command line options, such as --os-cloud, can be used to
-show different configurations.
-
-.. program:: configuration show
-.. code:: bash
-
- openstack configuration show
- [--mask | --unmask]
-
-.. option:: --mask
-
- Attempt to mask passwords (default)
-
-.. option:: --unmask
-
- Show password in clear text
+.. autoprogram-cliff:: openstack.common
+ :command: configuration show
diff --git a/doc/source/cli/command-objects/extension.rst b/doc/source/cli/command-objects/extension.rst
index 36cf418b..1002a5ff 100644
--- a/doc/source/cli/command-objects/extension.rst
+++ b/doc/source/cli/command-objects/extension.rst
@@ -5,54 +5,6 @@ extension
Many OpenStack server APIs include API extensions that enable
additional functionality.
-extension list
---------------
-List API extensions
-
-.. program:: extension list
-.. code:: bash
-
- openstack 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 Block Storage API
-
-.. option:: --long
-
- List additional fields in output
-
-extension show
---------------
-
-Show API extension
-
-.. program:: extension show
-.. code:: bash
-
- openstack extension show
- <extension>
-
-.. _extension_show:
-.. describe:: <extension>
-
- Extension to display. Currently, only network extensions are supported.
- (Name or Alias)
+.. autoprogram-cliff:: openstack.common
+ :command: extension *
diff --git a/doc/source/cli/command-objects/limits.rst b/doc/source/cli/command-objects/limits.rst
index 92614209..3a0f99b3 100644
--- a/doc/source/cli/command-objects/limits.rst
+++ b/doc/source/cli/command-objects/limits.rst
@@ -6,36 +6,6 @@ The Compute and Block Storage APIs have resource usage limits.
Compute v2, Block Storage v1
-limits show
------------
-Show compute and block storage limits
-
-.. program:: limits show
-.. code:: bash
-
- openstack limits show
- --absolute | --rate
- [--reserved]
- [--project <project>]
- [--domain <domain>]
-
-.. option:: --absolute
-
- Show absolute limits
-
-.. option:: --rate
-
- Show rate limits
-
-.. option:: --reserved
-
- Include reservations count [only valid with :option:`--absolute`]
-
-.. option:: --project <project>
-
- Show limits for a specific project (name or ID) [only valid with :option:`--absolute`]
-
-.. option:: --domain <domain>
-
- Domain the project belongs to (name or ID) [only valid with :option:`--absolute`]
+.. autoprogram-cliff:: openstack.common
+ :command: limits *
diff --git a/doc/source/cli/command-objects/project-purge.rst b/doc/source/cli/command-objects/project-purge.rst
index 0ad0bbf9..8f10a774 100644
--- a/doc/source/cli/command-objects/project-purge.rst
+++ b/doc/source/cli/command-objects/project-purge.rst
@@ -6,37 +6,6 @@ Clean resources associated with a specific project.
Block Storage v1, v2; Compute v2; Image v1, v2
-project purge
--------------
-
-Clean resources associated with a project
-
-.. program:: project purge
-.. code:: bash
-
- openstack project purge
- [--dry-run]
- [--keep-project]
- [--auth-project | --project <project>]
- [--project-domain <project-domain>]
-
-.. option:: --dry-run
-
- List a project's resources
-
-.. option:: --keep-project
-
- Clean project resources, but don't delete the project.
-
-.. option:: --auth-project
-
- Delete resources of the project used to authenticate
-
-.. option:: --project <project>
-
- Project to clean (name or ID)
-
-.. option:: --project-domain <project-domain>
- Domain the project belongs to (name or ID). This can be
- used in case collisions between project names exist.
+.. autoprogram-cliff:: openstack.common
+ :command: project purge
diff --git a/doc/source/cli/command-objects/quota.rst b/doc/source/cli/command-objects/quota.rst
index 25d0188a..cab12652 100644
--- a/doc/source/cli/command-objects/quota.rst
+++ b/doc/source/cli/command-objects/quota.rst
@@ -7,272 +7,5 @@ single object with multiple properties.
Block Storage v1, v2, Compute v2, Network v2
-quota list
-----------
-
-List quotas for all projects with non-default quota values
-
-.. program:: quota list
-.. code:: bash
-
- openstack quota list
- --compute | --network | --volume
- [--project <project>]
- [--detail]
-
-.. option:: --network
-
- List network quotas
-
-.. option:: --compute
-
- List compute quotas
-
-.. option:: --volume
-
- List volume quotas
-
-.. option:: --project <project>
-
- List quotas for this project <project> (name or ID)
-
-.. option:: --detail
-
- Show details about quotas usage
-
-quota set
----------
-
-Set quotas for project
-
-.. program:: quota set
-.. code:: bash
-
- openstack 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>]
- [--server-groups <num-server-groups>]
- [--server-group-members <num-server-group-members>]
-
- # Block Storage settings
- [--backups <new-backups>]
- [--backup-gigabytes <new-backup-gigabytes>]
- [--gigabytes <new-gigabytes>]
- [--per-volume-gigabytes <new-per-volume-gigabytes>]
- [--snapshots <new-snapshots>]
- [--volumes <new-volumes>]
- [--volume-type <volume-type>]
-
- # Network settings
- [--floating-ips <num-floatingips>]
- [--secgroup-rules <num-security-group-rules>]
- [--secgroups <num-security-groups>]
- [--networks <num-networks>]
- [--subnets <num-subnets>]
- [--ports <num-ports>]
- [--routers <num-routers>]
- [--rbac-policies <num-rbac-policies>]
- [--subnetpools <num-subnetpools>]
-
- <project>
-
-Set quotas for class
-
-.. code:: bash
-
- openstack 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>]
- [--server-groups <num-server-groups>]
- [--server-group-members <num-server-group-members>]
-
- # Block Storage settings
- [--backups <new-backups>]
- [--backup-gigabytes <new-backup-gigabytes>]
- [--gigabytes <new-gigabytes>]
- [--per-volume-gigabytes <new-per-volume-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:: --server-groups <new-server-groups>
-
- New value for the server-groups quota
-
-.. option:: --server-group-members <new-server-group-members>
-
- New value for the server-group-members 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:: --backups <new-backups>
-
- New value for the backups quota
-
-.. option:: --backup-gigabytes <new-backup-gigabytes>
-
- New value for the backup gigabytes quota
-
-.. option:: --gigabytes <new-gigabytes>
-
- New value for the gigabytes quota
-
-.. option:: --per-volume-gigabytes <new-per-volume-gigabytes>
-
- New value for the gigabytes quota of per volume
-
-.. option:: --volumes <new-volumes>
-
- New value for the volumes quota
-
-.. option:: --snapshots <new-snapshots>
-
- New value for the snapshots quota
-
-.. option:: --volume-type <volume-type>
-
- Set quotas for a specific <volume-type>. The supported quotas are:
- gigabytes, snapshots, volumes.
-
-.. option:: --networks <num-networks>
-
- New value for the networks quota
-
-.. option:: --subnets <num-subnets>
-
- New value for the subnets quota
-
-.. option:: --ports <num-ports>
-
- New value for the ports quota
-
-.. option:: --routers <num-routers>
-
- New value for the routers quota
-
-.. option:: --rbac-policies <num-rbac-policies>
-
- New value for the rbac-policies quota
-
-.. option:: --vips <num-vips>
-
- New value for the vips quota
-
-.. option:: --subnetpools <num-subnetpools>
-
- New value for the subnetpools quota
-
-.. option:: --members <num-members>
-
- New value for the members quota
-
-.. option:: --health-monitors <num-health-monitors>
-
- New value for the health-monitors quota
-
-quota show
-----------
-
-Show quotas for project or class. Specify ``--os-compute-api-version 2.50`` or
-higher to see ``server-groups`` and ``server-group-members`` output for a given
-quota class.
-
-.. program:: quota show
-.. code:: bash
-
- openstack quota show
- [--default]
- [<project>]
-
-
-.. option:: --default
-
- Show default quotas for :ref:`\<project\> <quota_show-project>`
-
-.. _quota_show-project:
-.. describe:: <project>
-
- Show quotas for this project (name or ID)
-
-.. code:: bash
-
- openstack quota show
- --class
- [<class>]
-
-.. option:: --class
-
- Show quotas for :ref:`\<class\> <quota_show-class>`
-
-.. _quota_show-class:
-.. describe:: <class>
-
- Show quotas for this class (name or ID)
+.. autoprogram-cliff:: openstack.common
+ :command: quota *
diff --git a/doc/source/cli/command-objects/versions.rst b/doc/source/cli/command-objects/versions.rst
index 0aa9a1b7..ebebec19 100644
--- a/doc/source/cli/command-objects/versions.rst
+++ b/doc/source/cli/command-objects/versions.rst
@@ -4,48 +4,5 @@ versions
Get a list of every version of every service in a given cloud.
-versions show
--------------
-
-Show service versions:
-
-.. program:: versions show
-.. code:: bash
-
- openstack versions show
- [--all-interfaces]
- [--interface <interface>]
- [--region-name <region-name>]
- [--service <service>]
- [--status <status>]
-
-.. option:: --all-interfaces
-
- Return results for every interface of every service.
- [Mutually exclusive with --interface]
-
-.. option:: --interface <interface>
-
- Limit results to only those on given interface.
- [Default 'public'. Mutually exclusive with --all-interfaces]
-
-.. option:: --region-name <region-name>
-
- Limit results to only those from a given region.
-
-.. option:: --service <service>
-
- Limit results to only those for service. The argument should be either
- an exact match to what is in the catalog or a known official value or
- alias from `service-types-authority`_.
-
-.. option:: --status <status>
-
- Limit results to only those in the given state. Valid values are:
-
- - SUPPORTED
- - CURRENT
- - DEPRECATED
- - EXPERIMENTAL
-
-.. _service-types-authority: https://service-types.openstack.org/
+.. autoprogram-cliff:: openstack.common
+ :command: versions show
diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py
index fb4e8603..80c8749a 100644
--- a/openstackclient/common/quota.py
+++ b/openstackclient/common/quota.py
@@ -24,6 +24,7 @@ from osc_lib import utils
import six
from openstackclient.i18n import _
+from openstackclient.network import common
LOG = logging.getLogger(__name__)
@@ -457,18 +458,37 @@ class ListQuota(command.Lister, BaseQuota):
return ((), ())
-class SetQuota(command.Command):
+class SetQuota(common.NetDetectionMixin, command.Command):
_description = _("Set quotas for project or class")
def _build_options_list(self):
- if self.app.client_manager.is_network_endpoint_enabled():
- return itertools.chain(COMPUTE_QUOTAS.items(),
- VOLUME_QUOTAS.items(),
- NETWORK_QUOTAS.items())
- else:
- return itertools.chain(COMPUTE_QUOTAS.items(),
- VOLUME_QUOTAS.items(),
- NOVA_NETWORK_QUOTAS.items())
+ help_fmt = _('New value for the %s quota')
+ # Compute and volume quota options are always the same
+ rets = [(k, v, help_fmt % v) for k, v in itertools.chain(
+ COMPUTE_QUOTAS.items(),
+ VOLUME_QUOTAS.items(),
+ )]
+ # For docs build, we want to produce helps for both neutron and
+ # nova-network options. They overlap, so we have to figure out which
+ # need to be tagged as specific to one network type or the other.
+ if self.is_docs_build:
+ # NOTE(efried): This takes advantage of the fact that we know the
+ # nova-net options are a subset of the neutron options. If that
+ # ever changes, this algorithm will need to be adjusted accordingly
+ inv_compute = set(NOVA_NETWORK_QUOTAS.values())
+ for k, v in NETWORK_QUOTAS.items():
+ _help = help_fmt % v
+ if v not in inv_compute:
+ # This one is unique to neutron
+ _help = self.enhance_help_neutron(_help)
+ rets.append((k, v, _help))
+ elif self.is_neutron:
+ rets.extend(
+ [(k, v, help_fmt % v) for k, v in NETWORK_QUOTAS.items()])
+ elif self.is_nova_network:
+ rets.extend(
+ [(k, v, help_fmt % v) for k, v in NOVA_NETWORK_QUOTAS.items()])
+ return rets
def get_parser(self, prog_name):
parser = super(SetQuota, self).get_parser(prog_name)
@@ -484,13 +504,13 @@ class SetQuota(command.Command):
default=False,
help=_('Set quotas for <class>'),
)
- for k, v in self._build_options_list():
+ for k, v, h in self._build_options_list():
parser.add_argument(
'--%s' % v,
metavar='<%s>' % v,
dest=k,
type=int,
- help=_('New value for the %s quota') % v,
+ help=h,
)
parser.add_argument(
'--volume-type',
diff --git a/openstackclient/common/versions.py b/openstackclient/common/versions.py
index e6781bc6..3acd9f73 100644
--- a/openstackclient/common/versions.py
+++ b/openstackclient/common/versions.py
@@ -46,14 +46,21 @@ class ShowVersions(command.Lister):
parser.add_argument(
'--service',
metavar='<service>',
- help=_('Show versions for a specific service.'),
+ help=_('Show versions for a specific service. The argument should '
+ 'be either an exact match to what is in the catalog or a '
+ 'known official value or alias from '
+ 'service-types-authority '
+ '(https://service-types.openstack.org/)'),
)
parser.add_argument(
'--status',
metavar='<status>',
- help=_('Show versions for a specific status.'
- ' [Valid values are SUPPORTED, CURRENT,'
- ' DEPRECATED, EXPERIMENTAL]'),
+ help=_("""Show versions for a specific status. Valid values are:
+
+- SUPPORTED
+- CURRENT
+- DEPRECATED
+- EXPERIMENTAL""")
)
return parser