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