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 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 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 3 Response body parameters

Parameter

Type

Description

statuses

LoadBalancerStatusResult object

Provides information about the load balancer status tree.

request_id

String

Specifies the request ID. The value is automatically generated.

Table 4 LoadBalancerStatusResult

Parameter

Type

Description

loadbalancer

LoadBalancerStatus object

Specifies the statuses of the load balancer and its associated resources.

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 LoadBalancerStatusListener objects

Lists the listeners added to the load balancer.

pools

Array of LoadBalancerStatusPool objects

Lists the backend server groups associated with the load balancer.

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 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 LoadBalancerStatusPool objects

Specifies the operating status of the backend server group associated with the listener.

l7policies

Array of LoadBalancerStatusPolicy objects

Specifies the operating status of the forwarding policy added to the listener.

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 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.

Default: ACTIVE

name

String

Specifies the policy name.

Minimum: 1

Maximum: 255

rules

Array of LoadBalancerStatusL7Rule objects

Specifies the forwarding rule.

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.

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 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

LoadBalancerStatusHealthMonitor object

Specifies the health check results of backend servers in the load balancer status tree.

members

Array of LoadBalancerStatusMember objects

Specifies the backend server.

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 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 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

GET

https://{ELB_Endpoint}/v3/{project_id}/elb/loadbalancers/38278031-cfca-44be-81be-a412f618773b/statuses

Example Responses

Status code: 200

Successful request.

{
  "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.