Load Balancing¶
Load Balancing API provided by Octavia service
lbaas¶
load-balancers¶
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.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
loadbalancer |
body |
object |
A load balancer object. |
loadbalancer.id |
body |
string |
The ID of the load balancer. |
loadbalancer.name |
body |
string |
Human-readable name of the resource. |
loadbalancer.description |
body |
string |
A human-readable description for the resource. |
loadbalancer.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
loadbalancer.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
loadbalancer.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
loadbalancer.project_id |
body |
string |
The ID of the project owning this resource. |
loadbalancer.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
loadbalancer.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
loadbalancer.vip_address |
body |
string |
The IP address of the Virtual IP (VIP). |
loadbalancer.vip_port_id |
body |
string |
The ID of the Virtual IP (VIP) port. |
loadbalancer.vip_subnet_id |
body |
string |
The ID of the subnet for the Virtual IP (VIP). |
loadbalancer.vip_network_id |
body |
string |
The ID of the network for the Virtual IP (VIP). |
loadbalancer.provider |
body |
string |
Provider name for the load balancer. |
loadbalancer.flavor_id |
body |
string |
The ID of the flavor. |
loadbalancer.vip_qos_policy_id |
body |
string |
The ID of the QoS Policy which will apply to the Virtual IP (VIP). |
loadbalancer.availability_zone |
body |
string |
An availability zone name. |
loadbalancer.tenant_id |
body |
string |
404¶
Error
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.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
loadbalancer |
body |
object |
A load balancer object. |
loadbalancer.id |
body |
string |
The ID of the load balancer. |
loadbalancer.name |
body |
string |
Human-readable name of the resource. |
loadbalancer.description |
body |
string |
A human-readable description for the resource. |
loadbalancer.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
loadbalancer.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
loadbalancer.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
loadbalancer.project_id |
body |
string |
The ID of the project owning this resource. |
loadbalancer.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
loadbalancer.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
loadbalancer.vip_address |
body |
string |
The IP address of the Virtual IP (VIP). |
loadbalancer.vip_port_id |
body |
string |
The ID of the Virtual IP (VIP) port. |
loadbalancer.vip_subnet_id |
body |
string |
The ID of the subnet for the Virtual IP (VIP). |
loadbalancer.vip_network_id |
body |
string |
The ID of the network for the Virtual IP (VIP). |
loadbalancer.provider |
body |
string |
Provider name for the load balancer. |
loadbalancer.flavor_id |
body |
string |
The ID of the flavor. |
loadbalancer.vip_qos_policy_id |
body |
string |
The ID of the QoS Policy which will apply to the Virtual IP (VIP). |
loadbalancer.availability_zone |
body |
string |
|
loadbalancer.tenant_id |
body |
string |
404¶
Error
Removes a load balancer and its associated configuration from the project.
The optional parameter cascade
when defined as true
will delete all
child objects of the load balancer.
The API immediately purges any and all configuration data, depending on the configuration settings. You cannot recover it.
Responses¶
204¶
Ok
404¶
Error
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 Filtering and column selection.
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.
Responses¶
200¶
Ok
404¶
Error
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 provisioning status is
ACTIVE
, PENDING_CREATE
, or ERROR
.
If the status is PENDING_CREATE
, issue GET
/v2/lbaas/loadbalancers/{loadbalancer_id}
to view the progress of
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.
An optional flavor_id
attribute can be used to create the load balancer
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.
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.
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.
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.
Specifying a Virtual IP (VIP) is mandatory. There are three ways to specify a VIP network for the load balancer:
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.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
loadbalancer |
body |
object |
A load balancer object. |
loadbalancer.id |
body |
string |
|
loadbalancer.name |
body |
string |
|
loadbalancer.description |
body |
string |
|
loadbalancer.provisioning_status |
body |
string |
|
loadbalancer.operating_status |
body |
string |
|
loadbalancer.admin_state_up |
body |
boolean |
|
loadbalancer.project_id |
body |
string |
|
loadbalancer.created_at |
body |
string |
|
loadbalancer.updated_at |
body |
string |
|
loadbalancer.vip_address |
body |
string |
The IP address of the Virtual IP (VIP). |
loadbalancer.vip_port_id |
body |
string |
The ID of the Virtual IP (VIP) port. |
loadbalancer.vip_subnet_id |
body |
string |
The ID of the subnet for the Virtual IP (VIP). |
loadbalancer.vip_network_id |
body |
string |
The ID of the network for the Virtual IP (VIP). |
loadbalancer.provider |
body |
string |
Provider name for the load balancer. |
loadbalancer.flavor_id |
body |
string |
The ID of the flavor. |
loadbalancer.vip_qos_policy_id |
body |
string |
The ID of the QoS Policy which will apply to the Virtual IP (VIP). |
loadbalancer.availability_zone |
body |
string |
An availability zone name. |
loadbalancer.tenant_id |
body |
string |
404¶
Error
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.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
stats |
body |
object |
A statistics object. |
stats.bytes_in |
body |
integer |
The total bytes received. |
stats.bytes_out |
body |
integer |
The total bytes sent. |
stats.active_connections |
body |
integer |
The currently active connections. |
stats.total_connections |
body |
integer |
The total connections handled. |
stats.request_errors |
body |
integer |
The total requests that were unable to be fulfilled. |
404¶
Error
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 Provisioning Status Codes for descriptions of the status codes.
operating_status
is the observed status of the resource.
See Operating Status Codes 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.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
statuses |
body |
object |
The status tree of a load balancer object contains all provisioning and operating statuses for its children. |
statuses.loadbalancer |
body |
object |
A load balancer status object. |
statuses.loadbalancer.id |
body |
string |
The ID of the resource. |
statuses.loadbalancer.name |
body |
string |
Human-readable name of the resource. |
statuses.loadbalancer.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
statuses.loadbalancer.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
404¶
Error
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
statuses |
body |
object |
Base type for complex types |
statuses.loadbalancer |
body |
object |
Defines which attributes are to be shown on status response. |
statuses.loadbalancer.id |
body |
string |
|
statuses.loadbalancer.name |
body |
string |
|
statuses.loadbalancer.operating_status |
body |
string |
|
statuses.loadbalancer.provisioning_status |
body |
string |
404¶
Error
listeners¶
Shows the details of a listener.
If you are not an administrative user and the parent load balancer does not
belong to your project, the service returns the HTTP Forbidden (403)
response code.
This operation does not require a request body.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
listener |
body |
object |
A listener object. |
listener.id |
body |
string |
The ID of the listener. |
listener.name |
body |
string |
Human-readable name of the resource. |
listener.description |
body |
string |
A human-readable description for the resource. |
listener.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
listener.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
listener.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
listener.protocol |
body |
string |
The protocol for the resource. One of |
listener.protocol_port |
body |
integer |
The protocol port number for the resource. |
listener.connection_limit |
body |
integer |
The maximum number of connections permitted for this listener. Default value is -1 which represents infinite connections or a default value defined by the provider driver. |
listener.default_tls_container_ref |
body |
string |
The URI of the key manager service secret containing a
PKCS12 format certificate/key bundle for |
listener.project_id |
body |
string |
The ID of the project owning this resource. |
listener.default_pool_id |
body |
string |
The ID of the pool used by the listener if no L7 policies match. The pool has some restrictions. See Protocol Combinations (Listener/Pool). |
listener.insert_headers |
body |
object |
A dictionary of optional headers to insert into the request before it is
sent to the backend |
listener.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
listener.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
listener.timeout_client_data |
body |
integer |
Frontend client inactivity timeout in milliseconds. Default: 50000. New in version 2.1 |
listener.timeout_member_connect |
body |
integer |
Backend member connection timeout in milliseconds. Default: 5000. New in version 2.1 |
listener.timeout_member_data |
body |
integer |
Backend member inactivity timeout in milliseconds. Default: 50000. New in version 2.1 |
listener.timeout_tcp_inspect |
body |
integer |
Time, in milliseconds, to wait for additional TCP packets for content inspection. Default: 0. New in version 2.1 |
listener.client_ca_tls_container_ref |
body |
string |
The ref of the key manager service secret containing a
PEM format client CA certificate bundle for New in version 2.8 |
listener.client_authentication |
body |
string |
The TLS client authentication mode. One of the options New in version 2.8 |
listener.client_crl_container_ref |
body |
string |
The URI of the key manager service secret containing a
PEM format CA revocation list file for New in version 2.8 |
listener.tls_ciphers |
body |
string |
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html New in version 2.15 |
listener.hsts_max_age |
body |
integer |
The value of the New in version 2.27 |
listener.hsts_include_subdomains |
body |
boolean |
Defines whether the New in version 2.27 |
listener.hsts_preload |
body |
boolean |
Defines whether the New in version 2.27 |
listener.tenant_id |
body |
string |
404¶
Error
Update an existing listener.
If the request is valid, the service returns the Accepted (202)
response code. To confirm the update, check that the listener provisioning
status is ACTIVE
. If the status is PENDING_UPDATE
, use a GET
operation to poll the listener object for changes.
This operation returns the updated listener object with the
ACTIVE
, PENDING_UPDATE
, or ERROR
provisioning status.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
listener |
body |
object |
A listener object. |
listener.id |
body |
string |
The ID of the listener. |
listener.name |
body |
string |
Human-readable name of the resource. |
listener.description |
body |
string |
A human-readable description for the resource. |
listener.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
listener.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
listener.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
listener.protocol |
body |
string |
The protocol for the resource. One of |
listener.protocol_port |
body |
integer |
The protocol port number for the resource. |
listener.connection_limit |
body |
integer |
The maximum number of connections permitted for this listener. Default value is -1 which represents infinite connections or a default value defined by the provider driver. |
listener.default_tls_container_ref |
body |
string |
The URI of the key manager service secret containing a
PKCS12 format certificate/key bundle for |
listener.project_id |
body |
string |
The ID of the project owning this resource. |
listener.default_pool_id |
body |
string |
The ID of the pool used by the listener if no L7 policies match. The pool has some restrictions. See Protocol Combinations (Listener/Pool). |
listener.insert_headers |
body |
object |
A dictionary of optional headers to insert into the request before it is
sent to the backend |
listener.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
listener.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
listener.timeout_client_data |
body |
integer |
Frontend client inactivity timeout in milliseconds. Default: 50000. New in version 2.1 |
listener.timeout_member_connect |
body |
integer |
Backend member connection timeout in milliseconds. Default: 5000. New in version 2.1 |
listener.timeout_member_data |
body |
integer |
Backend member inactivity timeout in milliseconds. Default: 50000. New in version 2.1 |
listener.timeout_tcp_inspect |
body |
integer |
Time, in milliseconds, to wait for additional TCP packets for content inspection. Default: 0. New in version 2.1 |
listener.client_ca_tls_container_ref |
body |
string |
The ref of the key manager service secret containing a
PEM format client CA certificate bundle for New in version 2.8 |
listener.client_authentication |
body |
string |
The TLS client authentication mode. One of the options New in version 2.8 |
listener.client_crl_container_ref |
body |
string |
The URI of the key manager service secret containing a
PEM format CA revocation list file for New in version 2.8 |
listener.tls_ciphers |
body |
string |
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html New in version 2.15 |
listener.hsts_max_age |
body |
integer |
The value of the New in version 2.27 |
listener.hsts_include_subdomains |
body |
boolean |
Defines whether the New in version 2.27 |
listener.hsts_preload |
body |
boolean |
Defines whether the New in version 2.27 |
listener.tenant_id |
body |
string |
404¶
Error
Lists all listeners 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 Filtering and column selection.
Administrative users can specify a project ID that is different than their own to list listeners for other projects.
The list might be empty.
Responses¶
200¶
Ok
404¶
Error
Creates a listener for a load balancer.
The listener configures a port and protocol for the load balancer to listen on for incoming requests. A load balancer may have zero or more listeners configured.
This operation provisions a new listener 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 listener.
In the response, the listener provisioning status is
ACTIVE
, PENDING_CREATE
, or ERROR
.
If the status is PENDING_CREATE
, issue GET
/v2/lbaas/listeners/{listener_id}
to view the progress of
the provisioning operation. When the listener status changes
to ACTIVE
, the listener 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.
Specifying a project_id is deprecated. The listener will inherit the project_id of the parent load balancer.
You can configure all documented features of the listener at creation time by specifying the additional elements or attributes in the request.
To create a listener, the parent load balancer must have an ACTIVE
provisioning status.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
listener |
body |
object |
A listener object. |
listener.id |
body |
string |
The ID of the listener. |
listener.name |
body |
string |
Human-readable name of the resource. |
listener.description |
body |
string |
A human-readable description for the resource. |
listener.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
listener.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
listener.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
listener.protocol |
body |
string |
The protocol for the resource. One of |
listener.protocol_port |
body |
integer |
The protocol port number for the resource. |
listener.connection_limit |
body |
integer |
The maximum number of connections permitted for this listener. Default value is -1 which represents infinite connections or a default value defined by the provider driver. |
listener.default_tls_container_ref |
body |
string |
The URI of the key manager service secret containing a
PKCS12 format certificate/key bundle for |
listener.project_id |
body |
string |
The ID of the project owning this resource. |
listener.default_pool_id |
body |
string |
The ID of the pool used by the listener if no L7 policies match. The pool has some restrictions. See Protocol Combinations (Listener/Pool). |
listener.insert_headers |
body |
object |
A dictionary of optional headers to insert into the request before it is
sent to the backend |
listener.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
listener.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
listener.timeout_client_data |
body |
integer |
Frontend client inactivity timeout in milliseconds. Default: 50000. New in version 2.1 |
listener.timeout_member_connect |
body |
integer |
Backend member connection timeout in milliseconds. Default: 5000. New in version 2.1 |
listener.timeout_member_data |
body |
integer |
Backend member inactivity timeout in milliseconds. Default: 50000. New in version 2.1 |
listener.timeout_tcp_inspect |
body |
integer |
Time, in milliseconds, to wait for additional TCP packets for content inspection. Default: 0. New in version 2.1 |
listener.client_ca_tls_container_ref |
body |
string |
The ref of the key manager service secret containing a
PEM format client CA certificate bundle for New in version 2.8 |
listener.client_authentication |
body |
string |
The TLS client authentication mode. One of the options New in version 2.8 |
listener.client_crl_container_ref |
body |
string |
The URI of the key manager service secret containing a
PEM format CA revocation list file for New in version 2.8 |
listener.tls_ciphers |
body |
string |
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html New in version 2.15 |
listener.hsts_max_age |
body |
integer |
The value of the New in version 2.27 |
listener.hsts_include_subdomains |
body |
boolean |
Defines whether the New in version 2.27 |
listener.hsts_preload |
body |
boolean |
Defines whether the New in version 2.27 |
listener.tenant_id |
body |
string |
404¶
Error
Shows the current statistics for a listener.
This operation returns the statistics of a listener object identified by listener_id.
If you are not an administrative user and the parent load balancer does not
belong to your project, the service returns the HTTP Forbidden (403)
response code.
This operation does not require a request body.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
stats |
body |
object |
A statistics object. |
stats.bytes_in |
body |
integer |
The total bytes received. |
stats.bytes_out |
body |
integer |
The total bytes sent. |
stats.active_connections |
body |
integer |
The currently active connections. |
stats.total_connections |
body |
integer |
The total connections handled. |
stats.request_errors |
body |
integer |
The total requests that were unable to be fulfilled. |
404¶
Error
pools¶
Shows the details of a pool.
If you are not an administrative user and the parent load balancer does not
belong to your project, the service returns the HTTP Forbidden (403)
response code.
This operation does not require a request body.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
pool |
body |
object |
Defines which attributes are to be shown on any response. |
pool.id |
body |
string |
The ID of the pool. |
pool.name |
body |
string |
Human-readable name of the resource. |
pool.description |
body |
string |
A human-readable description for the resource. |
pool.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
pool.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
pool.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
pool.protocol |
body |
string |
The protocol for the resource. One of |
pool.lb_algorithm |
body |
string |
The load balancing algorithm for the pool. One of |
pool.session_persistence |
body |
object |
A JSON object specifying the session persistence for the pool or |
pool.session_persistence.type |
body |
string |
|
pool.session_persistence.cookie_name |
body |
string |
|
pool.session_persistence.persistence_timeout |
body |
integer |
|
pool.session_persistence.persistence_granularity |
body |
string |
|
pool.project_id |
body |
string |
The ID of the project owning this resource. |
pool.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
pool.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
pool.healthmonitor_id |
body |
string |
The associated health monitor ID. |
pool.tls_container_ref |
body |
string |
The reference to the key manager service secret containing a
PKCS12 format certificate/key bundle for New in version 2.8 |
pool.ca_tls_container_ref |
body |
string |
The reference of the key manager service secret containing a
PEM format CA certificate bundle for New in version 2.8 |
pool.crl_container_ref |
body |
string |
The reference of the key manager service secret containing a
PEM format CA revocation list file for |
pool.tls_enabled |
body |
boolean |
When New in version 2.8 |
pool.tls_ciphers |
body |
string |
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html New in version 2.15 |
pool.tenant_id |
body |
string |
404¶
Error
Update an existing pool.
If the request is valid, the service returns the Accepted (202)
response code. To confirm the update, check that the pool provisioning
status is ACTIVE
. If the status is PENDING_UPDATE
, use a GET
operation to poll the pool object for changes.
This operation returns the updated pool object with the
ACTIVE
, PENDING_UPDATE
, or ERROR
provisioning status.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
pool |
body |
object |
Defines which attributes are to be shown on any response. |
pool.id |
body |
string |
The ID of the pool. |
pool.name |
body |
string |
Human-readable name of the resource. |
pool.description |
body |
string |
A human-readable description for the resource. |
pool.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
pool.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
pool.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
pool.protocol |
body |
string |
The protocol for the resource. One of |
pool.lb_algorithm |
body |
string |
The load balancing algorithm for the pool. One of |
pool.session_persistence |
body |
object |
A JSON object specifying the session persistence for the pool or |
pool.session_persistence.type |
body |
string |
|
pool.session_persistence.cookie_name |
body |
string |
|
pool.session_persistence.persistence_timeout |
body |
integer |
|
pool.session_persistence.persistence_granularity |
body |
string |
|
pool.project_id |
body |
string |
The ID of the project owning this resource. |
pool.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
pool.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
pool.healthmonitor_id |
body |
string |
The associated health monitor ID. |
pool.tls_container_ref |
body |
string |
The reference to the key manager service secret containing a
PKCS12 format certificate/key bundle for New in version 2.8 |
pool.ca_tls_container_ref |
body |
string |
The reference of the key manager service secret containing a
PEM format CA certificate bundle for New in version 2.8 |
pool.crl_container_ref |
body |
string |
The reference of the key manager service secret containing a
PEM format CA revocation list file for |
pool.tls_enabled |
body |
boolean |
When New in version 2.8 |
pool.tls_ciphers |
body |
string |
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html New in version 2.15 |
pool.tenant_id |
body |
string |
404¶
Error
Lists all pools 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 Filtering and column selection.
Administrative users can specify a project ID that is different than their own to list pools for other projects.
The list might be empty.
Responses¶
200¶
Ok
404¶
Error
Creates a pool for a load balancer.
The pool defines how requests should be balanced across the backend member servers.
This operation provisions a pool 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, which contains a unique ID.
In the response, the pool provisioning status is
ACTIVE
, PENDING_CREATE
, or ERROR
.
If the status is PENDING_CREATE
, issue GET
/v2/lbaas/pools/{pool_id}
to view the progress of
the provisioning operation. When the pool status changes
to ACTIVE
, the pool is successfully provisioned and
is ready for further configuration.
At a minimum, you must specify these pool attributes:
Some attributes receive default values if you omit them from the request:
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.
Specifying a project_id is deprecated. The pool will inherit the project_id of the parent load balancer.
You can configure all documented features of the pool at creation time by specifying the additional elements or attributes in the request.
To create a pool, the parent load balancer must have an ACTIVE
provisioning status.
SOURCE_IP_PORT
algorithm is available from version 2.13.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
pool |
body |
object |
Defines which attributes are to be shown on any response. |
pool.id |
body |
string |
The ID of the pool. |
pool.name |
body |
string |
Human-readable name of the resource. |
pool.description |
body |
string |
A human-readable description for the resource. |
pool.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
pool.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
pool.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
pool.protocol |
body |
string |
The protocol for the resource. One of |
pool.lb_algorithm |
body |
string |
The load balancing algorithm for the pool. One of |
pool.session_persistence |
body |
object |
A JSON object specifying the session persistence for the pool or |
pool.session_persistence.type |
body |
string |
|
pool.session_persistence.cookie_name |
body |
string |
|
pool.session_persistence.persistence_timeout |
body |
integer |
|
pool.session_persistence.persistence_granularity |
body |
string |
|
pool.project_id |
body |
string |
The ID of the project owning this resource. |
pool.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
pool.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
pool.healthmonitor_id |
body |
string |
The associated health monitor ID. |
pool.tls_container_ref |
body |
string |
The reference to the key manager service secret containing a
PKCS12 format certificate/key bundle for New in version 2.8 |
pool.ca_tls_container_ref |
body |
string |
The reference of the key manager service secret containing a
PEM format CA certificate bundle for New in version 2.8 |
pool.crl_container_ref |
body |
string |
The reference of the key manager service secret containing a
PEM format CA revocation list file for |
pool.tls_enabled |
body |
boolean |
When New in version 2.8 |
pool.tls_ciphers |
body |
string |
List of ciphers in OpenSSL format (colon-separated). See https://www.openssl.org/docs/man1.1.1/man1/ciphers.html New in version 2.15 |
pool.tenant_id |
body |
string |
404¶
Error
l7-policies¶
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.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
l7policy |
body |
object |
Defines which attributes are to be shown on any response. |
l7policy.id |
body |
string |
The ID of the L7 policy. |
l7policy.name |
body |
string |
Human-readable name of the resource. |
l7policy.description |
body |
string |
A human-readable description for the resource. |
l7policy.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
l7policy.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
l7policy.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
l7policy.project_id |
body |
string |
The ID of the project owning this resource. |
l7policy.action |
body |
string |
The L7 policy action. One of |
l7policy.listener_id |
body |
string |
The ID of the listener. |
l7policy.redirect_pool_id |
body |
string |
Requests matching this policy will be redirected to the pool with this ID.
Only valid if |
l7policy.redirect_url |
body |
string |
Requests matching this policy will be redirected to this URL.
Only valid if |
l7policy.redirect_prefix |
body |
string |
Requests matching this policy will be redirected to this Prefix URL.
Only valid if |
l7policy.position |
body |
integer |
The position of this policy on the listener. Positions start at 1. |
l7policy.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
l7policy.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
l7policy.redirect_http_code |
body |
integer |
Requests matching this policy will be redirected to the specified URL or
Prefix URL with the HTTP response code. Valid if New in version 2.9 |
l7policy.tenant_id |
body |
string |
404¶
Error
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.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
l7policy |
body |
object |
Defines which attributes are to be shown on any response. |
l7policy.id |
body |
string |
The ID of the L7 policy. |
l7policy.name |
body |
string |
Human-readable name of the resource. |
l7policy.description |
body |
string |
A human-readable description for the resource. |
l7policy.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
l7policy.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
l7policy.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
l7policy.project_id |
body |
string |
The ID of the project owning this resource. |
l7policy.action |
body |
string |
The L7 policy action. One of |
l7policy.listener_id |
body |
string |
The ID of the listener. |
l7policy.redirect_pool_id |
body |
string |
Requests matching this policy will be redirected to the pool with this ID.
Only valid if |
l7policy.redirect_url |
body |
string |
Requests matching this policy will be redirected to this URL.
Only valid if |
l7policy.redirect_prefix |
body |
string |
Requests matching this policy will be redirected to this Prefix URL.
Only valid if |
l7policy.position |
body |
integer |
The position of this policy on the listener. Positions start at 1. |
l7policy.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
l7policy.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
l7policy.redirect_http_code |
body |
integer |
Requests matching this policy will be redirected to the specified URL or
Prefix URL with the HTTP response code. Valid if New in version 2.9 |
l7policy.tenant_id |
body |
string |
404¶
Error
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 Filtering and column selection.
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.
Responses¶
200¶
Ok
404¶
Error
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 provisioning 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 ANDead 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.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
l7policy |
body |
object |
Defines which attributes are to be shown on any response. |
l7policy.id |
body |
string |
The ID of the L7 policy. |
l7policy.name |
body |
string |
Human-readable name of the resource. |
l7policy.description |
body |
string |
A human-readable description for the resource. |
l7policy.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
l7policy.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
l7policy.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
l7policy.project_id |
body |
string |
The ID of the project owning this resource. |
l7policy.action |
body |
string |
The L7 policy action. One of |
l7policy.listener_id |
body |
string |
The ID of the listener. |
l7policy.redirect_pool_id |
body |
string |
Requests matching this policy will be redirected to the pool with this ID.
Only valid if |
l7policy.redirect_url |
body |
string |
Requests matching this policy will be redirected to this URL.
Only valid if |
l7policy.redirect_prefix |
body |
string |
Requests matching this policy will be redirected to this Prefix URL.
Only valid if |
l7policy.position |
body |
integer |
The position of this policy on the listener. Positions start at 1. |
l7policy.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
l7policy.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
l7policy.redirect_http_code |
body |
integer |
Requests matching this policy will be redirected to the specified URL or
Prefix URL with the HTTP response code. Valid if New in version 2.9 |
l7policy.tenant_id |
body |
string |
404¶
Error
healthmonitors¶
Shows the details of a health monitor.
If you are not an administrative user and the parent load balancer does not
belong to your project, the service returns the HTTP Forbidden (403)
response code.
This operation does not require a request body.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
healthmonitor |
body |
object |
Defines which attributes are to be shown on any response. |
healthmonitor.id |
body |
string |
The associated health monitor ID. |
healthmonitor.name |
body |
string |
Human-readable name of the resource. |
healthmonitor.type |
body |
string |
The type of health monitor. One of |
healthmonitor.delay |
body |
integer |
The time, in seconds, between sending probes to members. |
healthmonitor.timeout |
body |
integer |
The maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value. |
healthmonitor.max_retries |
body |
integer |
The number of successful checks before changing the |
healthmonitor.max_retries_down |
body |
integer |
The number of allowed check failures before changing the |
healthmonitor.http_method |
body |
string |
The HTTP method that the health monitor uses for requests. One of
|
healthmonitor.url_path |
body |
string |
The HTTP URL path of the request sent by the monitor to test the health of
a backend member. Must be a string that begins with a forward slash
( |
healthmonitor.expected_codes |
body |
string |
The list of HTTP status codes expected in response from the member to declare it healthy. Specify one of the following values:
|
healthmonitor.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
healthmonitor.project_id |
body |
string |
The ID of the project owning this resource. |
healthmonitor.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
healthmonitor.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
healthmonitor.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
healthmonitor.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
healthmonitor.http_version |
body |
number |
The HTTP version. One of New in version 2.10 |
healthmonitor.domain_name |
body |
string |
The domain name, which be injected into the HTTP Host Header to the backend server for HTTP health check. New in version 2.10 |
healthmonitor.tenant_id |
body |
string |
404¶
Error
Update an existing health monitor.
If the request is valid, the service returns the Accepted (202)
response code. To confirm the update, check that the health monitor
provisioning status is ACTIVE
. If the status is PENDING_UPDATE
,
use a GET operation to poll the health monitor object for changes.
This operation returns the updated health monitor object with the
ACTIVE
, PENDING_UPDATE
, or ERROR
provisioning status.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
healthmonitor |
body |
object |
Defines which attributes are to be shown on any response. |
healthmonitor.id |
body |
string |
The associated health monitor ID. |
healthmonitor.name |
body |
string |
Human-readable name of the resource. |
healthmonitor.type |
body |
string |
The type of health monitor. One of |
healthmonitor.delay |
body |
integer |
The time, in seconds, between sending probes to members. |
healthmonitor.timeout |
body |
integer |
The maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value. |
healthmonitor.max_retries |
body |
integer |
The number of successful checks before changing the |
healthmonitor.max_retries_down |
body |
integer |
The number of allowed check failures before changing the |
healthmonitor.http_method |
body |
string |
The HTTP method that the health monitor uses for requests. One of
|
healthmonitor.url_path |
body |
string |
The HTTP URL path of the request sent by the monitor to test the health of
a backend member. Must be a string that begins with a forward slash
( |
healthmonitor.expected_codes |
body |
string |
The list of HTTP status codes expected in response from the member to declare it healthy. Specify one of the following values:
|
healthmonitor.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
healthmonitor.project_id |
body |
string |
The ID of the project owning this resource. |
healthmonitor.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
healthmonitor.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
healthmonitor.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
healthmonitor.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
healthmonitor.http_version |
body |
number |
The HTTP version. One of New in version 2.10 |
healthmonitor.domain_name |
body |
string |
The domain name, which be injected into the HTTP Host Header to the backend server for HTTP health check. New in version 2.10 |
healthmonitor.tenant_id |
body |
string |
404¶
Error
Lists all health monitors 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 Filtering and column selection.
Administrative users can specify a project ID that is different than their own to list health monitors for other projects.
The list might be empty.
Responses¶
200¶
Ok
404¶
Error
Creates a health monitor on a pool.
Health monitors define how the load balancer monitors backend servers to determine if they are available to service requests.
This operation provisions a new health monitor 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 health monitor.
In the response, the health monitor provisioning status is
ACTIVE
, PENDING_CREATE
, or ERROR
.
If the status is PENDING_CREATE
, issue GET
/v2/lbaas/healthmonitors/{healthmonitor_id}
to view the progress of
the provisioning operation. When the health monitor status changes
to ACTIVE
, the health monitor 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.
Specifying a project_id is deprecated. The health monitor will inherit the project_id of the parent load balancer.
At a minimum, you must specify these health monitor attributes:
Some attributes receive default values if you omit them from the request:
To create a health monitor, the parent load balancer must have an ACTIVE
provisioning status.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
healthmonitor |
body |
object |
Defines which attributes are to be shown on any response. |
healthmonitor.id |
body |
string |
The associated health monitor ID. |
healthmonitor.name |
body |
string |
Human-readable name of the resource. |
healthmonitor.type |
body |
string |
The type of health monitor. One of |
healthmonitor.delay |
body |
integer |
The time, in seconds, between sending probes to members. |
healthmonitor.timeout |
body |
integer |
The maximum time, in seconds, that a monitor waits to connect before it times out. This value must be less than the delay value. |
healthmonitor.max_retries |
body |
integer |
The number of successful checks before changing the |
healthmonitor.max_retries_down |
body |
integer |
The number of allowed check failures before changing the |
healthmonitor.http_method |
body |
string |
The HTTP method that the health monitor uses for requests. One of
|
healthmonitor.url_path |
body |
string |
The HTTP URL path of the request sent by the monitor to test the health of
a backend member. Must be a string that begins with a forward slash
( |
healthmonitor.expected_codes |
body |
string |
The list of HTTP status codes expected in response from the member to declare it healthy. Specify one of the following values:
|
healthmonitor.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
healthmonitor.project_id |
body |
string |
The ID of the project owning this resource. |
healthmonitor.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
healthmonitor.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
healthmonitor.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
healthmonitor.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
healthmonitor.http_version |
body |
number |
The HTTP version. One of New in version 2.10 |
healthmonitor.domain_name |
body |
string |
The domain name, which be injected into the HTTP Host Header to the backend server for HTTP health check. New in version 2.10 |
healthmonitor.tenant_id |
body |
string |
404¶
Error
quotas¶
Show the quota 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 Filtering and column selection.
Administrative users can specify a project ID that is different than their own to show quota for other projects.
A quota of -1
means the quota is unlimited.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
quota |
body |
object |
Individual quota definitions. |
quota.loadbalancer |
body |
integer |
The configured load balancer quota limit. A setting of |
quota.load_balancer |
body |
integer |
|
quota.listener |
body |
integer |
The configured listener quota limit. A setting of |
quota.member |
body |
integer |
The configured member quota limit. A setting of |
quota.pool |
body |
integer |
The configured pool quota limit. A setting of |
quota.healthmonitor |
body |
integer |
The configured health monitor quota limit. A setting of |
quota.health_monitor |
body |
integer |
|
quota.l7policy |
body |
integer |
The configured l7policy quota limit. A setting of |
quota.l7rule |
body |
integer |
The configured l7rule quota limit. A setting of |
404¶
Error
Updates a quota for a project.
If the request is valid, the service returns the Accepted (202)
response code.
This operation returns the updated quota object.
If the quota is specified as null
the quota will use the deployment default
quota settings.
Specifying a quota of -1
means the quota is unlimited.
Specifying a quota of 0
means the project cannot create any of the
resource.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
quota |
body |
object |
Individual quota definitions. |
quota.loadbalancer |
body |
integer |
The configured load balancer quota limit. A setting of |
quota.load_balancer |
body |
integer |
|
quota.listener |
body |
integer |
The configured listener quota limit. A setting of |
quota.member |
body |
integer |
The configured member quota limit. A setting of |
quota.pool |
body |
integer |
The configured pool quota limit. A setting of |
quota.healthmonitor |
body |
integer |
The configured health monitor quota limit. A setting of |
quota.health_monitor |
body |
integer |
|
quota.l7policy |
body |
integer |
The configured l7policy quota limit. A setting of |
quota.l7rule |
body |
integer |
The configured l7rule quota limit. A setting of |
404¶
Error
Lists all quotas 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 Filtering and column selection.
Administrative users can specify a project ID that is different than their own to list quotas for other projects.
If the quota is listed as null
the quota is using the deployment default
quota settings.
A quota of -1
means the quota is unlimited.
The list might be empty.
Responses¶
200¶
Ok
404¶
Error
providers¶
Shows the provider driver flavor capabilities. These are the features of the provider driver that can be configured in an Octavia flavor. This API returns a list of dictionaries with the name and description of each flavor capability of the provider.
The list might be empty and a provider driver may not implement this feature.
New in version 2.6
Responses¶
200¶
Ok
404¶
Error
Shows the provider driver availability zone capabilities. These are the features of the provider driver that can be configured in an Octavia availability zone. This API returns a list of dictionaries with the name and description of each availability zone capability of the provider.
The list might be empty and a provider driver may not implement this feature.
New in version 2.14
Responses¶
200¶
Ok
404¶
Error
flavors¶
Gets a flavor’s detail.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
flavor |
body |
object |
Defines which attributes are to be shown on any response. |
flavor.id |
body |
string |
|
flavor.name |
body |
string |
|
flavor.description |
body |
string |
|
flavor.enabled |
body |
boolean |
|
flavor.flavor_profile_id |
body |
string |
404¶
Error
Base type for complex types
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
flavor |
body |
object |
Defines which attributes are to be shown on any response. |
flavor.id |
body |
string |
|
flavor.name |
body |
string |
|
flavor.description |
body |
string |
|
flavor.enabled |
body |
boolean |
|
flavor.flavor_profile_id |
body |
string |
404¶
Error
Creates a flavor.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
flavor |
body |
object |
Defines which attributes are to be shown on any response. |
flavor.id |
body |
string |
|
flavor.name |
body |
string |
|
flavor.description |
body |
string |
|
flavor.enabled |
body |
boolean |
|
flavor.flavor_profile_id |
body |
string |
404¶
Error
flavor-profiles¶
Gets a flavor profile’s detail.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
flavorprofile |
body |
object |
Defines which attributes are to be shown on any response. |
flavorprofile.id |
body |
string |
|
flavorprofile.name |
body |
string |
|
flavorprofile.provider_name |
body |
string |
|
flavorprofile.flavor_data |
body |
string |
404¶
Error
Updates a flavor Profile.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
flavorprofile |
body |
object |
Defines which attributes are to be shown on any response. |
flavorprofile.id |
body |
string |
|
flavorprofile.name |
body |
string |
|
flavorprofile.provider_name |
body |
string |
|
flavorprofile.flavor_data |
body |
string |
404¶
Error
Creates a flavor Profile.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
flavorprofile |
body |
object |
Defines which attributes are to be shown on any response. |
flavorprofile.id |
body |
string |
|
flavorprofile.name |
body |
string |
|
flavorprofile.provider_name |
body |
string |
|
flavorprofile.flavor_data |
body |
string |
404¶
Error
availability-zones¶
Gets an Availability Zone’s detail.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
availability_zone |
body |
object |
Defines which attributes are to be shown on any response. |
availability_zone.name |
body |
string |
|
availability_zone.description |
body |
string |
|
availability_zone.enabled |
body |
boolean |
|
availability_zone.availability_zone_profile_id |
body |
string |
404¶
Error
Base type for complex types
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
availability_zone |
body |
object |
Defines which attributes are to be shown on any response. |
availability_zone.name |
body |
string |
|
availability_zone.description |
body |
string |
|
availability_zone.enabled |
body |
boolean |
|
availability_zone.availability_zone_profile_id |
body |
string |
404¶
Error
Creates an Availability Zone.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
availability_zone |
body |
object |
Defines which attributes are to be shown on any response. |
availability_zone.name |
body |
string |
|
availability_zone.description |
body |
string |
|
availability_zone.enabled |
body |
boolean |
|
availability_zone.availability_zone_profile_id |
body |
string |
404¶
Error
availability-zone-profiles¶
Gets an Availability Zone Profile’s detail.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
availability_zone_profile |
body |
object |
Defines which attributes are to be shown on any response. |
availability_zone_profile.id |
body |
string |
|
availability_zone_profile.name |
body |
string |
|
availability_zone_profile.provider_name |
body |
string |
|
availability_zone_profile.availability_zone_data |
body |
string |
404¶
Error
Updates an Availability Zone Profile.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
availability_zone_profile |
body |
object |
Defines which attributes are to be shown on any response. |
availability_zone_profile.id |
body |
string |
|
availability_zone_profile.name |
body |
string |
|
availability_zone_profile.provider_name |
body |
string |
|
availability_zone_profile.availability_zone_data |
body |
string |
404¶
Error
Creates an Availability Zone Profile.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
availability_zone_profile |
body |
object |
Defines which attributes are to be shown on any response. |
availability_zone_profile.id |
body |
string |
|
availability_zone_profile.name |
body |
string |
|
availability_zone_profile.provider_name |
body |
string |
|
availability_zone_profile.availability_zone_data |
body |
string |
404¶
Error
octavia¶
amphorae¶
Shows the details of an amphora.
If you are not an administrative user, the service returns the HTTP
Forbidden (403)
response code.
This operation does not require a request body.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
amphora |
body |
object |
Defines which attributes are to be shown on any response. |
amphora.id |
body |
string |
The associated amphora ID. |
amphora.loadbalancer_id |
body |
string |
The ID of the load balancer. |
amphora.compute_id |
body |
string |
The ID of the amphora resource in the compute system. |
amphora.lb_network_ip |
body |
string |
The management IP of the amphora. |
amphora.vrrp_ip |
body |
string |
The address of the vrrp port on the amphora. |
amphora.ha_ip |
body |
string |
The IP address of the Virtual IP (VIP). |
amphora.vrrp_port_id |
body |
string |
The vrrp port’s ID in the networking system. |
amphora.ha_port_id |
body |
string |
The ID of the Virtual IP (VIP) port. |
amphora.cert_expiration |
body |
string |
The date the certificate for the amphora expires. |
amphora.cert_busy |
body |
boolean |
Whether the certificate is in the process of being replaced. |
amphora.role |
body |
string |
The role of the amphora. One of |
amphora.status |
body |
string |
The status of the amphora. One of: |
amphora.vrrp_interface |
body |
string |
The bound interface name of the vrrp port on the amphora. |
amphora.vrrp_id |
body |
integer |
The vrrp group’s ID for the amphora. |
amphora.vrrp_priority |
body |
integer |
The priority of the amphora in the vrrp group. |
amphora.cached_zone |
body |
string |
The availability zone of a compute instance, cached at create time. This is not guaranteed to be current. May be an empty-string if the compute service does not use zones. |
amphora.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
amphora.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
amphora.image_id |
body |
string |
The ID of the glance image used for the amphora. New in version 2.1 |
amphora.compute_flavor |
body |
string |
The ID of the compute flavor used for the amphora. New in version 2.3 |
404¶
Error
Lists all amphora for the project.
If you are not an administrative user, the service returns the HTTP
Forbidden (403)
response code.
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 Filtering and column selection.
The list might be empty.
Responses¶
200¶
Ok
404¶
Error
Update the amphora agent configuration. This will push the new configuration to the amphora agent and will update the configuration options that are mutatable.
If you are not an administrative user, the service returns the HTTP
Forbidden (403)
response code.
This operation does not require a request body.
New in version 2.7
Request¶
Responses¶
202¶
Ok
404¶
Error
l7-rules¶
Lists all L7 rules 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 Filtering and column selection.
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.
Responses¶
200¶
Ok
404¶
Error
Creates a L7 rule.
This operation provisions a new L7 rule 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 rule.
In the response, the L7 rule provisioning status is
ACTIVE
, PENDING_CREATE
, or ERROR
.
If the status is PENDING_CREATE
, issue GET
/v2/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}
to view the
progress of the provisioning operation. When the L7 rule status changes
to ACTIVE
, the L7 rule 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 ANDead 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.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
rule |
body |
object |
Defines which attributes are to be shown on any response. |
rule.id |
body |
string |
The ID of the L7 rule. |
rule.type |
body |
string |
The L7 rule type. One of |
rule.compare_type |
body |
string |
The comparison type for the L7 rule. One of |
rule.key |
body |
string |
The key to use for the comparison. For example, the name of the cookie to evaluate. |
rule.value |
body |
string |
The value to use for the comparison. For example, the file type to compare. |
rule.invert |
body |
boolean |
When |
rule.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
rule.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
rule.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
rule.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
rule.project_id |
body |
string |
The ID of the project owning this resource. |
rule.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
rule.tenant_id |
body |
string |
404¶
Error
Shows the details of a L7 rule.
If you are not an administrative user and the L7 rule object does not
belong to your project, the service returns the HTTP Forbidden (403)
response code.
This operation does not require a request body.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
rule |
body |
object |
Defines which attributes are to be shown on any response. |
rule.id |
body |
string |
The ID of the L7 rule. |
rule.type |
body |
string |
The L7 rule type. One of |
rule.compare_type |
body |
string |
The comparison type for the L7 rule. One of |
rule.key |
body |
string |
The key to use for the comparison. For example, the name of the cookie to evaluate. |
rule.value |
body |
string |
The value to use for the comparison. For example, the file type to compare. |
rule.invert |
body |
boolean |
When |
rule.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
rule.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
rule.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
rule.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
rule.project_id |
body |
string |
The ID of the project owning this resource. |
rule.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
rule.tenant_id |
body |
string |
404¶
Error
Updates a L7 rule.
If the request is valid, the service returns the Accepted (202)
response code. To confirm the update, check that the L7 rule
provisioning status is ACTIVE
. If the status is
PENDING_UPDATE
, use a GET operation to poll the L7 rule
object for changes.
This operation returns the updated L7 rule object with the
ACTIVE
, PENDING_UPDATE
, or ERROR
provisioning status.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
rule |
body |
object |
Defines which attributes are to be shown on any response. |
rule.id |
body |
string |
The ID of the L7 rule. |
rule.type |
body |
string |
The L7 rule type. One of |
rule.compare_type |
body |
string |
The comparison type for the L7 rule. One of |
rule.key |
body |
string |
The key to use for the comparison. For example, the name of the cookie to evaluate. |
rule.value |
body |
string |
The value to use for the comparison. For example, the file type to compare. |
rule.invert |
body |
boolean |
When |
rule.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
rule.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
rule.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
rule.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
rule.project_id |
body |
string |
The ID of the project owning this resource. |
rule.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
rule.tenant_id |
body |
string |
404¶
Error
members¶
Lists all members 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 Filtering and column selection.
Administrative users can specify a project ID that is different than their own to list members for other projects.
The list might be empty.
Responses¶
200¶
Ok
404¶
Error
This operation provisions a member and adds it to a pool by using the configuration that you define in the request object. After the API validates the request and starts the provisioning process, it returns a response object, which contains a unique ID.
In the response, the member provisioning status is
ACTIVE
, PENDING_CREATE
, or ERROR
.
If the status is PENDING_CREATE
, issue GET
/v2/lbaas/pools/{pool_id}/members/{member_id}
to view the progress of
the provisioning operation. When the member status changes
to ACTIVE
, the member 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.
At a minimum, you must specify these member attributes:
Some attributes receive default values if you omit them from the request:
If you omit the subnet_id
parameter, the vip_subnet_id
for the parent
load balancer will be used for the member subnet UUID.
The member address
does not necessarily need to be a member of the
subnet_id
subnet. Members can be routable from the subnet specified
either via the default route or by using host_routes
defined on the subnet.
Administrative users can specify a project ID that is different than their own to create members for other projects.
monitor_address
and/or monitor_port
can be used to have the health
monitor, if one is configured for the pool, connect to an alternate IP address
and port when executing a health check on the member.
To create a member, the load balancer must have an ACTIVE
provisioning status.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
member |
body |
object |
Defines which attributes are to be shown on any response. |
member.id |
body |
string |
The ID of the member. |
member.name |
body |
string |
Human-readable name of the resource. |
member.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
member.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
member.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
member.address |
body |
string |
The IP address of the backend member server. |
member.protocol_port |
body |
integer |
The protocol port number the backend member server is listening on. |
member.weight |
body |
integer |
The weight of a member determines the portion of requests or connections it
services compared to the other members of the pool. For example, a member
with a weight of 10 receives five times as many requests as a member with a
weight of 2. A value of 0 means the member does not receive new connections
but continues to service existing connections. A valid value is
from |
member.backup |
body |
boolean |
Is the member a backup? Backup members only receive traffic when all non-backup members are down. New in version 2.1 |
member.subnet_id |
body |
string |
The subnet ID the member service is accessible from. |
member.project_id |
body |
string |
The ID of the project owning this resource. |
member.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
member.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
member.monitor_address |
body |
string |
An alternate IP address used for health monitoring a backend member.
Default is |
member.monitor_port |
body |
integer |
An alternate protocol port used for health monitoring a backend member.
Default is |
member.tenant_id |
body |
string |
404¶
Error
Set the state of members for a pool in one API call. This may include creating new members, deleting old members, and updating existing members. Existing members are matched based on address/port combination.
For example, assume a pool currently has two members. These members have the following address/port combinations: ‘192.0.2.15:80’ and ‘192.0.2.16:80’. Now assume a PUT request is made that includes members with address/port combinations: ‘192.0.2.16:80’ and ‘192.0.2.17:80’.
The member ‘192.0.2.15:80’ will be deleted, because it was not in the request.
The member ‘192.0.2.16:80’ will be updated to match the request data for that member, because it was matched.
The member ‘192.0.2.17:80’ will be created, because no such member existed.
The optional parameter additive_only
when defined as true
will skip
deletions for members missing from the provided list. If this were set in the
above example, the member ‘192.0.2.15:80’ would have remained in the pool.
If the request is valid, the service returns the Accepted (202)
response code. To confirm the updates, check that the member provisioning
statuses are ACTIVE
for new or updated members, and that any unspecified
members were correctly deleted. If the statuses are PENDING_UPDATE
or
PENDING_DELETE
, use GET to poll the member objects for changes.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
member |
body |
object |
Defines which attributes are to be shown on any response. |
member.id |
body |
string |
The ID of the member. |
member.name |
body |
string |
Human-readable name of the resource. |
member.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
member.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
member.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
member.address |
body |
string |
The IP address of the backend member server. |
member.protocol_port |
body |
integer |
The protocol port number the backend member server is listening on. |
member.weight |
body |
integer |
The weight of a member determines the portion of requests or connections it
services compared to the other members of the pool. For example, a member
with a weight of 10 receives five times as many requests as a member with a
weight of 2. A value of 0 means the member does not receive new connections
but continues to service existing connections. A valid value is
from |
member.backup |
body |
boolean |
Is the member a backup? Backup members only receive traffic when all non-backup members are down. New in version 2.1 |
member.subnet_id |
body |
string |
The subnet ID the member service is accessible from. |
member.project_id |
body |
string |
The ID of the project owning this resource. |
member.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
member.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
member.monitor_address |
body |
string |
An alternate IP address used for health monitoring a backend member.
Default is |
member.monitor_port |
body |
integer |
An alternate protocol port used for health monitoring a backend member.
Default is |
member.tenant_id |
body |
string |
404¶
Error
Shows the details of a pool member.
If you are not an administrative user and the parent load balancer does not
belong to your project, the service returns the HTTP Forbidden (403)
response code.
This operation does not require a request body.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
member |
body |
object |
Defines which attributes are to be shown on any response. |
member.id |
body |
string |
The ID of the member. |
member.name |
body |
string |
Human-readable name of the resource. |
member.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
member.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
member.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
member.address |
body |
string |
The IP address of the backend member server. |
member.protocol_port |
body |
integer |
The protocol port number the backend member server is listening on. |
member.weight |
body |
integer |
The weight of a member determines the portion of requests or connections it
services compared to the other members of the pool. For example, a member
with a weight of 10 receives five times as many requests as a member with a
weight of 2. A value of 0 means the member does not receive new connections
but continues to service existing connections. A valid value is
from |
member.backup |
body |
boolean |
Is the member a backup? Backup members only receive traffic when all non-backup members are down. New in version 2.1 |
member.subnet_id |
body |
string |
The subnet ID the member service is accessible from. |
member.project_id |
body |
string |
The ID of the project owning this resource. |
member.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
member.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
member.monitor_address |
body |
string |
An alternate IP address used for health monitoring a backend member.
Default is |
member.monitor_port |
body |
integer |
An alternate protocol port used for health monitoring a backend member.
Default is |
member.tenant_id |
body |
string |
404¶
Error
Update an existing member.
If the request is valid, the service returns the Accepted (202)
response code. To confirm the update, check that the member provisioning
status is ACTIVE
. If the status is PENDING_UPDATE
, use a GET
operation to poll the member object for changes.
Setting the member weight to 0
means that the member will not receive
new requests but will finish any existing connections. This “drains” the
backend member of active connections.
This operation returns the updated member object with the
ACTIVE
, PENDING_UPDATE
, or ERROR
provisioning status.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
member |
body |
object |
Defines which attributes are to be shown on any response. |
member.id |
body |
string |
The ID of the member. |
member.name |
body |
string |
Human-readable name of the resource. |
member.operating_status |
body |
string |
The operating status of the resource. See Operating Status Codes. |
member.provisioning_status |
body |
string |
The provisioning status of the resource. See Provisioning Status Codes. |
member.admin_state_up |
body |
boolean |
The administrative state of the resource, which is
up ( |
member.address |
body |
string |
The IP address of the backend member server. |
member.protocol_port |
body |
integer |
The protocol port number the backend member server is listening on. |
member.weight |
body |
integer |
The weight of a member determines the portion of requests or connections it
services compared to the other members of the pool. For example, a member
with a weight of 10 receives five times as many requests as a member with a
weight of 2. A value of 0 means the member does not receive new connections
but continues to service existing connections. A valid value is
from |
member.backup |
body |
boolean |
Is the member a backup? Backup members only receive traffic when all non-backup members are down. New in version 2.1 |
member.subnet_id |
body |
string |
The subnet ID the member service is accessible from. |
member.project_id |
body |
string |
The ID of the project owning this resource. |
member.created_at |
body |
string |
The UTC date and timestamp when the resource was created. |
member.updated_at |
body |
string |
The UTC date and timestamp when the resource was last updated. |
member.monitor_address |
body |
string |
An alternate IP address used for health monitoring a backend member.
Default is |
member.monitor_port |
body |
integer |
An alternate protocol port used for health monitoring a backend member.
Default is |
member.tenant_id |
body |
string |
404¶
Error