# Data Types

## BackendHealthStatus

Health check state of backend server.

Referenced by：DescribeBackendHealth

| Value   | Description            |
| ------- | ---------------------- |
| Alive   | Healthy.               |
| Dead    | Unhealthy.             |
| Unknown | Not detected.          |
| Close   | Health check disabled. |

## BackendHealthStatusDetail

Information on health check state of backend servers.

Referenced by：DescribeBackendHealth

| Parameter Name | Type                                        | Description                           |
| -------------- | ------------------------------------------- | ------------------------------------- |
| port           | Integer                                     | Backend server port.                  |
| healthStatus   | [BackendHealthStatus](#backendhealthstatus) | Health check state of backend server. |

## BackendServer

Information on backend servers.

Referenced by：DeregisterBackend, ModifyBackend, RegisterBackend

| Parameter Name   | Type    | Required | Description                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ---------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| privateIpAddress | String  | Yes      | Private IP address of the network interface attached to the instance.                                                                                                                                                                                                                                                                                                                                                                    |
| instanceId       | String  | No       | <p>Instance ID.</p><p>If the backend server is an elastic compute instance, you can call DescribeInstances, and find InstanceId in the response to obtain valid instance ID.</p><p>When unbinding, this field is required if an instance ID is present.</p>                                                                                                                                                                              |
| weight           | Integer | No       | <p>Forwarding weight of the backend server.</p><p>The default value is 100 when adding a server. If not specified during modification, the value will remain unchanged.</p><p>This parameter is not required when deleting a server.</p><p>Optional range: \[0, 65535].</p><p>Value range: \[0, 65535]</p>                                                                                                                               |
| port             | Integer | No       | <p>Target port for request forwarding and health checks.</p><p>If left empty, it will follow the listener port configuration.</p><p>This parameter is not required when deleting a server.</p><p>When the listener forwarding mode is <code>DR</code>, or the listener uses all ports (0) or multiple ports, specifying a target port is not supported; the target port must match the listener port.</p><p>Value range: \[1, 65535]</p> |

## EipNetworkType

Network type information of elastic IPs.

Referenced by：CreateLoadBalancer, InquiryPriceCreateLoadBalancer

| Value        | Description                                         |
| ------------ | --------------------------------------------------- |
| BGPLine      | BGP network.                                        |
| CN2Line      | China Telecom Next Carrier Network.                 |
| LocalLine    | Local IP provided by a local ISP.                   |
| ChinaMobile  | China Mobile network.                               |
| ChinaUnicom  | China Unicom network.                               |
| ChinaTelecom | China Telecom network.                              |
| Cogent       | Cogent IP network offered by Cogent Communications. |
| ThreeLine    | 3-in-1 IP Pool.                                     |

## HealthCheck

Information on health check.

Referenced by：CreateListener, ModifyListener, DescribeListeners

| Parameter Name      | Type                              | Required | Description                                                                                                                                                                                                                                                                                                        |
| ------------------- | --------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| enabled             | Boolean                           | No       | <p>Whether to enable health check.</p><p>Default value: true</p>                                                                                                                                                                                                                                                   |
| checkType           | [HeathCheckType](#heathchecktype) | No       | <p>Health check protocols.</p><p>When health check is enabled, the value is required.</p>                                                                                                                                                                                                                          |
| checkPort           | Integer                           | No       | <p>Health check port.</p><p>When the listener port is set to all ports (0) and the health check type is TCP or HTTP\_GET, the value must be specified.</p><p>Defaults to the backend server port. Unless you need a specific port, it is recommended to leave this field empty.</p><p>Value range: \[1, 65535]</p> |
| checkDelayLoop      | Integer                           | No       | <p>Health check interval.</p><p>Unit: seconds.</p><p>Optional range: \[3, 30].</p><p>Default: 3.</p><p>Value range: \[3, 30]</p><p>Default value: 3</p>                                                                                                                                                            |
| checkConnTimeout    | Integer                           | No       | <p>Health check timeout period.</p><p>Unit: seconds.</p><p>Optional range: \[1, 15].</p><p>Default: 2.</p><p>Value range: \[1, 15]</p><p>Default value: 2</p>                                                                                                                                                      |
| checkRetry          | Integer                           | No       | <p>Health check retry count.</p><p>Optional range: \[1, 5].</p><p>Default: 2.</p><p>Value range: \[1, 5]</p><p>Default value: 2</p>                                                                                                                                                                                |
| checkDelayTry       | Integer                           | No       | <p>Interval between health check retries.</p><p>Unit: seconds.</p><p>Optional range: \[1, 15].</p><p>Default: 2.</p><p>Value range: \[1, 15]</p><p>Default value: 2</p>                                                                                                                                            |
| checkHttpGetUrl     | String                            | No       | <p>Health check path.</p><p>Applicable only for the HTTP\_GET protocol.</p><p>If specified, it must start with a forward slash (/).</p>                                                                                                                                                                            |
| checkHttpStatusCode | Integer                           | No       | <p>Health check status code.</p><p>Applicable only for the HTTP\_GET protocol.</p><p>Optional range: \[100, 599].</p><p>Value range: \[100, 599]</p>                                                                                                                                                               |
| failOpen            | Boolean                           | No       | If all backends fail health checks, the load balancer will fail open and continue forwarding traffic to all servers to maintain service continuity.                                                                                                                                                                |

## HeathCheckType

Protocols for health check.

Referenced by：DescribeListeners

| Value       | Description |
| ----------- | ----------- |
| PING\_CHECK | PING check. |
| TCP         | TCP check.  |
| HTTP\_GET   | HTTP check. |

## InternetChargeType

IP network billing method information.

Referenced by：CreateLoadBalancer, InquiryPriceCreateLoadBalancer

| Value            | Description                           |
| ---------------- | ------------------------------------- |
| ByBandwidth      | Flat rate billing method.             |
| ByTrafficPackage | Data transfer package billing method. |
| BandwidthCluster | Bandwidth cluster billing method.     |

## Listener

Information on listeners.

Referenced by：DescribeListeners

| Parameter Name | Type                                    | Description                                                                                                                                                                                                                                                     |
| -------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| port           | String                                  | <p>Listening port.</p><p>Use commas (,) to separate multiple ports.</p><p>Use a hyphen (-) to define a port range, e.g., 10000-10005.</p><p>If multiple consecutive individual ports are provided, they will be automatically aggregated into a port range.</p> |
| listenerId     | String                                  | Listener ID.                                                                                                                                                                                                                                                    |
| listenerName   | String                                  | Listener name.                                                                                                                                                                                                                                                  |
| protocol       | [ListenerProtocol](#listenerprotocol)   | Listening protocols.                                                                                                                                                                                                                                            |
| healthCheck    | [HealthCheck](#healthcheck)             | Heath check information of a listener.                                                                                                                                                                                                                          |
| scheduler      | [ListenerScheduler](#listenerscheduler) | Scheduling algorithm.                                                                                                                                                                                                                                           |
| kind           | [LoadBalancerKind](#loadbalancerkind)   | Forwarding mode.                                                                                                                                                                                                                                                |
| createTime     | String                                  | <p>Creation time.</p><p>Format: YYYY-MM-ddTHH:mm:ssZ</p>                                                                                                                                                                                                        |
| persistent     | Integer                                 | <p>Session persistence duration, in seconds.</p><p>Value range: \[0, +)</p>                                                                                                                                                                                     |
| idleTimeout    | Integer                                 | <p>Idle timeout period. Unit: seconds.</p><p>Value range: \[60, +)</p>                                                                                                                                                                                          |

## ListenerBackend

Information on backend servers added to listeners.

Referenced by：DescribeBackends

| Parameter Name   | Type                                  | Description                                                                                                                                                                                                                                                                                                |
| ---------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| instanceId       | String                                | <p>Instance ID.</p><p>To obtain valid instance ID, you can call DescribeInstances, and find InstanceId in the response.</p>                                                                                                                                                                                |
| privateIpAddress | String                                | Private IP address of the network interface attached to the instance.                                                                                                                                                                                                                                      |
| listenerPort     | String                                | <p>Listening port.</p><p>Use commas (,) to separate multiple ports.</p><p>Use a hyphen (-) to define a port range, e.g., 10000-10005.</p>                                                                                                                                                                  |
| weight           | Integer                               | <p>Forwarding weight of the backend server.</p><p>The default value is 100 when adding a server. If not specified during modification, the value will remain unchanged.</p><p>This parameter is not required when deleting a server.</p><p>Optional range: \[0, 65535].</p><p>Value range: \[0, 65535]</p> |
| backendPort      | Integer                               | <p>Target port for request forwarding and health checks.</p><p>If left empty, it will follow the listener's port configuration.</p><p>This parameter is not required when deleting a server.</p><p>Optional range: \[1, 65535].</p><p>Value range: \[1, 65535]</p>                                         |
| listenerId       | String                                | Listener ID.                                                                                                                                                                                                                                                                                               |
| listenerName     | String                                | Listener name.                                                                                                                                                                                                                                                                                             |
| protocol         | [ListenerProtocol](#listenerprotocol) | Listening protocols.                                                                                                                                                                                                                                                                                       |

## ListenerBackendHealth

Information on health check state of backend servers of a load balance listener.

Referenced by：DescribeBackendHealth

| Parameter Name     | Type                                                             | Description                                                                                                                                                                                                                                                                                                                             |
| ------------------ | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| instanceId         | String                                                           | <p>Instance ID.</p><p>You can obtain this value from the InstanceId field in the response of the DescribeInstances API.</p>                                                                                                                                                                                                             |
| privateIpAddress   | String                                                           | The private IP of the vNIC attached to the instance.                                                                                                                                                                                                                                                                                    |
| listenerPort       | String                                                           | <p>Listening port.</p><p>Use commas (,) to separate multiple ports.</p><p>For port ranges, use a hyphen (-), e.g., 10000-10005.</p>                                                                                                                                                                                                     |
| healthStatus       | [BackendHealthStatus](#backendhealthstatus)                      | State of backend server health check.                                                                                                                                                                                                                                                                                                   |
| healthStatusDetail | Array of [BackendHealthStatusDetail](#backendhealthstatusdetail) | <p>Health check status of the backend port.</p><p>When healthStatus is Close or Unknown, no detailed information is available.</p>                                                                                                                                                                                                      |
| weight             | Integer                                                          | <p>The forwarding weight of the backend server after modification.</p><p>The default value is 100 when adding a server. If not specified during modification, the weight will remain unchanged.</p><p>This parameter is not required when deleting a backend server.</p><p>Valid range: \[0, 65535].</p><p>Value range: \[0, 65535]</p> |
| backendPort        | Integer                                                          | <p>The target port used for request forwarding and health checks.</p><p>If left empty, it follows the listener port configuration.</p><p>This parameter is not required when deleting a backend server.</p><p>Valid range: \[1, 65535].</p><p>Value range: \[1, 65535]</p>                                                              |
| listenerId         | String                                                           | Load balancer ID.                                                                                                                                                                                                                                                                                                                       |
| listenerName       | String                                                           | Load balancer name.                                                                                                                                                                                                                                                                                                                     |
| protocol           | [ListenerProtocol](#listenerprotocol)                            | Listener protocol.                                                                                                                                                                                                                                                                                                                      |

## ListenerProtocol

Listening protocol information of the listener.

Referenced by：CreateListener, DescribeBackendHealth, DescribeBackends, DescribeListeners

| Value | Description   |
| ----- | ------------- |
| TCP   | TCP protocol. |
| UDP   | UDP protocol. |

## ListenerScheduler

Scheduling algorithm of the listener.

Referenced by：CreateListener, ModifyListener, DescribeListeners

| Value | Description                       |
| ----- | --------------------------------- |
| mh    | Maglev Hashing (mh).              |
| rr    | Round Robin (rr).                 |
| wrr   | Weighted Round Robin (wrr).       |
| lc    | Least Connections (lc).           |
| wlc   | Weighted Least Connections (wlc). |
| sh    | Source Hashing (sh).              |
| dh    | Destination Hashing (dh).         |

## LoadBalancer

Information on load balance instances.

Referenced by：DescribeLoadBalancers

| Parameter Name        | Type                                                      | Description                                              |
| --------------------- | --------------------------------------------------------- | -------------------------------------------------------- |
| loadBalancerId        | String                                                    | Load balance instance ID.                                |
| loadBalancerName      | String                                                    | Load balance instance name.                              |
| vpcId                 | String                                                    | VPC ID to which the load balance backend server belongs. |
| status                | [LoadBalancerInstanceStatus](#loadbalancerinstancestatus) | Load balance instance state.                             |
| healthCheckPrivateIps | Array of String                                           | Health probe source private IP list.                     |
| regionId              | String                                                    | Region ID.                                               |
| publicIpAddress       | Array of String                                           | Public Virtual IP list of the load balancer instance.    |
| privateIpAddress      | Array of String                                           | Private Virtual IP list of the load balancer instance.   |
| listenerCount         | Integer                                                   | Listener quantity.                                       |
| createTime            | String                                                    | <p>Creation time.</p><p>Format: YYYY-MM-ddTHH:mm:ssZ</p> |
| resourceGroup         | [ResourceGroupInfo](#resourcegroupinfo)                   | Resource group information.                              |
| tags                  | [Tags](#tags)                                             | Tags bound to resources.                                 |
| securityGroupId       | String                                                    | Security group ID.                                       |

## LoadBalancerInstanceStatus

State of the load balance instance.

Referenced by：DescribeLoadBalancers

| Value          | Description      |
| -------------- | ---------------- |
| CREATING       | Creating.        |
| RUNNING        | Running.         |
| RECYCLED       | Recycled.        |
| CREATE\_FAILED | Creating failed. |
| RELEASING      | Releasing.       |

## LoadBalancerKind

Forwarding mode of the load balance listener.

Referenced by：CreateListener, ModifyListener, DescribeListeners

| Value | Description      |
| ----- | ---------------- |
| FNAT  | Full NAT.        |
| DR    | Direct Routing.  |
| DNAT  | Destination NAT. |

## LoadBalancerMonitorMetricType

Information on monitor metrics of load balancers.

Referenced by：DescribeLoadBalancerMonitorData

| Value                   | Description                                                                                                                                                                  |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| NEW\_CONNECTIONS        | <p>Concurrent connections.</p><p>The number of connections that are active and being handled simultaneously by a load balancing instance at a given time (per minutes).</p>  |
| CONCURRENT\_CONNECTIONS | <p>Connections Per Second (CPS).</p><p>The number of new connections that a load balancing instance can handle in one second.</p>                                            |
| HANDLED\_BPS            | <p>Network Throughput.</p><p>The combined inbound and outbound bandwidth rate processed by a load balancing instance within one hour, measured in bits per second (bps).</p> |

## MarketingInfo

Information on marketing campaigns.

Referenced by：CreateLoadBalancer

| Parameter Name | Type    | Required | Description                                                                                        |
| -------------- | ------- | -------- | -------------------------------------------------------------------------------------------------- |
| discountCode   | String  | No       | <p>Promo Code.</p><p>If no Promo Code exists, the final discount will not apply.</p>               |
| usePocVoucher  | Boolean | No       | <p>Whether to use POC voucher.</p><p>If no POC voucher exists, the related creation will fail.</p> |

## MetricValue

Information on monitor metric values of load balancers.

Referenced by：DescribeLoadBalancerMonitorData

| Parameter Name | Type   | Description                                                                                          |
| -------------- | ------ | ---------------------------------------------------------------------------------------------------- |
| time           | String | Metric value time.                                                                                   |
| value          | Float  | <p>Metric value.</p><p>If the value is null, it indicates the corresponding data is unavailable.</p> |

## NetworkLineType

Network type information of elastic IPs.

Referenced by：CreateLoadBalancer, InquiryPriceCreateLoadBalancer

| Value       | Description                                                                        |
| ----------- | ---------------------------------------------------------------------------------- |
| PremiumBGP  | <p>Premium BGP network.</p><p>High-performance network.</p>                        |
| CN2         | China Telecom CN2 network.                                                         |
| LocalLine   | Provided by a local ISP.                                                           |
| StandardBGP | <p>Standard BGP network.</p><p>General-purpose network with cost optimization.</p> |
| CMI         | 1-Line IP China Mobile.                                                            |
| CUG         | 1-Line IP China Unicom.                                                            |
| CTG         | 1-Line IP China Telecom.                                                           |
| ThreeLine   | 3-in-1 IP Pool.                                                                    |

## PriceCategory

Describes the price type.

Referenced by：InquiryPriceCreateLoadBalancer

| Value      | Description     |
| ---------- | --------------- |
| STANDARD   | Standard price. |
| CUSTOMIZED | Fixed price.    |

## PriceItem

Pricing information.

Referenced by：InquiryPriceCreateLoadBalancer

| Parameter Name          | Type                             | Description                                                                                                                                                                                                                                                        |
| ----------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| discount                | Float                            | <p>Discount.</p><p>For example, 80.0 means 20% off.</p>                                                                                                                                                                                                            |
| discountPrice           | Float                            | <p>Discount price of postpaid resources.</p><p>Only used in pay-as-you-go model. For tiered billing, the value is empty.</p>                                                                                                                                       |
| originalPrice           | Float                            | <p>Original price of prepaid resources.</p><p>Only used in subscription model. For pay-as-you-go model, the value is empty.</p>                                                                                                                                    |
| unitPrice               | Float                            | <p>Original unit price of postpaid resources.</p><p>Only used in pay-as-you-go model. For tiered billing, the value is empty.</p>                                                                                                                                  |
| discountUnitPrice       | Float                            | <p>Discount unit price of postpaid resources.</p><p>Only used in pay-as-you-go model. For tiered billing, the value is empty.</p>                                                                                                                                  |
| chargeUnit              | String                           | <p>Unit of postpaid billing.</p><p>Only used in pay-as-you-go model.</p><p>Value range:</p><p>HOUR: you will be billed by hour.</p><p>DAY: you will be billed by day.</p><p>MONTH: you will be billed by month. For example, the burstable 95th pricing model.</p> |
| stepPrices              | Array of [StepPrice](#stepprice) | <p>Tiered price of postpaid billing.</p><p>Only used in pay-as-you-go model. If it is not tiered price, the value is empty.</p>                                                                                                                                    |
| amountUnit              | String                           | <p>Unit of usage, such as Mbps, LCU, and etc.</p><p>If the value is empty, it means there is no unit.</p>                                                                                                                                                          |
| excessUnitPrice         | Float                            | Original unit price of overages.                                                                                                                                                                                                                                   |
| excessDiscountUnitPrice | Float                            | Discount unit price of overages.                                                                                                                                                                                                                                   |
| excessAmountUnit        | String                           | <p>Unit of overage usage.</p><p>If the value is empty, it means there is no unit.</p>                                                                                                                                                                              |
| category                | [PriceCategory](#pricecategory)  | The category to which the price belongs.                                                                                                                                                                                                                           |

## Region

Information on regions.

Referenced by：DescribeLoadBalancerRegions

| Parameter Name | Type   | Description                                   |
| -------------- | ------ | --------------------------------------------- |
| regionId       | String | Region ID.                                    |
| cityName       | String | Name of the city where the region is located. |
| cityCode       | String | IATA airport code for the city.               |

## ResourceGroupInfo

Information on resource group, including resource group name and resource group ID.

Referenced by：DescribeLoadBalancers

| Parameter Name    | Type   | Description          |
| ----------------- | ------ | -------------------- |
| resourceGroupId   | String | Resource group ID.   |
| resourceGroupName | String | Resource group name. |

## StepPrice

Describe a tier of the tiered price .

Referenced by：InquiryPriceCreateLoadBalancer

| Parameter Name    | Type  | Description                                                                                     |
| ----------------- | ----- | ----------------------------------------------------------------------------------------------- |
| stepStart         | Float | First price range of a tiered price.                                                            |
| stepEnd           | Float | <p>Last price range of a tiered price.</p><p>If the value is empty, it means the last tier.</p> |
| unitPrice         | Float | Original unit price of current price range.                                                     |
| discountUnitPrice | Float | Discount unit price of current price range.                                                     |

## Tag

Information on a tag, including its key and value.

Referenced by：CreateLoadBalancer, DescribeLoadBalancers

| Parameter Name | Type   | Required | Description                                  |
| -------------- | ------ | -------- | -------------------------------------------- |
| key            | String | Yes      | Tag key. Length limit: 1 to 64 characters.   |
| value          | String | No       | Tag value. Length limit: 1 to 64 characters. |

## TagAssociation

Information on tags bound to resources, including their keys and values.

Referenced by：CreateLoadBalancer

| Parameter Name | Type                 | Required | Description   |
| -------------- | -------------------- | -------- | ------------- |
| tags           | Array of [Tag](#tag) | Yes      | List of tags. |

## Tags

Information on tags, including their keys and values.

Referenced by：DescribeLoadBalancers

| Parameter Name | Type                 | Description   |
| -------------- | -------------------- | ------------- |
| tags           | Array of [Tag](#tag) | List of tags. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/api/networking/zlb/datastructure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
