639c11751e
Add SCTP support in the API for listeners, pools, health-monitors resources. Story: 2007884 Task: 40255 Change-Id: I57a3c528a20943724bdcd36422c689f496068330
396 lines
9.8 KiB
ReStructuredText
396 lines
9.8 KiB
ReStructuredText
.. -*- rst -*-
|
|
|
|
List L7 Policies
|
|
================
|
|
|
|
.. rest_method:: GET /v2/lbaas/l7policies
|
|
|
|
Lists all L7 policies 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 L7 policies 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/l7policies-list-curl
|
|
:language: bash
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
- action: l7policy-action
|
|
- admin_state_up: admin_state_up
|
|
- created_at: created_at
|
|
- description: description
|
|
- id: l7policy-id
|
|
- listener_id: listener-id
|
|
- name: name
|
|
- operating_status: operating_status
|
|
- position: l7policy-position
|
|
- project_id: project_id
|
|
- provisioning_status: provisioning_status
|
|
- redirect_http_code: l7policy-redirect-http-code
|
|
- redirect_pool_id: l7policy-redirect-pool_id
|
|
- redirect_prefix: l7policy-redirect-prefix
|
|
- redirect_url: l7policy-redirect-url
|
|
- rules: l7policy-rule-ids
|
|
- tags: tags
|
|
- updated_at: updated_at
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: examples/l7policies-list-response.json
|
|
:language: javascript
|
|
|
|
Create an L7 Policy
|
|
===================
|
|
|
|
.. rest_method:: POST /v2/lbaas/l7policies
|
|
|
|
Creates a L7 policy.
|
|
|
|
This operation provisions a new L7 policy 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 L7 policy.
|
|
|
|
In the response, the L7 policy :ref:`provisioning status<prov_status>` is
|
|
``ACTIVE``, ``PENDING_CREATE``, or ``ERROR``.
|
|
|
|
If the status is ``PENDING_CREATE``, issue GET
|
|
``/v2/lbaas/l7policies/{l7policy_id}`` to view the progress of
|
|
the provisioning operation. When the L7 policy status changes
|
|
to ``ACTIVE``, the L7 policy 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.
|
|
|
|
All the rules associated with a given policy are logically ANDed together. A
|
|
request must match all the policy's rules to match the policy.
|
|
|
|
If you need to express a logical OR operation between rules, then do this by
|
|
creating multiple policies with the same action.
|
|
|
|
If a new policy is created with a position that matches that of an existing
|
|
policy, then the new policy is inserted at the given position.
|
|
|
|
L7 policies with ``action`` of ``REDIRECT_TO_URL`` will return the default HTTP
|
|
``Found (302)`` response code with the ``redirect_url``. Also, specify
|
|
``redirect_http_code`` to configure the needed HTTP response code, such as,
|
|
301, 302, 303, 307 and 308.
|
|
|
|
L7 policies with ``action`` of ``REJECT`` will return a ``Forbidden (403)``
|
|
response code to the requester.
|
|
|
|
.. note::
|
|
Pools of type ``SCTP``, ``TCP`` or ``UDP`` cannot be used in L7
|
|
policies at this time.
|
|
|
|
.. rest_status_code:: success ../http-status.yaml
|
|
|
|
- 201
|
|
|
|
.. rest_status_code:: error ../http-status.yaml
|
|
|
|
- 400
|
|
- 401
|
|
- 403
|
|
- 404
|
|
- 409
|
|
- 500
|
|
- 503
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
- action: l7policy-action
|
|
- admin_state_up: admin_state_up-default-optional
|
|
- description: description-optional
|
|
- listener_id: listener-id
|
|
- name: name-optional
|
|
- position: l7policy-position-optional
|
|
- project_id: project_id-optional
|
|
- redirect_http_code: l7policy-redirect-http-code-optional
|
|
- redirect_pool_id: l7policy-redirect-pool_id-optional
|
|
- redirect_prefix: l7policy-redirect-prefix-optional
|
|
- redirect_url: l7policy-redirect-url-optional
|
|
- tags: tags-optional
|
|
|
|
Request Example
|
|
----------------
|
|
|
|
.. literalinclude:: examples/l7policy-create-request.json
|
|
:language: javascript
|
|
|
|
Curl Example
|
|
------------
|
|
|
|
.. literalinclude:: examples/l7policy-create-curl
|
|
:language: bash
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
- action: l7policy-action
|
|
- admin_state_up: admin_state_up
|
|
- created_at: created_at
|
|
- description: description
|
|
- id: l7policy-id
|
|
- listener_id: listener-id
|
|
- name: name
|
|
- operating_status: operating_status
|
|
- position: l7policy-position
|
|
- project_id: project_id
|
|
- provisioning_status: provisioning_status
|
|
- redirect_http_code: l7policy-redirect-http-code
|
|
- redirect_pool_id: l7policy-redirect-pool_id
|
|
- redirect_prefix: l7policy-redirect-prefix
|
|
- redirect_url: l7policy-redirect-url
|
|
- rules: l7policy-rule-ids
|
|
- tags: tags
|
|
- updated_at: updated_at
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: examples/l7policy-create-response.json
|
|
:language: javascript
|
|
|
|
Show L7 Policy details
|
|
==========================
|
|
|
|
.. rest_method:: GET /v2/lbaas/l7policies/{l7policy_id}
|
|
|
|
Shows the details of a L7 policy.
|
|
|
|
If you are not an administrative user and the L7 policy 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
|
|
|
|
- fields: fields
|
|
- l7policy_id: path-l7policy-id
|
|
|
|
Curl Example
|
|
------------
|
|
|
|
.. literalinclude:: examples/l7policy-show-curl
|
|
:language: bash
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
- action: l7policy-action
|
|
- admin_state_up: admin_state_up
|
|
- created_at: created_at
|
|
- description: description
|
|
- id: l7policy-id
|
|
- listener_id: listener-id
|
|
- name: name
|
|
- operating_status: operating_status
|
|
- position: l7policy-position
|
|
- project_id: project_id
|
|
- provisioning_status: provisioning_status
|
|
- redirect_http_code: l7policy-redirect-http-code
|
|
- redirect_pool_id: l7policy-redirect-pool_id
|
|
- redirect_prefix: l7policy-redirect-prefix
|
|
- redirect_url: l7policy-redirect-url
|
|
- rules: l7policy-rule-ids
|
|
- tags: tags
|
|
- updated_at: updated_at
|
|
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: examples/l7policy-show-response.json
|
|
:language: javascript
|
|
|
|
Update a L7 Policy
|
|
==================
|
|
|
|
.. rest_method:: PUT /v2/lbaas/l7policies/{l7policy_id}
|
|
|
|
Updates a L7 policy.
|
|
|
|
If the request is valid, the service returns the ``Accepted (202)``
|
|
response code. To confirm the update, check that the L7 policy
|
|
provisioning status is ``ACTIVE``. If the status is
|
|
``PENDING_UPDATE``, use a GET operation to poll the L7 policy
|
|
object for changes.
|
|
|
|
This operation returns the updated L7 policy object with the
|
|
``ACTIVE``, ``PENDING_UPDATE``, or ``ERROR`` provisioning status.
|
|
|
|
If a policy is updated with a position that matches that of an existing
|
|
policy, then the updated policy is inserted at the given position.
|
|
|
|
.. 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
|
|
|
|
- action: l7policy-action-optional
|
|
- admin_state_up: admin_state_up-default-optional
|
|
- description: description-optional
|
|
- l7policy_id: path-l7policy-id
|
|
- name: name-optional
|
|
- position: l7policy-position-optional
|
|
- redirect_http_code: l7policy-redirect-http-code-optional
|
|
- redirect_pool_id: l7policy-redirect-pool_id-optional
|
|
- redirect_prefix: l7policy-redirect-prefix-optional
|
|
- redirect_url: l7policy-redirect-url-optional
|
|
- tags: tags-optional
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: examples/l7policy-update-request.json
|
|
:language: javascript
|
|
|
|
Curl Example
|
|
------------
|
|
|
|
.. literalinclude:: examples/l7policy-update-curl
|
|
:language: bash
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: ../parameters.yaml
|
|
|
|
- action: l7policy-action
|
|
- admin_state_up: admin_state_up
|
|
- created_at: created_at
|
|
- description: description
|
|
- id: l7policy-id
|
|
- listener_id: listener-id
|
|
- name: name
|
|
- operating_status: operating_status
|
|
- position: l7policy-position
|
|
- project_id: project_id
|
|
- provisioning_status: provisioning_status
|
|
- redirect_http_code: l7policy-redirect-http-code
|
|
- redirect_pool_id: l7policy-redirect-pool_id
|
|
- redirect_prefix: l7policy-redirect-prefix
|
|
- redirect_url: l7policy-redirect-url
|
|
- rules: l7policy-rule-ids
|
|
- tags: tags
|
|
- updated_at: updated_at
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: examples/l7policy-update-response.json
|
|
:language: javascript
|
|
|
|
Remove a L7 Policy
|
|
==================
|
|
|
|
.. rest_method:: DELETE /v2/lbaas/l7policies/{l7policy_id}
|
|
|
|
Removes a L7 policy and its associated configuration from the project.
|
|
|
|
The API immediately purges any and all configuration data, depending on the
|
|
configuration settings. You cannot recover it.
|
|
|
|
.. 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
|
|
|
|
- l7policy_id: path-l7policy-id
|
|
|
|
Curl Example
|
|
------------
|
|
|
|
.. literalinclude:: examples/l7policy-delete-curl
|
|
:language: bash
|
|
|
|
Response
|
|
--------
|
|
|
|
There is no body content for the response of a successful DELETE request.
|