diff --git a/.coveragerc b/.coveragerc index 3685187b80..8dc0326549 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,6 +1,7 @@ [run] branch = True source = openstackclient +omit = openstackclient/tests/* [report] ignore_errors = True diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000000..62caf9485a --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,13 @@ +# You can configure git to automatically use this file with the following config: +# git config --global blame.ignoreRevsFile .git-blame-ignore-revs + +c5b772db76c071e493a81105c7d8c0def08b2264 # trivial: Prepare for pyupgrade pre-commit hook +ed0314ac76ae58a6621077feb742efd5c14c3a62 # Blacken everything else +ac64fdb93c32972575a4523ccb23d0279ef584f5 # Blacken openstackclient.api +a3778109d0051a25901569e7bafe54915ab25f82 # Blacken openstack.common +53476e1f73d8af172207ac7089fb85fc0221859f # Blacken openstackclient.image +c51e4ef1bc350905a04690eb019d53e68fe3d633 # Blacken openstackclient.object +af6ea07703ed1c12b86995b97a9618bfa70721ee # Blacken openstackclient.identity +1face4f48b07fbc51824980e989687adaf453f0e # Blacken openstackclient.network +1ca77acc9118b433c14e03bf9fd28f2b1639c430 # Blacken openstackclient.volume +4bbf3bd3846cb3d85e243199910de82df25d35e0 # Blacken openstackclient.compute diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000..b277bb059b --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,42 @@ +--- +repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: trailing-whitespace + - id: mixed-line-ending + args: ['--fix', 'lf'] + exclude: '.*\.(svg)$' + - id: fix-byte-order-marker + - id: check-executables-have-shebangs + - id: check-merge-conflict + - id: debug-statements + - id: check-yaml + files: .*\.(yaml|yml)$ + args: ['--unsafe'] + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.14.0 + hooks: + - id: ruff-check + args: ['--fix', '--unsafe-fixes'] + - id: ruff-format + - repo: https://opendev.org/openstack/hacking + rev: 7.0.0 + hooks: + - id: hacking + additional_dependencies: [] + exclude: '^(doc|releasenotes)/.*$' + - repo: https://github.com/pre-commit/mirrors-mypy + rev: v1.18.2 + hooks: + - id: mypy + additional_dependencies: + - types-requests + # keep this in-sync with '[tool.mypy] exclude' in 'pyproject.toml' + exclude: | + (?x)( + doc/.* + | examples/.* + | hacking/.* + | releasenotes/.* + ) diff --git a/.zuul.yaml b/.zuul.yaml index 4901a1ed8d..d63ee7c5f4 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,3 +1,4 @@ +--- - job: name: osc-tox-unit-tips parent: openstack-tox @@ -5,11 +6,35 @@ Run unit tests for OpenStackClient with master branch of important libs. Takes advantage of the base tox job's install-siblings feature. + irrelevant-files: &common-irrelevant-files + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ + - ^\.pre-commit-config\.yaml$ + required-projects: + - openstack/cliff + - openstack/keystoneauth + - openstack/openstacksdk + - openstack/osc-lib + - openstack/python-openstackclient + vars: + # Set work dir to openstackclient so that if it's triggered by one of the + # other repos the tests will run in the same place + zuul_work_dir: src/opendev.org/openstack/python-openstackclient + +- job: + name: osc-tox-py310-tips + parent: openstack-tox-py310 + description: | + Run unit tests for OpenStackClient with master branch of important libs. + + Takes advantage of the base tox job's install-siblings feature. + # The job only tests the latest and shouldn't be run on the stable branches + branches: ^master$ required-projects: - openstack/cliff - openstack/keystoneauth - openstack/openstacksdk - - openstack/os-client-config - openstack/osc-lib - openstack/python-openstackclient vars: @@ -18,19 +43,18 @@ zuul_work_dir: src/opendev.org/openstack/python-openstackclient - job: - name: osc-tox-py36-tips - parent: openstack-tox-py36 + name: osc-tox-py313-tips + parent: openstack-tox-py313 description: | Run unit tests for OpenStackClient with master branch of important libs. Takes advantage of the base tox job's install-siblings feature. # The job only tests the latest and shouldn't be run on the stable branches - branches: ^(?!stable) + branches: ^master$ required-projects: - openstack/cliff - openstack/keystoneauth - openstack/openstacksdk - - openstack/os-client-config - openstack/osc-lib - openstack/python-openstackclient vars: @@ -39,11 +63,11 @@ zuul_work_dir: src/opendev.org/openstack/python-openstackclient - job: - name: osc-functional-devstack-base + name: osc-functional-devstack parent: devstack-tox-functional description: | - Base job for devstack-based functional tests - timeout: 9000 + Run functional tests for OpenStackClient. + timeout: 7800 irrelevant-files: - ^.*\.rst$ - ^doc/.*$ @@ -53,201 +77,111 @@ vars: devstack_localrc: LIBS_FROM_GIT: python-openstackclient - # NOTE(dtroyer): OSC needs to support Image v1 for a while yet so re-enable - GLANCE_V1_ENABLED: true # NOTE(dtroyer): Functional tests need a bit more volume headroom VOLUME_BACKING_FILE_SIZE: 20G - devstack_local_conf: - post-config: - $CINDER_CONF: - DEFAULT: - # NOTE(dtroyer): OSC needs to support Volume v1 for a while yet so re-enable - enable_v1_api: true + Q_AGENT: openvswitch + Q_ML2_TENANT_NETWORK_TYPE: vxlan + Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch + devstack_plugins: + # NOTE(amotoki): Some neutron features are enabled by devstack plugin + neutron: https://opendev.org/openstack/neutron devstack_services: - ceilometer-acentral: false - ceilometer-acompute: false - ceilometer-alarm-evaluator: false - ceilometer-alarm-notifier: false - ceilometer-anotification: false - ceilometer-api: false - ceilometer-collector: false s-account: true s-container: true s-object: true s-proxy: true - osc_environment: - PYTHONUNBUFFERED: 'true' - OS_CLOUD: devstack-admin - zuul_work_dir: src/opendev.org/openstack/python-openstackclient - -# The Neutron bits are here rather than in osc-functional-devstack-base to -# simplify removing Neutron in the osc-functional-devstack-n-net job. -- job: - name: osc-functional-devstack - parent: osc-functional-devstack-base - timeout: 7800 - vars: - devstack_plugins: - # NOTE(amotoki): Some neutron features are enabled by devstack plugin - neutron: https://opendev.org/openstack/neutron - devstack_services: + # Disable OVN services + br-ex-tcpdump: false + br-int-flows: false + ovn-controller: false + ovn-northd: false + ovs-vswitchd: false + ovsdb-server: false + q-ovn-metadata-agent: false + # Neutron services + q-agt: true + q-dhcp: true + q-l3: true + q-meta: true neutron-network-segment-range: true neutron-segments: true q-metering: true q-qos: true + neutron-tag-ports-during-bulk-creation: true + neutron-conntrack-helper: true + neutron-ndp-proxy: true + q-trunk: true + osc_environment: + PYTHONUNBUFFERED: 'true' + OS_CLOUD: devstack-admin tox_envlist: functional - -- job: - name: osc-functional-devstack-n-net - parent: osc-functional-devstack-base - timeout: 7800 - vars: - devstack_localrc: - FLAT_INTERFACE: br_flat - PUBLIC_INTERFACE: br_pub - devstack_services: - n-cell: true - n-net: true - neutron: false - neutron-segments: false - q-agt: false - q-dhcp: false - q-l3: false - q-meta: false - q-metering: false - q-qos: false - q-svc: false - tox_envlist: functional + zuul_work_dir: src/opendev.org/openstack/python-openstackclient - job: name: osc-functional-devstack-tips parent: osc-functional-devstack + description: | + Run functional tests for OpenStackClient with master branch of important libs. + + Takes advantage of the base tox job's install-siblings feature. timeout: 7800 required-projects: - openstack/cliff - openstack/keystoneauth - openstack/openstacksdk - - openstack/os-client-config - openstack/osc-lib - openstack/python-openstackclient vars: devstack_localrc: - LIBS_FROM_GIT: python-openstackclient,openstacksdk,osc-lib,os-client-config - # This is insufficient, but leaving it here as a reminder of what may - # someday be all we need to make this work - # disable_python3_package swift - DISABLED_PYTHON3_PACKAGES: swift - devstack_services: - # Swift is not ready for python3 yet: At a minimum keystonemiddleware needs - # to be installed in the py2 env, there are probably other things too... - s-account: false - s-container: false - s-object: false - s-proxy: false - # As swift is not available for this job, c-bak service won't be functional. - # The backup related tests can be handled by other jobs having swift enabled. - # The backup service along with swift services can be enabled once swift is - # compatible with py3 - c-bak: false + LIBS_FROM_GIT: python-openstackclient,openstacksdk,osc-lib,cliff tox_envlist: functional tox_install_siblings: true -- secret: - name: osc-dockerhub - data: - username: osclientzuul - password: !encrypted/pkcs1-oaep - - LbIZjJiVstRVXMpoLQ3+/JcNB6lKVUWJXXo5+Outf+PKAaO7mNnv8XLiFMKnJ6ftopLyu - hWbX9rA+NddvplLQkf1xxkh7QBBU8PToLr58quI2SENUclt4tpjxbZfZu451kFSNJvNvR - E58cHHpfJZpyRnS2htXmN/Qy24gbV2w7CQxSZD2YhlcrerD8uQ8rWEnlY1wcJEaEGomtS - ZTGxsdK2TsZC2cd4b7TG7+xbl2i+hjADzwSQAgUzlLlwuG71667+IWk4SOZ7OycJTv9NN - ZTak8+CGfiMKdmsxZ1Z8uD7DC+RIklDjMWyly6zuhWzfhOmsmU0CesR50moodRUvbK79p - NZM8u0hBex5cl2EpUEwJL/FSPJXUhDMPoMoTZT/SAuXf25R9eZ9JGrKsIAlmVhpl8ifoE - 8TpPyvIHGS3YelTQjhqOX0wGb9T4ZauQCcI5Ajzy9NuCTyD9xxme9OX1zz7gMACRnVHvz - q7U7Ue90MnmGH6E2SgKjIZhyzy9Efwb7JUvH1Zb3hlrjCjEhwi9MV5FnABTEeXyYwE10s - 3o/KZg2zvdWkVG6x0dEkjpoQaNuaB7T2Na7Sm421n/z3LCzhiQGuTUjENnL6cMEtuA6Pp - BfI5+Qlg7HMwkBXNB73EPfWHzbCR3VNrzGYTy9FvhGud0/cXsuBXgps4WH63ic= - - job: name: osc-build-image parent: opendev-build-docker-image description: Build Docker images. allowed-projects: openstack/python-openstackclient requires: - - python-builder-3.7-container-image - - python-base-3.7-container-image + - python-builder-3.11-bookworm-container-image + - python-base-3.11-bookworm-container-image provides: osc-container-image - vars: &osc_image_vars + vars: docker_images: - context: . - repository: osclient/python-openstackclient - -- job: - name: osc-upload-image - parent: opendev-upload-docker-image - description: Build Docker images and upload to Docker Hub. - allowed-projects: openstack/python-openstackclient - requires: - - python-builder-3.7-container-image - - python-base-3.7-container-image - provides: osc-container-image - secrets: - - name: docker_credentials - secret: osc-dockerhub - pass-to-parent: true - vars: *osc_image_vars - -- job: - name: osc-promote-image - parent: opendev-promote-docker-image - allowed-projects: openstack/python-openstackclient - description: Promote previously uploaded Docker images. - secrets: - - name: docker_credentials - secret: osc-dockerhub - pass-to-parent: true - nodeset: - nodes: [] - vars: *osc_image_vars + tags: [] - project-template: name: osc-tox-unit-tips check: jobs: - - osc-tox-py36-tips + - osc-tox-py310-tips + - osc-tox-py313-tips gate: jobs: - - osc-tox-py36-tips + - osc-tox-py310-tips + - osc-tox-py313-tips - project: templates: - openstackclient-plugin-jobs - osc-tox-unit-tips - openstack-cover-jobs - - openstack-lower-constraints-jobs - - openstack-python3-ussuri-jobs + - openstack-python3-jobs - publish-openstack-docs-pti - check-requirements - release-notes-jobs-python3 - - lib-forward-testing-python3 check: jobs: - - osc-build-image + - openstackclient-check-plugins: + voting: true + - osc-build-image: + voting: false - osc-functional-devstack - # - osc-functional-devstack-n-net: - # voting: false - # # The job testing nova-network no longer works before Pike, and - # # should be disabled until the New Way of testing against old clouds - # # is ready and backported - # branches: ^(?!stable/(newton|ocata)).*$ - osc-functional-devstack-tips: # The functional-tips job only tests the latest and shouldn't be run # on the stable branches - branches: ^(?!stable) + branches: ^master$ gate: jobs: - - osc-upload-image - osc-functional-devstack - promote: - jobs: - - osc-promote-image diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 69ecd79cad..74b442ef66 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,16 +1,27 @@ -If you would like to contribute to the development of OpenStack, -you must follow the steps documented at: +The source repository for this project can be found at: - https://docs.openstack.org/infra/manual/developers.html + https://opendev.org/openstack/python-openstackclient -Once those steps have been completed, changes to OpenStack -should be submitted for review via the Gerrit tool, following -the workflow documented at: +Pull requests submitted through GitHub are not monitored. - https://docs.openstack.org/infra/manual/developers.html#development-workflow +To start contributing to OpenStack, follow the steps in the contribution guide +to set up and use Gerrit: -Pull requests submitted through GitHub will be ignored. + https://docs.openstack.org/contributors/code-and-documentation/quick-start.html -Bugs should be filed on Storyboard, not GitHub or Launchpad: +Bugs should be filed on Launchpad: - https://storyboard.openstack.org/#!/project/openstack/python-openstackclient + https://bugs.launchpad.net/python-openstackclient + +Developers should also join the discussion on the mailing list, at: + + https://lists.openstack.org/mailman3/lists/openstack-discuss.lists.openstack.org/ + +or join the IRC channel on + + #openstack-sdks on OFTC (irc.oftc.net) + +For more specific information about contributing to this repository, see the +openstacksdk contributor guide: + + https://docs.openstack.org/openstacksdk/latest/contributor/index.html diff --git a/Dockerfile b/Dockerfile index ca60bb0ecb..6709be7514 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,14 +13,24 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM docker.io/opendevorg/python-builder:3.7 as builder +FROM docker.io/opendevorg/python-builder:3.12-bookworm AS builder COPY . /tmp/src RUN assemble -FROM docker.io/opendevorg/python-base:3.7 +FROM docker.io/opendevorg/python-base:3.12-bookworm + +LABEL org.opencontainers.image.title="python-openstackclient" +LABEL org.opencontainers.image.description="Client for OpenStack services." +LABEL org.opencontainers.image.licenses="Apache License 2.0" +LABEL org.opencontainers.image.url="https://www.openstack.org/" +LABEL org.opencontainers.image.documentation="https://docs.openstack.org/python-openstackclient/latest/" +LABEL org.opencontainers.image.source="https://opendev.org/openstack/python-openstackclient" COPY --from=builder /output/ /output RUN /output/install-from-bindep +# Trigger entrypoint loading to trigger stevedore entrypoint caching +RUN openstack --help >/dev/null 2>&1 + CMD ["/usr/local/bin/openstack"] diff --git a/HACKING.rst b/HACKING.rst index 52e96caa93..432d19f4e4 100644 --- a/HACKING.rst +++ b/HACKING.rst @@ -7,6 +7,7 @@ OpenStack Style Commandments General ------- + - thou shalt not violate causality in our time cone, or else Docstrings @@ -31,7 +32,7 @@ use the alternate 4 space indent. With the first argument on the succeeding line all arguments will then be vertically aligned. Use the same convention used with other data structure literals and terminate the method call with the last argument line ending with a comma and the closing paren on its own -line indented to the starting line level. +line indented to the starting line level. :: unnecessarily_long_function_name( 'string one', @@ -39,69 +40,3 @@ line indented to the starting line level. kwarg1=constants.ACTIVE, kwarg2=['a', 'b', 'c'], ) - -Text encoding -------------- - -Note: this section clearly has not been implemented in this project yet, it is -the intention to do so. - -All text within python code should be of type 'unicode'. - - WRONG: - - >>> s = 'foo' - >>> s - 'foo' - >>> type(s) - - - RIGHT: - - >>> u = u'foo' - >>> u - u'foo' - >>> type(u) - - -Transitions between internal unicode and external strings should always -be immediately and explicitly encoded or decoded. - -All external text that is not explicitly encoded (database storage, -commandline arguments, etc.) should be presumed to be encoded as utf-8. - - WRONG: - - infile = open('testfile', 'r') - mystring = infile.readline() - myreturnstring = do_some_magic_with(mystring) - outfile.write(myreturnstring) - - RIGHT: - - infile = open('testfile', 'r') - mystring = infile.readline() - mytext = mystring.decode('utf-8') - returntext = do_some_magic_with(mytext) - returnstring = returntext.encode('utf-8') - outfile.write(returnstring) - -Python 3.x Compatibility ------------------------- - -OpenStackClient strives to be Python 3.3 compatible. Common guidelines: - -* Convert print statements to functions: print statements should be converted - to an appropriate log or other output mechanism. -* Prefer to x.items() over six.iteritems(x). - -Running Tests -------------- - -Note: Oh boy, are we behind on writing tests. But they are coming! - -The testing system is based on a combination of tox and testr. If you just -want to run the whole suite, run `tox` and all will be fine. However, if -you'd like to dig in a bit more, you might want to learn some things about -testr itself. A basic walkthrough for OpenStack can be found at -http://wiki.openstack.org/testr diff --git a/README.rst b/README.rst index 41d0112428..af3837a351 100644 --- a/README.rst +++ b/README.rst @@ -1,12 +1,3 @@ -======================== -Team and repository tags -======================== - -.. image:: https://governance.openstack.org/tc/badges/python-openstackclient.svg - :target: https://governance.openstack.org/tc/reference/tags/index.html - -.. Change things from this point on - =============== OpenStackClient =============== @@ -15,86 +6,224 @@ OpenStackClient :target: https://pypi.org/project/python-openstackclient/ :alt: Latest Version -OpenStackClient (aka OSC) is a command-line client for OpenStack that brings +OpenStackClient (OSC) is a command-line client for OpenStack that brings the command set for Compute, Identity, Image, Network, Object Store and Block Storage APIs together in a single shell with a uniform command structure. +Support for additional service APIs is provided via plugins. The primary goal is to provide a unified shell command structure and a common language to describe operations in OpenStack. -* `PyPi`_ - package installation -* `Online Documentation`_ -* `Storyboard project`_ - bugs and feature requests -* `Blueprints`_ - feature specifications (historical only) -* `Source`_ -* `Developer`_ - getting started as a developer -* `Contributing`_ - contributing code -* `Testing`_ - testing code -* IRC: #openstack-sdks on Freenode (irc.freenode.net) -* License: Apache 2.0 - -.. _PyPi: https://pypi.org/project/python-openstackclient -.. _Online Documentation: https://docs.openstack.org/python-openstackclient/latest/ -.. _Blueprints: https://blueprints.launchpad.net/python-openstackclient -.. _`Storyboard project`: https://storyboard.openstack.org/#!/project/openstack/python-openstackclient -.. _Source: https://opendev.org/openstack/python-openstackclient -.. _Developer: https://docs.openstack.org/project-team-guide/project-setup/python.html -.. _Contributing: https://docs.openstack.org/infra/manual/developers.html -.. _Testing: https://docs.openstack.org/python-openstackclient/latest/contributor/developing.html#testing -.. _Release Notes: https://docs.openstack.org/releasenotes/python-openstackclient - Getting Started =============== -OpenStack Client can be installed from PyPI using pip:: +OpenStack Client can be installed from PyPI using pip: - pip install python-openstackclient +.. code-block:: shell -There are a few variants on getting help. A list of global options and supported -commands is shown with ``--help``:: + python3 -m pip install python-openstackclient - openstack --help +You can use ``--help`` or the ``help`` command to get a list of global options +and supported commands: -There is also a ``help`` command that can be used to get help text for a specific -command:: +.. code-block:: shell + openstack --help openstack help - openstack help server create -If you want to make changes to the OpenStackClient for testing and contribution, -make any changes and then run:: +You can also get help for a specific command: + +.. code-block:: shell - python setup.py develop + openstack server create --help + openstack help server create -or:: +You can add support for additional services by installing their clients. For +example, to add support for the DNS service (designate): - pip install -e . +.. code-block:: shell -Configuration -============= + python3 -m pip install python3-designateclient -The CLI is configured via environment variables and command-line -options as listed in https://docs.openstack.org/python-openstackclient/latest/cli/authentication.html. +A ``Dockerfile`` is provided for your convenience in the repository. You can +use this to build your own container images: -Authentication using username/password is most commonly used:: +.. code-block:: shell - export OS_AUTH_URL= - export OS_IDENTITY_API_VERSION=3 - export OS_PROJECT_NAME= - export OS_PROJECT_DOMAIN_NAME= - export OS_USERNAME= - export OS_USER_DOMAIN_NAME= - export OS_PASSWORD= # (optional) + git clone https://opendev.org/openstack/python-openstackclient + cd python-openstackclient + podman build . -t example.com/myuser/openstackclient -The corresponding command-line options look very similar:: +For more information the available options and commands, refer to the `Users +Guide`__. - --os-auth-url - --os-identity-api-version 3 - --os-project-name - --os-project-domain-name - --os-username - --os-user-domain-name - [--os-password ] +.. __: https://docs.openstack.org/python-openstackclient/latest/cli/index.html + +Configuration +============= -If a password is not provided above (in plaintext), you will be interactively -prompted to provide one securely. +OpenStack Client must be configured with authentication information in order to +communicate with a given OpenStack cloud. This configuration can be achieved +via a ``clouds.yaml`` file, a set of environment variables (often shared via an +``openrc`` file), a set of command-line options, or a combination of all three. +Your cloud provider or deployment tooling will typically provide either a +``clouds.yaml`` file or ``openrc`` file for you. If using a ``clouds.yaml`` +file, OpenStack Client expects to find it in one of the following locations: + +* If set, the path indicated by the ``OS_CLIENT_CONFIG_FILE`` environment + variable +* ``.`` (the current directory) +* ``$HOME/.config/openstack`` +* ``/etc/openstack`` + +The options you should set will depend on the configuration of your cloud and +the authentication mechanism(s) supported. For example, consider a cloud that +supports username/password authentication. Configuration for this cloud using a +``clouds.yaml`` file would look like so: + +.. code-block:: yaml + + clouds: + my-cloud: + auth: + auth_url: '' + project_name: '' + project_domain_name: '' + username: '' + user_domain_name: '' + password: '' # (optional) + region_name: '' + +The corresponding environment variables would look very similar: + +.. code-block:: shell + + export OS_AUTH_URL= + export OS_REGION_NAME= + export OS_PROJECT_NAME= + export OS_PROJECT_DOMAIN_NAME= + export OS_USERNAME= + export OS_USER_DOMAIN_NAME= + export OS_PASSWORD= # (optional) + +Likewise, the corresponding command-line options would look very similar: + +:: + + openstack + --os-auth-url + --os-region + --os-project-name + --os-project-domain-name + --os-username + --os-user-domain-name + [--os-password ] + +.. note:: + + If a password is not provided above (in plaintext), you will be + interactively prompted to provide one securely. + +Some clouds use federated authentication. If this is the case, your +configuration will be slightly more involved. For example, to configure +username/password authentication for a federated user using a ``clouds.yaml`` +file: + +.. code-block:: yaml + + clouds: + my-cloud: + auth: + auth_url: '' + project_name: '' + project_domain_name: '' + username: '' + user_domain_name: '' + password: '' + identity_provider: '' + client_id: '' + client_secret: '' + openid_scope: '' + protocol: '' + access_token_type: '' + discovery_endpoint: '' + auth_type: 'v3oidcpassword' + region_name: '' + +The corresponding environment variables would look very similar: + +.. code-block:: shell + + export OS_PROJECT_NAME= + export OS_PROJECT_DOMAIN_NAME= + export OS_AUTH_URL= + export OS_IDENTITY_API_VERSION=3 + export OS_AUTH_TYPE=v3oidcpassword + export OS_USERNAME= + export OS_PASSWORD= + export OS_IDENTITY_PROVIDER= + export OS_CLIENT_ID= + export OS_CLIENT_SECRET= + export OS_OPENID_SCOPE= + export OS_PROTOCOL= + export OS_ACCESS_TOKEN_TYPE= + export OS_DISCOVERY_ENDPOINT= + +Likewise, the corresponding command-line options would look very similar: + +.. code-block:: shell + + --os-project-name + --os-project-domain-name + --os-auth-url + --os-identity-api-version 3 + --os-auth-plugin openid + --os-auth-type v3oidcpassword + --os-username + --os-password + --os-identity-provider + --os-client-id + --os-client-secret + --os-openid-scope + --os-protocol + --os-access-token-type + --os-discovery-endpoint + +For more information on configuring authentication, including an overview of +the many authentication mechanisms supported, refer to the `Authentication +guide`__. For more information on configuration in general, refer to the +`Configuration guide`__. + +.. __: https://docs.openstack.org/python-openstackclient/latest/cli/authentication.html. +.. __: https://docs.openstack.org/python-openstackclient/latest/configuration/index.html + +Contributing +============ + +You can clone the repository from opendev.org:: + + git clone https://opendev.org/openstack/python-openstackclient + cd python-openstackclient + +OpenStack Client uses the same contributor process as other OpenStack projects. +For information on this process, including help on setting up you Gerrit +account and an overview of the CI process, refer to the `OpenStack Contributors +Guide`__. + +For more information on contributing to OpenStack Client itself, including +guidance on how to design new commands and how to report bugs, refer to the +`Contributors Guide`__. + +.. __: https://docs.openstack.org/python-openstackclient/latest/contributor/index.html +.. __: https://docs.opendev.org/opendev/infra-manual/latest/developers.html + +Links +----- + +* `Issue Tracker `_ +* `Code Review `_ +* `Documentation `_ +* `PyPi `_ +* `Mailing list `_ +* `Release Notes `_ +* `IRC (#openstack-sdks on OFTC (irc.oftc.net)) `_ diff --git a/babel.cfg b/babel.cfg deleted file mode 100644 index efceab818b..0000000000 --- a/babel.cfg +++ /dev/null @@ -1 +0,0 @@ -[python: **.py] diff --git a/bindep.txt b/bindep.txt index cf94d2a8cb..8402431aed 100644 --- a/bindep.txt +++ b/bindep.txt @@ -5,7 +5,7 @@ gcc [compile test] libc6-dev [compile test platform:dpkg] libffi-devel [platform:rpm] libffi-dev [compile test platform:dpkg] -libffi6 [platform:dpkg] libssl-dev [compile test platform:dpkg] python3-dev [compile test platform:dpkg] python3-devel [compile test platform:rpm] +libpcre2-dev [test platform:dpkg] diff --git a/doc/requirements.txt b/doc/requirements.txt index 5cfc337b13..05a9bfa87c 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,33 +1,26 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. -openstackdocstheme>=1.23.2 # Apache-2.0 -reno>=2.5.0 # Apache-2.0 -sphinx!=1.6.6,!=1.6.7,>=1.6.5 # BSD +openstackdocstheme>=2.2.1 # Apache-2.0 +reno>=3.1.0 # Apache-2.0 +sphinx>=2.0.0,!=2.1.0 # BSD sphinxcontrib-apidoc>=0.2.0 # BSD # redirect tests in docs -whereto>=0.4.0 # Apache-2.0 +whereto>=0.5.0 # Apache-2.0 # Install these to generate sphinx autodocs aodhclient>=0.9.0 # Apache-2.0 gnocchiclient>=3.3.1 # Apache-2.0 osc-placement>=1.7.0 # Apache-2.0 python-barbicanclient>=4.5.2 # Apache-2.0 -python-congressclient<2000,>=1.9.0 # Apache-2.0 +python-cyborgclient>=1.2.1 # Apache-2.0 python-designateclient>=2.7.0 # Apache-2.0 python-heatclient>=1.10.0 # Apache-2.0 python-ironicclient>=2.3.0 # Apache-2.0 python-ironic-inspector-client>=1.5.0 # Apache-2.0 -python-karborclient>=0.6.0 # Apache-2.0 +python-magnumclient>=2.3.0 # Apache-2.0 +python-manilaclient>=2.0.0 # Apache-2.0 python-mistralclient!=3.2.0,>=3.1.0 # Apache-2.0 -python-muranoclient>=0.8.2 # Apache-2.0 python-neutronclient>=6.7.0 # Apache-2.0 python-octaviaclient>=1.11.0 # Apache-2.0 -python-rsdclient>=1.0.1 # Apache-2.0 -python-saharaclient>=1.4.0 # Apache-2.0 -python-searchlightclient>=1.0.0 #Apache-2.0 -python-senlinclient>=1.1.0 # Apache-2.0 python-troveclient>=3.1.0 # Apache-2.0 python-watcherclient>=2.5.0 # Apache-2.0 python-zaqarclient>=1.0.0 # Apache-2.0 diff --git a/doc/source/_extra/.htaccess b/doc/source/_extra/.htaccess index 513deddbdc..8c0a005425 100644 --- a/doc/source/_extra/.htaccess +++ b/doc/source/_extra/.htaccess @@ -9,3 +9,8 @@ redirectmatch 301 ^/python-openstackclient/([^/]+)/specs/([^/.]+).html$ /python- redirectmatch 301 ^/python-openstackclient/([^/]+)/(command-(beta|errors|logs|options|wrappers)|developing|humaninterfaceguide|plugins).html$ /python-openstackclient/$1/contributor/$2.html redirectmatch 301 ^/python-openstackclient/([^/]+)/cli/plugin-commands.html$ /python-openstackclient/$1/cli/plugin-commands/index.html +# For common subcommand names: +# - identity pages were split into -v2 and -v3 +# - image pages were split into -v1 and -v2 +# The unversioned page is hidden but contains links to the versioned pages so links in the wild redirect somewhere sane. +redirectmatch 301 ^/python-openstackclient/([^/]+)/cli/command-objects/(ec2-credentials|endpoint|image|project|role|service|token|user).html$ /python-openstackclient/$1/cli/_hidden/$2.html diff --git a/doc/source/cli/_hidden/ec2-credentials.rst b/doc/source/cli/_hidden/ec2-credentials.rst new file mode 100644 index 0000000000..c54459d877 --- /dev/null +++ b/doc/source/cli/_hidden/ec2-credentials.rst @@ -0,0 +1,13 @@ +=============== +ec2 credentials +=============== + +.. NOTE(efried): This page is hidden from the main TOC; it's here so links in + the wild redirect somewhere sane, because previously identity v2 and v3 were + combined in a single page. + +.. toctree:: + :maxdepth: 2 + + ../command-objects/ec2-credentials-v2 + ../command-objects/ec2-credentials-v3 diff --git a/doc/source/cli/_hidden/endpoint.rst b/doc/source/cli/_hidden/endpoint.rst new file mode 100644 index 0000000000..744e3badcb --- /dev/null +++ b/doc/source/cli/_hidden/endpoint.rst @@ -0,0 +1,13 @@ +======== +endpoint +======== + +.. NOTE(efried): This page is hidden from the main TOC; it's here so links in + the wild redirect somewhere sane, because previously identity v2 and v3 were + combined in a single page. + +.. toctree:: + :maxdepth: 2 + + ../command-objects/endpoint-v2 + ../command-objects/endpoint-v3 diff --git a/doc/source/cli/_hidden/image.rst b/doc/source/cli/_hidden/image.rst new file mode 100644 index 0000000000..06919e7ab9 --- /dev/null +++ b/doc/source/cli/_hidden/image.rst @@ -0,0 +1,13 @@ +===== +image +===== + +.. NOTE(efried): This page is hidden from the main TOC; it's here so links in + the wild redirect somewhere sane, because previously image v2 and v3 were + combined in a single page. + +.. toctree:: + :maxdepth: 2 + + ../command-objects/image-v1 + ../command-objects/image-v2 diff --git a/doc/source/cli/_hidden/project.rst b/doc/source/cli/_hidden/project.rst new file mode 100644 index 0000000000..209a3129df --- /dev/null +++ b/doc/source/cli/_hidden/project.rst @@ -0,0 +1,13 @@ +======= +project +======= + +.. NOTE(efried): This page is hidden from the main TOC; it's here so links in + the wild redirect somewhere sane, because previously identity v2 and v3 were + combined in a single page. + +.. toctree:: + :maxdepth: 2 + + ../command-objects/project-v2 + ../command-objects/project-v3 diff --git a/doc/source/cli/_hidden/role.rst b/doc/source/cli/_hidden/role.rst new file mode 100644 index 0000000000..c85f48146c --- /dev/null +++ b/doc/source/cli/_hidden/role.rst @@ -0,0 +1,13 @@ +==== +role +==== + +.. NOTE(efried): This page is hidden from the main TOC; it's here so links in + the wild redirect somewhere sane, because previously identity v2 and v3 were + combined in a single page. + +.. toctree:: + :maxdepth: 2 + + ../command-objects/role-v2 + ../command-objects/role-v3 diff --git a/doc/source/cli/_hidden/service.rst b/doc/source/cli/_hidden/service.rst new file mode 100644 index 0000000000..8b33638610 --- /dev/null +++ b/doc/source/cli/_hidden/service.rst @@ -0,0 +1,13 @@ +======= +service +======= + +.. NOTE(efried): This page is hidden from the main TOC; it's here so links in + the wild redirect somewhere sane, because previously identity v2 and v3 were + combined in a single page. + +.. toctree:: + :maxdepth: 2 + + ../command-objects/service-v2 + ../command-objects/service-v3 diff --git a/doc/source/cli/_hidden/token.rst b/doc/source/cli/_hidden/token.rst new file mode 100644 index 0000000000..6ebf801b76 --- /dev/null +++ b/doc/source/cli/_hidden/token.rst @@ -0,0 +1,13 @@ +===== +token +===== + +.. NOTE(efried): This page is hidden from the main TOC; it's here so links in + the wild redirect somewhere sane, because previously identity v2 and v3 were + combined in a single page. + +.. toctree:: + :maxdepth: 2 + + ../command-objects/token-v2 + ../command-objects/token-v3 diff --git a/doc/source/cli/_hidden/user.rst b/doc/source/cli/_hidden/user.rst new file mode 100644 index 0000000000..34eb59954f --- /dev/null +++ b/doc/source/cli/_hidden/user.rst @@ -0,0 +1,13 @@ +==== +user +==== + +.. NOTE(efried): This page is hidden from the main TOC; it's here so links in + the wild redirect somewhere sane, because previously identity v2 and v3 were + combined in a single page. + +.. toctree:: + :maxdepth: 2 + + ../command-objects/user-v2 + ../command-objects/user-v3 diff --git a/doc/source/cli/authentication.rst b/doc/source/cli/authentication.rst index 3b404bce5b..8c09fc3648 100644 --- a/doc/source/cli/authentication.rst +++ b/doc/source/cli/authentication.rst @@ -36,7 +36,7 @@ There are at least three authentication types that are always available: URL for the Identity service is also required. [Required: ``--os-auth-url``, ``--os-project-name``, ``--os-username``; Optional: ``--os-password``] * **Token**: This is slightly different from the usual token authentication - (described below as token/endpoint) in that a token and an authentication + in that a token and an authentication URL are supplied and the plugin retrieves a new token. [Required: ``--os-auth-url``, ``--os-token``] * **Others**: Other authentication plugins such as SAML, Kerberos, and OAuth1.0 @@ -133,3 +133,245 @@ Thus, a minimal set of environment variables would be: $ export OS_USERNAME=admin $ export OS_PASSWORD=secret $ export OS_PROJECT_NAME=admin + +Federated users support +----------------------- + +The OpenStackClient also allows the use of Federated users to log in. +It enables one to use the identity providers credentials such as Google or +Facebook to log in the OpenStackClient instead of using the Keystone +credentials. + +This is useful in a Federated environment where one credential give access +to many applications/services that the Federation supports. To check how to +configure the OpenStackClient to allow Federated users to log in, please check +the :ref:`Authentication using federation. ` + +Examples +-------- + +.. todo: It would be nice to add more examples here, particularly for + complicated things like oauth2 + +``v3password`` +~~~~~~~~~~~~~~ + +Using ``clouds.yaml``: + +.. code-block:: yaml + + clouds: + demo: + auth: + auth_url: http://openstack.dev/identity + project_name: demo + project_domain_name: default + user_domain_name: default + username: demo + password: password + auth_type: v3password + +or, using command line options: + +.. code-block:: bash + + $ openstack \ + --os-auth-url "http://openstack.dev/identity" \ + --os-project-name demo \ + --os-project-domain-name default \ + --os-user-domain-name default \ + --os-auth-type=v3password \ + --os-username demo \ + --os-password password \ + server list + +or, using environment variables: + +.. code-block:: bash + + $ export OS_AUTH_URL="http://openstack.dev/identity" + $ export OS_PROJECT_NAME=demo + $ export OS_PROJECT_DOMAIN_NAME=default + $ export OS_AUTH_TYPE=v3password + $ export OS_USERNAME=demo + $ export OS_PASSWORD=password + $ openstack server list + +.. note:: + + If a password is not provided, you will be prompted for one. + +``v3applicationcredential`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Using ``clouds.yaml``: + +.. code-block:: yaml + + clouds: + demo: + auth: + auth_url: http://openstack.dev/identity + application_credential_id: ${APP_CRED_ID} + application_credential_secret: ${APP_CRED_SECRET} + auth_type: v3applicationcredential + +or, using command line options: + +.. code-block:: bash + + $ openstack \ + --os-auth-url "http://openstack.dev/identity" \ + --os-auth-type=v3applicationcredential \ + --os-application-credential-id=${APP_CRED_ID} \ + --os-application-credential-secret=${APP_CRED_SECRET} + server list + +or, using environment variables: + +.. code-block:: bash + + $ export OS_AUTH_URL="http://openstack.dev/identity" + $ export OS_AUTH_TYPE=v3applicationcredential + $ export OS_APPLICATION_CREDENTIAL_ID=${APP_CRED_ID} + $ export OS_APPLICATION_CREDENTIAL_SECRET=${APP_CRED_SECRET} + $ openstack server list + +.. note:: + + You can generate application credentials using the :program:`openstack + application credential create` command: + + .. code-block:: bash + + $ readarray -t lines <<< $(openstack application credential create test -f value -c id -c secret) + $ APP_CRED_ID=${lines[0]} + $ APP_CRED_SECRET=${lines[1]} + +``v3token`` +~~~~~~~~~~~ + +Using ``clouds.yaml``: + +.. code-block:: yaml + + clouds: + demo: + auth: + auth_url: http://openstack.dev/identity + project_name: demo + project_domain_name: default + token: ${TOKEN} + auth_type: v3token + +or, using command line options: + +.. code-block:: bash + + $ openstack \ + --os-auth-url "http://openstack.dev/identity" \ + --os-project-name demo \ + --os-project-domain-name default \ + --os-auth-type=v3token \ + --os-token ${TOKEN} \ + server list + +or, using environment variables: + +.. code-block:: bash + + $ export OS_AUTH_URL="http://openstack.dev/identity" + $ export OS_PROJECT_NAME=demo + $ export OS_PROJECT_DOMAIN_NAME=default + $ export OS_AUTH_TYPE=v3token + $ export OS_TOKEN=${TOKEN} + $ openstack server list + +.. note:: + + You can generate tokens using the :program:`openstack token issue` command: + + .. code-block:: bash + + $ TOKEN=$(openstack token issue -f value -c id) + +.. note:: + + The above examples assume you require a project-scoped token. You can omit + the project-related configuration if your user has a default project ID set. + Conversely, if requesting domain-scoped or system-scoped, you should update + these examples accordingly. If the user does not have a default project + configured and no scoping information is provided, the resulting token will + be unscoped. + +``v3totp`` +~~~~~~~~~~ + +.. note:: + + The TOTP mechanism is poorly suited to command line-driven API + interactions. Where the TOTP mechanism is configured for a cloud, it is + expected that it is to be used for initial authentication and to create a + token or application credential, which can then be used for future + interactions. + +.. note:: + + The TOTP mechanism is often combined with other mechanisms to enable + Multi-Factor Authentication, or MFA. The authentication type + ``v3multifactor`` is used in this case, while the ``v3totp`` authentication + type is specified alongside the other mechanisms in ``auth_methods``. + +Using ``clouds.yaml``: + +.. code-block:: yaml + + clouds: + demo: + auth: + auth_url: http://openstack.dev/identity + project_name: demo + project_domain_name: default + user_domain_name: default + username: demo + passcode: ${PASSCODE} + auth_type: v3totp + +or, using command line options: + +.. code-block:: bash + + $ openstack \ + --os-auth-url "http://openstack.dev/identity" \ + --os-project-name demo \ + --os-project-domain-name default \ + --os-user-domain-name default \ + --os-auth-type=v3totp \ + --os-username demo \ + --os-passcode ${PASSCODE} \ + server list + +or, using environment variables: + +.. code-block:: bash + + $ export OS_AUTH_URL="http://openstack.dev/identity" + $ export OS_PROJECT_NAME=demo + $ export OS_PROJECT_DOMAIN_NAME=default + $ export OS_AUTH_TYPE=v3totp + $ export OS_USERNAME=demo + $ export OS_PASSCODE=${PASSCODE} + $ openstack server list + +.. note:: + + The passcode will be generated by an authenticator application such FreeOTP + or Google Authenticator. Refer to your cloud provider's documentation for + information on how to configure an authenticator application, or to the + `Keystone documentation`__ if you are configuring this for your own cloud. + + .. __: https://docs.openstack.org/keystone/latest/admin/auth-totp.html + +.. note:: + + If a passcode is not provided, you will be prompted for one. diff --git a/doc/source/cli/backwards-incompatible.rst b/doc/source/cli/backwards-incompatible.rst index 9d43754e01..3fbe65fae9 100644 --- a/doc/source/cli/backwards-incompatible.rst +++ b/doc/source/cli/backwards-incompatible.rst @@ -20,119 +20,129 @@ Release 4.0 ----------- 1. Remove ``ip fixed add|remove`` commands. + Use ``server add|remove fixed ip`` commands instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612781 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612781 2. Remove ``ip floating add|remove`` commands. + Use ``server add|remove floating ip`` commands instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612781 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612781 3. Remove ``service create`` option ``--type``. Service type is a positional argument. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612798 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612798 4. Remove ``role list`` options ``--project`` and ``--user``. + Use ``role assignment list`` options ``--project`` and ``--user`` instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612798 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612798 5. Remove ``user role list`` command. + Use ``role assignment list`` options ``--project`` and ``--user`` instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612798 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612798 6. Remove ``image create|set`` option ``--owner``. + Use ``--project`` option instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/659431 + * Removed in: 4.0 + * Commit: https://review.opendev.org/659431 7. Remove ``port create|set`` options ``--device-id`` and ``--host-id``. + Use ``--device`` and ``--host`` instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/613644 + * Removed in: 4.0 + * Commit: https://review.opendev.org/613644 8. Remove ``router set`` option ``--clear-routes``. + Use ``no-route`` option instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/613644 + * Removed in: 4.0 + * Commit: https://review.opendev.org/613644 9. Remove ``security group rule create`` options ``--src-ip`` and ``--src-group``. + Use ``--remote-ip`` and ``--remote-group`` options instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/613644 + * Removed in: 4.0 + * Commit: https://review.opendev.org/613644 10. Remove ``backup`` commands. + Use ``volume backup`` commands instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612751 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612751 11. Remove ``snapshot`` commands. Use ``volume snapshot`` commands instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612751 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612751 12. Remove ``volume create`` options ``--project``, ``--user``, ``--multi-attach``. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612751 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612751 13. Change ``volume transfer request accept`` to use new option ``--auth-key`` rather than a second positional argument. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612751 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612751 14. Remove 'Token/Endpoint' auth plugin support (type ``token_endpoint``). + This remained as a compatibility for the ``admin_token`` auth type to support the ``--url`` global option. That option is also now removed, use ``--endpoint`` instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/ + * Removed in: 4.0 + * Commit: https://review.opendev.org/ Release 3.12 ------------ 1. Replace ``Display Name`` by ``Name`` in volume list. - Change column name ``Display Name`` to ``Name`` in ``volume list`` output. - Current ``volume list --name`` command uses ``display_name`` as search_opts - to send to cinder API, and show the result table with ``Display Name`` - as column title. Replace all ``Display Name`` by ``Name`` to be consistent - with other list commands. + Change column name ``Display Name`` to ``Name`` in ``volume list`` output. + Current ``volume list --name`` command uses ``display_name`` as search_opts + to send to cinder API, and show the result table with ``Display Name`` + as column title. Replace all ``Display Name`` by ``Name`` to be consistent + with other list commands. - Support a mapping for volume list -c ``Display Name`` (Volume v1 and v2) - and volume create/show -c ``display_name`` (Volume v1) to maintain backward - compatibility until the next major release. + Support a mapping for volume list -c ``Display Name`` (Volume v1 and v2) + and volume create/show -c ``display_name`` (Volume v1) to maintain backward + compatibility until the next major release. - * In favor of: ``openstack volume list -c Name`` - * As of: 3.12.0 - * Removed in: n/a - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1657956 - * Commit: https://review.opendev.org/#/c/423081/ + * In favor of: ``openstack volume list -c Name`` + * As of: 3.12.0 + * Removed in: n/a + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1657956 + * Commit: https://review.opendev.org/#/c/423081/ Release 3.10 ------------ 1. The ``network create`` command now requires the ``--subnet`` option when used - with Nova-network clouds. + with nova-network clouds. - * As of: 3.10 - * Commit: https://review.opendev.org/460679 + * As of: 3.10 + * Commit: https://review.opendev.org/460679 2. The positional argument ```` of the ``volume snapshot create`` command is no longer optional. @@ -142,23 +152,23 @@ Release 3.10 ``--volume`` option is not present now it defaults to the value of ````. - * As of: 3.10 - * Bug: 1659894 - * Commit: https://review.opendev.org/440497 + * As of: 3.10 + * Bug: 1659894 + * Commit: https://review.opendev.org/440497 Release 3.0 ----------- 1. Remove the ``osc_password`` authentication plugin. - This was the 'last-resort' plugin default that worked around an old default - Keystone configuration for the ``admin_endpoint`` and ``public_endpoint``. + This was the 'last-resort' plugin default that worked around an old default + Keystone configuration for the ``admin_endpoint`` and ``public_endpoint``. - * In favor of: ``password`` - * As of: 3.0 - * Removed in: n/a - * Bug: n/a - * Commit: https://review.opendev.org/332938 + * In favor of: ``password`` + * As of: 3.0 + * Removed in: n/a + * Bug: n/a + * Commit: https://review.opendev.org/332938 Releases Before 3.0 @@ -166,209 +176,209 @@ Releases Before 3.0 1. Rename command `openstack project usage list` - The `project` part of the command was pointless. + The `project` part of the command was pointless. - * In favor of: `openstack usage list` instead. - * As of: 1.0.2 - * Removed in: TBD - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1406654 - * Commit: https://review.opendev.org/#/c/147379/ + * In favor of: `openstack usage list` instead. + * As of: 1.0.2 + * Removed in: TBD + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1406654 + * Commit: https://review.opendev.org/#/c/147379/ 2. should not be optional for command `openstack service create` - Previously, the command was `openstack service create --type `, - whereas now it is: `openstack service create --name `. - This bug also affected python-keystoneclient, and keystone. + Previously, the command was `openstack service create --type `, + whereas now it is: `openstack service create --name `. + This bug also affected python-keystoneclient, and keystone. - * In favor of: making a positional argument. - * As of: 1.0.2 - * Removed in: TBD - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1404073 - * Commit: https://review.opendev.org/#/c/143242/ + * In favor of: making a positional argument. + * As of: 1.0.2 + * Removed in: TBD + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1404073 + * Commit: https://review.opendev.org/#/c/143242/ 3. Command `openstack security group rule delete` now requires rule id - Previously, the command was `openstack security group rule delete --proto - [--src-ip --dst-port ] `, - whereas now it is: `openstack security group rule delete `. + Previously, the command was `openstack security group rule delete --proto + [--src-ip --dst-port ] `, + whereas now it is: `openstack security group rule delete `. - * In favor of: Using `openstack security group rule delete `. - * As of: 1.2.1 - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1450872 - * Commit: https://review.opendev.org/#/c/179446/ + * In favor of: Using `openstack security group rule delete `. + * As of: 1.2.1 + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1450872 + * Commit: https://review.opendev.org/#/c/179446/ 4. Command `openstack image create` does not update already existing image - Previously, the image create command updated already existing image if it had - same name. It disabled possibility to create multiple images with same name - and lead to potentially unwanted update of existing images by image create - command. - Now, update code was moved from create action to set action. + Previously, the image create command updated already existing image if it had + same name. It disabled possibility to create multiple images with same name + and lead to potentially unwanted update of existing images by image create + command. + Now, update code was moved from create action to set action. - * In favor of: Create multiple images with same name (as glance does). - * As of: 1.5.0 - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1461817 - * Commit: https://review.opendev.org/#/c/194654/ + * In favor of: Create multiple images with same name (as glance does). + * As of: 1.5.0 + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1461817 + * Commit: https://review.opendev.org/#/c/194654/ 5. Command `openstack network list --dhcp` has been removed - The --dhcp option to network list is not a logical use case of listing - networks, it lists agents. Another command should be added in the future - to provide this functionality. It is highly unlikely anyone uses this - feature as we don't support any other agent commands. Use neutron - dhcp-agent-list-hosting-net command instead. + The --dhcp option to network list is not a logical use case of listing + networks, it lists agents. Another command should be added in the future + to provide this functionality. It is highly unlikely anyone uses this + feature as we don't support any other agent commands. Use neutron + dhcp-agent-list-hosting-net command instead. - * In favor of: Create network agent list command in the future - * As of: 1.6.0 - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/472613 - * Commit: https://review.opendev.org/#/c/194654/ + * In favor of: Create network agent list command in the future + * As of: 1.6.0 + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/472613 + * Commit: https://review.opendev.org/#/c/194654/ 6. Plugin interface change for default API versions - Previously, the default version was set in the parsed arguments, - but this makes it impossible to tell what has been passed in at the - command line, set in an environment variable or is just the default. - Now, the module should have a DEFAULT_API_VERSION that contains the - value and it will be set after command line argument, environment - and OCC file processing. + Previously, the default version was set in the parsed arguments, + but this makes it impossible to tell what has been passed in at the + command line, set in an environment variable or is just the default. + Now, the module should have a DEFAULT_API_VERSION that contains the + value and it will be set after command line argument, environment + and OCC file processing. - * In favor of: DEFAULT_API_VERSION - * As of: 1.2.1 - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1453229 - * Commit: https://review.opendev.org/#/c/181514/ + * In favor of: DEFAULT_API_VERSION + * As of: 1.2.1 + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1453229 + * Commit: https://review.opendev.org/#/c/181514/ 7. `image set` commands will no longer return the modified resource - Previously, modifying an image would result in the new image being displayed - to the user. To keep things consistent with other `set` commands, we will - no longer be showing the modified resource. + Previously, modifying an image would result in the new image being displayed + to the user. To keep things consistent with other `set` commands, we will + no longer be showing the modified resource. - * In favor of: Use `set` then `show` - * As of: NA - * Removed in: NA - * Bug: NA - * Commit: NA + * In favor of: Use `set` then `show` + * As of: NA + * Removed in: NA + * Bug: NA + * Commit: NA 8. `region` commands no longer support `url` - The Keystone team removed support for the `url` attribute from the client - and server side. Changes to the `create`, `set` and `list` commands for - regions have been affected. + The Keystone team removed support for the `url` attribute from the client + and server side. Changes to the `create`, `set` and `list` commands for + regions have been affected. - * In favor of: NA - * As of 1.9.0 - * Removed in: NA - * Bug: https://launchpad.net/bugs/1506841 - * Commit: https://review.opendev.org/#/c/236736/ + * In favor of: NA + * As of 1.9.0 + * Removed in: NA + * Bug: https://launchpad.net/bugs/1506841 + * Commit: https://review.opendev.org/#/c/236736/ 9. `flavor set/unset` commands will no longer return the modified resource - Previously, modifying a flavor would result in the new flavor being displayed - to the user. To keep things consistent with other `set/unset` commands, we - will no longer be showing the modified resource. + Previously, modifying a flavor would result in the new flavor being displayed + to the user. To keep things consistent with other `set/unset` commands, we + will no longer be showing the modified resource. - * In favor of: Use `set/unset` then `show` - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 - * Commit: https://review.opendev.org/#/c/280663/ + * In favor of: Use `set/unset` then `show` + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 + * Commit: https://review.opendev.org/#/c/280663/ 10. `security group set` commands will no longer return the modified resource - Previously, modifying a security group would result in the new security group - being displayed to the user. To keep things consistent with other `set` - commands, we will no longer be showing the modified resource. + Previously, modifying a security group would result in the new security group + being displayed to the user. To keep things consistent with other `set` + commands, we will no longer be showing the modified resource. - * In favor of: Use `set` then `show` - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 - * Commit: https://review.opendev.org/#/c/281087/ + * In favor of: Use `set` then `show` + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 + * Commit: https://review.opendev.org/#/c/281087/ 11. `compute agent set` commands will no longer return the modified resource - Previously, modifying an agent would result in the new agent being displayed - to the user. To keep things consistent with other `set` commands, we will - no longer be showing the modified resource. + Previously, modifying an agent would result in the new agent being displayed + to the user. To keep things consistent with other `set` commands, we will + no longer be showing the modified resource. - * In favor of: Use `set` then `show` - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 - * Commit: https://review.opendev.org/#/c/281088/ + * In favor of: Use `set` then `show` + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 + * Commit: https://review.opendev.org/#/c/281088/ 12. ` ` should be optional for command `openstack compute agent set` - Previously, the command was `openstack compute agent set - `, whereas now it is: `openstack compute agent set --version - --url --md5hash `. + Previously, the command was `openstack compute agent set + `, whereas now it is: `openstack compute agent set --version + --url --md5hash `. - * In favor of: making optional. - * As of: NA - * Removed in: NA - * Bug: NA - * Commit: https://review.opendev.org/#/c/328819/ + * In favor of: making optional. + * As of: NA + * Removed in: NA + * Bug: NA + * Commit: https://review.opendev.org/#/c/328819/ 13. `aggregate set` commands will no longer return the modified resource - Previously, modifying an aggregate would result in the new aggregate being - displayed to the user. To keep things consistent with other `set` commands, - we will no longer be showing the modified resource. + Previously, modifying an aggregate would result in the new aggregate being + displayed to the user. To keep things consistent with other `set` commands, + we will no longer be showing the modified resource. - * In favor of: Use `set` then `show` - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 - * Commit: https://review.opendev.org/#/c/281089/ + * In favor of: Use `set` then `show` + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 + * Commit: https://review.opendev.org/#/c/281089/ 14. Output of `ip floating list` command has changed. - When using Compute v2, the original output is: + When using Compute v2, the original output is: - .. code-block:: bash + .. code-block:: bash - # ip floating list + # ip floating list - +----+--------+------------+----------+-------------+ - | ID | Pool | IP | Fixed IP | Instance ID | - +----+--------+-----------------------+-------------+ - | 1 | public | 172.24.4.1 | None | None | - +----+--------+------------+----------+-------------+ + +----+--------+------------+----------+-------------+ + | ID | Pool | IP | Fixed IP | Instance ID | + +----+--------+-----------------------+-------------+ + | 1 | public | 172.24.4.1 | None | None | + +----+--------+------------+----------+-------------+ - Now it changes to: + Now it changes to: - .. code-block:: bash + .. code-block:: bash - # ip floating list + # ip floating list - +----+---------------------+------------------+-----------+--------+ - | ID | Floating IP Address | Fixed IP Address | Server ID | Pool | - +----+---------------------+------------------+-----------+--------+ - | 1 | 172.24.4.1 | None | None | public | - +----+---------------------+------------------+-----------+--------+ + +----+---------------------+------------------+-----------+--------+ + | ID | Floating IP Address | Fixed IP Address | Server ID | Pool | + +----+---------------------+------------------+-----------+--------+ + | 1 | 172.24.4.1 | None | None | public | + +----+---------------------+------------------+-----------+--------+ - When using Network v2, which is different from Compute v2. The output is: + When using Network v2, which is different from Compute v2. The output is: - .. code-block:: bash + .. code-block:: bash - # ip floating list + # ip floating list - +--------------------------------------+---------------------+------------------+------+ - | ID | Floating IP Address | Fixed IP Address | Port | - +--------------------------------------+---------------------+------------------+------+ - | 1976df86-e66a-4f96-81bd-c6ffee6407f1 | 172.24.4.3 | None | None | - +--------------------------------------+---------------------+------------------+------+ + +--------------------------------------+---------------------+------------------+------+ + | ID | Floating IP Address | Fixed IP Address | Port | + +--------------------------------------+---------------------+------------------+------+ + | 1976df86-e66a-4f96-81bd-c6ffee6407f1 | 172.24.4.3 | None | None | + +--------------------------------------+---------------------+------------------+------+ - * In favor of: Use `ip floating list` command - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1519502 - * Commit: https://review.opendev.org/#/c/277720/ + * In favor of: Use `ip floating list` command + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1519502 + * Commit: https://review.opendev.org/#/c/277720/ For Developers ============== diff --git a/doc/source/cli/command-objects/access-rules.rst b/doc/source/cli/command-objects/access-rules.rst index bc8458283f..6e811fc7df 100644 --- a/doc/source/cli/command-objects/access-rules.rst +++ b/doc/source/cli/command-objects/access-rules.rst @@ -9,53 +9,11 @@ rule comprises of a service type, a request path, and a request method. Access rules may only be created as attributes of application credentials, but they may be viewed and deleted independently. +.. autoprogram-cliff:: openstack.identity.v3 + :command: access rule delete -access rule delete ------------------- +.. autoprogram-cliff:: openstack.identity.v3 + :command: access rule list -Delete access rule(s) - -.. program:: access rule delete -.. code:: bash - - openstack access rule delete [ ...] - -.. describe:: - - Access rule(s) to delete (ID) - -access rule list ----------------- - -List access rules - -.. program:: access rule list -.. code:: bash - - openstack access rule list - [--user ] - [--user-domain ] - -.. option:: --user - - User whose access rules to list (name or ID). If not provided, looks up the - current user's access rules. - -.. option:: --user-domain - - Domain the user belongs to (name or ID). This can be - used in case collisions between user names exist. - -access rule show ---------------------------- - -Display access rule details - -.. program:: access rule show -.. code:: bash - - openstack access rule show - -.. describe:: - - Access rule to display (ID) +.. autoprogram-cliff:: openstack.identity.v3 + :command: access rule show diff --git a/doc/source/cli/command-objects/address-group.rst b/doc/source/cli/command-objects/address-group.rst new file mode 100644 index 0000000000..c1ff6f8858 --- /dev/null +++ b/doc/source/cli/command-objects/address-group.rst @@ -0,0 +1,12 @@ +============= +address group +============= + +An **address group** is a group of IPv4 or IPv6 address blocks which could be +referenced as a remote source or destination when creating a security group +rule. + +Network v2 + +.. autoprogram-cliff:: openstack.network.v2 + :command: address group * diff --git a/doc/source/cli/command-objects/application-credentials.rst b/doc/source/cli/command-objects/application-credentials.rst index 047f5ab661..cef3ef0dfc 100644 --- a/doc/source/cli/command-objects/application-credentials.rst +++ b/doc/source/cli/command-objects/application-credentials.rst @@ -8,109 +8,6 @@ With application credentials, a user can grant their applications limited access to their cloud resources. Once created, users can authenticate with an application credential by using the ``v3applicationcredential`` auth type. -application credential create ------------------------------ -Create new application credential - -.. program:: application credential create -.. code:: bash - - openstack application credential create - [--secret ] - [--role ] - [--expiration ] - [--description ] - [--restricted|--unrestricted] - [--access-rules ] - - -.. option:: --secret - - Secret to use for authentication (if not provided, one will be generated) - -.. option:: --role - - Roles to authorize (name or ID) (repeat option to set multiple values) - -.. option:: --expiration - - Sets an expiration date for the application credential (format of - YYYY-mm-ddTHH:MM:SS) - -.. option:: --description - - Application credential description - -.. option:: --unrestricted - - Enable application credential to create and delete other application - credentials and trusts (this is potentially dangerous behavior and is - disabled by default) - -.. option:: --restricted - - Prohibit application credential from creating and deleting other - application credentials and trusts (this is the default behavior) - -.. option:: --access-rules - - Either a string or file path containing a JSON-formatted list of access - rules, each containing a request method, path, and service, for example - '[{"method": "GET", "path": "/v2.1/servers", "service": "compute"}]' - -.. describe:: - - Name of the application credential - - -application credential delete ------------------------------ - -Delete application credential(s) - -.. program:: application credential delete -.. code:: bash - - openstack application credential delete - [ ...] - -.. describe:: - - Application credential(s) to delete (name or ID) - -application credential list ---------------------------- - -List application credentials - -.. program:: application credential list -.. code:: bash - - openstack application credential list - [--user ] - [--user-domain ] - -.. option:: --user - - User whose application credentials to list (name or ID) - -.. option:: --user-domain - - Domain the user belongs to (name or ID). This can be - used in case collisions between user names exist. - -application credential show ---------------------------- - -Display application credential details - -.. program:: application credential show -.. code:: bash - - openstack application credential show - - -.. describe:: - - Application credential to display (name or ID) +.. autoprogram-cliff:: openstack.identity.v3 + :command: application credential * diff --git a/doc/source/cli/command-objects/block-storage-cleanup.rst b/doc/source/cli/command-objects/block-storage-cleanup.rst new file mode 100644 index 0000000000..6a593c1187 --- /dev/null +++ b/doc/source/cli/command-objects/block-storage-cleanup.rst @@ -0,0 +1,8 @@ +============= +block storage +============= + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage cleanup diff --git a/doc/source/cli/command-objects/block-storage-cluster.rst b/doc/source/cli/command-objects/block-storage-cluster.rst new file mode 100644 index 0000000000..318419e079 --- /dev/null +++ b/doc/source/cli/command-objects/block-storage-cluster.rst @@ -0,0 +1,8 @@ +===================== +block storage cluster +===================== + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage cluster * diff --git a/doc/source/cli/command-objects/block-storage-log-level.rst b/doc/source/cli/command-objects/block-storage-log-level.rst new file mode 100644 index 0000000000..17241a0edf --- /dev/null +++ b/doc/source/cli/command-objects/block-storage-log-level.rst @@ -0,0 +1,8 @@ +======================= +Block Storage Log Level +======================= + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage log level * diff --git a/doc/source/cli/command-objects/block-storage-manage.rst b/doc/source/cli/command-objects/block-storage-manage.rst new file mode 100644 index 0000000000..a1cff1ad67 --- /dev/null +++ b/doc/source/cli/command-objects/block-storage-manage.rst @@ -0,0 +1,11 @@ +==================== +Block Storage Manage +==================== + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage volume manageable list + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage snapshot manageable list diff --git a/doc/source/cli/command-objects/block-storage-resource-filter.rst b/doc/source/cli/command-objects/block-storage-resource-filter.rst new file mode 100644 index 0000000000..3e4c33ba5f --- /dev/null +++ b/doc/source/cli/command-objects/block-storage-resource-filter.rst @@ -0,0 +1,8 @@ +============================= +block storage resource filter +============================= + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage resource filter * diff --git a/doc/source/cli/command-objects/catalog.rst b/doc/source/cli/command-objects/catalog.rst index 6db8227ec4..84cd160a0b 100644 --- a/doc/source/cli/command-objects/catalog.rst +++ b/doc/source/cli/command-objects/catalog.rst @@ -6,7 +6,4 @@ A **catalog** lists OpenStack services that are available on the cloud. Applicable to Identity v2 and v3 .. autoprogram-cliff:: openstack.identity.v3 - :command: catalog list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: catalog show + :command: catalog * diff --git a/doc/source/cli/command-objects/consistency-group-snapshot.rst b/doc/source/cli/command-objects/consistency-group-snapshot.rst index 29d5065663..51241685fd 100644 --- a/doc/source/cli/command-objects/consistency-group-snapshot.rst +++ b/doc/source/cli/command-objects/consistency-group-snapshot.rst @@ -2,95 +2,16 @@ consistency group snapshot ========================== -Block Storage v2 +Block Storage v2, v3 -consistency group snapshot create ---------------------------------- +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group snapshot create -Create new consistency group snapshot. +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group snapshot delete -.. program:: consistency group snapshot create -.. code:: bash +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group snapshot list - openstack consistency group snapshot create - [--consistency-group ] - [--description ] - [] - -.. option:: --consistency-group - - Consistency group to snapshot (name or ID) - (default to be the same as ) - -.. option:: --description - - Description of this consistency group snapshot - -.. _consistency_group_snapshot_create-snapshot-name: -.. describe:: - - Name of new consistency group snapshot (default to None) - -consistency group snapshot delete ---------------------------------- - -Delete consistency group snapshot(s) - -.. program:: consistency group snapshot delete -.. code:: bash - - openstack consistency group snapshot delete - [ ...] - -.. _consistency_group_snapshot_delete-consistency-group-snapshot: -.. describe:: - - Consistency group snapshot(s) to delete (name or ID) - -consistency group snapshot list -------------------------------- - -List consistency group snapshots. - -.. program:: consistency group snapshot list -.. code:: bash - - openstack consistency group snapshot list - [--all-projects] - [--long] - [--status ] - [--consistency-group ] - -.. option:: --all-projects - - Show detail for all projects. Admin only. - (defaults to False) - -.. option:: --long - - List additional fields in output - -.. option:: --status - - Filters results by a status - ("available", "error", "creating", "deleting" or "error_deleting") - -.. option:: --consistency-group - - Filters results by a consistency group (name or ID) - -consistency group snapshot show -------------------------------- - -Display consistency group snapshot details. - -.. program:: consistency group snapshot show -.. code:: bash - - openstack consistency group snapshot show - - -.. _consistency_group_snapshot_show-consistency-group-snapshot: -.. describe:: - - Consistency group snapshot to display (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group snapshot show diff --git a/doc/source/cli/command-objects/consistency-group.rst b/doc/source/cli/command-objects/consistency-group.rst index 57082c6df8..9ff207ff79 100644 --- a/doc/source/cli/command-objects/consistency-group.rst +++ b/doc/source/cli/command-objects/consistency-group.rst @@ -2,172 +2,25 @@ consistency group ================= -Block Storage v2 +Block Storage v2, v3 -consistency group add volume ----------------------------- +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group add volume -Add volume(s) to consistency group. +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group create -.. program:: consistency group add volume -.. code:: bash +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group delete - openstack consistency group add volume - - [ ...] +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group list -.. _consistency_group_add_volume: -.. describe:: +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group remove volume - Consistency group to contain (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group set -.. describe:: - - Volume(s) to add to (name or ID) - (repeat option to add multiple volumes) - -consistency group create ------------------------- - -Create new consistency group. - -.. program:: consistency group create -.. code:: bash - - openstack consistency group create - --volume-type | --consistency-group-source | --consistency-group-snapshot - [--description ] - [--availability-zone ] - [] - -.. option:: --volume-type - - Volume type of this consistency group (name or ID) - -.. option:: --consistency-group-source - - Existing consistency group (name or ID) - -.. option:: --consistency-group-snapshot - - Existing consistency group snapshot (name or ID) - -.. option:: --description - - Description of this consistency group - -.. option:: --availability-zone - - Availability zone for this consistency group - (not available if creating consistency group from source) - -.. _consistency_group_create-name: -.. describe:: - - Name of new consistency group (default to None) - -consistency group delete ------------------------- - -Delete consistency group(s). - -.. program:: consistency group delete -.. code:: bash - - openstack consistency group delete - [--force] - [ ...] - -.. option:: --force - - Allow delete in state other than error or available - -.. _consistency_group_delete-consistency-group: -.. describe:: - - Consistency group(s) to delete (name or ID) - -consistency group list ----------------------- - -List consistency groups. - -.. program:: consistency group list -.. code:: bash - - openstack consistency group list - [--all-projects] - [--long] - -.. option:: --all-projects - - Show detail for all projects. Admin only. - (defaults to False) - -.. option:: --long - - List additional fields in output - -consistency group remove volume -------------------------------- - -Remove volume(s) from consistency group. - -.. program:: consistency group remove volume -.. code:: bash - - openstack consistency group remove volume - - [ ...] - -.. _consistency_group_remove_volume: -.. describe:: - - Consistency group containing (name or ID) - -.. describe:: - - Volume(s) to remove from (name or ID) - (repeat option to remove multiple volumes) - -consistency group set ---------------------- - -Set consistency group properties. - -.. program:: consistency group set -.. code:: bash - - openstack consistency group set - [--name ] - [--description ] - - -.. option:: --name - - New consistency group name - -.. option:: --description - - New consistency group description - -.. _consistency_group_set-consistency-group: -.. describe:: - - Consistency group to modify (name or ID) - -consistency group show ----------------------- - -Display consistency group details. - -.. program:: consistency group show -.. code:: bash - - openstack consistency group show - - -.. _consistency_group_show-consistency-group: -.. describe:: - - Consistency group to display (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group show diff --git a/doc/source/cli/command-objects/console-connection.rst b/doc/source/cli/command-objects/console-connection.rst new file mode 100644 index 0000000000..c3358050fb --- /dev/null +++ b/doc/source/cli/command-objects/console-connection.rst @@ -0,0 +1,10 @@ +================== +console connection +================== + +Server console connection information + +Compute v2 + +.. autoprogram-cliff:: openstack.compute.v2 + :command: console connection show diff --git a/doc/source/cli/command-objects/consumer.rst b/doc/source/cli/command-objects/consumer.rst index 8f6dda0ad4..17cfc0c996 100644 --- a/doc/source/cli/command-objects/consumer.rst +++ b/doc/source/cli/command-objects/consumer.rst @@ -7,16 +7,4 @@ is used to create a **request token** and **access token**. Applicable to Identity v3. .. autoprogram-cliff:: openstack.identity.v3 - :command: consumer create - -.. autoprogram-cliff:: openstack.identity.v3 - :command: consumer delete - -.. autoprogram-cliff:: openstack.identity.v3 - :command: consumer list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: consumer set - -.. autoprogram-cliff:: openstack.identity.v3 - :command: consumer show + :command: consumer * diff --git a/doc/source/cli/command-objects/credential.rst b/doc/source/cli/command-objects/credential.rst index 7fe57310f3..f490f1cfee 100644 --- a/doc/source/cli/command-objects/credential.rst +++ b/doc/source/cli/command-objects/credential.rst @@ -4,125 +4,5 @@ credential Identity v3 -credential create ------------------ - -Create new credential - -.. program:: credential create -.. code:: bash - - openstack credential create - [--type ] - [--project ] - - -.. option:: --type - - New credential type: cert, ec2, totp and so on - -.. option:: --project - - Project which limits the scope of the credential (name or ID) - -.. _credential_create: -.. describe:: - - User that owns the credential (name or ID) - -.. describe:: - - New credential data - -credential delete ------------------ - -Delete credential(s) - -.. program:: credential delete -.. code:: bash - - openstack credential delete - [ ...] - -.. _credential_delete: -.. describe:: - - ID(s) of credential to delete - -credential list ---------------- - -List credentials - -.. program:: credential list -.. code:: bash - - openstack credential list - [--user [--user-domain ]] - [--type ] - -.. option:: --user - - Filter credentials by (name or ID) - -.. option:: --user-domain - - Domain the user belongs to (name or ID). This can be - used in case collisions between user names exist. - -.. option:: --type - - Filter credentials by type: cert, ec2, totp and so on - -credential set --------------- - -Set credential properties - -.. program:: credential set -.. code:: bash - - openstack credential set - [--user ] - [--type ] - [--data ] - [--project ] - - -.. option:: --user - - User that owns the credential (name or ID) - -.. option:: --type - - New credential type: cert, ec2, totp and so on. - -.. option:: --data - - New credential data - -.. option:: --project - - Project which limits the scope of the credential (name or ID) - -.. _credential_set: -.. describe:: - - ID of credential to change - -credential show ---------------- - -Display credential details - -.. program:: credential show -.. code:: bash - - openstack credential show - - -.. _credential_show: -.. describe:: - - ID of credential to display +.. autoprogram-cliff:: openstack.identity.v3 + :command: credential * diff --git a/doc/source/cli/command-objects/default-security-group-rule.rst b/doc/source/cli/command-objects/default-security-group-rule.rst new file mode 100644 index 0000000000..1905614bfc --- /dev/null +++ b/doc/source/cli/command-objects/default-security-group-rule.rst @@ -0,0 +1,11 @@ +=========================== +default security group rule +=========================== + +A **default security group rule** specifies the template of the security group +rules which will be used by neutron to create rules in every new security group. + +Network v2 + +.. autoprogram-cliff:: openstack.network.v2 + :command: default security group rule * diff --git a/doc/source/cli/command-objects/ec2-credentials-v2.rst b/doc/source/cli/command-objects/ec2-credentials-v2.rst new file mode 100644 index 0000000000..ace3d84ec5 --- /dev/null +++ b/doc/source/cli/command-objects/ec2-credentials-v2.rst @@ -0,0 +1,6 @@ +============================= +ec2 credentials (Identity v2) +============================= + +.. autoprogram-cliff:: openstack.identity.v2 + :command: ec2 credentials * diff --git a/doc/source/cli/command-objects/ec2-credentials-v3.rst b/doc/source/cli/command-objects/ec2-credentials-v3.rst new file mode 100644 index 0000000000..761d428050 --- /dev/null +++ b/doc/source/cli/command-objects/ec2-credentials-v3.rst @@ -0,0 +1,6 @@ +============================= +ec2 credentials (Identity v3) +============================= + +.. autoprogram-cliff:: openstack.identity.v3 + :command: ec2 credentials * diff --git a/doc/source/cli/command-objects/ec2-credentials.rst b/doc/source/cli/command-objects/ec2-credentials.rst deleted file mode 100644 index 9174b0413e..0000000000 --- a/doc/source/cli/command-objects/ec2-credentials.rst +++ /dev/null @@ -1,138 +0,0 @@ -=============== -ec2 credentials -=============== - -Identity v2 - -ec2 credentials create ----------------------- - -Create EC2 credentials - -.. program:: ec2 credentials create -.. code-block:: bash - - openstack ec2 credentials create - [--project ] - [--user ] - [--user-domain ] - [--project-domain ] - -.. option:: --project - - Create credentials in project (name or ID; default: current authenticated project) - -.. option:: --user - - Create credentials for user (name or ID; default: current authenticated user) - -.. option:: --user-domain - - Domain the user belongs to (name or ID). This can be - used in case collisions between user names exist. - - .. versionadded:: 3 - -.. option:: --project-domain - - Domain the project belongs to (name or ID). This can be - used in case collisions between user names exist. - - .. versionadded:: 3 - -The :option:`--project` and :option:`--user` options are typically only -useful for admin users, but may be allowed for other users depending on -the policy of the cloud and the roles granted to the user. - -ec2 credentials delete ----------------------- - -Delete EC2 credentials - -.. program:: ec2 credentials delete -.. code-block:: bash - - openstack ec2 credentials delete - [--user ] - [--user-domain ] - [ ...] - -.. option:: --user - - Delete credentials for user (name or ID) - -.. option:: --user-domain - - Select user from a specific domain (name or ID) - This can be used in case collisions between user names exist. - - .. versionadded:: 3 - -.. _ec2_credentials_delete-access-key: -.. describe:: access-key - - Credentials access key(s) - -The :option:`--user` option is typically only useful for admin users, but -may be allowed for other users depending on the policy of the cloud and -the roles granted to the user. - -ec2 credentials list --------------------- - -List EC2 credentials - -.. program:: ec2 credentials list -.. code-block:: bash - - openstack ec2 credentials list - [--user ] - [--user-domain ] - -.. option:: --user - - Filter list by (name or ID) - -.. option:: --user-domain - - Select user from a specific domain (name or ID) - This can be used in case collisions between user names exist. - - .. versionadded:: 3 - -The :option:`--user` option is typically only useful for admin users, but -may be allowed for other users depending on the policy of the cloud and -the roles granted to the user. - -ec2 credentials show --------------------- - -Display EC2 credentials details - -.. program:: ec2 credentials show -.. code-block:: bash - - openstack ec2 credentials show - [--user ] - [--user-domain ] - - -.. option:: --user - - Show credentials for user (name or ID) - -.. option:: --user-domain - - Select user from a specific domain (name or ID) - This can be used in case collisions between user names exist. - - .. versionadded:: 3 - -.. _ec2_credentials_show-access-key: -.. describe:: access-key - - Credentials access key - -The :option:`--user` option is typically only useful for admin users, but -may be allowed for other users depending on the policy of the cloud and -the roles granted to the user. diff --git a/doc/source/cli/command-objects/endpoint-v2.rst b/doc/source/cli/command-objects/endpoint-v2.rst new file mode 100644 index 0000000000..7badfd4080 --- /dev/null +++ b/doc/source/cli/command-objects/endpoint-v2.rst @@ -0,0 +1,6 @@ +====================== +endpoint (Identity v2) +====================== + +.. autoprogram-cliff:: openstack.identity.v2 + :command: endpoint * diff --git a/doc/source/cli/command-objects/endpoint-v3.rst b/doc/source/cli/command-objects/endpoint-v3.rst new file mode 100644 index 0000000000..f12063fb0c --- /dev/null +++ b/doc/source/cli/command-objects/endpoint-v3.rst @@ -0,0 +1,24 @@ +====================== +endpoint (Identity v3) +====================== + +.. autoprogram-cliff:: openstack.identity.v3 + :command: endpoint add project + +.. autoprogram-cliff:: openstack.identity.v3 + :command: endpoint create + +.. autoprogram-cliff:: openstack.identity.v3 + :command: endpoint delete + +.. autoprogram-cliff:: openstack.identity.v3 + :command: endpoint list + +.. autoprogram-cliff:: openstack.identity.v3 + :command: endpoint remove project + +.. autoprogram-cliff:: openstack.identity.v3 + :command: endpoint set + +.. autoprogram-cliff:: openstack.identity.v3 + :command: endpoint show diff --git a/doc/source/cli/command-objects/endpoint.rst b/doc/source/cli/command-objects/endpoint.rst deleted file mode 100644 index 6d0253278b..0000000000 --- a/doc/source/cli/command-objects/endpoint.rst +++ /dev/null @@ -1,275 +0,0 @@ -======== -endpoint -======== - -Identity v2, v3 - -endpoint add project --------------------- - -Associate a project to an endpoint for endpoint filtering - -.. program:: endpoint add project -.. code:: bash - - openstack endpoint add project - [--project-domain ] - - - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _endpoint_add_project-endpoint: -.. describe:: - - Endpoint to associate with specified project (name or ID) - -.. _endpoint_add_project-project: -.. describe:: - - Project to associate with specified endpoint (name or ID) - -endpoint create ---------------- - -Create new endpoint - -*Identity version 2 only* - -.. program:: endpoint create (v2) -.. code:: bash - - openstack endpoint create - --publicurl - [--adminurl ] - [--internalurl ] - [--region ] - - -.. option:: --publicurl - - New endpoint public URL (required) - -.. option:: --adminurl - - New endpoint admin URL - -.. option:: --internalurl - - New endpoint internal URL - -.. option:: --region - - New endpoint region ID - -.. _endpoint_create-endpoint: -.. describe:: - - Service to be associated with new endpoint (name or ID) - -*Identity version 3 only* - -.. program:: endpoint create (v3) -.. code:: bash - - openstack endpoint create - [--region ] - [--enable | --disable] - - - - -.. option:: --region - - New endpoint region ID - -.. option:: --enable - - Enable endpoint (default) - -.. option:: --disable - - Disable endpoint - -.. describe:: - - Service to be associated with new endpoint(name or ID) - -.. describe:: - - New endpoint interface type (admin, public or internal) - -.. describe:: - - New endpoint URL - -endpoint delete ---------------- - -Delete endpoint(s) - -.. program:: endpoint delete -.. code:: bash - - openstack endpoint delete - [ ...] - -.. _endpoint_delete-endpoint: -.. describe:: - - Endpoint(s) to delete (ID only) - -endpoint list -------------- - -List endpoints - -.. program:: endpoint list -.. code:: bash - - openstack endpoint list - [--service ] - [--interface ] - [--region ] - [--long] - [--endpoint | - --project [--project-domain ]] - -.. option:: --service - - Filter by service (type, name or ID) - - *Identity version 3 only* - -.. option:: --interface - - Filter by interface type (admin, public or internal) - - *Identity version 3 only* - -.. option:: --region - - Filter by region ID - - *Identity version 3 only* - -.. option:: --long - - List additional fields in output - - *Identity version 2 only* - -.. option:: --endpoint - - List projects that have access to that endpoint using - endpoint filtering - - *Identity version 3 only* - -.. option:: --project - - List endpoints available for the project using - endpoint filtering - - *Identity version 3 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Identity version 3 only* - -endpoint remove project ------------------------ - -Dissociate a project from an endpoint. - -.. program:: endpoint remove project -.. code:: bash - - openstack endpoint remove project - [--project-domain ] - - - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _endpoint_remove_project-endpoint: -.. describe:: - - Endpoint to dissociate with specified project (name or ID) - -.. _endpoint_remove_project-project: -.. describe:: - - Project to dissociate with specified endpoint (name or ID) - -endpoint set ------------- - -Set endpoint properties - -*Identity version 3 only* - -.. program:: endpoint set -.. code:: bash - - openstack endpoint set - [--region ] - [--interface ] - [--url ] - [--service ] - [--enable | --disable] - - -.. option:: --region - - New endpoint region ID - -.. option:: --interface - - New endpoint interface type (admin, public or internal) - -.. option:: --url - - New endpoint URL - -.. option:: --service - - New endpoint service (name or ID) - -.. option:: --enable - - Enable endpoint - -.. option:: --disable - - Disable endpoint - -.. _endpoint_set-endpoint: -.. describe:: - - Endpoint to modify (ID only) - -endpoint show -------------- - -Display endpoint details - -.. program:: endpoint show -.. code:: bash - - openstack endpoint show - - -.. _endpoint_show-endpoint: -.. describe:: - - Endpoint to display (endpoint ID, service ID, service name, service type) diff --git a/doc/source/cli/command-objects/endpoint_group.rst b/doc/source/cli/command-objects/endpoint_group.rst index ccfe5f6615..b0d988e17c 100644 --- a/doc/source/cli/command-objects/endpoint_group.rst +++ b/doc/source/cli/command-objects/endpoint_group.rst @@ -7,22 +7,4 @@ can be used to filter the endpoints that are available to a project. Applicable to Identity v3 .. autoprogram-cliff:: openstack.identity.v3 - :command: endpoint group add project - -.. autoprogram-cliff:: openstack.identity.v3 - :command: endpoint group create - -.. autoprogram-cliff:: openstack.identity.v3 - :command: endpoint group delete - -.. autoprogram-cliff:: openstack.identity.v3 - :command: endpoint group list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: endpoint group remove project - -.. autoprogram-cliff:: openstack.identity.v3 - :command: endpoint group set - -.. autoprogram-cliff:: openstack.identity.v3 - :command: endpoint group show + :command: endpoint group * diff --git a/doc/source/cli/command-objects/federation-domain-project.rst b/doc/source/cli/command-objects/federation-domain-project.rst new file mode 100644 index 0000000000..68db5705b0 --- /dev/null +++ b/doc/source/cli/command-objects/federation-domain-project.rst @@ -0,0 +1,11 @@ +========================= +federation domain/project +========================= + +Identity v3 + +.. autoprogram-cliff:: openstack.identity.v3 + :command: federation domain * + +.. autoprogram-cliff:: openstack.identity.v3 + :command: federation project * diff --git a/doc/source/cli/command-objects/federation-protocol.rst b/doc/source/cli/command-objects/federation-protocol.rst index 3a99fd72b9..81b3f9fcd3 100644 --- a/doc/source/cli/command-objects/federation-protocol.rst +++ b/doc/source/cli/command-objects/federation-protocol.rst @@ -7,16 +7,4 @@ extension. It is used by **identity providers** and **mappings**. Applicable to Identity v3. .. autoprogram-cliff:: openstack.identity.v3 - :command: federation protocol create - -.. autoprogram-cliff:: openstack.identity.v3 - :command: federation protocol delete - -.. autoprogram-cliff:: openstack.identity.v3 - :command: federation protocol list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: federation protocol set - -.. autoprogram-cliff:: openstack.identity.v3 - :command: federation protocol show + :command: federation protocol * diff --git a/doc/source/cli/command-objects/group.rst b/doc/source/cli/command-objects/group.rst index ac938efdc2..a1071069db 100644 --- a/doc/source/cli/command-objects/group.rst +++ b/doc/source/cli/command-objects/group.rst @@ -4,246 +4,5 @@ group Identity v3 -group add user --------------- - -Add user to group - -.. program:: group add user -.. code:: bash - - openstack group add user - [--group-domain ] - [--user-domain ] - - [ ...] - -.. option:: --group-domain - - Domain the group belongs to (name or ID). This can be - used in case collisions between group names exist. - - .. versionadded:: 3 - -.. option:: --user-domain - - Domain the user belongs to (name or ID). This can be - used in case collisions between user names exist. - - .. versionadded:: 3 - -.. describe:: - - Group to contain (name or ID) - -.. describe:: - - User(s) to add to (name or ID) - (repeat option to add multiple users) - -group contains user -------------------- - -Check user membership in group - -.. program:: group contains user -.. code:: bash - - openstack group contains user - [--group-domain ] - [--user-domain ] - - - -.. option:: --group-domain - - Domain the group belongs to (name or ID). This can be - used in case collisions between group names exist. - - .. versionadded:: 3 - -.. option:: --user-domain - - Domain the user belongs to (name or ID). This can be - used in case collisions between user names exist. - - .. versionadded:: 3 - -.. describe:: - - Group to check (name or ID) - -.. describe:: - - User to check (name or ID) - -group create ------------- - -Create new group - -.. program:: group create -.. code:: bash - - openstack group create - [--domain ] - [--description ] - [--or-show] - - -.. option:: --domain - - Domain to contain new group (name or ID) - -.. option:: --description - - New group description - -.. option:: --or-show - - Return existing group - - If the group already exists, return the existing group data and do not fail. - -.. describe:: - - New group name - -group delete ------------- - -Delete group - -.. program:: group delete -.. code:: bash - - openstack group delete - [--domain ] - [ ...] - -.. option:: --domain - - Domain containing group(s) (name or ID) - -.. describe:: - - Group(s) to delete (name or ID) - -group list ----------- - -List groups - -.. program:: group list -.. code:: bash - - openstack group list - [--domain ] - [--user [--user-domain ]] - [--long] - -.. option:: --domain - - Filter group list by (name or ID) - -.. option:: --user - - Filter group list by (name or ID) - -.. option:: --user-domain - - Domain the user belongs to (name or ID). This can be - used in case collisions between user names exist. - - .. versionadded:: 3 - -.. option:: --long - - List additional fields in output - -group remove user ------------------ - -Remove user from group - -.. program:: group remove user -.. code:: bash - - openstack group remove user - [--group-domain ] - [--user-domain ] - - [ ...] - -.. option:: --group-domain - - Domain the group belongs to (name or ID). This can be - used in case collisions between group names exist. - - .. versionadded:: 3 - -.. option:: --user-domain - - Domain the user belongs to (name or ID). This can be - used in case collisions between user names exist. - - .. versionadded:: 3 - -.. describe:: - - Group containing (name or ID) - -.. describe:: - - User(s) to remove from (name or ID) - (repeat option to remove multiple users) - -group set ---------- - -Set group properties - -.. program:: group set -.. code:: bash - - openstack group set - [--domain ] - [--name ] - [--description ] - - -.. option:: --domain - - Domain containing (name or ID) - -.. option:: --name - - New group name - -.. option:: --description - - New group description - -.. describe:: - - Group to modify (name or ID) - -group show ----------- - -Display group details - -.. program:: group show -.. code:: bash - - openstack group show - [--domain ] - - -.. option:: --domain - - Domain containing (name or ID) - -.. describe:: - - Group to display (name or ID) +.. autoprogram-cliff:: openstack.identity.v3 + :command: group * diff --git a/doc/source/cli/command-objects/identity-provider.rst b/doc/source/cli/command-objects/identity-provider.rst index 36c9264a64..ed85cb7ac8 100644 --- a/doc/source/cli/command-objects/identity-provider.rst +++ b/doc/source/cli/command-objects/identity-provider.rst @@ -7,16 +7,4 @@ extension. It is used by **federation protocols** and **mappings**. Applicable to Identity v3. .. autoprogram-cliff:: openstack.identity.v3 - :command: identity provider create - -.. autoprogram-cliff:: openstack.identity.v3 - :command: identity provider delete - -.. autoprogram-cliff:: openstack.identity.v3 - :command: identity provider list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: identity provider set - -.. autoprogram-cliff:: openstack.identity.v3 - :command: identity provider show + :command: identity provider * diff --git a/doc/source/cli/command-objects/image-member.rst b/doc/source/cli/command-objects/image-member.rst new file mode 100644 index 0000000000..4b48991cb3 --- /dev/null +++ b/doc/source/cli/command-objects/image-member.rst @@ -0,0 +1,14 @@ +============ +image member +============ + +Image v2 + +.. autoprogram-cliff:: openstack.image.v2 + :command: image add project + +.. autoprogram-cliff:: openstack.image.v2 + :command: image remove project + +.. autoprogram-cliff:: openstack.image.v2 + :command: image member list diff --git a/doc/source/cli/command-objects/image-metadef.rst b/doc/source/cli/command-objects/image-metadef.rst new file mode 100644 index 0000000000..ed36d95f75 --- /dev/null +++ b/doc/source/cli/command-objects/image-metadef.rst @@ -0,0 +1,50 @@ +============= +image metadef +============= + +Image v2 + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace create + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace delete + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace set + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace show + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef resource type list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object create + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object show + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object delete + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object update + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object property show + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef property create + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef property list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef property show diff --git a/doc/source/cli/command-objects/image-task.rst b/doc/source/cli/command-objects/image-task.rst new file mode 100644 index 0000000000..0021192042 --- /dev/null +++ b/doc/source/cli/command-objects/image-task.rst @@ -0,0 +1,11 @@ +========== +image task +========== + +Image v2 + +.. autoprogram-cliff:: openstack.image.v2 + :command: image task list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image task show diff --git a/doc/source/cli/command-objects/image-v1.rst b/doc/source/cli/command-objects/image-v1.rst new file mode 100644 index 0000000000..4f7edc4322 --- /dev/null +++ b/doc/source/cli/command-objects/image-v1.rst @@ -0,0 +1,6 @@ +======== +image v1 +======== + +.. autoprogram-cliff:: openstack.image.v1 + :command: image * diff --git a/doc/source/cli/command-objects/image-v2.rst b/doc/source/cli/command-objects/image-v2.rst new file mode 100644 index 0000000000..4a2a4d0f90 --- /dev/null +++ b/doc/source/cli/command-objects/image-v2.rst @@ -0,0 +1,32 @@ +===== +image +===== + +Image v2 + +.. autoprogram-cliff:: openstack.image.v2 + :command: image create + +.. autoprogram-cliff:: openstack.image.v2 + :command: image delete + +.. autoprogram-cliff:: openstack.image.v2 + :command: image list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image save + +.. autoprogram-cliff:: openstack.image.v2 + :command: image set + +.. autoprogram-cliff:: openstack.image.v2 + :command: image unset + +.. autoprogram-cliff:: openstack.image.v2 + :command: image show + +.. autoprogram-cliff:: openstack.image.v2 + :command: image stage + +.. autoprogram-cliff:: openstack.image.v2 + :command: image import diff --git a/doc/source/cli/command-objects/image.rst b/doc/source/cli/command-objects/image.rst deleted file mode 100644 index 459a077029..0000000000 --- a/doc/source/cli/command-objects/image.rst +++ /dev/null @@ -1,650 +0,0 @@ -===== -image -===== - -Image v1, v2 - -image add project ------------------ - -*Only supported for Image v2* - -Associate project with image - -.. program:: image add project -.. code:: bash - - openstack image add project - [--project-domain ] - - - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _image_add_project-image: -.. describe:: - - Image to share (name or ID). - -.. _image_add_project-project: -.. describe:: - - Project to associate with image (ID) - -image create ------------- - -*Image v1, v2* - -Create/upload an image - -.. program:: image create -.. code:: bash - - openstack image create - [--id ] - [--store ] - [--container-format ] - [--disk-format ] - [--size ] - [--min-disk ] - [--min-ram ] - [--location ] - [--copy-from ] - [--file | --volume ] - [--force] - [--checksum ] - [--protected | --unprotected] - [--public | --private | --community | --shared] - [--property [...] ] - [--tag [...] ] - [--project ] - [--project-domain ] - - -.. option:: --id - - Image ID to reserve - -.. option:: --store - - Upload image to this store - - *Image version 1 only.* - -.. option:: --container-format - - Image container format. The supported options are: ami, ari, aki, - bare, docker, ova, ovf. The default format is: bare - -.. option:: --disk-format - - Image disk format. The supported options are: ami, ari, aki, vhd, vmdk, - raw, qcow2, vhdx, vdi, iso, and ploop. The default format is: raw - -.. option:: --size - - Image size, in bytes (only used with :option:`--location` and :option:`--copy-from`) - - *Image version 1 only.* - -.. option:: --min-disk - - Minimum disk size needed to boot image, in gigabytes - -.. option:: --min-ram - - Minimum RAM size needed to boot image, in megabytes - -.. option:: --location - - Download image from an existing URL - - *Image version 1 only.* - -.. option:: --copy-from - - Copy image from the data store (similar to :option:`--location`) - - *Image version 1 only.* - -.. option:: --file - - Upload image from local file - -.. option:: --volume - - Create image from a volume - -.. option:: --force - - Force image creation if volume is in use (only meaningful with :option:`--volume`) - -.. option:: --checksum - - Image hash used for verification - - *Image version 1 only.* - -.. option:: --protected - - Prevent image from being deleted - -.. option:: --unprotected - - Allow image to be deleted (default) - -.. option:: --public - - Image is accessible to the public - -.. option:: --private - - Image is inaccessible to the public (default) - -.. option:: --community - - Image is accessible to the community - -.. option:: --shared - - Image can be shared - -.. option:: --property - - Set a property on this image (repeat option to set multiple properties) - -.. option:: --tag - - Set a tag on this image (repeat option to set multiple tags) - - .. versionadded:: 2 - -.. option:: --project - - Set an alternate project on this image (name or ID). - Previously known as `--owner`. - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - .. versionadded:: 2 - -.. _image_create-image-name: -.. describe:: - - New image name - -image delete ------------- - -Delete image(s) - -.. program:: image delete -.. code:: bash - - openstack image delete - - -.. _image_delete-image: -.. describe:: - - Image(s) to delete (name or ID) - -image list ----------- - -List available images - -.. program:: image list -.. code:: bash - - openstack image list - [--public | --private | --community | --shared] - [--property ] - [--name ] - [--status ] - [--member-status ] - [--tag ] - [--long] - [--sort [:]] - [--limit ] - [--marker ] - -.. option:: --public - - List only public images - -.. option:: --private - - List only private images - -.. option:: --community - - List only community images - - *Image version 2 only.* - -.. option:: --shared - - List only shared images - - *Image version 2 only.* - -.. option:: --property - - Filter output based on property - -.. option:: --name - - Filter images based on name - - *Image version 2 only.* - -.. option:: --status - - Filter images based on status - - *Image version 2 only* - -.. option:: --member-status - - Filter images based on member status - - *Image version 2 only* - -.. option:: --tag - - Filter images based on tag - - *Image version 2 only* - -.. option:: --long - - List additional fields in output - -.. option:: --sort [:] - - Sort output by selected keys and directions(asc or desc) (default: name:asc), - multiple keys and directions can be specified separated by comma - -.. option:: --limit - - Maximum number of images to display. - - *Image version 2 only* - -.. option:: --marker - - The last image of the previous page. Display list of images - after marker. Display all images if not specified. (name or ID) - - *Image version 2 only* - -image member list ------------------ - -List projects associated with image - -.. program:: image member list -.. code:: bash - - openstack image member list - - -.. _image_member_list-image: -.. describe:: - - Image(s) to view members for (name or ID) - -image remove project --------------------- - -*Only supported for Image v2* - -Disassociate project with image - -.. program:: image remove project -.. code:: bash - - openstack image remove project - [--project-domain ] - - - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. _image_remove_project: -.. describe:: - - Image to unshare (name or ID). - -.. describe:: - - Project to disassociate with image (name or ID) - -image save ----------- - -Save an image locally - -.. program:: image save -.. code:: bash - - openstack image save - --file - - -.. option:: --file - - Downloaded image save filename (default: stdout) - -.. _image_save-image: -.. describe:: - - Image to save (name or ID) - -image set ---------- - -*Image v1, v2* - -Set image properties - -.. program:: image set -.. code:: bash - - openstack image set - [--name ] - [--min-disk ] - [--min-ram ] - [--container-format ] - [--disk-format ] - [--size ] - [--protected | --unprotected] - [--public | --private | --community | --shared] - [--store ] - [--location ] - [--copy-from ] - [--file ] - [--volume ] - [--force] - [--checksum ] - [--stdin] - [--property [...] ] - [--tag [...] ] - [--architecture ] - [--instance-id ] - [--kernel-id ] - [--os-distro ] - [--os-version ] - [--ramdisk-id ] - [--deactivate | --activate] - [--project ] - [--project-domain ] - [--accept | --reject | --pending] - - -.. option:: --name - - New image name - -.. option:: --min-disk - - Minimum disk size needed to boot image, in gigabytes - -.. option:: --min-ram - - Minimum RAM size needed to boot image, in megabytes - -.. option:: --container-format - - Image container format. The supported options are: ami, ari, aki, - bare, docker, ova, ovf. - -.. option:: --disk-format - - Image disk format. The supported options are: ami, ari, aki, vhd, vmdk, - raw, qcow2, vhdx, vdi, iso, and ploop. - -.. option:: --size - - Size of image data (in bytes) - - *Image version 1 only.* - -.. option:: --protected - - Prevent image from being deleted - -.. option:: --unprotected - - Allow image to be deleted (default) - -.. option:: --public - - Image is accessible to the public - -.. option:: --private - - Image is inaccessible to the public (default) - -.. option:: --community - - Image is accessible to the community - -.. option:: --shared - - Image can be shared - -.. option:: --store - - Upload image to this store - - *Image version 1 only.* - -.. option:: --location - - Download image from an existing URL - - *Image version 1 only.* - -.. option:: --copy-from - - Copy image from the data store (similar to :option:`--location`) - - *Image version 1 only.* - -.. option:: --file - - Upload image from local file - - *Image version 1 only.* - -.. option:: --volume - - Update image with a volume - - *Image version 1 only.* - -.. option:: --force - - Force image update if volume is in use (only meaningful with :option:`--volume`) - - *Image version 1 only.* - -.. option:: --checksum - - Image hash used for verification - - *Image version 1 only.* - -.. option:: --stdin - - Allow to read image data from standard input - - *Image version 1 only.* - -.. option:: --property - - Set a property on this image (repeat option to set multiple properties) - - .. versionadded:: 2 - -.. option:: --tag - - Set a tag on this image (repeat option to set multiple tags) - - .. versionadded:: 2 - -.. option:: --architecture - - Operating system architecture - - .. versionadded:: 2 - -.. option:: --instance-id - - ID of server instance used to create this image - - .. versionadded:: 2 - -.. option:: --kernel-id - - ID of kernel image used to boot this disk image - - .. versionadded:: 2 - -.. option:: --os-distro - - Operating system distribution name - - .. versionadded:: 2 - -.. option:: --os-version - - Operating system distribution version - - .. versionadded:: 2 - -.. option:: --ramdisk-id - - ID of ramdisk image used to boot this disk image - - .. versionadded:: 2 - -.. option:: --deactivate - - Deactivate the image. - - .. versionadded:: 2 - -.. option:: --activate - - Activate the image. - - .. versionadded:: 2 - -.. option:: --project - - Set an alternate project on this image (name or ID). - Previously known as `--owner`. - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - .. versionadded:: 2 - -.. option:: --accept - - Accept the image membership. - - If `--project` is passed, this will update the membership status for the - given project, otherwise `--project` will default to the project the user - is authenticated to. - - .. versionadded:: 2 - -.. option:: --reject - - Reject the image membership. - - If `--project` is passed, this will update the membership status for the - given project, otherwise `--project` will default to the project the user - is authenticated to. - - .. versionadded:: 2 - -.. option:: --pending - - Reset the image membership to 'pending'. - - If `--project` is passed, this will update the membership status for the - given project, otherwise `--project` will default to the project the user - is authenticated to. - - .. versionadded:: 2 - -.. _image_set-image: -.. describe:: - - Image to modify (name or ID) - -image show ----------- - -Display image details - -.. program:: image show -.. code:: bash - - openstack image show - [--human-readable] - - -.. option:: --human-readable - - Print image size in a human-friendly format. - -.. _image_show-image: -.. describe:: - - Image to display (name or ID) - -image unset ------------ - -*Only supported for Image v2* - -Unset image tags or properties - -.. program:: image unset -.. code:: bash - - openstack image unset - [--tag ] - [--property ] - - -.. option:: --tag - - Unset a tag on this image (repeat option to unset multiple tags) - -.. option:: --property - - Unset a property on this image (repeat option to unset multiple properties) - -.. _image_unset-image: -.. describe:: - - Image to modify (name or ID) diff --git a/doc/source/cli/command-objects/implied_role.rst b/doc/source/cli/command-objects/implied_role.rst index e43c9ea39e..09532c0b02 100644 --- a/doc/source/cli/command-objects/implied_role.rst +++ b/doc/source/cli/command-objects/implied_role.rst @@ -4,54 +4,5 @@ implied role Identity v3 - -implied role create -------------------- - -Creates an association between prior and implied roles - -.. program:: implied role create -.. code:: bash - - openstack implied role create - - --implied-role - -.. option:: - - Prior role (name or ID) implies another role - -.. option:: --implied-role - - (name or ID) implied by another role - - -implied role delete -------------------- - -Deletes an association between prior and implied roles - -.. program:: implied role delete -.. code:: bash - - openstack implied role delete - - --implied-role - -.. option:: - - Prior role (name or ID) implies another role - -.. option:: --implied-role - - (name or ID) implied by another role - -implied role list ------------------ - -List implied roles - -.. program:: implied role list -.. code:: bash - - openstack implied role list +.. autoprogram-cliff:: openstack.identity.v3 + :command: implied role * diff --git a/doc/source/cli/command-objects/limit.rst b/doc/source/cli/command-objects/limit.rst index 46da6c1b70..784d0cb423 100644 --- a/doc/source/cli/command-objects/limit.rst +++ b/doc/source/cli/command-objects/limit.rst @@ -6,128 +6,5 @@ Identity v3 Limits are used to specify project-specific limits thresholds of resources. -limit create ------------- - -Create a new limit - -.. program:: limit create -.. code:: bash - - openstack limit create - [--description ] - [--region ] - --project - --service - --resource-limit - - -.. option:: --description - - Useful description of the limit or its purpose - -.. option:: --region - - Region that the limit should be applied to - -.. describe:: --project - - The project that the limit applies to (required) - -.. describe:: --service - - The service that is responsible for the resource being limited (required) - -.. describe:: --resource-limit - - The limit to apply to the project (required) - -.. describe:: - - The name of the resource to limit (e.g. cores or volumes) - -limit delete ------------- - -Delete project-specific limit(s) - -.. program:: limit delete -.. code:: bash - - openstack limit delete - [ ...] - -.. describe:: - - Limit(s) to delete (ID) - -limit list ----------- - -List project-specific limits - -.. program:: limit list -.. code:: bash - - openstack limit list - [--service ] - [--resource-name ] - [--region ] - [--project ] - -.. option:: --service - - The service to filter the response by (name or ID) - -.. option:: --resource-name - - The name of the resource to filter the response by - -.. option:: --region - - The region name to filter the response by - -.. option:: --project - - List resource limits associated with project - -limit show ----------- - -Display details about a limit - -.. program:: limit show -.. code:: bash - - openstack limit show - - -.. describe:: - - Limit to display (ID) - -limit set ---------- - -Update a limit - -.. program:: limit show -.. code:: bash - - openstack limit set - [--description ] - [--resource-limit ] - - - -.. option:: --description - - Useful description of the limit or its purpose - -.. option:: --resource-limit - - The limit to apply to the project - -.. describe:: - - Limit to update (ID) +.. autoprogram-cliff:: openstack.identity.v3 + :command: limit * diff --git a/doc/source/cli/command-objects/limits.rst b/doc/source/cli/command-objects/limits.rst index 3a0f99b376..11d53802c6 100644 --- a/doc/source/cli/command-objects/limits.rst +++ b/doc/source/cli/command-objects/limits.rst @@ -4,7 +4,7 @@ limits The Compute and Block Storage APIs have resource usage limits. -Compute v2, Block Storage v1 +Block Storage v2, v3; Compute v2 .. autoprogram-cliff:: openstack.common diff --git a/doc/source/cli/command-objects/local-ip-association.rst b/doc/source/cli/command-objects/local-ip-association.rst new file mode 100644 index 0000000000..824ee4d0e6 --- /dev/null +++ b/doc/source/cli/command-objects/local-ip-association.rst @@ -0,0 +1,11 @@ +============================================= +Local IP Associations (local_ip_associations) +============================================= + +The resource lets users assign Local IPs to user Ports. +This is a sub-resource of the Local IP resource. + +Network v2 + +.. autoprogram-cliff:: openstack.network.v2 + :command: local ip association * diff --git a/doc/source/cli/command-objects/local-ip.rst b/doc/source/cli/command-objects/local-ip.rst new file mode 100644 index 0000000000..c8c5ab470d --- /dev/null +++ b/doc/source/cli/command-objects/local-ip.rst @@ -0,0 +1,12 @@ +===================== +Local IPs (local_ips) +===================== + +Extension that allows users to create a virtual IP that can later be assigned +to multiple ports/VMs (similar to anycast IP) and is guaranteed to only be +reachable within the same physical server/node boundaries + +Network v2 + +.. autoprogram-cliff:: openstack.network.v2 + :command: local ip * diff --git a/doc/source/cli/command-objects/mapping.rst b/doc/source/cli/command-objects/mapping.rst index 73dbbc8d8b..5653b52bb9 100644 --- a/doc/source/cli/command-objects/mapping.rst +++ b/doc/source/cli/command-objects/mapping.rst @@ -7,16 +7,4 @@ extension. It is used by **federation protocols** and **identity providers**. Applicable to Identity v3. .. autoprogram-cliff:: openstack.identity.v3 - :command: mapping create - -.. autoprogram-cliff:: openstack.identity.v3 - :command: mapping delete - -.. autoprogram-cliff:: openstack.identity.v3 - :command: mapping list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: mapping set - -.. autoprogram-cliff:: openstack.identity.v3 - :command: mapping show + :command: mapping * \ No newline at end of file diff --git a/doc/source/cli/command-objects/network-l3-conntrack-helper.rst b/doc/source/cli/command-objects/network-l3-conntrack-helper.rst new file mode 100644 index 0000000000..badbab6337 --- /dev/null +++ b/doc/source/cli/command-objects/network-l3-conntrack-helper.rst @@ -0,0 +1,8 @@ +=========================== +network l3 conntrack helper +=========================== + +Network v2 + +.. autoprogram-cliff:: openstack.network.v2 + :command: network l3 conntrack helper * diff --git a/doc/source/cli/command-objects/network-trunk.rst b/doc/source/cli/command-objects/network-trunk.rst new file mode 100644 index 0000000000..98fd4b0c4b --- /dev/null +++ b/doc/source/cli/command-objects/network-trunk.rst @@ -0,0 +1,16 @@ +============= +network trunk +============= + +A **network trunk** is a container to group logical ports from different +networks and provide a single trunked vNIC for servers. It consists of +one parent port which is a regular VIF and multiple subports which allow +the server to connect to more networks. + +Network v2 + +.. autoprogram-cliff:: openstack.network.v2 + :command: network subport list + +.. autoprogram-cliff:: openstack.network.v2 + :command: network trunk * diff --git a/doc/source/cli/command-objects/policy.rst b/doc/source/cli/command-objects/policy.rst index 0fe104c56d..66bc2545a6 100644 --- a/doc/source/cli/command-objects/policy.rst +++ b/doc/source/cli/command-objects/policy.rst @@ -6,16 +6,4 @@ A **policy** is an arbitrarily serialized policy engine rule set to be consumed by a remote service. Applies to Identity v3. .. autoprogram-cliff:: openstack.identity.v3 - :command: policy create - -.. autoprogram-cliff:: openstack.identity.v3 - :command: policy delete - -.. autoprogram-cliff:: openstack.identity.v3 - :command: policy list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: policy set - -.. autoprogram-cliff:: openstack.identity.v3 - :command: policy show + :command: policy * diff --git a/doc/source/cli/command-objects/project-cleanup.rst b/doc/source/cli/command-objects/project-cleanup.rst new file mode 100644 index 0000000000..e76e538948 --- /dev/null +++ b/doc/source/cli/command-objects/project-cleanup.rst @@ -0,0 +1,12 @@ +=============== +project cleanup +=============== + +Clean resources associated with a specific project based on OpenStackSDK +implementation + +Block Storage v2, v3; Compute v2; Network v2; DNS v2; Orchestrate v1 + + +.. autoprogram-cliff:: openstack.common + :command: project cleanup diff --git a/doc/source/cli/command-objects/project-purge.rst b/doc/source/cli/command-objects/project-purge.rst deleted file mode 100644 index 8f10a77452..0000000000 --- a/doc/source/cli/command-objects/project-purge.rst +++ /dev/null @@ -1,11 +0,0 @@ -============= -project purge -============= - -Clean resources associated with a specific project. - -Block Storage v1, v2; Compute v2; Image v1, v2 - - -.. autoprogram-cliff:: openstack.common - :command: project purge diff --git a/doc/source/cli/command-objects/project-v2.rst b/doc/source/cli/command-objects/project-v2.rst new file mode 100644 index 0000000000..502154d37e --- /dev/null +++ b/doc/source/cli/command-objects/project-v2.rst @@ -0,0 +1,6 @@ +===================== +project (Identity v2) +===================== + +.. autoprogram-cliff:: openstack.identity.v2 + :command: project * diff --git a/doc/source/cli/command-objects/project-v3.rst b/doc/source/cli/command-objects/project-v3.rst new file mode 100644 index 0000000000..9bee6ae8cf --- /dev/null +++ b/doc/source/cli/command-objects/project-v3.rst @@ -0,0 +1,6 @@ +===================== +project (Identity v3) +===================== + +.. autoprogram-cliff:: openstack.identity.v3 + :command: project * diff --git a/doc/source/cli/command-objects/project.rst b/doc/source/cli/command-objects/project.rst deleted file mode 100644 index afa785cbbe..0000000000 --- a/doc/source/cli/command-objects/project.rst +++ /dev/null @@ -1,297 +0,0 @@ -======= -project -======= - -Identity v2, v3 - -project create --------------- - -Create new project - -.. program:: project create -.. code:: bash - - openstack project create - [--domain ] - [--parent ] - [--description ] - [--immutable | --no-immutable] - [--enable | --disable] - [--property ] - [--or-show] - [--tag ] - - -.. option:: --domain - - Domain owning the project (name or ID) - - .. versionadded:: 3 - -.. option:: --parent - - Parent of the project (name or ID) - - .. versionadded:: 3 - -.. option:: --description - - Project description - -.. option:: --enable - - Enable project (default) - -.. option:: --disable - - Disable project - -.. option:: --immutable - - Make project immutable. An immutable project may not be deleted or - modified except to remove the immutable flag - -.. option:: --no-immutable - - Make project mutable (default) - -.. option:: --property - - Add a property to :ref:`\ ` - (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. - -.. option:: --tag - - Add a tag to the project - (repeat option to set multiple tags) - - .. versionadded:: 3 - -.. _project_create-name: -.. describe:: - - New project name - -project delete --------------- - -Delete project(s) - -.. program:: project delete -.. code:: bash - - openstack project delete - [--domain ] - [ ...] - -.. option:: --domain - - Domain owning :ref:`\ ` (name or ID) - - .. versionadded:: 3 - -.. _project_delete-project: -.. describe:: - - Project to delete (name or ID) - -project list ------------- - -List projects - -.. program:: project list -.. code:: bash - - openstack project list - [--domain ] - [--parent ] - [--user ] - [--my-projects] - [--long] - [--sort [:,:,..]] - [--tags [,,...]] [--tags-any [,,...]] - [--not-tags [,,...]] [--not-tags-any [,,...]] - -.. option:: --domain - - Filter projects by :option:`\ <--domain>` (name or ID) - - .. versionadded:: 3 - -.. option:: --parent - - Filter projects whose parent is :option:`\ <--parent>` (name or ID) - - .. versionadded:: 3 - -.. option:: --user - - Filter projects by :option:`\ <--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 [:,:,..] - - Sort output by selected keys and directions (asc or desc) (default: asc), - multiple keys and directions can be specified --sort - [:,:,..] - -.. option:: --tags [,,...] - - List projects which have all given tag(s) - - .. versionadded:: 3 - -.. option:: --tags-any [,,...] - - List projects which have any given tag(s) - - .. versionadded:: 3 - -.. option:: --not-tags [,,...] - - Exclude projects which have all given tag(s) - - .. versionadded:: 3 - -.. option:: --not-tags-any [,,...] - - Exclude projects which have any given tag(s) - - .. versionadded:: 3 - -project set ------------ - -Set project properties - -.. program:: project set -.. code:: bash - - openstack project set - [--name ] - [--domain ] - [--description ] - [--immutable | --no-immutable] - [--enable | --disable] - [--property ] - [--tag | --clear-tags | --remove-tags ] - - -.. option:: --name - - Set project name - -.. option:: --domain - - Domain owning :ref:`\ ` (name or ID) - - .. versionadded:: 3 - -.. option:: --description - - Set project description - -.. option:: --immutable - - Make project immutable. An immutable project may not be deleted or - modified except to remove the immutable flag - -.. option:: --no-immutable - - Make project mutable (default) - -.. option:: --enable - - Enable project (default) - -.. option:: --disable - - Disable project - -.. option:: --property - - Set a property on :ref:`\ ` - (repeat option to set multiple properties) - - *Identity version 2 only* - -.. _project_set-project: -.. describe:: - - Project to modify (name or ID) - -project show ------------- - -Display project details - -.. program:: project show -.. code:: bash - - openstack project show - [--domain ] - - -.. option:: --domain - - Domain owning :ref:`\ ` (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 to display (name or ID) - -project unset -------------- - -Unset project properties - -*Identity version 2 only* - -.. program:: project unset -.. code:: bash - - openstack project unset - --property [--property ...] - - -.. option:: --property - - Property key to remove from project (repeat option to remove multiple properties) - -.. describe:: - - Project to modify (name or ID) diff --git a/doc/source/cli/command-objects/quota.rst b/doc/source/cli/command-objects/quota.rst index cab1265240..59a8a9bb4e 100644 --- a/doc/source/cli/command-objects/quota.rst +++ b/doc/source/cli/command-objects/quota.rst @@ -5,7 +5,7 @@ quota Resource quotas appear in multiple APIs, OpenStackClient presents them as a single object with multiple properties. -Block Storage v1, v2, Compute v2, Network v2 +Block Storage v1, v3; Compute v2; Network v2 .. autoprogram-cliff:: openstack.common :command: quota * diff --git a/doc/source/cli/command-objects/region.rst b/doc/source/cli/command-objects/region.rst index 58cc341f9a..86e7ca8ae0 100644 --- a/doc/source/cli/command-objects/region.rst +++ b/doc/source/cli/command-objects/region.rst @@ -7,16 +7,4 @@ zero or more sub-regions with a region to create a tree-like structured hierarchy. Applies to Identity v3. .. autoprogram-cliff:: openstack.identity.v3 - :command: region create - -.. autoprogram-cliff:: openstack.identity.v3 - :command: region delete - -.. autoprogram-cliff:: openstack.identity.v3 - :command: region list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: region set - -.. autoprogram-cliff:: openstack.identity.v3 - :command: region show + :command: region * diff --git a/doc/source/cli/command-objects/registered-limit.rst b/doc/source/cli/command-objects/registered-limit.rst index 586fd1ffcc..98a5efba9e 100644 --- a/doc/source/cli/command-objects/registered-limit.rst +++ b/doc/source/cli/command-objects/registered-limit.rst @@ -7,134 +7,5 @@ Identity v3 Registered limits are used to define default limits for resources within a deployment. -registered limit create ------------------------ - -Create a new registered limit - -.. program:: registered limit create -.. code:: bash - - openstack registered limit create - [--description ] - [--region ] - --service - --default-limit - - -.. option:: --description - - Useful description of the registered limit or its purpose - -.. option:: --region - - Region that the limit should be applied to - -.. describe:: --service - - The service that is responsible for the resource being limited (required) - -.. describe:: --default-limit - - The default limit for projects to assume unless explicitly overridden - (required) - -.. describe:: - - The name of the resource to limit (e.g. cores or volumes) - -registered limit delete ------------------------ - -Delete registered limit(s) - -.. program:: registered limit delete -.. code:: bash - - openstack registered limit delete - [ ...] - - -.. describe:: - - Registered limit(s) to delete (ID) - -registered limit list ---------------------- - -List registered limits - -.. program:: registered limit list -.. code:: bash - - openstack registered limit list - [--service ] - [--resource-name ] - [--region ] - -.. option:: --service - - The service to filter the response by (name or ID) - -.. option:: --resource-name - - The name of the resource to filter the response by - -.. option:: --region - - The region name to filter the response by - -registered limit show ---------------------- - -Display details about a registered limit - -.. program:: registered limit show -.. code:: bash - - openstack registered limit show - - -.. describe:: - - Registered limit to display (ID) - -registered limit set --------------------- - -Update a registered limit - -.. program:: registered limit set -.. code:: bash - - openstack registered limit set - [--service ] - [--resource-name ] - [--default-limit ] - [--description ] - [--region ] - - -.. option:: --service - - The service of the registered limit to update (ID or name) - -.. option:: --resource-name - - The name of the resource for the limit - -.. option:: --default-limit - - The default limit for projects to assume for a given resource - -.. option:: --description - - A useful description of the limit or its purpose - -.. option:: --region - - The region the limit should apply to - -.. describe:: - - Registered limit to display (ID) +.. autoprogram-cliff:: openstack.identity.v3 + :command: registered limit * diff --git a/doc/source/cli/command-objects/request-token.rst b/doc/source/cli/command-objects/request-token.rst index e10f6640ef..ea333c4aba 100644 --- a/doc/source/cli/command-objects/request-token.rst +++ b/doc/source/cli/command-objects/request-token.rst @@ -7,7 +7,4 @@ is used by the **consumer** to request **access tokens**. Applicable to Identity v3. .. autoprogram-cliff:: openstack.identity.v3 - :command: request token authorize - -.. autoprogram-cliff:: openstack.identity.v3 - :command: request token create + :command: request token * diff --git a/doc/source/cli/command-objects/role-assignment.rst b/doc/source/cli/command-objects/role-assignment.rst index b29f32c690..aa618d4dd3 100644 --- a/doc/source/cli/command-objects/role-assignment.rst +++ b/doc/source/cli/command-objects/role-assignment.rst @@ -4,103 +4,5 @@ role assignment Identity v2, v3 -role assignment list --------------------- - -List role assignments - -.. program:: role assignment list -.. code:: bash - - openstack role assignment list - [--role ] - [--role-domain ] - [--user ] - [--user-domain ] - [--group ] - [--group-domain ] - [--domain ] - [--project ] - [--project-domain ] - [--effective] - [--inherited] - [--names] - -.. option:: --role - - Role to filter (name or ID) - - .. versionadded:: 3 - -.. option:: --role-domain - - Domain the role belongs to (name or ID). - This can be used in case collisions between role names exist. - - .. versionadded:: 3 - -.. option:: --user - - User to filter (name or ID) - -.. option:: --user-domain - - Domain the user belongs to (name or ID). - This can be used in case collisions between user names exist. - - .. versionadded:: 3 - -.. option:: --group - - Group to filter (name or ID) - - .. versionadded:: 3 - -.. option:: --group-domain - - Domain the group belongs to (name or ID). - This can be used in case collisions between group names exist. - - .. versionadded:: 3 - -.. option:: --domain - - Domain to filter (name or ID) - - .. versionadded:: 3 - -.. option:: --project - - Project to filter (name or ID) - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - .. versionadded:: 3 - -.. option:: --effective - - Returns only effective role assignments (defaults to False) - - .. versionadded:: 3 - -.. option:: --inherited - - Specifies if the role grant is inheritable to the sub projects - - .. versionadded:: 3 - -.. option:: --names - - Returns role assignments with names instead of IDs - -.. option:: --auth-user - - Returns role assignments for the authenticated user. - -.. option:: --auth-project - - Returns role assignments for the project to which the authenticated user - is scoped. +.. autoprogram-cliff:: openstack.identity.v3 + :command: role assignment list diff --git a/doc/source/cli/command-objects/role-v2.rst b/doc/source/cli/command-objects/role-v2.rst new file mode 100644 index 0000000000..dc5bac6c65 --- /dev/null +++ b/doc/source/cli/command-objects/role-v2.rst @@ -0,0 +1,6 @@ +================== +role (Identity v2) +================== + +.. autoprogram-cliff:: openstack.identity.v2 + :command: role * diff --git a/doc/source/cli/command-objects/role-v3.rst b/doc/source/cli/command-objects/role-v3.rst new file mode 100644 index 0000000000..e36bef773f --- /dev/null +++ b/doc/source/cli/command-objects/role-v3.rst @@ -0,0 +1,6 @@ +================== +role (Identity v3) +================== + +.. autoprogram-cliff:: openstack.identity.v3 + :command: role * diff --git a/doc/source/cli/command-objects/role.rst b/doc/source/cli/command-objects/role.rst deleted file mode 100644 index f9fd28eb75..0000000000 --- a/doc/source/cli/command-objects/role.rst +++ /dev/null @@ -1,312 +0,0 @@ -==== -role -==== - -Identity v2, v3 - -role add --------- - -Add role assignment to a user or group in a project or domain - -.. program:: role add -.. code:: bash - - openstack role add - --system | --domain | --project [--project-domain ] - --user [--user-domain ] | --group [--group-domain ] - --role-domain - --inherited - - -.. option:: --system - - Include - - System or service to grant authorization to. Currently only ``all`` is - supported which encompasses the entire deployment system. - - .. versionadded:: 3 - -.. option:: --domain - - Include (name or ID) - - .. versionadded:: 3 - -.. option:: --project - - Include (name or ID) - -.. option:: --user - - Include (name or ID) - -.. option:: --group - - Include (name or ID) - - .. versionadded:: 3 - -.. option:: --user-domain - - Domain the user belongs to (name or ID). - This can be used in case collisions between user names exist. - - .. versionadded:: 3 - -.. option:: --group-domain - - Domain the group belongs to (name or ID). - This can be used in case collisions between group names exist. - - .. versionadded:: 3 - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - .. versionadded:: 3 - -.. option:: --inherited - - Specifies if the role grant is inheritable to the sub projects. - - .. versionadded:: 3 - -.. option:: --role-domain - - Domain the role belongs to (name or ID). - This must be specified when the name of a domain specific role is used. - - .. versionadded:: 3 - -.. describe:: - - Role to add to : (name or ID) - -role create ------------ - -Create new role - -.. program:: role create -.. code:: bash - - openstack role create - [--or-show] - [--domain ] - [--immutable | --no-immutable] - - -.. option:: --domain - - Domain the role belongs to (name or ID). - - .. versionadded:: 3 - -.. option:: --or-show - - Return existing role - - If the role already exists return the existing role data and do not fail. - -.. describe:: - - New role name - -.. option:: --description - - Add description about the role - -.. option:: --immutable - - Make role immutable. An immutable role may not be deleted or modified - except to remove the immutable flag - -.. option:: --no-immutable - - Make role mutable (default) - -role delete ------------ - -Delete role(s) - -.. program:: role delete -.. code:: bash - - openstack role delete - [ ...] - [--domain ] - -.. describe:: - - Role to delete (name or ID) - -.. option:: --domain - - Domain the role belongs to (name or ID). - - .. versionadded:: 3 - -role list ---------- - -List roles - -.. program:: role list -.. code:: bash - - openstack role list - [--domain ] - -.. option:: --domain - - Filter roles by (name or ID) - - .. versionadded:: 3 - -role remove ------------ - -Remove role assignment from domain/project : user/group - -.. program:: role remove -.. code:: bash - - openstack role remove - --system | --domain | --project [--project-domain ] - --user [--user-domain ] | --group [--group-domain ] - --role-domain - --inherited - - -.. option:: --system - - Include - - System or service to remove authorization from. Currently only ``all`` is - supported which encompasses the entire deployment system. - - .. versionadded:: 3 - -.. option:: --domain - - Include (name or ID) - - .. versionadded:: 3 - -.. option:: --project - - Include (name or ID) - -.. option:: --user - - Include (name or ID) - -.. option:: --group - - Include (name or ID) - - .. versionadded:: 3 - -.. option:: --user-domain - - Domain the user belongs to (name or ID). - This can be used in case collisions between user names exist. - - .. versionadded:: 3 - -.. option:: --group-domain - - Domain the group belongs to (name or ID). - This can be used in case collisions between group names exist. - - .. versionadded:: 3 - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - .. versionadded:: 3 - -.. option:: --inherited - - Specifies if the role grant is inheritable to the sub projects. - - .. versionadded:: 3 - -.. option:: --role-domain - - Domain the role belongs to (name or ID). - This must be specified when the name of a domain specific role is used. - - .. versionadded:: 3 - -.. describe:: - - Role to remove (name or ID) - -role set --------- - -Set role properties - -.. versionadded:: 3 - -.. program:: role set -.. code:: bash - - openstack role set - [--name ] - [--domain ] - [--immutable | --no-immutable] - - -.. option:: --name - - Set role name - -.. option:: --domain - - Domain the role belongs to (name or ID). - - .. versionadded:: 3 - -.. describe:: - - Role to modify (name or ID) - -.. option:: --immutable - - Make role immutable. An immutable role may not be deleted or modified - except to remove the immutable flag - -.. option:: --no-immutable - - Make role mutable (default) - -role show ---------- - -Display role details - -.. program:: role show -.. code:: bash - - openstack role show - [--domain ] - - -.. option:: --domain - - Domain the role belongs to (name or ID). - - .. versionadded:: 3 - -.. describe:: - - Role to display (name or ID) diff --git a/doc/source/cli/command-objects/router-ndp-proxy.rst b/doc/source/cli/command-objects/router-ndp-proxy.rst new file mode 100644 index 0000000000..26c7172623 --- /dev/null +++ b/doc/source/cli/command-objects/router-ndp-proxy.rst @@ -0,0 +1,12 @@ +================= +router ndp proxy +================= + +An **NDP proxy** publishes a internal IPv6 address to public network. With the +**NDP proxy**, the IPv6 address can be accessed from external. It is similar +to **Floating IP** of IPv4 in functionality. + +Network v2 + +.. autoprogram-cliff:: openstack.network.v2 + :command: router ndp proxy * diff --git a/doc/source/cli/command-objects/server-migration.rst b/doc/source/cli/command-objects/server-migration.rst new file mode 100644 index 0000000000..9db58e3e46 --- /dev/null +++ b/doc/source/cli/command-objects/server-migration.rst @@ -0,0 +1,12 @@ +================ +server migration +================ + +A server migration provides a way to move an instance from one +host to another. There are four types of migration operation +supported: live migration, cold migration, resize and evacuation. + +Compute v2 + +.. autoprogram-cliff:: openstack.compute.v2 + :command: server migration * diff --git a/doc/source/cli/command-objects/server.rst b/doc/source/cli/command-objects/server.rst index 89eb4e3710..cf7df1dae3 100644 --- a/doc/source/cli/command-objects/server.rst +++ b/doc/source/cli/command-objects/server.rst @@ -10,6 +10,9 @@ Compute v2 .. autoprogram-cliff:: openstack.compute.v2 :command: server create +.. autoprogram-cliff:: openstack.compute.v2 + :command: server evacuate + .. autoprogram-cliff:: openstack.compute.v2 :command: server delete diff --git a/doc/source/cli/command-objects/service-provider.rst b/doc/source/cli/command-objects/service-provider.rst index b7a282cba5..47a503278c 100644 --- a/doc/source/cli/command-objects/service-provider.rst +++ b/doc/source/cli/command-objects/service-provider.rst @@ -7,16 +7,4 @@ extension. It is used by to register another OpenStack Identity service. Applicable to Identity v3. .. autoprogram-cliff:: openstack.identity.v3 - :command: service provider create - -.. autoprogram-cliff:: openstack.identity.v3 - :command: service provider delete - -.. autoprogram-cliff:: openstack.identity.v3 - :command: service provider list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: service provider set - -.. autoprogram-cliff:: openstack.identity.v3 - :command: service provider show + :command: service provider * diff --git a/doc/source/cli/command-objects/service-v2.rst b/doc/source/cli/command-objects/service-v2.rst new file mode 100644 index 0000000000..6b22b7eeb6 --- /dev/null +++ b/doc/source/cli/command-objects/service-v2.rst @@ -0,0 +1,6 @@ +===================== +service (Identity v2) +===================== + +.. autoprogram-cliff:: openstack.identity.v2 + :command: service * diff --git a/doc/source/cli/command-objects/service-v3.rst b/doc/source/cli/command-objects/service-v3.rst new file mode 100644 index 0000000000..d4b702067b --- /dev/null +++ b/doc/source/cli/command-objects/service-v3.rst @@ -0,0 +1,18 @@ +===================== +service (Identity v3) +===================== + +.. autoprogram-cliff:: openstack.identity.v3 + :command: service create + +.. autoprogram-cliff:: openstack.identity.v3 + :command: service delete + +.. autoprogram-cliff:: openstack.identity.v3 + :command: service list + +.. autoprogram-cliff:: openstack.identity.v3 + :command: service show + +.. autoprogram-cliff:: openstack.identity.v3 + :command: service set diff --git a/doc/source/cli/command-objects/service.rst b/doc/source/cli/command-objects/service.rst deleted file mode 100644 index a69c69504b..0000000000 --- a/doc/source/cli/command-objects/service.rst +++ /dev/null @@ -1,143 +0,0 @@ -======= -service -======= - -Identity v2, v3 - -service create --------------- - -Create new service - -.. program:: service create -.. code-block:: bash - - openstack service create - [--name ] - [--description ] - [--enable | --disable] - - -.. option:: --name - - New service name - -.. option:: --description - - New service description - -.. option:: --enable - - Enable service (default) - - *Identity version 3 only* - -.. option:: --disable - - Disable service - - *Identity version 3 only* - -.. _service_create-type: -.. describe:: - - New service type (compute, image, identity, volume, etc) - -service delete --------------- - -Delete service(s) - -.. program:: service delete -.. code-block:: bash - - openstack service delete - [ ...] - -.. _service_delete-service: -.. describe:: - - Service(s) to delete (type, name or ID) - -service list ------------- - -List services - -.. program:: service list -.. code-block:: bash - - openstack service list - [--long] - -.. option:: --long - - List additional fields in output - -Returns service fields ID, Name and Type. :option:`--long` adds Description -and Enabled (*Identity version 3 only*) to the output. - -service set ------------ - -Set service properties - -* Identity version 3 only* - -.. program:: service set -.. code-block:: bash - - openstack service set - [--type ] - [--name ] - [--description ] - [--enable | --disable] - - -.. option:: --type - - New service type (compute, image, identity, volume, etc) - -.. option:: --name - - New service name - -.. option:: --description - - New service description - -.. option:: --enable - - Enable service - -.. option:: --disable - - Disable service - -.. _service_set-service: -.. describe:: - - Service to modify (type, name or ID) - -service show ------------- - -Display service details - -.. program:: service show -.. code-block:: bash - - openstack service show - [--catalog] - - -.. option:: --catalog - - Show service catalog information - - *Identity version 2 only* - -.. _service_show-service: -.. describe:: - - Service to display (type, name or ID) diff --git a/doc/source/cli/command-objects/token-v2.rst b/doc/source/cli/command-objects/token-v2.rst new file mode 100644 index 0000000000..c66302bfb2 --- /dev/null +++ b/doc/source/cli/command-objects/token-v2.rst @@ -0,0 +1,7 @@ +=================== +token (Identity v2) +=================== + + +.. autoprogram-cliff:: openstack.identity.v2 + :command: token * diff --git a/doc/source/cli/command-objects/token-v3.rst b/doc/source/cli/command-objects/token-v3.rst new file mode 100644 index 0000000000..6b2d87a61d --- /dev/null +++ b/doc/source/cli/command-objects/token-v3.rst @@ -0,0 +1,7 @@ +=================== +token (Identity v3) +=================== + + +.. autoprogram-cliff:: openstack.identity.v3 + :command: token * diff --git a/doc/source/cli/command-objects/token.rst b/doc/source/cli/command-objects/token.rst deleted file mode 100644 index b4b14cd9fd..0000000000 --- a/doc/source/cli/command-objects/token.rst +++ /dev/null @@ -1,30 +0,0 @@ -===== -token -===== - -Identity v2, v3 - -token issue ------------ - -Issue new token - -.. program:: token issue -.. code:: bash - - openstack token issue - -token revoke ------------- - -Revoke existing token - -.. program:: token revoke -.. code:: bash - - openstack token revoke - - -.. describe:: - - Token to be deleted diff --git a/doc/source/cli/command-objects/trust.rst b/doc/source/cli/command-objects/trust.rst index febef1c5b6..738c640c48 100644 --- a/doc/source/cli/command-objects/trust.rst +++ b/doc/source/cli/command-objects/trust.rst @@ -6,13 +6,4 @@ A **trust** provide project-specific role delegation between users, with optional impersonation. Requires the OS-TRUST extension. Applies to Identity v3. .. autoprogram-cliff:: openstack.identity.v3 - :command: trust create - -.. autoprogram-cliff:: openstack.identity.v3 - :command: trust delete - -.. autoprogram-cliff:: openstack.identity.v3 - :command: trust list - -.. autoprogram-cliff:: openstack.identity.v3 - :command: trust show + :command: trust * diff --git a/doc/source/cli/command-objects/user-v2.rst b/doc/source/cli/command-objects/user-v2.rst new file mode 100644 index 0000000000..966bd37620 --- /dev/null +++ b/doc/source/cli/command-objects/user-v2.rst @@ -0,0 +1,7 @@ +================== +user (Identity v2) +================== + + +.. autoprogram-cliff:: openstack.identity.v2 + :command: user * diff --git a/doc/source/cli/command-objects/user-v3.rst b/doc/source/cli/command-objects/user-v3.rst new file mode 100644 index 0000000000..c11ff9a645 --- /dev/null +++ b/doc/source/cli/command-objects/user-v3.rst @@ -0,0 +1,7 @@ +================== +user (Identity v3) +================== + + +.. autoprogram-cliff:: openstack.identity.v3 + :command: user * diff --git a/doc/source/cli/command-objects/user.rst b/doc/source/cli/command-objects/user.rst deleted file mode 100644 index d0fc3f8734..0000000000 --- a/doc/source/cli/command-objects/user.rst +++ /dev/null @@ -1,349 +0,0 @@ -==== -user -==== - -Identity v2, v3 - -user create ------------ - -Create new user - -.. program:: user create -.. code:: bash - - openstack user create - [--domain ] - [--project [--project-domain ]] - [--password ] - [--password-prompt] - [--email ] - [--description ] - [--multi-factor-auth-rule ] - [--ignore-lockout-failure-attempts| --no-ignore-lockout-failure-attempts] - [--ignore-password-expiry| --no-ignore-password-expiry] - [--ignore-change-password-upon-first-use| --no-ignore-change-password-upon-first-use] - [--enable-lock-password| --disable-lock-password] - [--enable-multi-factor-auth| --disable-multi-factor-auth] - [--enable | --disable] - [--or-show] - - -.. option:: --domain - - Default domain (name or ID) - - .. versionadded:: 3 - -.. option:: --project - - Default project (name or ID) - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --password - - Set user password - -.. option:: --password-prompt - - Prompt interactively for password - -.. option:: --email - - Set user email address - -.. option:: --description - - User description - - .. versionadded:: 3 - -.. option:: --ignore-lockout-failure-attempts - - Opt into ignoring the number of times a user has authenticated and - locking out the user as a result - -.. option:: --no-ignore-lockout-failure-attempts - - Opt out of ignoring the number of times a user has authenticated - and locking out the user as a result - -.. option:: --ignore-change-password-upon-first-use - - Control if a user should be forced to change their password immediately - after they log into keystone for the first time. Opt into ignoring - the user to change their password during first time login in keystone. - -.. option:: --no-ignore-change-password-upon-first-use - - Control if a user should be forced to change their password immediately - after they log into keystone for the first time. Opt out of ignoring - the user to change their password during first time login in keystone. - -.. option:: --ignore-password-expiry - - Opt into allowing user to continue using passwords that may be - expired - -.. option:: --no-ignore-password-expiry - - Opt out of allowing user to continue using passwords that may be - expired - -.. option:: --enable-lock-password - - Disables the ability for a user to change its password through - self-service APIs - -.. option:: --disable-lock-password - - Enables the ability for a user to change its password through - self-service APIs - -.. option:: --enable-multi-factor-auth - - Enables the MFA (Multi Factor Auth) - -.. option:: --disable-multi-factor-auth - - Disables the MFA (Multi Factor Auth) - -.. option:: --multi-factor-auth-rule - - Set multi-factor auth rules. For example, to set a rule requiring the - "password" and "totp" auth methods to be provided, - use: "--multi-factor-auth-rule password,totp". - May be provided multiple times to set different rule combinations. - -.. 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:: - - New user name - -user delete ------------ - -Delete user(s) - -.. program:: user delete -.. code:: bash - - openstack user delete - [--domain ] - [ ...] - -.. option:: --domain - - Domain owning :ref:`\ ` (name or ID) - - .. versionadded:: 3 - -.. _user_delete-user: -.. describe:: - - User(s) to delete (name or ID) - -user list ---------- - -List users - -.. program:: user list -.. code:: bash - - openstack user list - [--project ] - [--domain ] - [--group | --project ] - [--long] - -.. option:: --project - - Filter users by `` (name or ID) - -.. option:: --domain - - Filter users by `` (name or ID) - - *Identity version 3 only* - -.. option:: --group - - Filter users by `` membership (name or ID) - - *Identity version 3 only* - -.. option:: --long - - List additional fields in output - -user set --------- - -Set user properties - -.. program:: user set -.. code:: bash - - openstack user set - [--name ] - [--project [--project-domain ]] - [--password ] - [--password-prompt] - [--email ] - [--description ] - [--multi-factor-auth-rule ] - [--ignore-lockout-failure-attempts| --no-ignore-lockout-failure-attempts] - [--ignore-password-expiry| --no-ignore-password-expiry] - [--ignore-change-password-upon-first-use| --no-ignore-change-password-upon-first-use] - [--enable-lock-password| --disable-lock-password] - [--enable-multi-factor-auth| --disable-multi-factor-auth] - [--enable|--disable] - - -.. option:: --name - - Set user name - -.. option:: --domain - - Domain the user belongs to (name or ID). - This can be used in case collisions between user names exist. - - .. versionadded:: 3 - -.. option:: --project - - Set default project (name or ID) - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --password - - Set user password - -.. option:: --password-prompt - - Prompt interactively for password - -.. option:: --email - - Set user email address - -.. option:: --description - - Set user description - - .. versionadded:: 3 - -.. option:: --ignore-lockout-failure-attempts - - Opt into ignoring the number of times a user has authenticated and - locking out the user as a result - -.. option:: --no-ignore-lockout-failure-attempts - - Opt out of ignoring the number of times a user has authenticated - and locking out the user as a result - -.. option:: --ignore-change-password-upon-first-use - - Control if a user should be forced to change their password immediately - after they log into keystone for the first time. Opt into ignoring - the user to change their password during first time login in keystone. - -.. option:: --no-ignore-change-password-upon-first-use - - Control if a user should be forced to change their password immediately - after they log into keystone for the first time. Opt out of ignoring - the user to change their password during first time login in keystone. - -.. option:: --ignore-password-expiry - - Opt into allowing user to continue using passwords that may be - expired - -.. option:: --no-ignore-password-expiry - - Opt out of allowing user to continue using passwords that may be - expired - -.. option:: --enable-lock-password - - Disables the ability for a user to change its password through - self-service APIs - -.. option:: --disable-lock-password - - Enables the ability for a user to change its password through - self-service APIs - -.. option:: --enable-multi-factor-auth - - Enables the MFA (Multi Factor Auth) - -.. option:: --disable-multi-factor-auth - - Disables the MFA (Multi Factor Auth) - -.. option:: --multi-factor-auth-rule - - Set multi-factor auth rules. For example, to set a rule requiring the - "password" and "totp" auth methods to be provided, - use: "--multi-factor-auth-rule password,totp". - May be provided multiple times to set different rule combinations. - -.. option:: --enable - - Enable user (default) - -.. option:: --disable - - Disable user - -.. describe:: - - User to modify (name or ID) - -user show ---------- - -Display user details - -.. program:: user show -.. code:: bash - - openstack user show - [--domain ] - - -.. option:: --domain - - Domain owning :ref:`\ ` (name or ID) - - .. versionadded:: 3 - -.. _user_show-user: -.. describe:: - - User to display (name or ID) diff --git a/doc/source/cli/command-objects/volume-attachment.rst b/doc/source/cli/command-objects/volume-attachment.rst new file mode 100644 index 0000000000..5622444638 --- /dev/null +++ b/doc/source/cli/command-objects/volume-attachment.rst @@ -0,0 +1,8 @@ +================= +volume attachment +================= + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume attachment * diff --git a/doc/source/cli/command-objects/volume-backend.rst b/doc/source/cli/command-objects/volume-backend.rst index 0285d61b84..f47efd1976 100644 --- a/doc/source/cli/command-objects/volume-backend.rst +++ b/doc/source/cli/command-objects/volume-backend.rst @@ -2,7 +2,7 @@ volume backend ============== -Volume v2 +Block Storage v2, v3 -.. autoprogram-cliff:: openstack.volume.v2 +.. autoprogram-cliff:: openstack.volume.v3 :command: volume backend * diff --git a/doc/source/cli/command-objects/volume-backup.rst b/doc/source/cli/command-objects/volume-backup.rst index 632e215e2b..7b036ca0ce 100644 --- a/doc/source/cli/command-objects/volume-backup.rst +++ b/doc/source/cli/command-objects/volume-backup.rst @@ -2,8 +2,8 @@ volume backup ============= -Volume v1, v2 +Block Storage v2, v3 -.. autoprogram-cliff:: openstack.volume.v2 +.. autoprogram-cliff:: openstack.volume.v3 :command: volume backup * diff --git a/doc/source/cli/command-objects/volume-group-snapshot.rst b/doc/source/cli/command-objects/volume-group-snapshot.rst new file mode 100644 index 0000000000..02a33c1e3c --- /dev/null +++ b/doc/source/cli/command-objects/volume-group-snapshot.rst @@ -0,0 +1,8 @@ +===================== +volume group snapshot +===================== + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume group snapshot * diff --git a/doc/source/cli/command-objects/volume-group-type.rst b/doc/source/cli/command-objects/volume-group-type.rst new file mode 100644 index 0000000000..edb88dc7b0 --- /dev/null +++ b/doc/source/cli/command-objects/volume-group-type.rst @@ -0,0 +1,8 @@ +================= +volume group type +================= + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume group type * diff --git a/doc/source/cli/command-objects/volume-group.rst b/doc/source/cli/command-objects/volume-group.rst new file mode 100644 index 0000000000..50bc830f90 --- /dev/null +++ b/doc/source/cli/command-objects/volume-group.rst @@ -0,0 +1,23 @@ +============ +volume group +============ + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume group create + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume group delete + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume group list + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume group failover + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume group set + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume group show diff --git a/doc/source/cli/command-objects/volume-host.rst b/doc/source/cli/command-objects/volume-host.rst index 1e513cb716..acd0866356 100644 --- a/doc/source/cli/command-objects/volume-host.rst +++ b/doc/source/cli/command-objects/volume-host.rst @@ -2,51 +2,7 @@ volume host =========== -Volume v2 +Block Storage v2, v3 -volume host failover --------------------- - -Failover volume host to different backend - -.. program:: volume host failover -.. code:: bash - - openstack volume host failover - --volume-backend - - -.. option:: --volume-backend - - The ID of the volume backend replication - target where the host will failover to (required) - -.. _volume_host_failover-host-name: -.. describe:: - - Name of volume host - -volume host set ---------------- - -Set volume host properties - -.. program:: volume host set -.. code:: bash - - openstack volume host set - [--enable | --disable] - - -.. option:: --enable - - Thaw and enable the specified volume host. - -.. option:: --disable - - Freeze and disable the specified volume host - -.. _volume_host_set-host-name: -.. describe:: - - Name of volume host +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume host * diff --git a/doc/source/cli/command-objects/volume-message.rst b/doc/source/cli/command-objects/volume-message.rst new file mode 100644 index 0000000000..5b1a8acef2 --- /dev/null +++ b/doc/source/cli/command-objects/volume-message.rst @@ -0,0 +1,8 @@ +============== +volume message +============== + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume message * diff --git a/doc/source/cli/command-objects/volume-qos.rst b/doc/source/cli/command-objects/volume-qos.rst index 8fdbc12284..82c4d540c7 100644 --- a/doc/source/cli/command-objects/volume-qos.rst +++ b/doc/source/cli/command-objects/volume-qos.rst @@ -2,165 +2,7 @@ volume qos ========== -Block Storage v1, v2 +Block Storage v2, v3 -volume qos associate --------------------- - -Associate a QoS specification to a volume type - -.. program:: volume qos associate -.. code:: bash - - openstack volume qos associate - - - -.. _volume_qos_associate: -.. describe:: - - QoS specification to modify (name or ID) - -.. describe:: - - Volume type to associate the QoS (name or ID) - -volume qos create ------------------ - -Create new QoS Specification - -.. program:: volume qos create -.. code:: bash - - openstack volume qos create - [--consumer ] - [--property [...] ] - - -.. option:: --consumer - - Consumer of the QoS. Valid consumers: 'front-end', 'back-end', 'both' (defaults to 'both') - -.. option:: --property - - Set a property on this QoS specification (repeat option to set multiple properties) - -.. _volume_qos_create-name: -.. describe:: - - New QoS specification name - -volume qos delete ------------------ - -Delete QoS specification - -.. program:: volume qos delete -.. code:: bash - - openstack volume qos delete - [--force] - [ ...] - -.. option:: --force - - Allow to delete in-use QoS specification(s) - -.. _volume_qos_delete-qos-spec: -.. describe:: - - QoS specification(s) to delete (name or ID) - -volume qos disassociate ------------------------ - -Disassociate a QoS specification from a volume type - -.. program:: volume qos disassociate -.. code:: bash - - openstack volume qos disassociate - --volume-type | --all - - -.. option:: --volume-type - - Volume type to disassociate the QoS from (name or ID) - -.. option:: --all - - Disassociate the QoS from every volume type - -.. _volume_qos_disassociate-qos-spec: -.. describe:: - - QoS specification to modify (name or ID) - -volume qos list ---------------- - -List QoS specifications - -.. program:: volume qos list -.. code:: bash - - openstack volume qos list - -volume qos set --------------- - -Set QoS specification properties - -.. program:: volume qos set -.. code:: bash - - openstack volume qos set - [--property [...] ] - - -.. option:: --property - - Property to add or modify for this QoS specification (repeat option to set multiple properties) - -.. _volume_qos_set-qos-spec: -.. describe:: - - QoS specification to modify (name or ID) - -volume qos show ---------------- - -Display QoS specification details - -.. program:: volume qos show -.. code:: bash - - openstack volume qos show - - -.. _volume_qos_show-qos-spec: -.. describe:: - - QoS specification to display (name or ID) - -volume qos unset ----------------- - -Unset QoS specification properties - -.. program:: volume qos unset -.. code:: bash - - openstack volume qos unset - [--property [...] ] - - -.. option:: --property - - Property to remove from QoS specification (repeat option to remove multiple properties) - -.. _volume_qos_unset-qos-spec: -.. describe:: - - QoS specification to modify (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume qos * diff --git a/doc/source/cli/command-objects/volume-service.rst b/doc/source/cli/command-objects/volume-service.rst index 2ad23240d3..43d455ff5a 100644 --- a/doc/source/cli/command-objects/volume-service.rst +++ b/doc/source/cli/command-objects/volume-service.rst @@ -2,65 +2,7 @@ volume service ============== -Volume v1, v2 +Block Storage v2, v3 -volume service list -------------------- - -List volume service - -.. program:: volume service list -.. code:: bash - - openstack volume service list - [--host ] - [--service ] - [--long] - -.. option:: --host - - List services on specified host (name only) - -.. option:: --service - - List only specified service (name only) - -.. option:: --long - - List additional fields in output - -volume service set ------------------- - -Set volume service properties - -.. program:: volume service set -.. code:: bash - - openstack volume service set - [--enable | --disable] - [--disable-reason ] - - - -.. option:: --enable - - Enable volume service - -.. option:: --disable - - Disable volume service - -.. option:: --disable-reason - - Reason for disabling the service - (should be used with :option:`--disable` option) - -.. _volume_service_set-host: -.. describe:: - - Name of host - -.. describe:: - - Name of service (Binary name) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume service * diff --git a/doc/source/cli/command-objects/volume-snapshot.rst b/doc/source/cli/command-objects/volume-snapshot.rst index 21a8937018..e63e436dff 100644 --- a/doc/source/cli/command-objects/volume-snapshot.rst +++ b/doc/source/cli/command-objects/volume-snapshot.rst @@ -2,222 +2,7 @@ volume snapshot =============== -Block Storage v1, v2 +Block Storage v2, v3 -volume snapshot create ----------------------- - -Create new volume snapshot - -.. program:: volume snapshot create -.. code:: bash - - openstack volume snapshot create - [--volume ] - [--description ] - [--force] - [--property [...] ] - [--remote-source [...]] - - -.. option:: --volume - - Volume to snapshot (name or ID) (default is ) - -.. option:: --description - - Description of the snapshot - -.. option:: --force - - Create a snapshot attached to an instance. Default is False - -.. option:: --property - - Set a property to this snapshot (repeat option to set multiple properties) - - *Volume version 2 only* - -.. option:: --remote-source - - The attribute(s) of the exsiting remote volume snapshot - (admin required) (repeat option to specify multiple attributes) - e.g.: '--remote-source source-name=test_name --remote-source source-id=test_id' - - *Volume version 2 only* - -.. _volume_snapshot_create-snapshot-name: -.. describe:: - - Name of the new snapshot - -volume snapshot delete ----------------------- - -Delete volume snapshot(s) - -.. program:: volume snapshot delete -.. code:: bash - - openstack volume snapshot delete - [--force] - [ ...] - -.. option:: --force - - Attempt forced removal of snapshot(s), regardless of state (defaults to False) - -.. _volume_snapshot_delete-snapshot: -.. describe:: - - Snapshot(s) to delete (name or ID) - -volume snapshot list --------------------- - -List volume snapshots - -.. program:: volume snapshot list -.. code:: bash - - openstack volume snapshot list - [--all-projects] - [--project [--project-domain ]] - [--long] - [--limit ] - [--marker ] - [--name ] - [--status ] - [--volume ] - -.. option:: --all-projects - - Include all projects (admin only) - -.. option:: --project - - Filter results by project (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - - This can be used in case collisions between project names exist. - - *Volume version 2 only* - -.. option:: --long - - List additional fields in output - -.. option:: --status - - Filters results by a status. - ('available', 'error', 'creating', 'deleting' or 'error_deleting') - -.. option:: --name - - Filters results by a name. - -.. option:: --volume - - Filters results by a volume (name or ID). - -.. option:: --limit - - Maximum number of snapshots to display - - *Volume version 2 only* - -.. option:: --marker - - The last snapshot ID of the previous page - - *Volume version 2 only* - -volume snapshot set -------------------- - -Set volume snapshot properties - -.. program:: volume snapshot set -.. code:: bash - - openstack volume snapshot set - [--name ] - [--description ] - [--no-property] - [--property [...] ] - [--state ] - - -.. option:: --name - - New snapshot name - -.. option:: --description - - New snapshot description - -.. option:: --no-property - - Remove all properties from :ref:`\ ` - (specify both :option:`--no-property` and :option:`--property` to - remove the current properties before setting new properties.) - -.. option:: --property - - Property to add or modify for this snapshot (repeat option to set multiple properties) - -.. option:: --state - - New snapshot state. - ("available", "error", "creating", "deleting", or "error_deleting") (admin only) - (This option simply changes the state of the snapshot in the database with - no regard to actual status, exercise caution when using) - - *Volume version 2 only* - -.. _volume_snapshot_set-snapshot: -.. describe:: - - Snapshot to modify (name or ID) - -volume snapshot show --------------------- - -Display volume snapshot details - -.. program:: volume snapshot show -.. code:: bash - - openstack volume snapshot show - - -.. _volume_snapshot_show-snapshot: -.. describe:: - - Snapshot to display (name or ID) - -volume snapshot unset ---------------------- - -Unset volume snapshot properties - -.. program:: volume snapshot unset -.. code:: bash - - openstack volume snapshot unset - [--property ] - - -.. option:: --property - - Property to remove from snapshot (repeat option to remove multiple properties) - -.. _volume_snapshot_unset-snapshot: -.. describe:: - - Snapshot to modify (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume snapshot * diff --git a/doc/source/cli/command-objects/volume-transfer-request.rst b/doc/source/cli/command-objects/volume-transfer-request.rst index 23cd3d3e1b..97dac02a0a 100644 --- a/doc/source/cli/command-objects/volume-transfer-request.rst +++ b/doc/source/cli/command-objects/volume-transfer-request.rst @@ -2,95 +2,7 @@ volume transfer request ======================= -Block Storage v1, v2 +Block Storage v2, v3 -volume transfer request accept ------------------------------- - -Accept volume transfer request - -.. program:: volume transfer request accept -.. code:: bash - - openstack volume transfer request accept - --auth-key - - -.. option:: --auth-key - - Volume transfer request authentication key - -.. _volume_transfer_request_accept: -.. describe:: - - Volume transfer request to accept (ID only) - - Non-admin users are only able to specify the transfer request by ID. - -volume transfer request create ------------------------------- - -Create volume transfer request - -.. program:: volume transfer request create -.. code:: bash - - openstack volume transfer request create - [--name ] - - -.. option:: --name - - New transfer request name (default to None) - -.. _volume_transfer_request_create-volume: -.. describe:: - - Volume to transfer (name or ID) - -volume transfer request delete ------------------------------- - -Delete volume transfer request(s) - -.. program:: volume transfer request delete -.. code:: bash - - openstack volume transfer request delete - [ ...] - -.. _volume_transfer_request_delete-transfer-request: -.. describe:: - - Volume transfer request(s) to delete (name or ID) - -volume transfer request list ----------------------------- - -Lists all volume transfer requests - -.. program:: volume transfer request list -.. code:: bash - - openstack volume transfer request list - --all-projects - -.. option:: --all-projects - - Include all projects (admin only) - -volume transfer request show ----------------------------- - -Show volume transfer request details - -.. program:: volume transfer request show -.. code:: bash - - openstack volume transfer request show - - -.. _volume_transfer_request_show-transfer-request: -.. describe:: - - Volume transfer request to display (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume transfer request * diff --git a/doc/source/cli/command-objects/volume-type.rst b/doc/source/cli/command-objects/volume-type.rst index 2b5aff9940..003ee67306 100644 --- a/doc/source/cli/command-objects/volume-type.rst +++ b/doc/source/cli/command-objects/volume-type.rst @@ -2,290 +2,7 @@ volume type =========== -Block Storage v1, v2 +Block Storage v2, v3 -volume type create ------------------- - -Create new volume type - -.. program:: volume type create -.. code:: bash - - openstack volume type create - [--description ] - [--public | --private] - [--property [...] ] - [--project ] - [--project-domain ] - [--encryption-provider ] - [--encryption-cipher ] - [--encryption-key-size ] - [--encryption-control-location ] - - -.. option:: --description - - Volume type description - - .. versionadded:: 2 - -.. option:: --public - - Volume type is accessible to the public - - .. versionadded:: 2 - -.. option:: --private - - Volume type is not accessible to the public - - .. versionadded:: 2 - -.. option:: --property - - Set a property on this volume type (repeat option to set multiple properties) - -.. option:: --project - - Allow to access private type (name or ID) - (Must be used with :option:`--private` option) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Volume version 2 only* - -.. option:: --encryption-provider - - Set the encryption provider format for this volume type - (e.g "luks" or "plain") (admin only) - - This option is required when setting encryption type of a volume. - Consider using other encryption options such as: :option:`--encryption-cipher`, - :option:`--encryption-key-size` and :option:`--encryption-control-location` - -.. option:: --encryption-cipher - - Set the encryption algorithm or mode for this volume type - (e.g "aes-xts-plain64") (admin only) - -.. option:: --encryption-key-size - - Set the size of the encryption key of this volume type - (e.g "128" or "256") (admin only) - -.. option:: --encryption-control-location - - Set the notional service where the encryption is performed - ("front-end" or "back-end") (admin only) - - The default value for this option is "front-end" when setting encryption type of - a volume. Consider using other encryption options such as: :option:`--encryption-cipher`, - :option:`--encryption-key-size` and :option:`--encryption-provider` - -.. _volume_type_create-name: -.. describe:: - - Volume type name - -volume type delete ------------------- - -Delete volume type(s) - -.. program:: volume type delete -.. code:: bash - - openstack volume type delete - [ ...] - -.. _volume_type_delete-volume-type: -.. describe:: - - Volume type(s) to delete (name or ID) - -volume type list ----------------- - -List volume types - -.. program:: volume type list -.. code:: bash - - openstack volume type list - [--long] - [--default | --public | --private] - [--encryption-type] - -.. option:: --long - - List additional fields in output - -.. option:: --public - - List only public types - - *Volume version 2 only* - -.. option:: --private - - List only private types (admin only) - - *Volume version 2 only* - -.. option:: --default - - List the default volume type - - *Volume version 2 only* - -.. option:: --encryption-type - - Display encryption information for each volume type (admin only) - -volume type set ---------------- - -Set volume type properties - -.. program:: volume type set -.. code:: bash - - openstack volume type set - [--name ] - [--description ] - [--property [...] ] - [--project ] - [--project-domain ] - [--encryption-provider ] - [--encryption-cipher ] - [--encryption-key-size ] - [--encryption-control-location ] - - -.. option:: --name - - Set volume type name - - .. versionadded:: 2 - -.. option:: --description - - Set volume type description - - .. versionadded:: 2 - -.. option:: --project - - Set volume type access to project (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --property - - Set a property on this volume type (repeat option to set multiple properties) - -.. option:: --encryption-provider - - Set the encryption provider format for this volume type - (e.g "luks" or "plain") (admin only) - - This option is required when setting encryption type of a volume for the first time. - Consider using other encryption options such as: :option:`--encryption-cipher`, - :option:`--encryption-key-size` and :option:`--encryption-control-location` - -.. option:: --encryption-cipher - - Set the encryption algorithm or mode for this volume type - (e.g "aes-xts-plain64") (admin only) - -.. option:: --encryption-key-size - - Set the size of the encryption key of this volume type - (e.g "128" or "256") (admin only) - -.. option:: --encryption-control-location - - Set the notional service where the encryption is performed - ("front-end" or "back-end") (admin only) - - The default value for this option is "front-end" when setting encryption type of - a volume for the first time. Consider using other encryption options such as: - :option:`--encryption-cipher`, :option:`--encryption-key-size` and :option:`--encryption-provider` - -.. _volume_type_set-volume-type: -.. describe:: - - Volume type to modify (name or ID) - -volume type show ----------------- - -Display volume type details - -.. program:: volume type show -.. code:: bash - - openstack volume type show - [--encryption-type] - - -.. option:: --encryption-type - - Display encryption information of this volume type (admin only) - -.. _volume_type_show-volume-type: -.. describe:: - - Volume type to display (name or ID) - -volume type unset ------------------ - -Unset volume type properties - -.. program:: volume type unset -.. code:: bash - - openstack volume type unset - [--property [...] ] - [--project ] - [--project-domain ] - [--encryption-type] - - -.. option:: --property - - Property to remove from volume type (repeat option to remove multiple properties) - -.. option:: --project - - Removes volume type access from project (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Volume version 2 only* - -.. option:: --encryption-type - - Remove the encryption type for this volume type (admin only) - -.. _volume_type_unset-volume-type: -.. describe:: - - Volume type to modify (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume type * diff --git a/doc/source/cli/command-objects/volume.rst b/doc/source/cli/command-objects/volume.rst index fc6188c0a8..337bb9fa2b 100644 --- a/doc/source/cli/command-objects/volume.rst +++ b/doc/source/cli/command-objects/volume.rst @@ -2,408 +2,33 @@ volume ====== -Block Storage v1, v2 +Block Storage v2, v3 -volume create -------------- +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume create -Create new volume +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume delete -.. program:: volume create -.. code:: bash +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume list - openstack volume create - [--size ] - [--type ] - [--image | --snapshot | --source ] - [--description ] - [--user ] - [--project ] - [--availability-zone ] - [--consistency-group ] - [--property [...] ] - [--hint [...] ] - [--multi-attach] - [--bootable | --non-bootable] - [--read-only | --read-write] - +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume migrate -.. option:: --size +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume set - Volume size in GB - (Required unless --snapshot or --source is specified) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume show -.. option:: --type +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume unset - Set the type of volume +Block Storage v3 - Select ```` from the available types as shown - by ``volume type list``. +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume summary -.. option:: --image - - Use ```` as source of volume (name or ID) - - This is commonly used to create a boot volume for a server. - -.. option:: --snapshot - - Use ```` as source of volume (name or ID) - -.. option:: --source - - Volume to clone (name or ID) - -.. option:: --description - - Volume description - -.. option:: --user - - Specify an alternate user (name or ID) - -.. option:: --project - - Specify an alternate project (name or ID) - -.. option:: --availability-zone - - Create volume in ```` - -.. option:: --consistency-group - - Consistency group where the new volume belongs to - -.. option:: --property - - Set a property on this volume (repeat option to set multiple properties) - -.. option:: --hint - - Arbitrary scheduler hint key-value pairs to help boot an instance - (repeat option to set multiple hints) - -.. option:: --multi-attach - - Allow volume to be attached more than once (default to False) - -.. option:: --bootable - - Mark volume as bootable - -.. option:: --non-bootable - - Mark volume as non-bootable (default) - -.. option:: --read-only - - Set volume to read-only access mode - -.. option:: --read-write - - Set volume to read-write access mode (default) - -.. _volume_create-name: -.. describe:: - - Volume name - -The :option:`--project` and :option:`--user` options are typically only -useful for admin users, but may be allowed for other users depending on -the policy of the cloud and the roles granted to the user. - -volume delete -------------- - -Delete volume(s) - -.. program:: volume delete -.. code:: bash - - openstack volume delete - [--force | --purge] - [ ...] - -.. option:: --force - - Attempt forced removal of volume(s), regardless of state (defaults to False) - -.. option:: --purge - - Remove any snapshots along with volume(s) (defaults to False) - - *Volume version 2 only* - -.. _volume_delete-volume: -.. describe:: - - Volume(s) to delete (name or ID) - -volume list ------------ - -List volumes - -.. program:: volume list -.. code:: bash - - openstack volume list - [--project [--project-domain ]] - [--user [--user-domain ]] - [--name ] - [--status ] - [--all-projects] - [--long] - [--limit ] - [--marker ] - -.. option:: --project - - Filter results by ```` (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - - This can be used in case collisions between project names exist. - - *Volume version 2 only* - -.. option:: --user - - Filter results by ```` (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --user-domain - - Domain the user belongs to (name or ID). - - This can be used in case collisions between user names exist. - - *Volume version 2 only* - -.. option:: --name - - Filter results by volume name - -.. option:: --status - - Filter results by status - -.. option:: --all-projects - - Include all projects (admin only) - -.. option:: --long - - List additional fields in output - -.. option:: --limit - - Maximum number of volumes to display - -.. option:: --marker - - The last volume ID of the previous page - - *Volume version 2 only* - -volume migrate --------------- - -Migrate volume to a new host - -.. program:: volume migrate -.. code:: bash - - openstack volume migrate - --host - [--force-host-copy] - [--lock-volume] - - -.. option:: --host - - Destination host (takes the form: host@backend-name#pool) (required) - -.. option:: --force-host-copy - - Enable generic host-based force-migration, - which bypasses driver optimizations - -.. option:: --lock-volume - - If specified, the volume state will be locked and will not allow - a migration to be aborted (possibly by another operation) - - *Volume version 2 only* - -.. _volume_migrate-volume: -.. describe:: - - Volume to migrate (name or ID) - -volume set ----------- - -Set volume properties - -.. program:: volume set -.. code:: bash - - openstack volume set - [--name ] - [--size ] - [--description ] - [--no-property] - [--property [...] ] - [--image-property [...] ] - [--state ] - [--attached | --detached ] - [--type ] - [--retype-policy ] - [--bootable | --non-bootable] - [--read-only | --read-write] - - -.. option:: --name - - New volume name - -.. option:: --size - - Extend volume size in GB - -.. option:: --description - - New volume description - -.. option:: --no-property - - Remove all properties from :ref:`\ ` - (specify both :option:`--no-property` and :option:`--property` to - remove the current properties before setting new properties.) - -.. option:: --property - - Set a property on this volume (repeat option to set multiple properties) - -.. option:: --type - - New volume type (name or ID) - - *Volume version 2 only* - -.. option:: --retype-policy - - Migration policy while re-typing volume - ("never" or "on-demand", default is "never" ) - (available only when :option:`--type` option is specified) - - *Volume version 2 only* - -.. option:: --bootable - - Mark volume as bootable - -.. option:: --non-bootable - - Mark volume as non-bootable - -.. option:: --read-only - - Set volume to read-only access mode - -.. option:: --read-write - - Set volume to read-write access mode - -.. option:: --image-property - - Set an image property on this volume - (repeat option to set multiple image properties) - - Image properties are copied along with the image when creating a volume - using ``--image``. Note that these properties are immutable on the image - itself, this option updates the copy attached to this volume. - - *Volume version 2 only* - -.. option:: --state - - New volume state - ("available", "error", "creating", "deleting", "in-use", - "attaching", "detaching", "error_deleting" or "maintenance") (admin only) - (This option simply changes the state of the volume in the database with - no regard to actual status, exercise caution when using) - - *Volume version 2 only* - -.. option:: --attached - - Set volume attachment status to "attached" (admin only) - (This option simply changes the state of the volume in the database with - no regard to actual status, exercise caution when using) - - *Volume version 2 only* - -.. option:: --deattach - - Set volume attachment status to "detached" (admin only) - (This option simply changes the state of the volume in the database with - no regard to actual status, exercise caution when using) - - *Volume version 2 only* - -.. _volume_set-volume: -.. describe:: - - Volume to modify (name or ID) - -volume show ------------ - -Show volume details - -.. program:: volume show -.. code:: bash - - openstack volume show - - -.. _volume_show-volume: -.. describe:: - - Volume to display (name or ID) - -volume unset ------------- - -Unset volume properties - -.. program:: volume unset -.. code:: bash - - openstack volume unset - [--property ] - [--image-property ] - - -.. option:: --property - - Remove a property from volume (repeat option to remove multiple properties) - -.. option:: --image-property - - Remove an image property from volume - (repeat option to remove multiple image properties) - - *Volume version 2 only* - -.. _volume_unset-volume: -.. describe:: - - Volume to modify (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume revert diff --git a/doc/source/cli/commands.rst b/doc/source/cli/commands.rst index 7c38aa5b5c..653e2a50bd 100644 --- a/doc/source/cli/commands.rst +++ b/doc/source/cli/commands.rst @@ -76,6 +76,8 @@ referring to both Compute and Volume quotas. * ``address scope``: (**Network**) a scope of IPv4 or IPv6 addresses * ``aggregate``: (**Compute**) a grouping of compute hosts * ``availability zone``: (**Compute**, **Network**, **Volume**) a logical partition of hosts or block storage or network services +* ``block storage cluster``: (**Volume**) clusters of volume services +* ``block storage resource filter``: (**Volume**) filters for volume service resources * ``catalog``: (**Identity**) service catalog * ``command``: (**Internal**) installed commands in the OSC process * ``compute agent``: (**Compute**) a cloud Compute agent available to a hypervisor @@ -153,12 +155,17 @@ referring to both Compute and Volume quotas. * ``user``: (**Identity**) individual cloud resources users * ``user role``: (**Identity**) roles assigned to a user * ``volume``: (**Volume**) block volumes +* ``volume attachment``: (**Volume**) an attachment of a volumes to a server * ``volume backup``: (**Volume**) backup for volumes -* ``volume backend capability``: (**volume**) volume backend storage capabilities -* ``volume backend pool``: (**volume**) volume backend storage pools +* ``volume backend capability``: (**Volume**) volume backend storage capabilities +* ``volume backend pool``: (**Volume**) volume backend storage pools * ``volume backup record``: (**Volume**) volume record that can be imported or exported -* ``volume backend``: (**volume**) volume backend storage +* ``volume backend``: (**Volume**) volume backend storage +* ``volume group``: (**Volume**) group of volumes +* ``volume group snapshot``: (**Volume**) a point-in-time copy of a volume group +* ``volume group type``: (**Volume**) deployment-specific types of volumes groups available * ``volume host``: (**Volume**) the physical computer for volumes +* ``volume message``: (**Volume**) volume API internal messages detailing volume failure messages * ``volume qos``: (**Volume**) quality-of-service (QoS) specification for volumes * ``volume snapshot``: (**Volume**) a point-in-time copy of a volume * ``volume type``: (**Volume**) deployment-specific types of volumes available @@ -184,36 +191,14 @@ conflicts when creating new plugins. For a complete list check out * ``appcontainer service``: (**Application Container (Zun)**) * ``baremetal``: (**Baremetal (Ironic)**) * ``claim``: (**Messaging (Zaqar)**) -* ``cluster``: (**Clustering (Senlin)**) -* ``cluster action``: (**Clustering (Senlin)**) -* ``cluster event``: (**Clustering (Senlin)**) -* ``cluster members``: (**Clustering (Senlin)**) -* ``cluster node``: (**Clustering (Senlin)**) -* ``cluster policy``: (**Clustering (Senlin)**) -* ``cluster policy binding``: (**Clustering (Senlin)**) -* ``cluster policy type``: (**Clustering (Senlin)**) -* ``cluster profile``: (**Clustering (Senlin)**) -* ``cluster profile type``: (**Clustering (Senlin)**) -* ``cluster receiver``: (**Clustering (Senlin)**) -* ``congress datasource``: (**Policy (Congress)**) -* ``congress driver``: (**Policy (Congress)**) -* ``congress policy``: (**Policy (Congress)**) -* ``congress policy rule``: (**Policy (Congress)**) +* ``coe ca``: (**Container Orchestration Engine (Magnum)**) +* ``coe cluster``: (**Container Orchestration Engine (Magnum)**) +* ``coe cluster template``: (**Container Orchestration Engine (Magnum)**) +* ``coe quotas``: (**Container Orchestration Engine (Magnum)**) +* ``coe service``: (**Container Orchestration Engine (Magnum)**) +* ``coe stats``: (**Container Orchestration Engine (Magnum)**) * ``cron trigger``: (**Workflow Engine (Mistral)**) * ``database flavor``: (**Database (Trove)**) -* ``dataprocessing data source``: (**Data Processing (Sahara)**) -* ``dataprocessing image``: (**Data Processing (Sahara)**) -* ``dataprocessing image tags``: (**Data Processing (Sahara)**) -* ``dataprocessing plugin``: (**Data Processing (Sahara)**) -* ``data protection plan``: (**Data Protection (Karbor)**) -* ``data protection restore``: (**Data Protection (Karbor)**) -* ``data protection provider``: (**Data Protection (Karbor)**) -* ``data protection protectable``: (**Data Protection (Karbor)**) -* ``data protection protectable instance``: (**Data Protection (Karbor)**) -* ``data protection trigger``: (**Data Protection (Karbor)**) -* ``data protection checkpoint``: (**Data Protection (Karbor)**) -* ``data protection scheduledoperation``: (**Data Protection (Karbor)**) -* ``data protection operationlog``: (**Data Protection (Karbor)**) * ``loadbalancer``: (**Load Balancer (Octavia)**) * ``loadbalancer healthmonitor``: (**Load Balancer (Octavia)**) * ``loadbalancer l7policy``: (**Load Balancer (Octavia)**) @@ -232,13 +217,35 @@ conflicts when creating new plugins. For a complete list check out * ``ptr record``: (**DNS (Designate)**) * ``queue``: (**Messaging (Zaqar)**) * ``recordset``: (**DNS (Designate)**) -* ``rsd``: (**Disaggregated Hardware Resource Management (RSD)**) -* ``search`` (**Search (Searchlight)**) -* ``search facet`` (**Search (Searchlight)**) -* ``search resource type`` (**Search (Searchlight)**) * ``secret``: (**Key Manager (Barbican)**) * ``secret container``: (**Key Manager (Barbican)**) * ``secret order``: (**Key Manager (Barbican)**) +* ``share``: (**Share (Manila)**) +* ``share access``: (**Share (Manila)**) +* ``share availability zone``: (**Share (Manila)**) +* ``share backup``: (**Share (Manila)**) +* ``share export location``: (**Share (Manila)**) +* ``share group``: (**Share (Manila)**) +* ``share group snapshot``: (**Share (Manila)**) +* ``share group type``: (**Share (Manila)**) +* ``share instance``: (**Share (Manila)**) +* ``share limits show``: (**Share (Manila)**) +* ``share lock``: (**Share (Manila)**) +* ``share message``: (**Share (Manila)**) +* ``share migration``: (**Share (Manila)**) +* ``share network``: (**Share (Manila)**) +* ``share quota``: (**Share (Manila)**) +* ``share replica``: (**Share (Manila)**) +* ``share security service``: (**Share (Manila)**) +* ``share server``: (**Share (Manila)**) +* ``share server migration``: (**Share (Manila)**) +* ``share service``: (**Share (Manila)**) +* ``share snapshot``: (**Share (Manila)**) +* ``share snapshot access``: (**Share (Manila)**) +* ``share snapshot export location``: (**Share (Manila)**) +* ``share snapshot instance``: (**Share (Manila)**) +* ``share transfer``: (**Share (Manila)**) +* ``share type``: (**Share (Manila)**) * ``software config``: (**Orchestration (Heat)**) * ``software deployment``: (**Orchestration (Heat)**) * ``stack event``: (**Orchestration (Heat)**) @@ -282,7 +289,7 @@ Those actions with an opposite action are noted in parens if applicable. live server migration if possible * ``pause`` (``unpause``) - stop one or more servers and leave them in memory * ``query`` - Query resources by Elasticsearch query string or json format DSL. -* ``purge`` - clean resources associated with a specific project +* ``cleanup`` - flexible clean resources associated with a specific project * ``reboot`` - forcibly reboot a server * ``rebuild`` - rebuild a server using (most of) the same arguments as in the original create * ``remove`` (``add``) - remove an object from a group of objects @@ -310,7 +317,7 @@ Implementation -------------- The command structure is designed to support seamless addition of plugin -command modules via ``setuptools`` entry points. The plugin commands must +command modules via Python's *entry points* mechanism. The plugin commands must be subclasses of Cliff's ``command.Command`` object. See :ref:`plugins` for more information. diff --git a/doc/source/cli/data/cinder.csv b/doc/source/cli/data/cinder.csv index 22fb84cffa..1b199400b4 100644 --- a/doc/source/cli/data/cinder.csv +++ b/doc/source/cli/data/cinder.csv @@ -1,104 +1,146 @@ -absolute-limits,limits show --absolute,Lists absolute limits for a user. -availability-zone-list,availability zone list --volume,Lists all availability zones. -backup-create,volume backup create,Creates a volume backup. -backup-delete,volume backup delete,Removes a backup. -backup-export,volume backup record export,Export backup metadata record. -backup-import,volume backup record import,Import backup metadata record. -backup-list,volume backup list,Lists all backups. -backup-reset-state,volume backup set --state,Explicitly updates the backup state. -backup-restore,volume backup restore,Restores a backup. -backup-show,volume backup show,Show backup details. -cgsnapshot-create,consistency group snapshot create,Creates a cgsnapshot. -cgsnapshot-delete,consistency group snapshot delete,Removes one or more cgsnapshots. -cgsnapshot-list,consistency group snapshot list,Lists all cgsnapshots. -cgsnapshot-show,consistency group snapshot show,Shows cgsnapshot details. -consisgroup-create,consistency group create,Creates a consistency group. -consisgroup-create-from-src,consistency group create --consistency-group-snapshot,Creates a consistency group from a cgsnapshot or a source CG -consisgroup-delete,consistency group delete,Removes one or more consistency groups. -consisgroup-list,consistency group list,Lists all consistencygroups. -consisgroup-show,consistency group show,Shows details of a consistency group. -consisgroup-update,consistency group set,Updates a consistencygroup. -create,volume create,Creates a volume. -credentials,WONTFIX,Shows user credentials returned from auth. -delete,volume delete,Removes one or more volumes. -encryption-type-create,volume type create --encryption-provider --enc..,Creates encryption type for a volume type. Admin only. -encryption-type-delete,volume type delete,Deletes encryption type for a volume type. Admin only. -encryption-type-list,volume type list --encryption-type,Shows encryption type details for volume types. Admin only. -encryption-type-show,volume type list --encryption-show,Shows encryption type details for volume type. Admin only. -encryption-type-update,volume type set --encryption-provider --enc..,Update encryption type information for a volume type (Admin Only). -endpoints,catalog list,Discovers endpoints registered by authentication service. -extend,volume set --size,Attempts to extend size of an existing volume. -extra-specs-list,volume type list --long,Lists current volume types and extra specs. -failover-host,volume host failover,Failover a replicating cinder-volume host. -force-delete,volume delete --force,"Attempts force-delete of volume, regardless of state." -freeze-host,volume host set --disable,Freeze and disable the specified cinder-volume host. -get-capabilities,volume backend capability show,Show capabilities of a volume backend. Admin only. -get-pools,volume backend pool list,Show pool information for backends. Admin only. -image-metadata,volume set --image-property,Sets or deletes volume image metadata. -image-metadata-show,volume show,Shows volume image metadata. -list,volume list,Lists all volumes. -manage,volume create --remote-source k=v,Manage an existing volume. -metadata,volume set --property k=v / volume unset --property k,Sets or deletes volume metadata. -metadata-show,volume show,Shows volume metadata. -metadata-update-all,volume set --property k=v,Updates volume metadata. -migrate,volume migrate --host --force-copy --lock-volume ,Migrates volume to a new host. -qos-associate,volume qos associate,Associates qos specs with specified volume type. -qos-create,volume qos create,Creates a qos specs. -qos-delete,volume qos delete,Deletes a specified qos specs. -qos-disassociate,volume qos disassociate,Disassociates qos specs from specified volume type. -qos-disassociate-all,volume qos disassociate --all,Disassociates qos specs from all associations. -qos-get-association,volume qos show,Gets all associations for specified qos specs. -qos-key,volume qos set --property k=v / volume qos unset --property k,Sets or unsets specifications for a qos spec -qos-list,volume qos list,Lists qos specs. -qos-show,volume qos show,Shows a specified qos specs. -quota-class-show,quota show --class,Lists quotas for a quota class. -quota-class-update,quota set --class,Updates quotas for a quota class. -quota-defaults,quota show --default,Lists default quotas for a tenant. -quota-delete,,Delete the quotas for a tenant. -quota-show,quota show,Lists quotas for a tenant. -quota-update,quota set,Updates quotas for a tenant. -quota-usage,,Lists quota usage for a tenant. -rate-limits,limits show --rate,Lists rate limits for a user. -readonly-mode-update,volume set --read-only-mode | --read-write-mode,Updates volume read-only access-mode flag. -rename,volume set --name,Renames a volume. -replication-promote,WONTFIX,Promote a secondary volume to primary for a relationship -replication-reenable,WONTFIX,Sync the secondary volume with primary for a relationship -reset-state,volume set --state,Explicitly updates the volume state. -retype,volume type set --type,Changes the volume type for a volume. -service-disable,volume service set --disable,Disables the service. -service-enable,volume service set --enable,Enables the service. -service-list,volume service list,Lists all services. Filter by host and service binary. -set-bootable,volume set --bootable / --not-bootable,Update bootable status of a volume. -show,volume show,Shows volume details. -snapshot-create,snapshot create,Creates a snapshot. -snapshot-delete,snapshot delete,Remove one or more snapshots. -snapshot-list,snapshot list,Lists all snapshots. -snapshot-manage,volume snapshot create --remote-source ,Manage an existing snapshot. -snapshot-metadata,snapshot set --property k=v / snapshot unset --property k,Sets or deletes snapshot metadata. -snapshot-metadata-show,snapshot show,Shows snapshot metadata. -snapshot-metadata-update-all,snapshot set --property k=v,Updates snapshot metadata. -snapshot-rename,snapshot set --name,Renames a snapshot. -snapshot-reset-state,snapshot set --state,Explicitly updates the snapshot state. -snapshot-show,snapshot show,Shows snapshot details. -snapshot-unmanage,volume snapshot delete --remote,Stop managing a snapshot. -thaw-host,volume host set --enable,Thaw and enable the specified cinder-volume host. -transfer-accept,volume transfer accept,Accepts a volume transfer. -transfer-create,volume transfer create,Creates a volume transfer. -transfer-delete,volume transfer delete,Undoes a transfer. -transfer-list,volume transfer list,Lists all transfers. -transfer-show,volume transfer show,Show transfer details. -type-access-add,volume type set --project,Adds volume type access for the given project. -type-access-list,volume type show,Print access information about the given volume type. -type-access-remove,volume type unset --project,Removes volume type access for the given project. -type-create,volume type create,Creates a volume type. -type-default,volume type list --default,List the default volume type. -type-delete,volume type delete,Deletes a specified volume type. -type-key,volume type set --property k=v / volume type unset --property k,Sets or unsets extra_spec for a volume type. -type-list,volume type list,Lists available 'volume types'. -type-show,volume type show,Show volume type details. -type-update,volume type set,"Updates volume type name, description, and/or is_public." -unmanage,volume delete --remote,Stop managing a volume. -upload-to-image,image create --volume,Uploads volume to Image Service as an image. -bash-completion,complete,Prints arguments for bash_completion. -help,help,Shows help about this program or one of its subcommands. -list-extensions,extension list --volume,Lists all available os-api extensions. +absolute-limits,limits show --absolute,Lists absolute limits for a user. +api-version,openstack versions show --service volume,Display the server API version information. +availability-zone-list,availability zone list --volume,Lists all availability zones. +attachment-complete,volume attachment complete,Complete an attachment for a cinder volume. (Supported by API versions 3.44 - 3.latest) +attachment-create,volume attachment create,Create an attachment for a cinder volume. (Supported by API versions 3.27 - 3.latest) +attachment-delete,volume attachment delete,Delete an attachment for a cinder volume. (Supported by API versions 3.27 - 3.latest) +attachment-list,volume attachment list,Lists all attachments. (Supported by API versions 3.27 - 3.latest) +attachment-show,volume attachment show,Show detailed information for attachment. (Supported by API versions 3.27 - 3.latest) +attachment-update,volume attachment update,Update an attachment for a cinder volume. (Supported by API versions 3.27 - 3.latest) +backup-create,volume backup create,Creates a volume backup. +backup-delete,volume backup delete,Removes a backup. +backup-export,volume backup record export,Export backup metadata record. +backup-import,volume backup record import,Import backup metadata record. +backup-list,volume backup list,Lists all backups. +backup-reset-state,volume backup set --state,Explicitly updates the backup state. +backup-restore,volume backup restore,Restores a backup. +backup-show,volume backup show,Show backup details. +backup-update,volume backup set,Updates a backup. (Supported by API versions 3.9 - 3.latest) +cgsnapshot-create,consistency group snapshot create,Creates a cgsnapshot. +cgsnapshot-delete,consistency group snapshot delete,Removes one or more cgsnapshots. +cgsnapshot-list,consistency group snapshot list,Lists all cgsnapshots. +cgsnapshot-show,consistency group snapshot show,Shows cgsnapshot details. +cluster-disable,block storage cluster set --disable,Disables clustered services. (Supported by API versions 3.7 - 3.latest) +cluster-enable,block storage cluster set --enable,Enables clustered services. (Supported by API versions 3.7 - 3.latest) +cluster-list,block storage cluster list,Lists clustered services with optional filtering. (Supported by API versions 3.7 - 3.latest) +cluster-show,block storage cluster show,Show detailed information on a clustered service. (Supported by API versions 3.7 - 3.latest) +consisgroup-create,consistency group create,Creates a consistency group. +consisgroup-create-from-src,consistency group create --consistency-group-snapshot,Creates a consistency group from a cgsnapshot or a source CG +consisgroup-delete,consistency group delete,Removes one or more consistency groups. +consisgroup-list,consistency group list,Lists all consistencygroups. +consisgroup-show,consistency group show,Shows details of a consistency group. +consisgroup-update,consistency group set,Updates a consistencygroup. +create,volume create,Creates a volume. +delete,volume delete,Removes one or more volumes. +encryption-type-create,volume type create --encryption-provider --enc..,Creates encryption type for a volume type. Admin only. +encryption-type-delete,volume type delete,Deletes encryption type for a volume type. Admin only. +encryption-type-list,volume type list --encryption-type,Shows encryption type details for volume types. Admin only. +encryption-type-show,volume type list --encryption-show,Shows encryption type details for volume type. Admin only. +encryption-type-update,volume type set --encryption-provider --enc..,Update encryption type information for a volume type (Admin Only). +extend,volume set --size,Attempts to extend size of an existing volume. +extra-specs-list,volume type list --long,Lists current volume types and extra specs. +failover-host,volume host failover,Failover a replicating cinder-volume host. +force-delete,volume delete --force,"Attempts force-delete of volume regardless of state." +freeze-host,volume host set --disable,Freeze and disable the specified cinder-volume host. +get-capabilities,volume backend capability show,Show capabilities of a volume backend. Admin only. +get-pools,volume backend pool list,Show pool information for backends. Admin only. +group-create,volume group create,Creates a group. (Supported by API versions 3.13 - 3.latest) +group-create-from-src,volume group create [--source-group|--group-snapshot],Creates a group from a group snapshot or a source group. (Supported by API versions 3.14 - 3.latest) +group-delete,volume group delete,Removes one or more groups. (Supported by API versions 3.13 - 3.latest) +group-disable-replication,volume group set --disable-replication,Disables replication for group. (Supported by API versions 3.38 - 3.latest) +group-enable-replication,volume group set --enable-replication,Enables replication for group. (Supported by API versions 3.38 - 3.latest) +group-failover-replication,volume group failover,Fails over replication for group. (Supported by API versions 3.38 - 3.latest) +group-list,volume group list,Lists all groups. (Supported by API versions 3.13 - 3.latest) +group-list-replication-targets,volume group list --replication-targets,Lists replication targets for group. (Supported by API versions 3.38 - 3.latest) +group-show,volume group show,Shows details of a group. (Supported by API versions 3.13 - 3.latest) +group-snapshot-create,volume group snapshot create,Creates a group snapshot. (Supported by API versions 3.14 - 3.latest) +group-snapshot-delete,volume group snapshot delete,Removes one or more group snapshots. (Supported by API versions 3.14 - 3.latest) +group-snapshot-list,volume group snapshot list,Lists all group snapshots. (Supported by API versions 3.14 - 3.latest) +group-snapshot-show,volume group snapshot show,Shows group snapshot details. (Supported by API versions 3.14 - 3.latest) +group-specs-list,volume group type list,Lists current group types and specs. (Supported by API versions 3.11 - 3.latest) +group-type-create,volume group type create,Creates a group type. (Supported by API versions 3.11 - 3.latest) +group-type-default,volume group type list --default,List the default group type. (Supported by API versions 3.11 - 3.latest) +group-type-delete,volume group type delete,Deletes group type or types. (Supported by API versions 3.11 - 3.latest) +group-type-key,volume group type set,Sets or unsets group_spec for a group type. (Supported by API versions 3.11 - 3.latest) +group-type-list,volume group type set,Lists available 'group types'. (Admin only will see private types) (Supported by API versions 3.11 - 3.latest) +group-type-show,volume group type show,Show group type details. (Supported by API versions 3.11 - 3.latest) +group-type-update,volume group type set,Updates group type name description and/or is_public. (Supported by API versions 3.11 - 3.latest) +group-update,volume group set,Updates a group. (Supported by API versions 3.13 - 3.latest) +image-metadata,volume set --image-property,Sets or deletes volume image metadata. +image-metadata-show,volume show,Shows volume image metadata. +list,volume list,Lists all volumes. +list-filters,block storage resource filter list,List enabled filters. (Supported by API versions 3.33 - 3.latest) +manage,volume create --remote-source k=v,Manage an existing volume. +manageable-list,block storage volume manageable list,Lists all manageable volumes. (Supported by API versions 3.8 - 3.latest) +message-delete,volume message delete,Removes one or more messages. (Supported by API versions 3.3 - 3.latest) +message-list,volume message list,Lists all messages. (Supported by API versions 3.3 - 3.latest) +message-show,volume message show,Shows message details. (Supported by API versions 3.3 - 3.latest) +metadata,volume set --property k=v / volume unset --property k,Sets or deletes volume metadata. +metadata-show,volume show,Shows volume metadata. +metadata-update-all,volume set --property k=v,Updates volume metadata. +migrate,volume migrate --host --force-copy --lock-volume ,Migrates volume to a new host. +qos-associate,volume qos associate,Associates qos specs with specified volume type. +qos-create,volume qos create,Creates a qos specs. +qos-delete,volume qos delete,Deletes a specified qos specs. +qos-disassociate,volume qos disassociate,Disassociates qos specs from specified volume type. +qos-disassociate-all,volume qos disassociate --all,Disassociates qos specs from all associations. +qos-get-association,volume qos show,Gets all associations for specified qos specs. +qos-key,volume qos set --property k=v / volume qos unset --property k,Sets or unsets specifications for a qos spec +qos-list,volume qos list,Lists qos specs. +qos-show,volume qos show,Shows a specified qos specs. +quota-class-show,quota show --class,Lists quotas for a quota class. +quota-class-update,quota set --class,Updates quotas for a quota class. +quota-defaults,quota show --default,Lists default quotas for a tenant. +quota-delete,quota delete --volume,Delete the quotas for a tenant. +quota-show,quota show,Lists quotas for a tenant. +quota-update,quota set,Updates quotas for a tenant. +quota-usage,quota show --usage,Lists quota usage for a tenant. +rate-limits,limits show --rate,Lists rate limits for a user. +readonly-mode-update,volume set --read-only-mode | --read-write-mode,Updates volume read-only access-mode flag. +rename,volume set --name,Renames a volume. +reset-state,volume set --state,Explicitly updates the volume state. +retype,volume type set --type,Changes the volume type for a volume. +revert-to-snapshot,volume revert,Revert a volume to the specified snapshot. (Supported by API versions 3.40 - 3.latest) +service-disable,volume service set --disable,Disables the service. +service-enable,volume service set --enable,Enables the service. +service-get-log,block storage log level list,(Supported by API versions 3.32 - 3.latest) +service-list,volume service list,Lists all services. Filter by host and service binary. +service-set-log,block storage log level set,(Supported by API versions 3.32 - 3.latest) +set-bootable,volume set --bootable / --not-bootable,Update bootable status of a volume. +show,volume show,Shows volume details. +snapshot-create,volume snapshot create,Creates a snapshot. +snapshot-delete,volume snapshot delete,Remove one or more snapshots. +snapshot-list,volume snapshot list,Lists all snapshots. +snapshot-manage,volume snapshot create --remote-source ,Manage an existing snapshot. +snapshot-manageable-list,block storage snapshot manageable list,Lists all manageable snapshots. (Supported by API versions 3.8 - 3.latest) +snapshot-metadata,volume snapshot set --property k=v / snapshot unset --property k,Sets or deletes snapshot metadata. +snapshot-metadata-show,volume snapshot show,Shows snapshot metadata. +snapshot-metadata-update-all,volume snapshot set --property k=v,Updates snapshot metadata. +snapshot-rename,volume snapshot set --name,Renames a snapshot. +snapshot-reset-state,volume snapshot set --state,Explicitly updates the snapshot state. +snapshot-show,volume snapshot show,Shows snapshot details. +snapshot-unmanage,volume snapshot delete --remote,Stop managing a snapshot. +summary,volume summary,Get volumes summary. (Supported by API versions 3.12 - 3.latest) +thaw-host,volume host set --enable,Thaw and enable the specified cinder-volume host. +transfer-accept,volume transfer accept,Accepts a volume transfer. +transfer-create,volume transfer create,Creates a volume transfer. +transfer-delete,volume transfer delete,Undoes a transfer. +transfer-list,volume transfer list,Lists all transfers. +transfer-show,volume transfer show,Show transfer details. +type-access-add,volume type set --project,Adds volume type access for the given project. +type-access-list,volume type show,Print access information about the given volume type. +type-access-remove,volume type unset --project,Removes volume type access for the given project. +type-create,volume type create,Creates a volume type. +type-default,volume type list --default,List the default volume type. +type-delete,volume type delete,Deletes a specified volume type. +type-key,volume type set --property k=v / volume type unset --property k,Sets or unsets extra_spec for a volume type. +type-list,volume type list,Lists available 'volume types'. +type-show,volume type show,Show volume type details. +type-update,volume type set,"Updates volume type name description and/or is_public." +unmanage,volume delete --remote,Stop managing a volume. +upload-to-image,image create --volume,Uploads volume to Image Service as an image. +version-list,versions show --service block-storage,List all API versions. (Supported by API versions 3.0 - 3.latest) +work-cleanup,block storage cleanup,Request cleanup of services with optional filtering. (Supported by API versions 3.24 - 3.latest) +bash-completion,complete,Prints arguments for bash_completion. +help,help,Shows help about this program or one of its subcommands. +list-extensions,extension list --volume,Lists all available os-api extensions. diff --git a/doc/source/cli/data/glance.csv b/doc/source/cli/data/glance.csv index 994a8fdaae..f978962274 100644 --- a/doc/source/cli/data/glance.csv +++ b/doc/source/cli/data/glance.csv @@ -1,24 +1,67 @@ +cache-clear,cached image clear,"Clear all images from cache, queue or both." +cache-delete,cached image delete,Delete image from cache/caching queue. +cache-list,cached image list,Get cache state. +cache-queue,cached image queue,Queue image(s) for caching. explain,WONTFIX,Describe a specific model. image-create,image create,Create a new image. +image-create-via-import, image create --import,"EXPERIMENTAL: Create a new image via image import using glance-direct import method. Missing support for web-download, copy-image and glance-download import methods. The OSC command is also missing support for importing image to specified store as well as all stores (--store, --stores, --all-stores) and skip or stop processing if import fails to one of the store (--allow-failure)" image-deactivate,image set --deactivate,Deactivate specified image. image-delete,image delete,Delete specified image. image-download,image save,Download a specific image. +image-import,image import,Initiate the image import taskflow. image-list,image list,List images you can access. image-reactivate,image set --activate,Reactivate specified image. image-show,image show,Describe a specific image. +image-stage,image stage,Upload data for a specific image to staging. image-tag-delete,image unset --tag ,Delete the tag associated with the given image. image-tag-update,image set --tag ,Update an image with the given tag. +image-tasks,,Get tasks associated with image. image-update,image set,Update an existing image. image-upload,,Upload data for a specific image. +import-info,image import info,Show available import methods from Glance. location-add,,Add a location (and related metadata) to an image. location-delete,,Remove locations (and related metadata) from an image. location-update,,Update metadata of an image's location. +md-namespace-create,image metadef namespace create,Create a new metadata definitions namespace. +md-namespace-delete,image metadef namespace delete,Delete specified metadata definitions namespace with its contents. +md-namespace-import,WONTFIX,Import a metadata definitions namespace from file or standard input. +md-namespace-list,image metadef namespace list,List metadata definitions namespaces. +md-namespace-objects-delete,image metadef object delete,Delete all metadata definitions objects inside a specific namespace. +md-namespace-properties-delete,image metadef property delete,Delete all metadata definitions property inside a specific namespace. +md-namespace-resource-type-list,image metadef resource type association list,List resource types associated to specific namespace. +md-namespace-show,image metadef namespace show,Describe a specific metadata definitions namespace. +md-namespace-tags-delete,,Delete all metadata definitions tags inside a specific namespace. +md-namespace-update,,Update an existing metadata definitions namespace. +md-object-create,image metadef object create,Create a new metadata definitions object inside a namespace. +md-object-show,image metadef object show,Describe a specific metadata definitions object inside a namespace. +md-object-list,image metadef object list,List metadata definitions objects inside a specific namespace. +md-object-delete,image metadef object delete,Delete a specific metadata definitions object inside a namespace. +md-object-property-show,image metadef object property show,Describe a specific metadata definitions property inside an object. +md-object-update,image metadef object update,Update metadata definitions object inside a namespace. +md-property-create,image metadef property create,Create a new metadata definitions property inside a namespace. +md-property-delete,image metadef property delete,Delete a specific metadata definitions property inside a namespace. +md-property-list,image metadef property list,List metadata definitions properties inside a specific namespace. +md-property-show,image metadef property show,Describe a specific metadata definitions property inside a namespace. +md-property-update,image metadef property set,Update metadata definitions property inside a namespace. +md-resource-type-associate,image metadef resource type association create,Associate resource type with a metadata definitions namespace. +md-resource-type-deassociate,image metadef resource type association delete,Deassociate resource type with a metadata definitions namespace. +md-resource-type-list,image metadef resource type list,List available resource type names. +md-tag-create,,Add a new metadata definitions tag inside a namespace. +md-tag-create-multiple,,Create new metadata definitions tags inside a namespace. +md-tag-delete,,Delete a specific metadata definitions tag inside a namespace. +md-tag-list,,List metadata definitions tags inside a specific namespace. +md-tag-show,,Describe a specific metadata definitions tag inside a namespace. +md-tag-update,,Rename a metadata definitions tag inside a namespace. member-create,image add project,Create member for a given image. member-delete,image remove project,Delete image member. -member-list,,Describe sharing permissions by image. +member-get,image member get,Show details of an image member +member-list,image member list,Describe sharing permissions by image. member-update,image set --accept --reject --status,Update the status of a member for a given image. -task-create,,Create a new task. -task-list,,List tasks you can access. -task-show,,Describe a specific task. +stores-delete,image delete --store,Delete image from specific store. +stores-info,,Print available backends from Glance. +task-create,WONTFIX,Create a new task. +task-list,image task list,List tasks you can access. +task-show,image task show,Describe a specific task. +usage,,Get quota usage information. bash-completion,complete,Prints arguments for bash_completion. help,help,Display help about this program or one of its subcommands. diff --git a/doc/source/cli/data/keystone.csv b/doc/source/cli/data/keystone.csv index bcc305515f..2a7e7f5690 100644 --- a/doc/source/cli/data/keystone.csv +++ b/doc/source/cli/data/keystone.csv @@ -1,37 +1,37 @@ -catalog,catalog show,"List service catalog, possibly filtered by service." -ec2-credentials-create,ec2 credentials create,Create EC2-compatible credentials for user per tenant. -ec2-credentials-delete,ec2 credentials delete,Delete EC2-compatible credentials. -ec2-credentials-get,ec2 credentials show,Display EC2-compatible credentials. -ec2-credentials-list,ec2 credentials list,List EC2-compatible credentials for a user. -endpoint-create,endpoint create,Create a new endpoint associated with a service. -endpoint-delete,endpoint delete,Delete a service endpoint. -endpoint-get,endpoint get,Find endpoint filtered by a specific attribute or service type. -endpoint-list,endpoint list,List configured service endpoints. -password-update,user password set,Update own password. -role-create,role create,Create new role. -role-delete,role delete,Delete role. -role-get,role show,Display role details. -role-list,role list,List all roles. -service-create,service create,Add service to Service Catalog. -service-delete,service delete,Delete service from Service Catalog. -service-get,service show,Display service from Service Catalog. -service-list,service list,List all services in Service Catalog. -tenant-create,project create,Create new tenant. -tenant-delete,project delete,Delete tenant. -tenant-get,project show,Display tenant details. -tenant-list,project list,List all tenants. -tenant-update,project set,"Update tenant name, description, enabled status." -token-get,token issue,Display the current user token. -user-create,user create,Create new user. -user-delete,user delete,Delete user. -user-get,user show,Display user details. -user-list,user list,List users. -user-password-update,user set --password,Update user password. -user-role-add,role add --user --project,Add role to user. -user-role-list,role assignment list --user --project,List roles granted to a user. -user-role-remove,role remove --user --project,Remove role from user. -user-update,user set,"Update user's name, email, and enabled status." -discover,WONTFIX,"Discover Keystone servers, supported API versions and extensions." -bootstrap,WONTFIX,"Grants a new role to a new user on a new tenant, after creating each." -bash-completion,complete,Prints all of the commands and options to stdout. -help,help,Display help about this program or one of its subcommands. +catalog,catalog show,"List service catalog, possibly filtered by service." +ec2-credentials-create,ec2 credentials create,Create EC2-compatible credentials for user per tenant. +ec2-credentials-delete,ec2 credentials delete,Delete EC2-compatible credentials. +ec2-credentials-get,ec2 credentials show,Display EC2-compatible credentials. +ec2-credentials-list,ec2 credentials list,List EC2-compatible credentials for a user. +endpoint-create,endpoint create,Create a new endpoint associated with a service. +endpoint-delete,endpoint delete,Delete a service endpoint. +endpoint-get,endpoint get,Find endpoint filtered by a specific attribute or service type. +endpoint-list,endpoint list,List configured service endpoints. +password-update,user password set,Update own password. +role-create,role create,Create new role. +role-delete,role delete,Delete role. +role-get,role show,Display role details. +role-list,role list,List all roles. +service-create,service create,Add service to Service Catalog. +service-delete,service delete,Delete service from Service Catalog. +service-get,service show,Display service from Service Catalog. +service-list,service list,List all services in Service Catalog. +tenant-create,project create,Create new tenant. +tenant-delete,project delete,Delete tenant. +tenant-get,project show,Display tenant details. +tenant-list,project list,List all tenants. +tenant-update,project set,"Update tenant name, description, enabled status." +token-get,token issue,Display the current user token. +user-create,user create,Create new user. +user-delete,user delete,Delete user. +user-get,user show,Display user details. +user-list,user list,List users. +user-password-update,user set --password,Update user password. +user-role-add,role add --user --project,Add role to user. +user-role-list,role assignment list --user --project,List roles granted to a user. +user-role-remove,role remove --user --project,Remove role from user. +user-update,user set,"Update user's name, email, and enabled status." +discover,WONTFIX,"Discover Keystone servers, supported API versions and extensions." +bootstrap,WONTFIX,"Grants a new role to a new user on a new tenant, after creating each." +bash-completion,complete,Prints all of the commands and options to stdout. +help,help,Display help about this program or one of its subcommands. diff --git a/doc/source/cli/data/neutron.csv b/doc/source/cli/data/neutron.csv index 080114e241..2399ed825f 100644 --- a/doc/source/cli/data/neutron.csv +++ b/doc/source/cli/data/neutron.csv @@ -35,6 +35,23 @@ dhcp-agent-network-add,network agent add network,Add a network to a DHCP agent. dhcp-agent-network-remove,network agent remove network,Remove a network from a DHCP agent. ext-list,extension list,List all extensions. ext-show,extension show,Show information of a given resource. +firewall-create,,Create a firewall. +firewall-delete,,Delete a given firewall. +firewall-list,,List firewalls that belong to a given tenant. +firewall-policy-create,,Create a firewall policy. +firewall-policy-delete,,Delete a given firewall policy. +firewall-policy-insert-rule,,Insert a rule into a given firewall policy. +firewall-policy-list,,List firewall policies that belong to a given tenant. +firewall-policy-remove-rule,,Remove a rule from a given firewall policy. +firewall-policy-show,,Show information of a given firewall policy. +firewall-policy-update,,Update a given firewall policy. +firewall-rule-create,,Create a firewall rule. +firewall-rule-delete,,Delete a given firewall rule. +firewall-rule-list,,List firewall rules that belong to a given tenant. +firewall-rule-show,,Show information of a given firewall rule. +firewall-rule-update,,Update a given firewall rule. +firewall-show,,Show information of a given firewall. +firewall-update,,Update a given firewall. flavor-associate,network flavor add profile,Add a Neutron service flavor with a flavor profile. flavor-create,network flavor create,Create a Neutron service flavor. flavor-delete,network flavor delete,Delete a given Neutron service flavor. @@ -171,7 +188,7 @@ qos-policy-list,network qos policy list,List QoS policies that belong to a given qos-policy-show,network qos policy show,Show information of a given qos policy. qos-policy-update,network qos policy set,Update a given qos policy. quota-default-show,quota show --default,Show default quotas for a given tenant. -quota-delete,,Delete defined quotas of a given tenant. +quota-delete,quota delete --network,Delete defined quotas of a given tenant. quota-list,quota list,List quotas of all tenants who have non-default quota values. quota-show,quota show,Show quotas for a given tenant. quota-update,quota set,Define tenant's quotas not to use defaults. @@ -213,15 +230,7 @@ subnetpool-show,subnet pool show,Show information of a given subnetpool. subnetpool-update,subnet pool set / subnet pool unset,Update subnetpool's information. tag-add,network set --tag,Add a tag into the resource. tag-remove,network unset --tag,Remove a tag on the resource. -tag-replace,,Replace all tags on the resource. -tap-flow-create,tapflow create,Create a tap flow -tap-flow-delete,tapflow delete,Delete a tap flow -tap-flow-list,tapflow list,List all tap flows -tap-flow-show,tapflow show,Show details of the tap flow -tap-service-create,tapservice create,Create a tap service -tap-service-delete,tapservice delete,Delete a tap service -tap-service-list,tapservice list,List all tap services -tap-service-show,tapservice show,Show details of the tap service +tag-replace,network set --no-tag --tag,Replace all tags on the resource. vpn-endpoint-group-create,,Create a VPN endpoint group. vpn-endpoint-group-delete,,Delete a given VPN endpoint group. vpn-endpoint-group-list,,List VPN endpoint groups that belong to a given tenant. @@ -242,3 +251,12 @@ vpn-service-delete,,Delete a given VPN service. vpn-service-list,,List VPN service configurations that belong to a given tenant. vpn-service-show,,Show information of a given VPN service. vpn-service-update,,Update a given VPN service. + +tap-flow-create,tapflow create,Create a tap flow +tap-flow-delete,tapflow delete,Delete a tap flow +tap-flow-list,tapflow list,List all tap flows +tap-flow-show,tapflow show,Show details of the tap flow +tap-service-create,tapservice create,Create a tap service +tap-service-delete,tapservice delete,Delete a tap service +tap-service-list,tapservice list,List all tap services +tap-service-show,tapservice show,Show details of the tap service diff --git a/doc/source/cli/data/nova.csv b/doc/source/cli/data/nova.csv index 872d6e09b2..ff691a5193 100644 --- a/doc/source/cli/data/nova.csv +++ b/doc/source/cli/data/nova.csv @@ -1,10 +1,10 @@ -add-fixed-ip,server add fixed ip,Add new IP address on a network to server. add-secgroup,server add security group,Add a Security Group to a server. agent-create,compute agent create,Create new agent build. agent-delete,compute agent delete,Delete existing agent build. agent-list,compute agent list,List all builds. agent-modify,compute agent set,Modify existing agent build. aggregate-add-host,aggregate add host,Add the host to the specified aggregate. +aggregate-cache-images,aggregate cache image,Request images be cached. (Supported by API versions '2.81' - '2.latest') [hint: use '-- os-compute-api-version' flag to show help message for proper version] aggregate-create,aggregate create,Create a new aggregate with the specified details. aggregate-delete,aggregate delete,Delete the aggregate. aggregate-list,aggregate list,Print a list of all aggregates. @@ -15,51 +15,42 @@ aggregate-update,aggregate set / unset,Update the aggregate's name and optionall availability-zone-list,availability zone list,List all the availability zones. backup,server backup create,Backup a server by creating a 'backup' type snapshot. boot,server create,Boot a new server. -cell-capacities,,Get cell capacities for all cells or a given cell. -cell-show,,Show details of a given cell. -clear-password,server set --root-password,Clear the admin password for a server from the metadata server. -cloudpipe-configure,WONTFIX,Update the VPN IP/port of a cloudpipe instance. -cloudpipe-create,WONTFIX,Create a cloudpipe instance for the given project. -cloudpipe-list,WONTFIX,Print a list of all cloudpipe instances. +clear-password,server set --root-password,Clear the admin password for a server from the metadata server. This action does not actually change the instance server password. console-log,console log show,Get console log output of a server. delete,server delete,Immediately shut down and delete specified server(s). diagnostics,openstack server show --diagnostics,Retrieve server diagnostics. -evacuate,,Evacuate server from failed host. -flavor-access-add,,Add flavor access for the given tenant. -flavor-access-list,,Print access information about the given flavor. -flavor-access-remove,,Remove flavor access for the given tenant. +evacuate,server evacuate,Evacuate server from failed host. +flavor-access-add,flavor set --project,Add flavor access for the given tenant. +flavor-access-list,flavor show,Print access information about the given flavor. +flavor-access-remove,flavor unset,Remove flavor access for the given tenant. flavor-create,flavor create,Create a new flavor. flavor-delete,flavor delete,Delete a specific flavor -flavor-key,flavor set / unset,Set or unset extra_spec for a flavor. +flavor-key,flavor set / unset --property,Set or unset extra_spec for a flavor. flavor-list,flavor list,Print a list of available 'flavors' flavor-show,flavor show,Show details about the given flavor. -floating-ip-associate,server add floating ip,Associate a floating IP address to a server. -floating-ip-disassociate,server remove floating ip,Disassociate a floating IP address from a server. +flavor-update,flavor set --description,Update the description of an existing flavor. (Supported by API versions '2.55' - '2.latest') [hint: use '--os-compute-api-version' flag to show help message for proper version] force-delete,server delete,Force delete a server. -get-mks-console,console url show --mks,Get an MKS console to a server. -get-password,WONTFIX,Get the admin password for a server. +get-mks-console,console url show --mks,Get an MKS console to a server. (Supported by API versions '2.8' - '2.latest') [hint: use ' --os-compute-api-version' flag to show help message for proper version] +get-password,WONTFIX,Get the admin password for a server. This operation calls the metadata service to query metadata information and does not read password information from the server itself. get-rdp-console,console url show --rdp,Get a rdp console to a server. get-serial-console,console url show --serial,Get a serial console to a server. get-spice-console,console url show --spice,Get a spice console to a server. -get-vnc-console,console url show --novnc | --xvpvnc,Get a vnc console to a server. -host-action,,Perform a power action on a host. -host-describe,host show,Describe a specific host. -host-evacuate,,Evacuate all instances from failed host. -host-evacuate-live,,Live migrate all instances off the specified host to other available hosts. -host-list,host list,List all hosts by service. -host-meta,,Set or Delete metadata on all instances of a host. -host-servers-migrate,,Cold migrate all instances off the specified host to other available hosts. -host-update,host set,Update host settings. -hypervisor-list,hypervisor list,List hypervisors. -hypervisor-servers,,List servers belonging to specific hypervisors. +get-vnc-console,console url show --novnc,Get a vnc console to a server. +host-evacuate,WONTFIX,Evacuate all instances from failed host. +host-evacuate-live,WONTFIX,Live migrate all instances off the specified host to other available hosts. +host-meta,WONTFIX,Set or Delete metadata on all instances of a host. +host-servers-migrate,WONTFIX,Cold migrate all instances off the specified host to other available hosts. +hypervisor-list,hypervisor list,List hypervisors. (Supported by API versions '2.0' - '2.latest') +hypervisor-servers,server list --host,List servers belonging to specific hypervisors. hypervisor-show,hypervisor show,Display the details of the specified hypervisor. hypervisor-stats,hypervisor stats show,Get hypervisor statistics over all compute nodes. -hypervisor-uptime,,Display the uptime of the specified hypervisor. +hypervisor-uptime,hypervisor show,Display the uptime of the specified hypervisor. image-create,server image create,Create a new image by taking a snapshot of a running server. -instance-action,,Show an action. -instance-action-list,,List actions on a server. -interface-attach,,Attach a network interface to a server. -interface-detach,,Detach a network interface from a server. +instance-action,server event show,Show an action. +instance-action-list,server event list,List actions on a server. +instance-usage-audit-log,WONTFIX,List/Get server usage audits. +interface-attach,server add port / server add floating ip / server add fixed ip,Attach a network interface to a server. +interface-detach,server remove port,Detach a network interface from a server. interface-list,port list --server,List interfaces attached to a server. keypair-add,keypair create,Create a new key pair for use with servers. keypair-delete,keypair delete,Delete keypair given by its name. @@ -67,26 +58,24 @@ keypair-list,keypair list,Print a list of keypairs for a user keypair-show,keypair show,Show details about the given keypair. limits,limits show,Print rate and absolute limits. list,server list,List active servers. -list-extensions,extension list,List all the os-api extensions that are available. list-secgroup,security group list,List Security Group(s) of a server. -live-migration,,Migrate running server to a new machine. -live-migration-abort,,Abort an on-going live migration. -live-migration-force-comp,,Force on-going live migration to complete. +live-migration,server migration list,Migrate running server to a new machine. +live-migration-abort,server migration abort,Abort an on-going live migration. +live-migration-force-comp,server migration force complete,Force on-going live migration to complete. lock,server lock,Lock a server. meta,server set --property / unset,Set or delete metadata on a server. migrate,server migrate,Migrate a server. The new host will be selected by the scheduler. -migration-list,,Print a list of migrations. +migration-list,server migration list,Print a list of migrations. pause,server pause,Pause a server. -quota-class-show,,List the quotas for a quota class. +quota-class-show,quota show --class,List the quotas for a quota class. quota-class-update,quota set --class,Update the quotas for a quota class. quota-defaults,quota list,List the default quotas for a tenant. -quota-delete,quota set,Delete quota for a tenant/user so their quota will Revert back to default. +quota-delete,quota delete --compute,Delete quota for a tenant/user so their quota will Revert back to default. quota-show,quota show,List the quotas for a tenant/user. quota-update,quota set,Update the quotas for a tenant/user. reboot,server reboot,Reboot a server. rebuild,server rebuild,"Shutdown, re-image, and re-boot a server." refresh-network,WONTFIX,Refresh server network information. -remove-fixed-ip,server remove fixed ip,Remove an IP address from a server. remove-secgroup,server remove security group,Remove a Security Group from a server. rescue,server rescue,Reboots a server into rescue mode. reset-network,WONTFIX,Reset network of a server. @@ -100,13 +89,14 @@ server-group-create,server group create,Create a new server group with the speci server-group-delete,server group delete,Delete specific server group(s). server-group-get,server group show,Get a specific server group. server-group-list,server group list,Print a list of all server groups. -server-migration-list,,Get the migrations list of specified server. -server-migration-show,,Get the migration of specified server. -server-tag-add,,Add one or more tags to a server. -server-tag-delete,,Delete one or more tags from a server. -server-tag-delete-all,,Delete all tags from a server. -server-tag-list,,Get list of tags from a server. -server-tag-set,,Set list of tags to a server. +server-migration-list,server migration list,Get the migrations list of specified server. +server-migration-show,server migration show,Get the migration of specified server. +server-tag-add,server set --tag,Add one or more tags to a server. +server-tag-delete,server unset --tag,Delete one or more tags from a server. +server-tag-delete-all,server unset --tag,Delete all tags from a server. +server-tag-list,server list --tag,Get list of tags from a server. +server-tag-set,server set --tag,Set list of tags to a server. +server-topology,openstack server show --topology,Retrieve server topology. (Supported by API versions '2.78' - '2.latest') [hint: use '-- os-compute-api-version' flag to show help message for proper version] service-delete,compute service delete,Delete the service. service-disable,compute service set --disable,Disable the service. service-enable,compute service set --enable,Enable the service. @@ -114,7 +104,7 @@ service-force-down,compute service set --force,Force service to down. service-list,compute service list,Show a list of all running services. set-password,server set --root-password,Change the admin password for a server. shelve,server shelve,Shelve a server. -shelve-offload,,Remove a shelved server from the compute node. +shelve-offload,shelve --offload,Remove a shelved server from the compute node. show,server show,Show details about the given server. ssh,server ssh,SSH into a server. start,server start,Start the server(s). @@ -125,17 +115,13 @@ unlock,server unlock,Unlock a server. unpause,server unpause,Unpause a server. unrescue,server unrescue,Restart the server from normal boot disk again. unshelve,server unshelve,Unshelve a server. -update,server set / unset --description,Update or unset the description for a server. -update,server set --name,Update the name for a server. +update,server set / unset,Update the name or the description for a server. usage,usage show,Show usage data for a single tenant. usage-list,usage list,List usage data for all tenants. -version-list,,List all API versions. -virtual-interface-list,,Show virtual interface info about the given server. +version-list,versions show --service compute,List all API versions. volume-attach,server add volume,Attach a volume to a server. -volume-attachments,server show,List all the volumes attached to a server. +volume-attachments,server volume list,List all the volumes attached to a server. volume-detach,server remove volume,Detach a volume from a server. -volume-update,,Update volume attachment. -x509-create-cert,WONTFIX,Create x509 cert for a user in tenant. -x509-get-root-cert,WONTFIX,Fetch the x509 root cert. -bash-completion,complete,Prints all of the commands and options to +volume-update,server volume update,Update volume attachment. +bash-completion,complete,Prints all of the commands and options to stdout so that the nova.bash_completion script doesn't have to hard code them. help,help,Display help about this program or one of its subcommands. diff --git a/doc/source/cli/data/swift.csv b/doc/source/cli/data/swift.csv index 681474125b..87d781e271 100644 --- a/doc/source/cli/data/swift.csv +++ b/doc/source/cli/data/swift.csv @@ -1,10 +1,10 @@ -delete,object delete / container delete,Delete a container or objects within a container. -download,object save / container save,Download objects from containers. -list,object list / container list,Lists the containers for the account or the objects for a container. -post,container create / object set / container set / object store account set,"Updates meta information for the account, container, or object." -copy,,"Copies object, optionally adds meta." -stat,object show / container show / object store account show,"Displays information for the account, container, or object." -upload,object create,Uploads files or directories to the given container. -capabilities,,List cluster capabilities. -tempurl,,Create a temporary URL. -auth,WONTFIX,Display auth related environment variables. +delete,object delete / container delete,Delete a container or objects within a container. +download,object save / container save,Download objects from containers. +list,object list / container list,Lists the containers for the account or the objects for a container. +post,container create / object set / container set / object store account set,"Updates meta information for the account, container, or object." +copy,,"Copies object, optionally adds meta." +stat,object show / container show / object store account show,"Displays information for the account, container, or object." +upload,object create,Uploads files or directories to the given container. +capabilities,,List cluster capabilities. +tempurl,,Create a temporary URL. +auth,WONTFIX,Display auth related environment variables. diff --git a/doc/source/cli/index.rst b/doc/source/cli/index.rst index 17e50a07d2..9cb3b33a73 100644 --- a/doc/source/cli/index.rst +++ b/doc/source/cli/index.rst @@ -13,3 +13,12 @@ interactive decoder backwards-incompatible + +.. NOTE(efried): Everything must be in a toctree but we don't want these to + show up to the reader. + +.. toctree:: + :glob: + :hidden: + + _hidden/* diff --git a/doc/source/cli/man/openstack.rst b/doc/source/cli/man/openstack.rst index 687e39eb9f..8f7124dd6d 100644 --- a/doc/source/cli/man/openstack.rst +++ b/doc/source/cli/man/openstack.rst @@ -44,15 +44,41 @@ command line. The primary difference is the use of 'project' in the name of the * ``token``: Authentication with a token * ``password``: Authentication with a username and a password +* ``openid`` : Authentication using the protocol OpenID Connect Refer to the keystoneclient library documentation for more details about these plugins and their options, and for a complete list of available plugins. Please bear in mind that some plugins might not support all of the functionalities of :program:`openstack`; for example the v3unscopedsaml plugin can deliver only unscoped tokens, some commands might not be available through this authentication method. -Additionally, it is possible to use Keystone's service token to authenticate, by setting the options :option:`--os-token` and :option:`--os-url` (or the environment variables :envvar:`OS_TOKEN` and :envvar:`OS_URL` respectively). This method takes precedence over authentication plugins. +Additionally, it is possible to use Keystone's service token to authenticate, by setting the options :option:`--os-token` and :option:`--os-endpoint` (or the environment variables :envvar:`OS_TOKEN` and :envvar:`OS_ENDPOINT` respectively). This method takes precedence over authentication plugins. .. NOTE:: To use the ``v3unscopedsaml`` method, the lxml package will need to be installed. +AUTHENTICATION USING FEDERATION +------------------------------- + +To use federated authentication, your configuration file needs the following: + +:: + + export OS_PROJECT_NAME= + export OS_PROJECT_DOMAIN_NAME= + export OS_AUTH_URL= + export OS_IDENTITY_API_VERSION=3 + export OS_AUTH_PLUGIN=openid + export OS_AUTH_TYPE=v3oidcpassword + export OS_USERNAME= + export OS_PASSWORD= + export OS_IDENTITY_PROVIDER= + export OS_CLIENT_ID= + export OS_CLIENT_SECRET= + export OS_OPENID_SCOPE= + export OS_PROTOCOL= + export OS_ACCESS_TOKEN_TYPE= + export OS_DISCOVERY_ENDPOINT= + export OS_ACCESS_TOKEN_ENDPOINT= + + OPTIONS ======= @@ -80,9 +106,9 @@ OPTIONS Authentication URL -.. option:: --os-url +.. option:: --os-endpoint - Service URL, when using a service token for authentication + Service ENDPOINT, when using a service token for authentication .. option:: --os-domain-name @@ -323,7 +349,7 @@ file, but if those are incomplete it may be impossible to know which auth type is intended. The :option:`--os-auth-type` option can always be used to force a specific type. -When :option:`--os-token` and :option:`--os-url` are both present the +When :option:`--os-token` and :option:`--os-endpoint` are both present the ``token_endpoint`` auth type is selected automatically. If :option:`--os-auth-url` and :option:`--os-username` are present ``password`` auth type is selected. @@ -356,6 +382,24 @@ Show the detailed information for server ``appweb01``:: --os-auth-url http://localhost:5000:/v2.0 \ server show appweb01 +The same but using openid to authenticate in keystone:: + + openstack \ + --os-project-name ExampleCo \ + --os-auth-url http://localhost:5000:/v2.0 \ + --os-auth-plugin openid \ + --os-auth-type v3oidcpassword \ + --os-username demo-idp \ + --os-password secret-idp \ + --os-identity-provider google \ + --os-client-id the-id-assigned-to-keystone-in-google \ + --os-client-secret 3315162f-2b28-4809-9369-cb54730ac837 \ + --os-openid-scope 'openid email profile'\ + --os-protocol openid \ + --os-access-token-type access_token \ + --os-discovery-endpoint https://accounts.google.com/.well-known/openid-configuration \ + server show appweb01 + The same command if the auth environment variables (:envvar:`OS_AUTH_URL`, :envvar:`OS_PROJECT_NAME`, :envvar:`OS_USERNAME`, :envvar:`OS_PASSWORD`) are set:: @@ -404,9 +448,27 @@ The following environment variables can be set to alter the behaviour of :progra Authentication URL -.. envvar:: OS_URL +.. envvar:: OS_AUTH_TYPE + + Define the authentication plugin that will be used to handle the + authentication process. One of the following: + + - ``v2password`` + - ``v2token`` + - ``v3password`` + - ``v3token`` + - ``v3oidcclientcredentials`` + - ``v3oidcpassword`` + - ``v3oidcauthorizationcode`` + - ``v3oidcaccesstoken`` + - ``v3totp`` + - ``v3tokenlessauth`` + - ``v3applicationcredential`` + - ``v3multifactor`` + +.. envvar:: OS_ENDPOINT - Service URL (when using the service token) + Service ENDPOINT (when using the service token) .. envvar:: OS_DOMAIN_NAME @@ -473,6 +535,56 @@ The following environment variables can be set to alter the behaviour of :progra Interface type. Valid options are `public`, `admin` and `internal`. +.. envvar:: OS_PROTOCOL + + Define the protocol that is used to execute the federated authentication + process. It is used in the Keystone authentication URL generation process. + +.. envvar:: OS_IDENTITY_PROVIDER + + Define the identity provider of your federation that will be used. It is + used by the Keystone authentication URL generation process. The available + Identity Providers can be listed using the + :program:`openstack identity provider list` command + +.. envvar:: OS_CLIENT_ID + + Configure the ``CLIENT_ID`` that the CLI will use to authenticate the + application (OpenStack) in the Identity Provider. This value is defined on + the identity provider side. Do not confuse with the user ID. + +.. envvar:: OS_CLIENT_SECRET + + Configure the OS_CLIENT_SECRET that the CLI will use to authenticate the + CLI (OpenStack secret in the identity provider). + +.. envvar:: OS_OPENID_SCOPE + + Configure the attribute scopes that will be claimed by the Service Provider + (SP), in this case OpenStack, from the identity provider. These scopes and + which attributes each scope contains are defined in the identity provider + side. This parameter can receive multiple values separated by space. + +.. envvar:: OS_ACCESS_TOKEN_TYPE + + Define the type of access token that is used in the token introspection + process. + This variable can assume only one of the states ("access_token" or + "id_token"). + +.. envvar:: OS_DISCOVERY_ENDPOINT + + Configure the identity provider's discovery URL. This URL will provide a + discover document that contains metadata describing the identity provider + endpoints. This variable is optional if the variable + ``OS_ACCESS_TOKEN_ENDPOINT`` is defined. + +.. envvar:: OS_ACCESS_TOKEN_ENDPOINT + + Overrides the value presented in the discovery document retrieved from + ``OS_DISCOVERY_ENDPOINT`` URL request. This variable is optional if the + ``OS_DISCOVERY_ENDPOINT`` is configured. + .. NOTE:: If you switch to openstackclient from project specified clients, like: novaclient, neutronclient and so on, please use `OS_INTERFACE` instead of @@ -481,8 +593,8 @@ The following environment variables can be set to alter the behaviour of :progra BUGS ==== -Bug reports are accepted at the python-openstackclient StoryBoard project -"https://storyboard.openstack.org/#!/project/975". +Bug reports are accepted at the python-openstackclient Launchpad project +"https://bugs.launchpad.net/python-openstackclient". AUTHORS diff --git a/doc/source/cli/plugin-commands/congress.rst b/doc/source/cli/plugin-commands/congress.rst deleted file mode 100644 index 7a1e63b76a..0000000000 --- a/doc/source/cli/plugin-commands/congress.rst +++ /dev/null @@ -1,4 +0,0 @@ -congress --------- - -.. autoprogram-cliff:: openstack.congressclient.v1 diff --git a/doc/source/cli/plugin-commands/cyborg.rst b/doc/source/cli/plugin-commands/cyborg.rst new file mode 100644 index 0000000000..aedaa6b53d --- /dev/null +++ b/doc/source/cli/plugin-commands/cyborg.rst @@ -0,0 +1,4 @@ +cyborg +------ + +.. autoprogram-cliff:: openstack.accelerator.v2 diff --git a/doc/source/cli/plugin-commands/index.rst b/doc/source/cli/plugin-commands/index.rst index 2c3bda3e0f..2622ee58b3 100644 --- a/doc/source/cli/plugin-commands/index.rst +++ b/doc/source/cli/plugin-commands/index.rst @@ -9,39 +9,19 @@ Plugin Commands aodh barbican - congress + cyborg designate gnocchi heat ironic ironic-inspector - karbor + magnum + manila mistral neutron octavia placement - rsd - sahara - searchlight - senlin trove watcher zaqar zun - -.. TODO(efried): Make pages for the following once they're fixed. - -.. cue -.. # cueclient is not in global-requirements -.. # list-plugins:: openstack.mb.v1 -.. # :detailed: - -.. murano -.. # the murano docs cause warnings and a broken docs build -.. # .. list-plugins:: openstack.application_catalog.v1 -.. # :detailed: - -.. tripleo -.. # tripleoclient is not in global-requirements -.. # list-plugins:: openstack.tripleoclient.v1 -.. # :detailed: diff --git a/doc/source/cli/plugin-commands/karbor.rst b/doc/source/cli/plugin-commands/karbor.rst deleted file mode 100644 index 0e28ba5733..0000000000 --- a/doc/source/cli/plugin-commands/karbor.rst +++ /dev/null @@ -1,4 +0,0 @@ -karbor ------- - -.. autoprogram-cliff:: openstack.data_protection.v1 diff --git a/doc/source/cli/plugin-commands/magnum.rst b/doc/source/cli/plugin-commands/magnum.rst new file mode 100644 index 0000000000..9b3f9f7e8a --- /dev/null +++ b/doc/source/cli/plugin-commands/magnum.rst @@ -0,0 +1,4 @@ +magnum +------ + +.. autoprogram-cliff:: openstack.container_infra.v1 diff --git a/doc/source/cli/plugin-commands/manila.rst b/doc/source/cli/plugin-commands/manila.rst new file mode 100644 index 0000000000..c42d6065f4 --- /dev/null +++ b/doc/source/cli/plugin-commands/manila.rst @@ -0,0 +1,4 @@ +manila +------ + +.. autoprogram-cliff:: openstack.share.v2 diff --git a/doc/source/cli/plugin-commands/rsd.rst b/doc/source/cli/plugin-commands/rsd.rst deleted file mode 100644 index d28cea316f..0000000000 --- a/doc/source/cli/plugin-commands/rsd.rst +++ /dev/null @@ -1,4 +0,0 @@ -rsd ---- - -.. autoprogram-cliff:: openstack.rsd.v2 diff --git a/doc/source/cli/plugin-commands/sahara.rst b/doc/source/cli/plugin-commands/sahara.rst deleted file mode 100644 index 7c51756a3a..0000000000 --- a/doc/source/cli/plugin-commands/sahara.rst +++ /dev/null @@ -1,4 +0,0 @@ -sahara ------- - -.. autoprogram-cliff:: openstack.data_processing.v1 diff --git a/doc/source/cli/plugin-commands/searchlight.rst b/doc/source/cli/plugin-commands/searchlight.rst deleted file mode 100644 index be934aeb36..0000000000 --- a/doc/source/cli/plugin-commands/searchlight.rst +++ /dev/null @@ -1,4 +0,0 @@ -searchlight ------------ - -.. autoprogram-cliff:: openstack.search.v1 diff --git a/doc/source/cli/plugin-commands/senlin.rst b/doc/source/cli/plugin-commands/senlin.rst deleted file mode 100644 index 90929058f8..0000000000 --- a/doc/source/cli/plugin-commands/senlin.rst +++ /dev/null @@ -1,4 +0,0 @@ -senlin ------- - -.. autoprogram-cliff:: openstack.clustering.v1 diff --git a/doc/source/conf.py b/doc/source/conf.py index 4de95fbb82..6ee3145558 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # # OpenStack Command Line Client documentation build configuration file, created # by sphinx-quickstart on Wed May 16 12:05:58 2012. @@ -15,53 +14,54 @@ # -- General configuration ---------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' +# needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', - 'sphinx.ext.doctest', - 'sphinx.ext.todo', - 'openstackdocstheme', - 'stevedore.sphinxext', - 'cliff.sphinxext', - 'sphinxcontrib.apidoc', - ] +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.doctest', + 'sphinx.ext.todo', + 'openstackdocstheme', + 'stevedore.sphinxext', + 'cliff.sphinxext', + 'sphinxcontrib.apidoc', +] # openstackdocstheme options -repository_name = 'openstack/python-openstackclient' -use_storyboard = True +openstackdocs_repo_name = 'openstack/python-openstackclient' +openstackdocs_auto_name = False # Add project 'foo' to this list to enable the :foo-doc: role -openstack_projects = [ +openstackdocs_projects = [ 'neutron', ] # Add any paths that contain templates here, relative to this directory. -#templates_path = ['_templates'] +# templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. -#source_encoding = 'utf-8-sig' +# source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. -project = u'OpenStack Command Line Client' -copyright = u'2012-2013 OpenStack Foundation' +project = 'OpenStack Command Line Client' +copyright = '2012-2013 OpenStack Foundation' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. -#language = None +# language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: -#today = '' +# today = '' # Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' +# today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -69,21 +69,21 @@ # The reST default role (used for this markup: `text`) to use for all # documents. -#default_role = None +# default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True +# add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -#add_module_names = True +# add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. -#show_authors = False +# show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = 'native' # A list of ignored prefixes for module index sorting. modindex_common_prefix = ['openstackclient.'] @@ -93,80 +93,75 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -#html_theme_path = ["."] -#html_theme = '_theme' +# html_theme_path = ["."] +# html_theme = '_theme' html_theme = 'openstackdocs' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +# html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +# html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +# html_title = None # A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +# html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +# html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -#html_favicon = None +# html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -#html_static_path = ['_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' -html_last_updated_fmt = '%Y-%m-%d %H:%M' +# html_static_path = ['_static'] # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. -#html_use_smartypants = True +# html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +# html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. -#html_additional_pages = {} +# html_additional_pages = {} # If false, no module index is generated. -#html_domain_indices = True +# html_domain_indices = True # If false, no index is generated. -#html_use_index = True +# html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False +# html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +# html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True +# html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True +# html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +# html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None +# html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = 'OpenStackCommandLineClientdoc' @@ -178,44 +173,46 @@ # -- Options for LaTeX output ------------------------------------------------- latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', + # The paper size ('letterpaper' or 'a4paper'). + #'papersize': 'letterpaper', + # The font size ('10pt', '11pt' or '12pt'). + #'pointsize': '10pt', + # Additional stuff for the LaTeX preamble. + #'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]) # . latex_documents = [ - ('index', 'OpenStackCommandLineClient.tex', - u'OpenStack Command Line Client Documentation', - u'OpenStack', 'manual'), + ( + 'index', + 'OpenStackCommandLineClient.tex', + 'OpenStack Command Line Client Documentation', + 'OpenStack', + 'manual', + ), ] # The name of an image file (relative to this directory) to place at the top of # the title page. -#latex_logo = None +# latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -#latex_use_parts = False +# latex_use_parts = False # If true, show page references after internal links. -#latex_show_pagerefs = False +# latex_show_pagerefs = False # If true, show URL addresses after external links. -#latex_show_urls = False +# latex_show_urls = False # Documents to append as an appendix to all manuals. -#latex_appendices = [] +# latex_appendices = [] # If false, no module index is generated. -#latex_domain_indices = True +# latex_domain_indices = True # -- Options for manual page output ------------------------------------------- @@ -226,14 +223,14 @@ ( 'cli/man/openstack', 'openstack', - u'OpenStack Command Line Client', - [u'OpenStack contributors'], + 'OpenStack Command Line Client', + ['OpenStack contributors'], 1, ), ] # If true, show URL addresses after external links. -#man_show_urls = False +# man_show_urls = False # -- Options for Texinfo output ----------------------------------------------- @@ -242,21 +239,25 @@ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'OpenStackCommandLineClient', - u'OpenStack Command Line Client Documentation', - u'OpenStack', 'OpenStackCommandLineClient', - 'One line description of project.', - 'Miscellaneous'), + ( + 'index', + 'OpenStackCommandLineClient', + 'OpenStack Command Line Client Documentation', + 'OpenStack', + 'OpenStackCommandLineClient', + 'One line description of project.', + 'Miscellaneous', + ), ] # Documents to append as an appendix to all manuals. -#texinfo_appendices = [] +# texinfo_appendices = [] # If false, no module index is generated. -#texinfo_domain_indices = True +# texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' +# texinfo_show_urls = 'footnote' # -- Options for cliff.sphinxext plugin --------------------------------------- @@ -264,9 +265,20 @@ autoprogram_cliff_application = 'openstack' autoprogram_cliff_ignored = [ - '--help', '--format', '--column', '--max-width', '--fit-width', - '--print-empty', '--prefix', '--noindent', '--quote'] + '--help', + '--format', + '--column', + '--max-width', + '--fit-width', + '--print-empty', + '--prefix', + '--noindent', + '--quote', +] +# Prevent cliff from generating "This command is provided by the +# python-openstackclient plugin." +autoprogram_cliff_app_dist_name = 'python-openstackclient' # -- Options for sphinxcontrib.apidoc ---------------------------------------- diff --git a/doc/source/contributor/command-errors.rst b/doc/source/contributor/command-errors.rst index c4adb7d190..f47dfec7c3 100644 --- a/doc/source/contributor/command-errors.rst +++ b/doc/source/contributor/command-errors.rst @@ -29,8 +29,9 @@ Example This example is taken from ``keypair create`` where the ``--public-key`` option specifies a file containing the public key to upload. If the file is not found, -the IOError exception is trapped and a more specific CommandError exception is -raised that includes the name of the file that was attempted to be opened. +the ``IOError`` exception is trapped and a more specific ``CommandError`` +exception is raised that includes the name of the file that was attempted to be +opened. .. code-block:: python @@ -45,7 +46,7 @@ raised that includes the name of the file that was attempted to be opened. public_key = parsed_args.public_key if public_key: try: - with io.open( + with open( os.path.expanduser(parsed_args.public_key), "rb" ) as p: @@ -56,8 +57,8 @@ raised that includes the name of the file that was attempted to be opened. msg % (parsed_args.public_key, e), ) - keypair = compute_client.keypairs.create( - parsed_args.name, + keypair = compute_client.create_keypair( + name=parsed_args.name, public_key=public_key, ) diff --git a/doc/source/contributor/command-wrappers.rst b/doc/source/contributor/command-wrappers.rst index 2a5d92239d..cf4eece23a 100644 --- a/doc/source/contributor/command-wrappers.rst +++ b/doc/source/contributor/command-wrappers.rst @@ -7,7 +7,7 @@ We do this with a message logged at WARNING level before any command output is emitted. OpenStackClient command classes are derived from the ``cliff`` classes. -Cliff uses ``setuptools`` entry points for dispatching the parsed command +Cliff uses Python's *entry points* mechanism for dispatching the parsed command to the respective handler classes. This lends itself to modifying the command execution at run-time. diff --git a/doc/source/contributor/developing.rst b/doc/source/contributor/developing.rst index 5b859199bf..c6573b9ba6 100644 --- a/doc/source/contributor/developing.rst +++ b/doc/source/contributor/developing.rst @@ -6,16 +6,18 @@ Communication ------------- IRC Channel -=========== +~~~~~~~~~~~ + The OpenStackClient team doesn't have regular meetings so if you have questions or anything you want to discuss, come to our channel: #openstack-sdks + Testing ------- Tox prerequisites and installation -================================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Install the prerequisites for Tox: @@ -23,23 +25,22 @@ Install the prerequisites for Tox: .. code-block:: bash - $ apt-get install gcc gettext python-dev libxml2-dev libxslt1-dev \ + $ apt-get install gcc gettext python3-dev libxml2-dev libxslt1-dev \ zlib1g-dev You may need to use pip install for some packages. - * On RHEL or CentOS including Fedora: .. code-block:: bash - $ yum install gcc python-devel libxml2-devel libxslt-devel + $ yum install gcc python3-devel libxml2-devel libxslt-devel * On openSUSE or SUSE linux Enterprise: .. code-block:: bash - $ zypper install gcc python-devel libxml2-devel libxslt-devel + $ zypper install gcc python3-devel libxml2-devel libxslt-devel Install python-tox: @@ -59,18 +60,18 @@ To run the full suite of tests maintained within OpenStackClient. virtualenvs. You can later use the ``-r`` option with ``tox`` to rebuild your virtualenv in a similar manner. - -To run tests for one or more specific test environments(for example, the most common configuration of -Python 2.7 and PEP-8), list the environments with the ``-e`` option, separated by spaces: +To run tests for one or more specific test environments (for example, the most +common configuration of the latest Python version and PEP-8), list the +environments with the ``-e`` option, separated by spaces: .. code-block:: bash - $ tox -e py27,pep8 + $ tox -e py38,pep8 See ``tox.ini`` for the full list of available test environments. Running functional tests -======================== +~~~~~~~~~~~~~~~~~~~~~~~~ OpenStackClient also maintains a set of functional tests that are optimally designed to be run against OpenStack's gate. Optionally, a developer may @@ -87,18 +88,18 @@ To run a specific functional test: .. code-block:: bash - $ tox -e functional -- --regex functional.tests.compute.v2.test_server + $ tox -e functional -- --regex tests.functional.compute.v2.test_server Running with PDB -================ +~~~~~~~~~~~~~~~~ Using PDB breakpoints with ``tox`` and ``testr`` normally does not work since the tests fail with a `BdbQuit` exception rather than stopping at the breakpoint. -To run with PDB breakpoints during testing, use the `debug` ``tox`` environment -rather than ``py27``. For example, passing a test name since you will normally -only want to run the test that hits your breakpoint: +To run with PDB breakpoints during testing, use the ``debug`` ``tox`` +environment. For example, passing a test name since you will normally only want +to run the test that hits your breakpoint: .. code-block:: bash @@ -109,8 +110,32 @@ For reference, the `debug`_ ``tox`` environment implements the instructions .. _`debug`: https://wiki.openstack.org/wiki/Testr#Debugging_.28pdb.29_Tests -Building the Documentation --------------------------- +Coding Style +------------ + +OpenStackClient uses `flake8`__ along with `hacking`__, an OpenStack-specific +superset of ``flake8`` rules, to enforce coding style. This can be run manually +using ``tox``: + +.. code-block:: bash + + $ tox -e pep8 + +Alternatively, you can use the `pre-commit framework`__ to allow running of +some linters on each commit. This must be enabled locally to function: + +.. code-block:: bash + + $ pip install --user pre-commit + $ pre-commit install --allow-missing-config + +.. __: https://flake8.pycqa.org/en/latest/ +.. __: https://docs.openstack.org/hacking/latest/user/hacking.html +.. __: https://pre-commit.com/ + + +Documentation +------------- The documentation is generated with Sphinx using the ``tox`` command. To create HTML docs, run the commands: @@ -121,6 +146,7 @@ create HTML docs, run the commands: The resultant HTML will be in the ``doc/build/html`` directory. + Release Notes ------------- @@ -156,6 +182,7 @@ To run the commands and see results: At last, look at the generated release notes files in ``releasenotes/build/html`` in your browser. + Testing new code ---------------- @@ -174,7 +201,7 @@ or $ pip install -e . Standardize Import Format -========================= +~~~~~~~~~~~~~~~~~~~~~~~~~ More information about Import Format, see `Import Order Guide `__. @@ -193,19 +220,17 @@ The import order shows below: {{begin your code}} Example -~~~~~~~ +^^^^^^^ .. code-block:: python import copy import fixtures - import mock import os from osc_lib.api import auth from osc_lib import utils - import six from openstackclient import shell from openstackclient.tests import utils - + from unittest import mock diff --git a/doc/source/contributor/humaninterfaceguide.rst b/doc/source/contributor/humaninterfaceguide.rst index a7db380053..db6d7987b9 100644 --- a/doc/source/contributor/humaninterfaceguide.rst +++ b/doc/source/contributor/humaninterfaceguide.rst @@ -117,14 +117,14 @@ interface to the user, not the user to the interface. Commands should be discoverable via the interface itself. -To determine a list of available commands, use the :code:`-h` or -:code:`--help` options: +To determine a list of available commands, use the ``-h`` or +``--help`` options: .. code-block:: bash $ openstack --help -For help with an individual command, use the :code:`help` command: +For help with an individual command, use the ``help`` command: .. code-block:: bash @@ -167,7 +167,7 @@ Command Structure OpenStackClient has a consistent and predictable format for all of its commands. -* The top level command name is :code:`openstack` +* The top level command name is ``openstack`` * Sub-commands take the form: .. code-block:: bash @@ -185,6 +185,21 @@ Output formats: * user-friendly tables with headers, etc * machine-parsable delimited +.. note:: + + A note on terminology. An **argument** is a positional parameter to the + command. As discussed later, these should be used sparingly in + OpenStackClient. An **option** - also known as a **flag** - is a named + parameter denoted with either a hyphen and a single-letter name (``-r``) or + a double hyphen and a multiple-letter name (``--recursive``). They may or + may not also include a user-specified value (``--file foo.txt`` or + ``--file=foo.txt``). + + For more information on this topic and CLIs in general, refer to the + excellent `Command Line Interface Guidelines website`__. + + .. __: https://clig.dev/#arguments-and-flags + Global Options ~~~~~~~~~~~~~~ @@ -193,84 +208,151 @@ invocation regardless of action to be performed. They include authentication credentials and API version selection. Most global options have a corresponding environment variable that may also be used to set the value. If both are present, the command-line option takes priority. The environment variable names are derived -from the option name by dropping the leading dashes ('--'), converting each embedded -dash ('-') to an underscore ('_'), and converting to upper case. +from the option name by dropping the leading dashes (``--``), converting each embedded +dash (``-``) to an underscore (``_``), and converting to upper case. * Global options shall always have a long option name, certain common options may also have short names. Short names should be reserved for global options to limit the potential for duplication and multiple meanings between commands given the limited set of available short names. -* All long options names shall begin with two dashes ('--') and use a single dash - ('-') internally between words (:code:`--like-this`). Underscores ('_') shall not + +* All long options names shall begin with two dashes (``--``) and use a single dash + (``-``) internally between words (``--like-this``). Underscores (``_``) shall not be used in option names. + * Authentication options conform to the common CLI authentication guidelines in :ref:`authentication`. -For example, :code:`--os-username` can be set from the environment via -:code:`OS_USERNAME`. +For example, ``--os-username`` can be set from the environment via +``OS_USERNAME``. ---help -++++++ +``--help`` +++++++++++ -The standard :code:`--help` global option displays the documentation for invoking +The standard ``--help`` global option displays the documentation for invoking the program and a list of the available commands on standard output. All other options and commands are ignored when this is present. The traditional short -form help option (:code:`-h`) is also available. +form help option (``-h``) is also available. ---version -+++++++++ +``--version`` ++++++++++++++ -The standard :code:`--version` option displays the name and version on standard +The standard ``--version`` option displays the name and version on standard output. All other options and commands are ignored when this is present. -Command Object(s) and Action -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Objects and Actions +~~~~~~~~~~~~~~~~~~~ -Commands consist of an object described by one or more words followed by an action. Commands that require two objects have the primary object ahead of the action and the secondary object after the action. Any positional arguments identifying the objects shall appear in the same order as the objects. In badly formed English it is expressed as "(Take) object1 (and perform) action (using) object2 (to it)." +Commands consist of an object, described by one or more words, followed by an +action. :: - [] + -Examples: +For example: -* :code:`group add user ` -* :code:`volume type list` # Note that :code:`volume type` is a two-word - single object +* ``group create`` +* ``server set`` +* ``volume type list`` -The :code:`help` command is unique as it appears in front of a normal command -and displays the help text for that command rather than execute it. +(note that ``volume type`` is a two-word single object) + +Some commands require two objects. These commands have the primary object ahead of the +action and the secondary object after the action. In badly formed English it is +expressed as "(Take) object-1 (and perform) action (using) object-2 (to it)." :: + + + +For example: + +* ``group add user`` +* ``aggregate add host`` +* ``image remove project`` Object names are always specified in command in their singular form. This is contrary to natural language use. -Command Arguments and Options -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``help`` +++++++++ + +The ``help`` command is unique as it appears in front of a normal command +and displays the help text for that command rather than execute it. + +Arguments +~~~~~~~~~ + +Commands that interact with a specific instance of an object should accept a +single argument. This argument should be a name or identifier for the object. +:: + + [] + +For example: + +* ``group create `` +* ``server set `` + +(note that ``volume type`` is a two-word single object) + +For commands that require two objects, the commands should accept two +arguments when interacting with specific instances of the two objects. These +arguments should appear in the same order as the objects. :: + + [ ] + +For example: + +* ``group add user `` +* ``aggregate add host `` +* ``image remove project `` + +Options +~~~~~~~ Each command may have its own set of options distinct from the global options. They follow the same style as the global options and always appear between -the command and any positional arguments the command requires. +the command and any arguments the command requires. -Command options shall only have long names. The small range of available -short names makes it hard for a single short option name to have a consistent -meaning across multiple commands. +Command options should only have long names. The small range of available short +names makes it hard for a single short option name to have a consistent meaning +across multiple commands. Option Forms ++++++++++++ -* **boolean**: boolean options shall use a form of :code:`--|--` - (preferred) or :code:`--