Files
neutron-lib/api-ref/source/v2/lbaas-v1.inc
Akihiro Motoki 0132d31b25 api-ref: Fix LBaaS v1 API reference
LBaaS v1 support was removed in Newton release, but there are
still users of LBaaS v1 API. It looks reasonable to maintain it
with minimum effort rather than dropping it.
This commit fixes LBaaS v1 API document with rough checks.

Note that project_id field is not listed in LBaaS v1 API intentionally
as project_id field was added in Newton release.

Part of blueprint neutron-in-tree-api-ref

Change-Id: I82d8f00f726247eb305a6b7207ae1bd2262fe296
2017-01-27 00:41:18 +09:00

1006 lines
22 KiB
ReStructuredText

.. -*- rst -*-
.. needs:method_verification
.. needs:parameter_verification
.. needs:example_verification
.. needs:body_verification
======================
LBaaS 1.0 (DEPRECATED)
======================
The Load-Balancer-as-a-Service (LBaaS) v1.0 extension pairs with
the Networking v2.0 API to enable OpenStack projects to manage load
balancers for their VMs. With this extension, you can load-balance
client traffic from one network to application services, such as
VMs, on the same network.
Use this extension to create and manage virtual IP addresses
(VIPs), pools, members of a pool, health monitors, and view status
of a resource.
.. note::
LBaaS 1.0 support was removed in Newton release. It's no longer available
in any installations starting from this release.
**Load balancer statuses**
+----------------+--------------------------------------------------------------------+
| Status | Description |
+----------------+--------------------------------------------------------------------+
| ACTIVE | The resource is ready and active. |
+----------------+--------------------------------------------------------------------+
| PENDING_CREATE | The resource is being created. |
+----------------+--------------------------------------------------------------------+
| PENDING_UPDATE | The resource is being updated. |
+----------------+--------------------------------------------------------------------+
| PENDING_DELETE | The resource is pending deletion. |
+----------------+--------------------------------------------------------------------+
| INACTIVE | The resource is not active. |
+----------------+--------------------------------------------------------------------+
| ERROR | An object within the service is not working. The ``error_details`` |
| | attribute provides an explanation for the error, its cause, and |
| | possibly a solution. |
+----------------+--------------------------------------------------------------------+
.. ============================================================
List pools
==========
.. rest_method:: GET /v2.0/lb/pools
Lists pools.
Normal response codes: 200
Error response codes: 401
Request
-------
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- pools: pools-obj
- admin_state_up: admin_state_up
- description: description
- health_monitors: health_monitors-response
- health_monitors_status: health_monitors_status
- id: pool-id-response
- lb_method: lb_method
- members: members
- name: name
- protocol: pool-protocol
- provider: pool-provider
- status: pool-status
- status_description: status_description
- subnet_id: pool-subnet_id
- tenant_id: project_id
- vip_id: vip_id
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/pools-list-response.json
:language: javascript
Create a load balancer pool
===========================
.. rest_method:: POST /v2.0/lb/pools
Creates a load balancer pool.
Normal response codes: 201
Error response codes: 400, 401
Request
-------
.. rest_parameters:: parameters.yaml
- pool: pool
- admin_state_up: admin_state_up-request
- description: description-request
- health_monitors: health_monitors-request
- lb_method: lb_method
- name: name-request
- protocol: pool-protocol
- provider: pool-provider-request
- subnet_id: pool-subnet_id
- tenant_id: project_id-request
Request Example
---------------
.. literalinclude:: samples/lbaas-v1/pool-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- pool: pool
- admin_state_up: admin_state_up
- description: description
- health_monitors: health_monitors-response
- health_monitors_status: health_monitors_status
- id: pool-id-response
- lb_method: lb_method
- members: members
- name: name
- protocol: pool-protocol
- provider: pool-provider
- status: pool-status
- status_description: status_description
- subnet_id: pool-subnet_id
- tenant_id: project_id
- vip_id: vip_id
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/pool-create-response.json
:language: javascript
Show pool details
=================
.. rest_method:: GET /v2.0/lb/pools/{pool_id}
Shows details for a pool.
Normal response codes: 200
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- pool_id: pool_id-path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- pool: pool
- admin_state_up: admin_state_up
- description: description
- health_monitors: health_monitors-response
- health_monitors_status: health_monitors_status
- id: pool-id-response
- lb_method: lb_method
- members: members
- name: name
- protocol: pool-protocol
- provider: pool-provider
- status: pool-status
- status_description: status_description
- subnet_id: pool-subnet_id
- tenant_id: project_id
- vip_id: vip_id
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/pool-show-response.json
:language: javascript
Update pool
===========
.. rest_method:: PUT /v2.0/lb/pools/{pool_id}
Updates a load balancer pool.
Normal response codes: 200
Error response codes: 400, 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- pool_id: pool_id-path
- pool: pool
- admin_state_up: admin_state_up-request
- description: description-request
- health_monitors: health_monitors-request
- lb_method: lb_method-request-put
- name: name-request
Request Example
---------------
.. literalinclude:: samples/lbaas-v1/pool-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- pool: pool
- admin_state_up: admin_state_up
- description: description
- health_monitors: health_monitors-response
- health_monitors_status: health_monitors_status
- id: pool-id-response
- lb_method: lb_method
- members: members
- name: name
- protocol: pool-protocol
- provider: pool-provider
- status: pool-status
- status_description: status_description
- subnet_id: pool-subnet_id
- tenant_id: project_id
- vip_id: vip_id
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/pool-update-response.json
:language: javascript
Delete pool
===========
.. rest_method:: DELETE /v2.0/lb/pools/{pool_id}
Deletes a load balancer pool.
Normal response codes: 204
Error response codes: 401, 404, 409
When a requested load balancer pool has a VIP,
``Conflict (409)`` is returned.
Request
-------
.. rest_parameters:: parameters.yaml
- pool_id: pool_id-path
Response
--------
There is no body content for the response of a successful DELETE request.
.. ============================================================
List VIPs
=========
.. rest_method:: GET /v2.0/lb/vips
Lists VIPs.
The list might be empty.
Normal response codes: 200
Error response codes: 401
Request
-------
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vips: vips
- address: vip-address
- admin_state_up: admin_state_up
- connection_limit: connection_limit-response
- description: description
- id: vip-id
- name: name
- pool_id: vip-pool_id
- port_id: vip-port_id
- protocol: vip-protocol
- protocol_port: protocol_port
- session_persistence: vip-session_persistence
- status: vip-status
- status_description: status_description
- subnet_id: vip-subnet_id
- tenant_id: project_id
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/vips-list-response.json
:language: javascript
Create a load balancer VIP
==========================
.. rest_method:: POST /v2.0/lb/vips
Creates a load balancer VIP.
Normal response codes: 201
Error response codes: 400, 401, 404, 409
When a specified pool already has a VIP, ``Conflict (409)`` is
returned.
When a specified pool or a specified subnet is not found,
``Not Found (404)`` is returned.
Request
-------
.. rest_parameters:: parameters.yaml
- vip: vip
- address: vip-address-request
- admin_state_up: admin_state_up-request
- connection_limit: connection_limit
- description: description-request
- name: name-request
- pool_id: vip-pool_id
- protocol: vip-protocol
- protocol_port: protocol_port
- session_persistence: vip-session_persistence-request
- subnet_id: vip-subnet_id
- tenant_id: project_id-request
Request Example
---------------
.. literalinclude:: samples/lbaas-v1/vip-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vip: vip
- address: vip-address
- admin_state_up: admin_state_up
- connection_limit: connection_limit-response
- description: description
- id: vip-id
- name: name
- pool_id: vip-pool_id
- port_id: vip-port_id
- protocol: vip-protocol
- protocol_port: protocol_port
- session_persistence: vip-session_persistence
- status: vip-status
- status_description: status_description
- subnet_id: vip-subnet_id
- tenant_id: project_id
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/vip-create-response.json
:language: javascript
Show VIP details
================
.. rest_method:: GET /v2.0/lb/vips/{vip_id}
Shows details for a VIP.
Normal response codes: 200
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- vip_id: vip_id-path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vip: vip
- address: vip-address
- admin_state_up: admin_state_up
- connection_limit: connection_limit-response
- description: description
- id: vip-id
- name: name
- pool_id: vip-pool_id
- port_id: vip-port_id
- protocol: vip-protocol
- protocol_port: protocol_port
- session_persistence: vip-session_persistence
- status: vip-status
- status_description: status_description
- subnet_id: vip-subnet_id
- tenant_id: project_id
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/vip-show-response.json
:language: javascript
Update VIP
==========
.. rest_method:: PUT /v2.0/lb/vips/{vip_id}
Updates a load balancer VIP.
Normal response codes: 200
Error response codes: 400, 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- vip_id: vip_id-path
- vip: vip
- admin_state_up: admin_state_up-request
- connection_limit: connection_limit
- description: description-request
- name: name-request
- pool_id: vip-pool_id-request
- session_persistence: vip-session_persistence-request
Request Example
---------------
.. literalinclude:: samples/lbaas-v1/vip-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- vip: vip
- address: vip-address
- admin_state_up: admin_state_up
- connection_limit: connection_limit-response
- description: description
- id: vip-id
- name: name
- pool_id: vip-pool_id
- port_id: vip-port_id
- protocol: vip-protocol
- protocol_port: protocol_port
- session_persistence: vip-session_persistence
- status: vip-status
- status_description: status_description
- subnet_id: vip-subnet_id
- tenant_id: project_id
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/vip-update-response.json
:language: javascript
Delete VIP
==========
.. rest_method:: DELETE /v2.0/lb/vips/{vip_id}
Deletes a load balancer VIP.
Normal response codes: 204
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- vip_id: vip_id-path
Response
--------
There is no body content for the response of a successful DELETE request.
.. ============================================================
List members
============
.. rest_method:: GET /v2.0/lb/members
Lists members.
Normal response codes: 200
Error response codes: 401
Request
-------
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- members: members-obj
- address: address
- admin_state_up: admin_state_up
- id: member-id-response
- pool_id: member-pool_id
- protocol_port: protocol_port
- status: member-status
- status_description: status_description
- tenant_id: project_id
- weight: member-weight
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/members-list-response.json
:language: javascript
Create a load balancer member
=============================
.. rest_method:: POST /v2.0/lb/members
Creates a load balancer member.
Normal response codes: 201
Error response codes: 400, 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- member: member
- address: address
- admin_state_up: admin_state_up-request
- pool_id: member-pool_id
- protocol_port: protocol_port
- tenant_id: project_id-request
- weight: member-weight-request
Request Example
---------------
.. literalinclude:: samples/lbaas-v1/member-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- member: member
- address: address
- admin_state_up: admin_state_up
- id: member-id-response
- pool_id: member-pool_id
- protocol_port: protocol_port
- status: member-status
- status_description: status_description
- tenant_id: project_id
- weight: member-weight
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/member-create-response.json
:language: javascript
Show member details
===================
.. rest_method:: GET /v2.0/lb/members/{member_id}
Shows details for a member.
Normal response codes: 200
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- member_id: member_id-path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- member: member
- address: address
- admin_state_up: admin_state_up
- id: member-id-response
- pool_id: member-pool_id
- protocol_port: protocol_port
- status: member-status
- status_description: status_description
- tenant_id: project_id
- weight: member-weight
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/member-show-response.json
:language: javascript
Update member
=============
.. rest_method:: PUT /v2.0/lb/members/{member_id}
Updates a load balancer member.
Normal response codes: 200
Error response codes: 400, 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- member_id: member_id-path
- member: member
- admin_state_up: admin_state_up-request
- pool_id: member-pool_id-request
- weight: member-weight-request
Request Example
---------------
.. literalinclude:: samples/lbaas-v1/member-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- member: member
- address: address
- admin_state_up: admin_state_up
- id: member-id-response
- pool_id: member-pool_id
- protocol_port: protocol_port
- status: member-status
- status_description: status_description
- tenant_id: project_id
- weight: member-weight
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/member-update-response.json
:language: javascript
Delete member
=============
.. rest_method:: DELETE /v2.0/lb/members/{member_id}
Deletes a load balancer member.
Normal response codes: 204
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- member_id: member_id-path
Response
--------
There is no body content for the response of a successful DELETE request.
.. ============================================================
List health monitors
====================
.. rest_method:: GET /v2.0/lb/health_monitors
Lists health monitors.
Normal response codes: 200
Error response codes: 401
Request
-------
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitors: health_monitors-obj
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes-response
- http_method: http_method
- id: health_monitor-id
- max_retries: max_retries
- pools: pools
- tenant_id: project_id
- timeout: timeout
- type: type
- url_path: url_path-response
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/healthmonitors-list-response.json
:language: javascript
Create a load balancer health monitor
=====================================
.. rest_method:: POST /v2.0/lb/health_monitors
Creates a load balancer health monitor.
Normal response codes: 201
Error response codes: 400, 401
Request
-------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
- admin_state_up: admin_state_up-request
- delay: delay
- expected_codes: expected_codes
- http_method: http_method-request
- max_retries: max_retries
- tenant_id: project_id-request
- timeout: timeout
- type: type
- url_path: url_path
Request Example
---------------
.. literalinclude:: samples/lbaas-v1/healthmonitor-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes-response
- http_method: http_method
- id: health_monitor-id
- max_retries: max_retries
- pools: pools
- tenant_id: project_id
- timeout: timeout
- type: type
- url_path: url_path-response
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/healthmonitor-create-response.json
:language: javascript
Show health monitor details
===========================
.. rest_method:: GET /v2.0/lb/health_monitors/{health_monitor_id}
Shows details for a health monitor.
Normal response codes: 200
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- health_monitor_id: health_monitor_id-path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes-response
- http_method: http_method
- id: health_monitor-id
- max_retries: max_retries
- pools: pools
- tenant_id: project_id
- timeout: timeout
- type: type
- url_path: url_path-response
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/healthmonitor-show-response.json
:language: javascript
Update health monitor
=====================
.. rest_method:: PUT /v2.0/lb/health_monitors/{health_monitor_id}
Updates a load balancer health monitor.
Normal response codes: 200
Error response codes: 400, 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- health_monitor_id: health_monitor_id-path
- health_monitor: health_monitor
- admin_state_up: admin_state_up-request
- delay: delay
- expected_codes: expected_codes
- http_method: http_method-request
- max_retries: max_retries
- timeout: timeout
- url_path: url_path
Request Example
---------------
.. literalinclude:: samples/lbaas-v1/healthmonitor-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
- admin_state_up: admin_state_up
- delay: delay
- expected_codes: expected_codes-response
- http_method: http_method
- id: health_monitor-id
- max_retries: max_retries
- pools: pools
- tenant_id: project_id
- timeout: timeout
- type: type
- url_path: url_path-response
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/healthmonitor-update-response.json
:language: javascript
Delete health monitor
=====================
.. rest_method:: DELETE /v2.0/lb/health_monitors/{health_monitor_id}
Deletes a load balancer health monitor.
Normal response codes: 204
Error response codes: 401, 404, 409
Request
-------
.. rest_parameters:: parameters.yaml
- health_monitor_id: health_monitor_id-path
Response
--------
There is no body content for the response of a successful DELETE request.
Associate health monitor with pool
==================================
.. rest_method:: POST /v2.0/lb/pools/{pool_id}/health_monitors
Associates a health monitor with a pool.
Normal response codes: 201
Error response codes: 400, 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- pool_id: pool_id-path
- health_monitor: health_monitor
- id: health_monitor-id
Request Example
---------------
.. literalinclude:: samples/lbaas-v1/healthmonitor-associate-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- health_monitor: health_monitor
Response Example
----------------
.. literalinclude:: samples/lbaas-v1/healthmonitor-associate-response.json
:language: javascript
Disassociate health monitor from pool
=====================================
.. rest_method:: DELETE /v2.0/lb/pools/{pool_id}/health_monitors/{health_monitor_id}
Disassociates a health monitor from a pool.
Normal response codes: 201
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- pool_id: pool_id-path
- health_monitor_id: health_monitor_id-path
Response
--------
There is no body content for the response of a successful DELETE request.