doc-exports/elb/api-ref/ShowLoadBalancerStatus.rst

450 lines
40 KiB
ReStructuredText

Querying the Status Tree of a Load Balancer
===========================================
Function
^^^^^^^^
This API is used to query the status tree of a load balancer and show information about all resources associated with the load balancer.
When **admin_state_up** is set to **false** and **operating_status** to **OFFLINE** for a backend server, **DISABLED** is returned for **operating_status** of the backend server in the response of this API.
URI
^^^
GET /v3/{project_id}/elb/loadbalancers/{loadbalancer_id}/statuses
.. table:: **Table 1** Path parameters
=============== ========= ====== ===============================
Parameter Mandatory Type Description
=============== ========= ====== ===============================
project_id Yes String Specifies the project ID.
loadbalancer_id Yes String Specifies the load balancer ID.
=============== ========= ====== ===============================
Request Parameters
^^^^^^^^^^^^^^^^^^
.. table:: **Table 2** Request header parameters
============ ========= ====== ================================================
Parameter Mandatory Type Description
============ ========= ====== ================================================
X-Auth-Token Yes String Specifies the token used for IAM authentication.
============ ========= ====== ================================================
Response Parameters
^^^^^^^^^^^^^^^^^^^
**Status code: 200**
.. table:: **Table 3** Response body parameters
+------------+---------------------------------------------------+---------------------------------------------------+
| Parameter | Type | Description |
+============+===================================================+===================================================+
| statuses | `LoadBalancerStatusResult <#ShowLoadBala | Provides information about the load balancer |
| | ncerStatus__response_LoadBalancerStatusResult>`__ | status tree. |
| | object | |
+------------+---------------------------------------------------+---------------------------------------------------+
| request_id | String | Specifies the request ID. The value is |
| | | automatically generated. |
+------------+---------------------------------------------------+---------------------------------------------------+
.. table:: **Table 4** LoadBalancerStatusResult
+--------------+--------------------------------------------------+--------------------------------------------------+
| Parameter | Type | Description |
+==============+==================================================+==================================================+
| loadbalancer | `LoadBalancerStatus <#ShowLoa | Specifies the statuses of the load balancer and |
| | dBalancerStatus__response_LoadBalancerStatus>`__ | its associated resources. |
| | object | |
+--------------+--------------------------------------------------+--------------------------------------------------+
.. table:: **Table 5** LoadBalancerStatus
+---------------------------------------+---------------------------------------+---------------------------------------+
| Parameter | Type | Description |
+=======================================+=======================================+=======================================+
| name | String | Specifies the load balancer name. |
| | | |
| | | Minimum: **1** |
| | | |
| | | Maximum: **255** |
+---------------------------------------+---------------------------------------+---------------------------------------+
| provisioning_status | String | Specifies the provisioning status of |
| | | the load balancer. |
| | | |
| | | The value can only be **ACTIVE**. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| listeners | Array of | Lists the listeners added to the load |
| | `LoadBalancerStatus | balancer. |
| | Listener <#ShowLoadBalancerStatus__re | |
| | sponse_LoadBalancerStatusListener>`__ | |
| | objects | |
+---------------------------------------+---------------------------------------+---------------------------------------+
| pools | Array of | Lists the backend server groups |
| | `LoadBalanc | associated with the load balancer. |
| | erStatusPool <#ShowLoadBalancerStatus | |
| | __response_LoadBalancerStatusPool>`__ | |
| | objects | |
+---------------------------------------+---------------------------------------+---------------------------------------+
| id | String | Specifies the load balancer ID. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| operating_status | String | Specifies the operating status of the |
| | | load balancer. |
| | | |
| | | The value can only be one of the |
| | | following: |
| | | |
| | | - **ONLINE** (default): The load |
| | | balancer is running normally. |
| | | |
| | | - **DEGRADED**: This status is |
| | | displayed only when |
| | | **operating_status** is set to |
| | | **OFFLINE** for a backend server |
| | | associated with the load balancer |
| | | and the API for querying the load |
| | | balancer status tree is called. |
| | | |
| | | - **DISABLED**: This status is |
| | | displayed only when |
| | | **admin_state_up** of the load |
| | | balancer is set to **false** and |
| | | the API for querying the load |
| | | balancer status tree is called. |
+---------------------------------------+---------------------------------------+---------------------------------------+
.. table:: **Table 6** LoadBalancerStatusListener
+---------------------------------------+---------------------------------------+---------------------------------------+
| Parameter | Type | Description |
+=======================================+=======================================+=======================================+
| name | String | Specifies the name of the listener |
| | | added to the load balancer. |
| | | |
| | | Minimum: **1** |
| | | |
| | | Maximum: **255** |
+---------------------------------------+---------------------------------------+---------------------------------------+
| provisioning_status | String | Specifies the provisioning status of |
| | | the listener. The value can only be |
| | | **ACTIVE**. |
| | | |
| | | Default: **ACTIVE** |
+---------------------------------------+---------------------------------------+---------------------------------------+
| pools | Array of | Specifies the operating status of the |
| | `LoadBalanc | backend server group associated with |
| | erStatusPool <#ShowLoadBalancerStatus | the listener. |
| | __response_LoadBalancerStatusPool>`__ | |
| | objects | |
+---------------------------------------+---------------------------------------+---------------------------------------+
| l7policies | Array of | Specifies the operating status of the |
| | `LoadBalancerSt | forwarding policy added to the |
| | atusPolicy <#ShowLoadBalancerStatus__ | listener. |
| | response_LoadBalancerStatusPolicy>`__ | |
| | objects | |
+---------------------------------------+---------------------------------------+---------------------------------------+
| id | String | Specifies the listener ID. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| operating_status | String | Specifies the operating status of the |
| | | listener. |
| | | |
| | | The value can only be one of the |
| | | following: |
| | | |
| | | - **ONLINE** (default): The listener |
| | | is running normally. |
| | | |
| | | - **DISABLED**: This status is |
| | | displayed only when |
| | | **admin_state_up** of the load |
| | | balancer or the listener is set to |
| | | **false** and the API for querying |
| | | the load balancer status tree is |
| | | called. |
+---------------------------------------+---------------------------------------+---------------------------------------+
.. table:: **Table 7** LoadBalancerStatusPolicy
+---------------------------------------+---------------------------------------+---------------------------------------+
| Parameter | Type | Description |
+=======================================+=======================================+=======================================+
| action | String | Specifies whether requests are |
| | | forwarded to another backend server |
| | | group or redirected to an HTTPS |
| | | listener. The value can be |
| | | **REDIRECT_TO_POOL** or |
| | | **REDIRECT_TO_LISTENER**. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| id | String | Specifies the policy ID. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| provisioning_status | String | Specifies the provisioning status of |
| | | the forwarding policy. |
| | | |
| | | The value can only be **ACTIVE**. |
| | | |
| | | Default: **ACTIVE** |
+---------------------------------------+---------------------------------------+---------------------------------------+
| name | String | Specifies the policy name. |
| | | |
| | | Minimum: **1** |
| | | |
| | | Maximum: **255** |
+---------------------------------------+---------------------------------------+---------------------------------------+
| rules | Array of | Specifies the forwarding rule. |
| | `LoadBalancerSt | |
| | atusL7Rule <#ShowLoadBalancerStatus__ | |
| | response_LoadBalancerStatusL7Rule>`__ | |
| | objects | |
+---------------------------------------+---------------------------------------+---------------------------------------+
.. table:: **Table 8** LoadBalancerStatusL7Rule
+---------------------------------------+---------------------------------------+---------------------------------------+
| Parameter | Type | Description |
+=======================================+=======================================+=======================================+
| id | String | Specifies the ID of the forwarding |
| | | rule. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| provisioning_status | String | Specifies the provisioning status of |
| | | the forwarding rule. |
| | | |
| | | The value can only be **ACTIVE**. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| type | String | Specifies the match content. The |
| | | value can be **HOST_NAME** or |
| | | **PATH**. |
| | | |
| | | **HOST_NAME** indicates that the |
| | | domain name will be used for |
| | | matching, and **PATH** indicates that |
| | | the URL will be used for matching. |
| | | |
| | | The **type** value must be unique for |
| | | each forwarding rule in a forwarding |
| | | policy. |
+---------------------------------------+---------------------------------------+---------------------------------------+
.. table:: **Table 9** LoadBalancerStatusPool
+---------------------------------------+---------------------------------------+---------------------------------------+
| Parameter | Type | Description |
+=======================================+=======================================+=======================================+
| provisioning_status | String | Specifies the provisioning status of |
| | | the backend server group. The value |
| | | can only be **ACTIVE**. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| name | String | Specifies the name of the backend |
| | | server group. |
| | | |
| | | Minimum: **1** |
| | | |
| | | Maximum: **255** |
+---------------------------------------+---------------------------------------+---------------------------------------+
| healthmonitor | `LoadBalancerStatusHealthMoni | Specifies the health check results of |
| | tor <#ShowLoadBalancerStatus__respons | backend servers in the load balancer |
| | e_LoadBalancerStatusHealthMonitor>`__ | status tree. |
| | object | |
+---------------------------------------+---------------------------------------+---------------------------------------+
| members | Array of | Specifies the backend server. |
| | `LoadBalancerSt | |
| | atusMember <#ShowLoadBalancerStatus__ | |
| | response_LoadBalancerStatusMember>`__ | |
| | objects | |
+---------------------------------------+---------------------------------------+---------------------------------------+
| id | String | Specifies the ID of the backend |
| | | server group. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| operating_status | String | Specifies the operating status of the |
| | | backend server group. |
| | | |
| | | The value can be one of the |
| | | following: |
| | | |
| | | - **ONLINE**: The backend server |
| | | group is running normally. |
| | | |
| | | - **DEGRADED**: This status is |
| | | displayed only when |
| | | **operating_status** of a backend |
| | | server in the group is set to |
| | | **OFFLINE** and the API for |
| | | querying the load balancer status |
| | | tree is called. |
| | | |
| | | - **DISABLED**: This status is |
| | | displayed only when |
| | | **admin_state_up** of the backend |
| | | server group or the associated |
| | | load balancer is set to **false** |
| | | and the API for querying the load |
| | | balancer status tree is called. |
+---------------------------------------+---------------------------------------+---------------------------------------+
.. table:: **Table 10** LoadBalancerStatusHealthMonitor
+---------------------------------------+---------------------------------------+---------------------------------------+
| Parameter | Type | Description |
+=======================================+=======================================+=======================================+
| type | String | Specifies the health check protocol. |
| | | The value can be **TCP**, |
| | | **UDP_CONNECT**, or **HTTP**. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| id | String | Specifies the health check ID. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| name | String | Specifies the health check name. |
| | | |
| | | Minimum: **1** |
| | | |
| | | Maximum: **255** |
+---------------------------------------+---------------------------------------+---------------------------------------+
| provisioning_status | String | Specifies the provisioning status of |
| | | the health check. The value can only |
| | | be **ACTIVE**. |
+---------------------------------------+---------------------------------------+---------------------------------------+
.. table:: **Table 11** LoadBalancerStatusMember
+---------------------------------------+---------------------------------------+---------------------------------------+
| Parameter | Type | Description |
+=======================================+=======================================+=======================================+
| provisioning_status | String | Specifies the provisioning status of |
| | | the backend server. The value can |
| | | only be **ACTIVE**. |
| | | |
| | | Default: **ACTIVE** |
+---------------------------------------+---------------------------------------+---------------------------------------+
| address | String | Specifies the IP address of the |
| | | backend server. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| protocol_port | Integer | Specifies the port used by the |
| | | backend server to receive requests. |
| | | The port number ranges from 1 to |
| | | 65535. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| id | String | Specifies the backend server ID. |
+---------------------------------------+---------------------------------------+---------------------------------------+
| operating_status | String | Specifies the operating status of the |
| | | backend server. |
| | | |
| | | The value can be one of the |
| | | following: |
| | | |
| | | - **ONLINE**: The backend server is |
| | | running normally. |
| | | |
| | | - **NO_MONITOR**: No health check is |
| | | configured for the backend server |
| | | group to which the backend server |
| | | belongs. |
| | | |
| | | - **DISABLED**: The backend server |
| | | is not available. This status is |
| | | displayed only when |
| | | **admin_state_up** of the backend |
| | | server, or the backend server |
| | | group to which it belongs, or the |
| | | associated load balancer is set to |
| | | **false** and the API for querying |
| | | the load balancer status tree is |
| | | called. |
| | | |
| | | - **OFFLINE**: The cloud server used |
| | | as the backend server is stopped |
| | | or does not exist. |
+---------------------------------------+---------------------------------------+---------------------------------------+
Example Requests
^^^^^^^^^^^^^^^^
Querying the status tree of a load balancer
.. code:: screen
GET
https://{ELB_Endpoint}/v3/{project_id}/elb/loadbalancers/38278031-cfca-44be-81be-a412f618773b/statuses
Example Responses
^^^^^^^^^^^^^^^^^
**Status code: 200**
Successful request.
.. code:: screen
{
"statuses" : {
"loadbalancer" : {
"name" : "lb-jy",
"provisioning_status" : "ACTIVE",
"listeners" : [ {
"name" : "listener-jy-1",
"provisioning_status" : "ACTIVE",
"pools" : [ {
"name" : "pool-jy-1",
"provisioning_status" : "ACTIVE",
"healthmonitor" : {
"type" : "TCP",
"id" : "7422b51a-0ed2-4702-9429-4f88349276c6",
"name" : "",
"provisioning_status" : "ACTIVE"
},
"members" : [ {
"protocol_port" : 80,
"address" : "192.168.44.11",
"id" : "7bbf7151-0dce-4087-b316-06c7fa17b894",
"operating_status" : "ONLINE",
"provisioning_status" : "ACTIVE"
} ],
"id" : "c54b3286-2349-4c5c-ade1-e6bb0b26ad18",
"operating_status" : "ONLINE"
} ],
"l7policies" : [ ],
"id" : "eb84c5b4-9bc5-4bee-939d-3900fb05dc7b",
"operating_status" : "ONLINE"
} ],
"pools" : [ {
"name" : "pool-jy-1",
"provisioning_status" : "ACTIVE",
"healthmonitor" : {
"type" : "TCP",
"id" : "7422b51a-0ed2-4702-9429-4f88349276c6",
"name" : "",
"provisioning_status" : "ACTIVE"
},
"members" : [ {
"protocol_port" : 80,
"address" : "192.168.44.11",
"id" : "7bbf7151-0dce-4087-b316-06c7fa17b894",
"operating_status" : "ONLINE",
"provisioning_status" : "ACTIVE"
} ],
"id" : "c54b3286-2349-4c5c-ade1-e6bb0b26ad18",
"operating_status" : "ONLINE"
} ],
"id" : "38278031-cfca-44be-81be-a412f618773b",
"operating_status" : "ONLINE"
}
}
}
Status Codes
^^^^^^^^^^^^
=========== ===================
Status Code Description
=========== ===================
200 Successful request.
=========== ===================
Error Codes
^^^^^^^^^^^
See `Error Codes <errorcode.html>`__.
**Parent topic:** `Load Balancer <topic_300000003.html>`__