nova/api-ref/source/os-networks.inc
Stephen Finucane 1b71252a5f Remove (most) '/os-networks' REST APIs
Drop support for most of the 'os-networks' REST APIs excluding those
that proxy through to neutron.

This API now returns a 410 response for the non-proxy routes.

Unit tests are removed for removed APIs and the functional API sample
tests are just asserting the 410 response now same. The latter are also
expanded to cover APIs that weren't previously tested.

The API sample docs are left intact since the API reference still builds
from those and can be considered more or less branchless, so people
looking at the API reference can apply it to older deployments of nova
before these APIs were removed.

Note: yes, the API samples are correct. It really is a useless API when
used with neutron.

Change-Id: I68bfa77a520382317fc490a4f6c12dd62fc6dcda
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-11-18 16:25:47 +00:00

305 lines
7.4 KiB
ReStructuredText

.. -*- rst -*-
======================================
Networks (os-networks) (DEPRECATED)
======================================
.. warning::
This API was designed to work with ``nova-network`` which was deprecated in
the 14.0.0 (Newton) release and removed in the 21.0.0 (Ussuri) release. Some
features are proxied to the Network service (neutron) when appropriate, but
as with all translation proxies, this is far from perfect compatibility.
These APIs should be avoided in new applications in favor of `using
neutron directly`__. These will fail with a 404 starting from microversion
2.36. They were removed in the 21.0.0 (Ussuri) release.
__ https://docs.openstack.org/api-ref/network/v2/#networks
Creates, lists, shows information for, and deletes networks.
Adds network to a project, disassociates a network from a project, and
disassociates a project from a network.
Associates host with and disassociates host from a network.
List Networks
=============
.. rest_method:: GET /os-networks
Lists networks for the project.
Policy defaults enable all users to perform this operation. Cloud
providers can change these permissions through the ``policy.json`` file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403)
Response
--------
**Example List Networks: JSON response**
.. literalinclude:: ../../doc/api_samples/os-networks/networks-list-resp.json
:language: javascript
Create Network
==============
.. rest_method:: POST /os-networks
Creates a network.
Policy defaults enable only users with the administrative role or the
owner of the network to perform this operation. Cloud providers can change
these permissions through the ``policy.json`` file.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403),
conflict(409), gone(410), notImplemented(501)
Request
-------
**Example Create Network: JSON request**
.. literalinclude:: ../../doc/api_samples/os-networks/network-create-req.json
:language: javascript
Response
--------
**Example Create Network: JSON response**
.. literalinclude:: ../../doc/api_samples/os-networks/network-create-resp.json
:language: javascript
Add Network
===========
.. rest_method:: POST /os-networks/add
Adds a network to a project.
Policy defaults enable only users with the administrative role to perform
this operation. Cloud providers can change these permissions through the
``policy.json`` file.
Normal response codes: 202
Error response codes: badRequest(400), unauthorized(401), forbidden(403),
gone(410), notImplemented(501)
Request
-------
**Example Add Network: JSON request**
.. literalinclude:: ../../doc/api_samples/os-networks/network-add-req.json
:language: javascript
Response
--------
Show Network Details
====================
.. rest_method:: GET /os-networks/{network_id}
Shows details for a network.
Policy defaults enable all users to perform this operation. Cloud providers
can change these permissions through the ``policy.json`` file.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- network_id: network_id
Response
--------
**Example Show Network Details: JSON response**
.. literalinclude:: ../../doc/api_samples/os-networks/network-show-resp.json
:language: javascript
Delete Network
==============
.. rest_method:: DELETE /os-networks/{network_id}
Deletes a network.
Policy defaults enable only users with the administrative role or the
owner of the network to perform this operation. Cloud providers can change
these permissions through the ``policy.json`` file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404),
conflict(409), gone(410)
Request
-------
.. rest_parameters:: parameters.yaml
- network_id: network_id
Response
--------
There is no body content for the response of a successful DELETE query.
Associate Host
==============
.. rest_method:: POST /os-networks/{network_id}/action
Associates a network with a host.
Specify the ``associate_host`` action in the request body.
Policy defaults enable only users with the administrative role or the owner
of the network to perform this operation. Cloud providers can change these
permissions through the ``policy.json`` file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404),
gone(410), notImplemented(501)
Request
-------
.. rest_parameters:: parameters.yaml
- network_id: network_id
- associate_host: associate_host
**Example Associate Host to Network: JSON request**
.. literalinclude:: ../../doc/api_samples/os-networks-associate/network-associate-host-req.json
:language: javascript
Response
--------
There is no body content for the response of a successful POST query.
Disassociate Network
====================
.. rest_method:: POST /os-networks/{network_id}/action
Disassociates a network from a project. You can then reuse the network.
Specify the ``disassociate`` action in the request body.
Policy defaults enable only users with the administrative role or the
owner of the network to perform this operation. Cloud providers can change
these permissions through the ``policy.json`` file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404),
gone(410), notImplemented(501)
Request
-------
.. rest_parameters:: parameters.yaml
- network_id: network_id
**Example Disassociate Network: JSON request**
.. literalinclude:: ../../doc/api_samples/os-networks-associate/network-disassociate-req.json
:language: javascript
Response
--------
There is no body content for the response of a successful POST query.
Disassociate Host
=================
.. rest_method:: POST /os-networks/{network_id}/action
Disassociates a host from a network.
Specify the ``disassociate_host`` action in the request body.
Policy defaults enable only users with the administrative role or the
owner of the network to perform this operation. Cloud providers can change
these permissions through the ``policy.json`` file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404),
gone(410), notImplemented(501)
Request
-------
.. rest_parameters:: parameters.yaml
- network_id: network_id
**Example Disassociate Host from Network: JSON request**
.. literalinclude:: ../../doc/api_samples/os-networks-associate/network-disassociate-host-req.json
:language: javascript
Response
--------
There is no body content for the response of a successful POST query.
Disassociate Project
====================
.. rest_method:: POST /os-networks/{network_id}/action
Disassociates a project from a network.
Specify the ``disassociate_project`` action in the request body.
Policy defaults enable only users with the administrative role or the
owner of the network to perform this operation. Cloud providers can change
these permissions through the ``policy.json`` file.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404),
gone(410), notImplemented(501)
Request
-------
.. rest_parameters:: parameters.yaml
- network_id: network_id
**Example Disassociate Project from Network: JSON request**
.. literalinclude:: ../../doc/api_samples/os-networks-associate/network-disassociate-project-req.json
:language: javascript
Response
--------
There is no body content for the response of a successful POST query.