2017-02-13 15:28:29 -08:00
|
|
|
.. -*- rst -*-
|
|
|
|
|
2017-05-11 17:02:57 -07:00
|
|
|
List Load Balancers
|
2017-02-13 15:28:29 -08:00
|
|
|
===================
|
|
|
|
|
2018-04-06 19:55:01 -07:00
|
|
|
.. rest_method:: GET /v2/lbaas/loadbalancers
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Lists all load balancers for the project.
|
|
|
|
|
|
|
|
Use the ``fields`` query parameter to control which fields are
|
|
|
|
returned in the response body. Additionally, you can filter results
|
|
|
|
by using query string parameters. For information, see :ref:`filtering`.
|
|
|
|
|
|
|
|
Administrative users can specify a project ID that is different than their own
|
|
|
|
to list load balancers for other projects.
|
|
|
|
|
|
|
|
The list might be empty.
|
|
|
|
|
|
|
|
.. rest_status_code:: success ../http-status.yaml
|
|
|
|
|
|
|
|
- 200
|
|
|
|
|
|
|
|
.. rest_status_code:: error ../http-status.yaml
|
|
|
|
|
|
|
|
- 400
|
|
|
|
- 401
|
|
|
|
- 500
|
|
|
|
|
|
|
|
Request
|
|
|
|
-------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
|
|
|
- fields: fields
|
|
|
|
- project_id: project_id_query
|
|
|
|
|
|
|
|
Curl Example
|
|
|
|
------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancers-list-curl
|
|
|
|
:language: bash
|
|
|
|
|
|
|
|
Response Parameters
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
2022-08-24 11:00:11 +02:00
|
|
|
- additional_vips: additional_vips
|
2017-02-13 15:28:29 -08:00
|
|
|
- admin_state_up: admin_state_up
|
2020-03-31 09:19:53 -07:00
|
|
|
- availability_zone: availability-zone-name
|
2017-02-13 15:28:29 -08:00
|
|
|
- created_at: created_at
|
|
|
|
- description: description
|
2018-04-19 16:15:01 -07:00
|
|
|
- flavor_id: flavor-id
|
2017-02-13 15:28:29 -08:00
|
|
|
- id: loadbalancer-id
|
|
|
|
- listeners: listeners
|
|
|
|
- loadbalancers: loadbalancers
|
|
|
|
- name: name
|
|
|
|
- operating_status: operating_status
|
|
|
|
- pools: pools_ids
|
|
|
|
- project_id: project_id
|
|
|
|
- provider: provider
|
|
|
|
- provisioning_status: provisioning_status
|
2018-09-28 16:50:57 +08:00
|
|
|
- tags: tags
|
2017-05-11 17:02:57 -07:00
|
|
|
- updated_at: updated_at
|
2017-02-13 15:28:29 -08:00
|
|
|
- vip_address: vip_address
|
|
|
|
- vip_network_id: vip_network_id
|
|
|
|
- vip_port_id: vip_port_id
|
2017-04-05 13:59:57 +08:00
|
|
|
- vip_qos_policy_id: vip_qos_policy_id
|
2018-02-10 14:28:08 -08:00
|
|
|
- vip_subnet_id: vip_subnet_id
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Response Example
|
|
|
|
----------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancers-list-response.json
|
|
|
|
:language: javascript
|
|
|
|
|
2017-05-11 17:02:57 -07:00
|
|
|
Create a Load Balancer
|
2017-02-13 15:28:29 -08:00
|
|
|
======================
|
|
|
|
|
2018-04-06 19:55:01 -07:00
|
|
|
.. rest_method:: POST /v2/lbaas/loadbalancers
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Creates a load balancer.
|
|
|
|
|
|
|
|
This operation provisions a new load balancer by using the
|
|
|
|
configuration that you define in the request object. After the API
|
|
|
|
validates the request and starts the provisioning process, the API
|
|
|
|
returns a response object that contains a unique ID and the status
|
|
|
|
of provisioning the load balancer.
|
|
|
|
|
|
|
|
In the response, the load balancer :ref:`provisioning status<prov_status>` is
|
|
|
|
``ACTIVE``, ``PENDING_CREATE``, or ``ERROR``.
|
|
|
|
|
|
|
|
If the status is ``PENDING_CREATE``, issue GET
|
2018-04-06 19:55:01 -07:00
|
|
|
``/v2/lbaas/loadbalancers/{loadbalancer_id}`` to view the progress of
|
2017-02-13 15:28:29 -08:00
|
|
|
the provisioning operation. When the load balancer status changes
|
|
|
|
to ``ACTIVE``, the load balancer is successfully provisioned and
|
|
|
|
is ready for further configuration.
|
|
|
|
|
|
|
|
If the API cannot fulfill the request due to insufficient data or
|
|
|
|
data that is not valid, the service returns the HTTP ``Bad Request
|
|
|
|
(400)`` response code with information about the failure in the
|
|
|
|
response body. Validation errors require that you correct the error
|
|
|
|
and submit the request again.
|
|
|
|
|
|
|
|
Administrative users can specify a project ID that is different than
|
|
|
|
their own to create load balancers for other projects.
|
|
|
|
|
2018-04-19 16:15:01 -07:00
|
|
|
An optional ``flavor_id`` attribute can be used to create the load balancer
|
2017-02-13 15:28:29 -08:00
|
|
|
using a pre-configured octavia flavor. Flavors are created by the operator
|
|
|
|
to allow custom load balancer configurations, such as allocating more
|
|
|
|
memory for the load balancer.
|
|
|
|
|
2017-04-05 13:59:57 +08:00
|
|
|
An optional ``vip_qos_policy_id`` attribute from Neutron can be used to
|
|
|
|
apply QoS policies on a loadbalancer VIP, also could pass a 'null' value to
|
|
|
|
remove QoS policies.
|
|
|
|
|
2017-02-13 15:28:29 -08:00
|
|
|
You can also specify the ``provider`` attribute when you create a
|
|
|
|
load balancer. The ``provider`` attribute specifies which backend should
|
|
|
|
be used to create the load balancer. This could be the default provider
|
|
|
|
(``octavia``) or a vendor supplied ``provider`` if one has been installed.
|
2021-02-01 18:59:37 +01:00
|
|
|
Setting both a flavor_id and a provider will result in a conflict error if
|
|
|
|
the provider does not match the provider of the configured flavor profiles.
|
2017-02-13 15:28:29 -08:00
|
|
|
|
2017-11-13 16:38:51 +02:00
|
|
|
Specifying a Virtual IP (VIP) is mandatory. There are three ways to specify
|
|
|
|
a VIP network for the load balancer:
|
|
|
|
|
|
|
|
1. Provide a ``vip_port_id``.
|
|
|
|
|
|
|
|
Providing a neutron port ID for the ``vip_port_id`` tells
|
|
|
|
octavia to use this port for the VIP. Some port settings may be changed or
|
|
|
|
removed as required by octavia, but the IP address will be retained. If the
|
|
|
|
port has more than one subnet you must specify either the ``vip_subnet_id``
|
|
|
|
or ``vip_address`` to clarify which address should be used for the VIP.
|
|
|
|
|
|
|
|
2. Provide a ``vip_network_id``.
|
|
|
|
|
|
|
|
When a ``vip_network_ip`` is specified, unless neither ``vip_subnet_id``
|
|
|
|
nor ``vip_address`` is specified, octavia will select a subnet from
|
|
|
|
the network, preferring IPv4 over IPv6 subnets.
|
|
|
|
|
|
|
|
3. Provide a ``vip_subnet_id``.
|
|
|
|
|
|
|
|
Specifying a neutron subnet ID will tell octavia to create a neutron port
|
|
|
|
on this subnet and allocate an IP address from the subnet if the
|
|
|
|
``vip_address`` was not specified. If ``vip_address`` was specified,
|
|
|
|
octavia will attempt to allocate the ``vip_address`` from the subnet for
|
|
|
|
the VIP address.
|
|
|
|
|
2022-08-24 11:00:11 +02:00
|
|
|
Additional VIPs may also be specified in the ``additional_vips`` field, by
|
|
|
|
providing a list of JSON objects containing a ``subnet_id`` and optionally
|
|
|
|
an ``ip_address``. All additional subnets must be part of the same network
|
|
|
|
as the primary VIP.
|
|
|
|
|
2017-02-13 15:28:29 -08:00
|
|
|
.. rest_status_code:: success ../http-status.yaml
|
|
|
|
|
|
|
|
- 201
|
|
|
|
|
|
|
|
.. rest_status_code:: error ../http-status.yaml
|
|
|
|
|
|
|
|
- 400
|
|
|
|
- 401
|
|
|
|
- 403
|
|
|
|
- 404
|
|
|
|
- 500
|
|
|
|
- 503
|
|
|
|
|
|
|
|
Request
|
|
|
|
-------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
2022-08-24 11:00:11 +02:00
|
|
|
- additional_vips: additional_vips
|
2017-02-13 15:28:29 -08:00
|
|
|
- admin_state_up: admin_state_up-default-optional
|
2020-03-31 09:19:53 -07:00
|
|
|
- availability_zone: availability-zone-name-optional
|
2017-02-13 15:28:29 -08:00
|
|
|
- description: description-optional
|
2018-04-19 16:15:01 -07:00
|
|
|
- flavor_id: flavor-id-optional
|
2017-02-13 15:28:29 -08:00
|
|
|
- listeners: listeners-optional
|
|
|
|
- loadbalancer: loadbalancer
|
|
|
|
- name: name-optional
|
|
|
|
- project_id: project_id-optional
|
|
|
|
- provider: provider-optional
|
2018-09-28 16:50:57 +08:00
|
|
|
- tags: tags-optional
|
2017-02-13 15:28:29 -08:00
|
|
|
- vip_address: vip_address-optional
|
|
|
|
- vip_network_id: vip_network_id-optional
|
|
|
|
- vip_port_id: vip_port_id-optional
|
2017-04-05 13:59:57 +08:00
|
|
|
- vip_qos_policy_id: vip_qos_policy_id-optional
|
2018-02-10 14:28:08 -08:00
|
|
|
- vip_subnet_id: vip_subnet_id-optional
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Request Example
|
|
|
|
----------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-create-request.json
|
|
|
|
:language: javascript
|
|
|
|
|
|
|
|
Curl Example
|
|
|
|
------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-create-curl
|
|
|
|
:language: bash
|
|
|
|
|
|
|
|
Response Parameters
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
2022-08-24 11:00:11 +02:00
|
|
|
- additional_vips: additional_vips
|
2017-02-13 15:28:29 -08:00
|
|
|
- admin_state_up: admin_state_up
|
2020-03-31 09:19:53 -07:00
|
|
|
- availability_zone: availability-zone-name
|
2017-02-13 15:28:29 -08:00
|
|
|
- created_at: created_at
|
|
|
|
- description: description
|
2018-04-19 16:15:01 -07:00
|
|
|
- flavor_id: flavor-id
|
2017-02-13 15:28:29 -08:00
|
|
|
- id: loadbalancer-id
|
|
|
|
- listeners: listeners
|
|
|
|
- loadbalancer: loadbalancer
|
|
|
|
- name: name
|
|
|
|
- operating_status: operating_status
|
|
|
|
- pools: pools_ids
|
|
|
|
- project_id: project_id
|
|
|
|
- provider: provider
|
|
|
|
- provisioning_status: provisioning_status
|
2018-09-28 16:50:57 +08:00
|
|
|
- tags: tags
|
2017-05-11 17:02:57 -07:00
|
|
|
- updated_at: updated_at
|
2017-02-13 15:28:29 -08:00
|
|
|
- vip_address: vip_address
|
|
|
|
- vip_network_id: vip_network_id
|
|
|
|
- vip_port_id: vip_port_id
|
2017-04-05 13:59:57 +08:00
|
|
|
- vip_qos_policy_id: vip_qos_policy_id
|
2018-02-10 14:28:08 -08:00
|
|
|
- vip_subnet_id: vip_subnet_id
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Response Example
|
|
|
|
----------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-create-response.json
|
|
|
|
:language: javascript
|
|
|
|
|
|
|
|
Creating a Fully Populated Load Balancer
|
|
|
|
----------------------------------------
|
|
|
|
|
|
|
|
You can configure all documented features of the load balancer at
|
2017-04-29 09:04:43 +09:00
|
|
|
creation time by specifying the additional elements or attributes
|
|
|
|
in the request.
|
Add support for single-create for APIv2
Still need to fix the entry-points for each individual type, but that
wasn't even in the original spec. Not sure if we even want that.
I think this may not do things EXACTLY how the old one did it, we'll
need to look into whether it matters, as we never published docs for it
and I don't think it ever actually worked properly in neutron-lbaas.
Also closing a few bugs that are only peripherally related, because we
(possibly me) forgot to tag them on the individual CRs, but I'm
considering them closed as of this patch. See below for my reasoning on
each individual bug, and feel free to post counter-arguments.
For #1673546 (single-call create): This is the obvious one!
For #1673499 (lb return pool object): Rolled into this patch as a matter
of course, abandoned the original fix as it is no longer relevant.
For #1544214 (root tags): All existing resources now have root tags. Any
new ones will also need root tags, but I would consider this bug closed.
For #1596636 (tenant facing API): Every object is now creatable via the
v2 API, so I would consider this to be complete. Quotas and some
additional work is being finished, but it's not necessary for this IMO.
For #1665446 (hm id): This was resolved in the HM patch, I just forgot
to close it, and including it here will ensure it is release-tracked.
For #1685789 (listener quota): Just shoving it in here as I do the
single-create quotas.
For #1685827 (hm quota): Same as listener quota.
Closes-Bug: #1673546
Closes-Bug: #1673499
Closes-Bug: #1544214
Closes-Bug: #1596636
Closes-Bug: #1665446
Closes-Bug: #1685789
Closes-Bug: #1685827
Depends-On: I3d86482a2999197a60a81d42afc5ef7a6e71e313
Change-Id: I4ff03593e1cfd8dca00a13c0550d6cf95b93d746
2017-04-22 11:12:11 +09:00
|
|
|
|
|
|
|
Note: all pools must have names, and must only be fully defined once. To
|
|
|
|
reference a pool from multiple objects, supply the pool name only for all
|
2017-04-29 09:04:43 +09:00
|
|
|
subsequent references.
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Request Example
|
|
|
|
---------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-full-create-request.json
|
|
|
|
:language: javascript
|
|
|
|
|
|
|
|
Response Example
|
|
|
|
----------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-full-create-response.json
|
|
|
|
:language: javascript
|
|
|
|
|
2017-05-11 17:02:57 -07:00
|
|
|
Show Load Balancer details
|
2017-02-13 15:28:29 -08:00
|
|
|
==========================
|
|
|
|
|
2018-04-06 19:55:01 -07:00
|
|
|
.. rest_method:: GET /v2/lbaas/loadbalancers/{loadbalancer_id}
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Shows the details of a load balancer.
|
|
|
|
|
|
|
|
If you are not an administrative user and the load balancer object does not
|
|
|
|
belong to your project, the service returns the HTTP ``Forbidden (403)``
|
|
|
|
response code.
|
|
|
|
|
|
|
|
This operation does not require a request body.
|
|
|
|
|
|
|
|
.. rest_status_code:: success ../http-status.yaml
|
|
|
|
|
|
|
|
- 200
|
|
|
|
|
|
|
|
.. rest_status_code:: error ../http-status.yaml
|
|
|
|
|
|
|
|
- 401
|
|
|
|
- 403
|
|
|
|
- 404
|
|
|
|
- 500
|
|
|
|
|
|
|
|
Request
|
|
|
|
-------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
2017-05-11 10:42:17 -07:00
|
|
|
- fields: fields
|
2017-02-13 15:28:29 -08:00
|
|
|
- loadbalancer_id: path-loadbalancer-id
|
|
|
|
|
|
|
|
Curl Example
|
|
|
|
------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-show-curl
|
|
|
|
:language: bash
|
|
|
|
|
|
|
|
Response Parameters
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
2022-08-24 11:00:11 +02:00
|
|
|
- additional_vips: additional_vips
|
2017-02-13 15:28:29 -08:00
|
|
|
- admin_state_up: admin_state_up
|
2020-03-31 09:19:53 -07:00
|
|
|
- availability_zone: availability-zone-name
|
2017-02-13 15:28:29 -08:00
|
|
|
- created_at: created_at
|
|
|
|
- description: description
|
2018-04-19 16:15:01 -07:00
|
|
|
- flavor_id: flavor-id
|
2017-02-13 15:28:29 -08:00
|
|
|
- id: loadbalancer-id
|
|
|
|
- loadbalancer: loadbalancer
|
|
|
|
- listeners: listeners
|
|
|
|
- name: name
|
|
|
|
- operating_status: operating_status
|
|
|
|
- pools: pools_ids
|
|
|
|
- project_id: project_id
|
|
|
|
- provider: provider
|
|
|
|
- provisioning_status: provisioning_status
|
2018-09-28 16:50:57 +08:00
|
|
|
- tags: tags
|
2017-05-11 17:02:57 -07:00
|
|
|
- updated_at: updated_at
|
2017-02-13 15:28:29 -08:00
|
|
|
- vip_address: vip_address
|
|
|
|
- vip_network_id: vip_network_id
|
|
|
|
- vip_port_id: vip_port_id
|
2017-04-05 13:59:57 +08:00
|
|
|
- vip_qos_policy_id: vip_qos_policy_id
|
2018-02-10 14:28:08 -08:00
|
|
|
- vip_subnet_id: vip_subnet_id
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Response Example
|
|
|
|
----------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-show-response.json
|
|
|
|
:language: javascript
|
|
|
|
|
2017-05-11 17:02:57 -07:00
|
|
|
Update a Load Balancer
|
2017-02-13 15:28:29 -08:00
|
|
|
======================
|
|
|
|
|
2018-04-06 19:55:01 -07:00
|
|
|
.. rest_method:: PUT /v2/lbaas/loadbalancers/{loadbalancer_id}
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Updates a load balancer.
|
|
|
|
|
|
|
|
If the request is valid, the service returns the ``Accepted (202)``
|
|
|
|
response code. To confirm the update, check that the load balancer
|
|
|
|
provisioning status is ``ACTIVE``. If the status is
|
|
|
|
``PENDING_UPDATE``, use a GET operation to poll the load balancer
|
|
|
|
object for changes.
|
|
|
|
|
|
|
|
This operation returns the updated load balancer object with the
|
|
|
|
``ACTIVE``, ``PENDING_UPDATE``, or ``ERROR`` provisioning status.
|
|
|
|
|
|
|
|
.. rest_status_code:: success ../http-status.yaml
|
|
|
|
|
|
|
|
- 202
|
|
|
|
|
|
|
|
.. rest_status_code:: error ../http-status.yaml
|
|
|
|
|
|
|
|
- 400
|
|
|
|
- 401
|
|
|
|
- 403
|
|
|
|
- 404
|
|
|
|
- 409
|
|
|
|
- 500
|
|
|
|
|
|
|
|
Request
|
|
|
|
-------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
|
|
|
- admin_state_up: admin_state_up-optional
|
|
|
|
- description: description-optional
|
|
|
|
- loadbalancer: loadbalancer
|
|
|
|
- loadbalancer_id: path-loadbalancer-id
|
|
|
|
- name: name-optional
|
2018-09-28 16:50:57 +08:00
|
|
|
- tags: tags-optional
|
2017-04-05 13:59:57 +08:00
|
|
|
- vip_qos_policy_id: vip_qos_policy_id-optional
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Request Example
|
|
|
|
---------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-update-request.json
|
|
|
|
:language: javascript
|
|
|
|
|
|
|
|
Curl Example
|
|
|
|
------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-update-curl
|
|
|
|
:language: bash
|
|
|
|
|
|
|
|
Response Parameters
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
2022-08-24 11:00:11 +02:00
|
|
|
- additional_vips: additional_vips
|
2017-02-13 15:28:29 -08:00
|
|
|
- admin_state_up: admin_state_up
|
|
|
|
- created_at: created_at
|
|
|
|
- description: description
|
2018-04-19 16:15:01 -07:00
|
|
|
- flavor_id: flavor-id
|
2017-02-13 15:28:29 -08:00
|
|
|
- id: loadbalancer-id
|
|
|
|
- listeners: listeners
|
|
|
|
- loadbalancer: loadbalancer
|
|
|
|
- name: name
|
|
|
|
- operating_status: operating_status
|
|
|
|
- pools: pools_ids
|
|
|
|
- project_id: project_id
|
|
|
|
- provider: provider
|
|
|
|
- provisioning_status: provisioning_status
|
2018-09-28 16:50:57 +08:00
|
|
|
- tags: tags
|
2017-05-11 17:02:57 -07:00
|
|
|
- updated_at: updated_at
|
2017-02-13 15:28:29 -08:00
|
|
|
- vip_address: vip_address
|
|
|
|
- vip_network_id: vip_network_id
|
|
|
|
- vip_port_id: vip_port_id
|
2017-04-05 13:59:57 +08:00
|
|
|
- vip_qos_policy_id: vip_qos_policy_id
|
2018-02-10 14:28:08 -08:00
|
|
|
- vip_subnet_id: vip_subnet_id
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Response Example
|
|
|
|
----------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-update-response.json
|
|
|
|
:language: javascript
|
|
|
|
|
2017-05-11 17:02:57 -07:00
|
|
|
Remove a Load Balancer
|
2017-02-13 15:28:29 -08:00
|
|
|
======================
|
|
|
|
|
2018-04-06 19:55:01 -07:00
|
|
|
.. rest_method:: DELETE /v2/lbaas/loadbalancers/{loadbalancer_id}
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Removes a load balancer and its associated configuration from the project.
|
|
|
|
|
2017-04-29 09:04:43 +09:00
|
|
|
The optional parameter ``cascade`` when defined as ``true`` will delete all
|
|
|
|
child objects of the load balancer.
|
|
|
|
|
2017-02-13 15:28:29 -08:00
|
|
|
The API immediately purges any and all configuration data, depending on the
|
2017-04-11 08:38:19 -07:00
|
|
|
configuration settings. You cannot recover it.
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
.. rest_status_code:: success ../http-status.yaml
|
|
|
|
|
|
|
|
- 204
|
|
|
|
|
|
|
|
.. rest_status_code:: error ../http-status.yaml
|
|
|
|
|
|
|
|
- 400
|
|
|
|
- 401
|
|
|
|
- 403
|
|
|
|
- 404
|
|
|
|
- 409
|
|
|
|
- 500
|
|
|
|
|
|
|
|
Request
|
|
|
|
-------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
2017-04-29 09:04:43 +09:00
|
|
|
- cascade: cascade-delete
|
2017-02-13 15:28:29 -08:00
|
|
|
- loadbalancer_id: path-loadbalancer-id
|
|
|
|
|
|
|
|
Curl Example
|
|
|
|
------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-delete-curl
|
|
|
|
:language: bash
|
|
|
|
|
|
|
|
Response
|
|
|
|
--------
|
|
|
|
|
|
|
|
There is no body content for the response of a successful DELETE request.
|
|
|
|
|
2017-05-11 17:02:57 -07:00
|
|
|
Get Load Balancer statistics
|
2017-02-13 15:28:29 -08:00
|
|
|
============================
|
|
|
|
|
2018-04-06 19:55:01 -07:00
|
|
|
.. rest_method:: GET /v2/lbaas/loadbalancers/{loadbalancer_id}/stats
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Shows the current statistics for a load balancer.
|
|
|
|
|
|
|
|
This operation returns the statistics of a load balancer object identified
|
|
|
|
by loadbalancer_id.
|
|
|
|
|
|
|
|
If you are not an administrative user and the load balancer object does not
|
|
|
|
belong to your project, the service returns the HTTP ``Forbidden (403)``
|
|
|
|
response code.
|
|
|
|
|
|
|
|
This operation does not require a request body.
|
|
|
|
|
|
|
|
.. rest_status_code:: success ../http-status.yaml
|
|
|
|
|
|
|
|
- 200
|
|
|
|
|
|
|
|
.. rest_status_code:: error ../http-status.yaml
|
|
|
|
|
|
|
|
- 401
|
|
|
|
- 403
|
|
|
|
- 404
|
|
|
|
- 500
|
|
|
|
|
|
|
|
Request
|
|
|
|
-------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
|
|
|
- loadbalancer_id: path-loadbalancer-id
|
|
|
|
|
|
|
|
Curl Example
|
|
|
|
------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-stats-curl
|
|
|
|
:language: bash
|
|
|
|
|
|
|
|
Response Parameters
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
|
|
|
- stats: stats
|
|
|
|
- active_connections: active_connections
|
|
|
|
- bytes_in: bytes_in
|
|
|
|
- bytes_out: bytes_out
|
|
|
|
- request_errors: request_errors
|
|
|
|
- total_connections: total_connections
|
|
|
|
|
|
|
|
Response Example
|
|
|
|
----------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-stats-response.json
|
|
|
|
:language: javascript
|
|
|
|
|
2017-05-11 17:02:57 -07:00
|
|
|
Get the Load Balancer status tree
|
2017-02-13 15:28:29 -08:00
|
|
|
=================================
|
|
|
|
|
2018-04-06 19:55:01 -07:00
|
|
|
.. rest_method:: GET /v2/lbaas/loadbalancers/{loadbalancer_id}/status
|
2017-02-13 15:28:29 -08:00
|
|
|
|
|
|
|
Shows the status tree for a load balancer.
|
|
|
|
|
|
|
|
This operation returns a status tree for a load balancer object, by load
|
|
|
|
balancer ID.
|
|
|
|
|
|
|
|
``provisioning_status`` is the status associated with lifecycle of the resource.
|
|
|
|
See :ref:`prov_status` for descriptions of the status codes.
|
|
|
|
|
|
|
|
``operating_status`` is the observed status of the resource.
|
|
|
|
See :ref:`op_status` for descriptions of the status codes.
|
|
|
|
|
|
|
|
If you are not an administrative user and the load balancer object does not
|
|
|
|
belong to your project, the service returns the HTTP ``Forbidden (403)``
|
|
|
|
response code.
|
|
|
|
|
|
|
|
If the operation succeeds, the returned element is a status tree that contains
|
|
|
|
the load balancer and all provisioning and operating statuses for its children.
|
|
|
|
|
|
|
|
.. rest_status_code:: success ../http-status.yaml
|
|
|
|
|
|
|
|
- 200
|
|
|
|
|
|
|
|
.. rest_status_code:: error ../http-status.yaml
|
|
|
|
|
|
|
|
- 401
|
|
|
|
- 403
|
|
|
|
- 404
|
|
|
|
- 500
|
|
|
|
|
|
|
|
Request
|
|
|
|
-------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
|
|
|
- loadbalancer_id: path-loadbalancer-id
|
|
|
|
|
|
|
|
Curl Example
|
|
|
|
------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-status-curl
|
|
|
|
:language: bash
|
|
|
|
|
|
|
|
Response Parameters
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
|
|
|
- action: action
|
|
|
|
- address: address
|
|
|
|
- healthmonitor: healthmonitor-status
|
|
|
|
- id: id
|
|
|
|
- l7policies: l7policies-status-object-list
|
|
|
|
- l7rules: l7rules-status-object-list
|
|
|
|
- listeners: listeners-status-object-list
|
|
|
|
- loadbalancer: loadbalancer-status
|
|
|
|
- members: members-status-object-list
|
|
|
|
- name: name
|
|
|
|
- operating_status: operating_status
|
|
|
|
- pools: pools-status-list
|
|
|
|
- protocol_port: protocol_port
|
|
|
|
- provisioning_status: provisioning_status
|
|
|
|
- statuses: statuses
|
|
|
|
- type: type
|
|
|
|
|
|
|
|
Response Example
|
|
|
|
----------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-status-response.json
|
|
|
|
:language: javascript
|
2017-03-10 10:18:31 -05:00
|
|
|
|
|
|
|
Failover a load balancer
|
|
|
|
========================
|
|
|
|
|
2018-04-06 19:55:01 -07:00
|
|
|
.. rest_method:: PUT /v2/lbaas/loadbalancers/{loadbalancer_id}/failover
|
2017-03-10 10:18:31 -05:00
|
|
|
|
|
|
|
Performs a failover of a load balancer.
|
|
|
|
|
|
|
|
This operation is only available to users with load balancer administrative
|
|
|
|
rights.
|
|
|
|
|
|
|
|
.. rest_status_code:: success ../http-status.yaml
|
|
|
|
|
|
|
|
- 202
|
|
|
|
|
|
|
|
.. rest_status_code:: error ../http-status.yaml
|
|
|
|
|
|
|
|
- 401
|
|
|
|
- 403
|
|
|
|
- 404
|
|
|
|
- 409
|
|
|
|
- 500
|
|
|
|
|
|
|
|
Request
|
|
|
|
-------
|
|
|
|
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
|
|
|
|
- loadbalancer_id: path-loadbalancer-id
|
|
|
|
|
|
|
|
Curl Example
|
|
|
|
------------
|
|
|
|
|
|
|
|
.. literalinclude:: examples/loadbalancer-failover-curl
|
|
|
|
:language: bash
|
|
|
|
|
|
|
|
Response
|
|
|
|
--------
|
|
|
|
|
|
|
|
There is no body content for the response of a successful failover request.
|