c9f5ad3bcf
As discussed at summit, the version part of the URL is not really relevant, or a thing a user should be filling out themselves, this should instead be set by the service catalog and extracted from the token. This removes it's reference in all documented REST urls, and adds a new section describing how one gets the base URL for all calls. Change-Id: I4306b8c3de0225e54f3909dd8a1fb293c4e5944c
154 lines
4.6 KiB
ReStructuredText
154 lines
4.6 KiB
ReStructuredText
.. -*- rst -*-
|
|
.. needs:parameter_verification
|
|
.. needs:example_verification
|
|
.. needs:body_verification
|
|
|
|
================================
|
|
Floating IPs (os-floating-ips)
|
|
================================
|
|
|
|
Lists floating IP addresses for a project. Also, creates (allocates) a
|
|
floating IP address for a project, shows floating IP address details,
|
|
and deletes (deallocates) a floating IP address from a project.
|
|
|
|
The cloud administrator configures a pool of floating IP addresses in
|
|
OpenStack Compute. The project quota defines the maximum number of
|
|
floating IP addresses that you can allocate to the project. After you
|
|
`allocate a floating IP
|
|
address <http://developer.openstack.org/api-ref-compute-v2.1.html#createFloatingIP>`__
|
|
for a project, you can:
|
|
|
|
- `Add (associate) the floating IP
|
|
address <http://developer.openstack.org/api-ref-compute-v2.1.html#addFloatingIp>`__
|
|
with an instance in the project. You can associate only one floating
|
|
IP address with an instance at a time.
|
|
|
|
- `Remove (disassociate) the floating IP
|
|
address <http://developer.openstack.org/api-ref-compute-v2.1.html#removeFloatingIp>`__
|
|
from an instance in the project.
|
|
|
|
- Delete, or deallocate, a floating IP from the project, which
|
|
automatically deletes any associations for that IP address.
|
|
|
|
List Floating Ip Addresses
|
|
==========================
|
|
|
|
.. rest_method:: GET /os-floating-ips
|
|
|
|
Lists floating IP addresses associated with the tenant or account.
|
|
|
|
Policy defaults enable only users with the administrative role
|
|
or the owner of the server 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 Floating Ip Addresses: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-floating-ips/floating-ips-list-resp.json
|
|
:language: javascript
|
|
|
|
Create (Allocate) Floating Ip Address
|
|
=====================================
|
|
|
|
.. rest_method:: POST /os-floating-ips
|
|
|
|
Creates, or allocates, a floating IP address for the current project.
|
|
By default, the floating IP address is allocated from the public pool.
|
|
|
|
If more than one floating IP address pool is available, use the
|
|
``pool`` parameter to specify from which pool to allocate the IP address.
|
|
|
|
Policy defaults enable only users with the administrative role or
|
|
the owner of the server 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), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- pool: pool
|
|
|
|
**Example Create (Allocate) Floating Ip Address: JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-floating-ips/floating-ips-create-req.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
**Example Create (Allocate) Floating Ip Address: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-floating-ips/floating-ips-create-resp.json
|
|
:language: javascript
|
|
|
|
Show Floating Ip Address Details
|
|
================================
|
|
|
|
.. rest_method:: GET /os-floating-ips/{floating_ip_id}
|
|
|
|
Shows details for a floating IP address, by ID, that is associated with the tenant or account.
|
|
|
|
Policy defaults enable only users with the administrative role or
|
|
the owner of the server 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), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- floating_ip_id: floating_ip_id
|
|
|
|
Response
|
|
--------
|
|
|
|
**Example Show Floating Ip Address Details: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-floating-ips/floating-ips-get-resp.json
|
|
:language: javascript
|
|
|
|
Delete (Deallocate) Floating Ip Address
|
|
=======================================
|
|
|
|
.. rest_method:: DELETE /os-floating-ips/{floating_ip_id}
|
|
|
|
Deletes, or deallocates, a floating IP address from the current project and
|
|
returns it to the pool from which it was allocated.
|
|
|
|
If the IP address is still associated with a running instance,
|
|
it is automatically disassociated from that instance.
|
|
|
|
Policy defaults enable only users with the administrative role or
|
|
the owner of the server 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), itemNotFound(404),
|
|
conflict(409)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- floating_ip_id: floating_ip_id
|
|
|
|
Response
|
|
--------
|