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 `__. **Parent topic:** `Load Balancer `__