> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/cn/networking/zlb/datastructure.md).

# 数据结构

## BackendHealthStatus

描述后端服务器的状态。

被如下接口引用：DescribeBackendHealth

| 值       | 值说明     |
| ------- | ------- |
| Alive   | 健康正常状态。 |
| Dead    | 异常状态。   |
| Unknown | 未探测状态。  |
| Close   | 健康检查关闭。 |

## BackendHealthStatusDetail

描述后端服务器的健康检查状态信息。

被如下接口引用：DescribeBackendHealth

| 参数名称         | 类型                                          | 描述        |
| ------------ | ------------------------------------------- | --------- |
| port         | Integer                                     | 后端服务器的端口。 |
| healthStatus | [BackendHealthStatus](#backendhealthstatus) | 健康检查的状态。  |

## BackendServer

后端服务器信息

被如下接口引用：DeregisterBackend, ModifyBackend, RegisterBackend

| 参数名称             | 类型      | 必选 | 描述                                                                                                                                                                |
| ---------------- | ------- | -- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| privateIpAddress | String  | 是  | 实例上绑定网卡的私网IP地址。                                                                                                                                                   |
| instanceId       | String  | 否  | <p>实例ID。</p><p>如果是zec实例作为后端服务器，可通过 DescribeInstances 接口返回字段中的 InstanceId 字段获取。</p><p>解绑时，对于存在实例ID的，该字段必传。</p>                                                     |
| weight           | Integer | 否  | <p>后端服务修改后的转发权重。</p><p>创建绑定服务器时默认值为100, 修改时如果不指定，则不会进行修改。</p><p>删除时不需要指定该参数。</p><p>可选值范围：\[0, 65535]</p>                                                          |
| port             | Integer | 否  | <p>请求转发和健康检查的目标端口。</p><p>如果为空，将跟随监听器端口配置。</p><p>删除时不需要指定该参数。</p><p>如果监听器转发模式为<code>DR</code>、监听器端口为全端口（0）或监听多个端口，不支持指定目标端口，必须跟随监听器端口。</p><p>可选值范围：\[1, 65535]</p> |

## BandwidthPriceResponseItem

带宽价格明细。

被如下接口引用：InquiryPriceCreateLoadBalancer

| 参数名称        | 类型                      | 描述                                                       |
| ----------- | ----------------------- | -------------------------------------------------------- |
| trafficType | String                  | <p>流量方向类型。</p><p>LOCAL：境内；INTERNATIONAL：境外；ALL：全部方向。</p> |
| price       | [PriceItem](#priceitem) | 该方向的带宽价格。                                                |

## EipNetworkType

描述弹性IP的网络线路信息。另详见`NetworkLineType`

被如下接口引用：CreateLoadBalancer, InquiryPriceCreateLoadBalancer

| 值                    | 值说明         |
| -------------------- | ----------- |
| BGPLine              | BGP 线路。     |
| CN2Line              | CN2 回国优化线路。 |
| LocalLine            | 本地IP。       |
| ChinaMobile          | 中国移动线路。     |
| ChinaUnicom          | 中国联通线路。     |
| ChinaTelecom         | 中国电信线路。     |
| Cogent               | Cogent。     |
| PathBasedBandwidthIP | 多路径带宽 IP。   |

## HealthCheck

描述健康检查的相关信息。

被如下接口引用：CreateListener, ModifyListener, DescribeListeners

| 参数名称                | 类型                                | 必选 | 描述                                                                                                                             |
| ------------------- | --------------------------------- | -- | ------------------------------------------------------------------------------------------------------------------------------ |
| enabled             | Boolean                           | 否  | <p>是否开启健康检查。</p><p>默认值：true</p>                                                                                                |
| checkType           | [HeathCheckType](#heathchecktype) | 否  | <p>健康检查使用的协议。</p><p>当开启健康检查时， 该字段必填。</p>                                                                                       |
| checkPort           | Integer                           | 否  | <p>健康检查端口。</p><p>默认为后端服务的端口，除非您希望指定特定端口，否则建议留空。</p><p>当监听器端口为全端口（0）或范围端口且健康检查类型为TCP或HTTP时，必须指定该端口。</p><p>可选值范围：\[1, 65535]</p> |
| checkDelayLoop      | Integer                           | 否  | <p>健康检查的检查间隔时间。</p><p>单位:秒。</p><p>可选值范围：\[3, 30]</p><p>默认值：3</p>                                                               |
| checkConnTimeout    | Integer                           | 否  | <p>健康检查的连接超时时间。</p><p>单位:秒。</p><p>可选值范围：\[1, 15]</p><p>默认值：2</p>                                                               |
| checkRetry          | Integer                           | 否  | <p>检查重试次数。</p><p>可选值范围：\[1, 5]</p><p>默认值：2</p>                                                                                 |
| checkDelayTry       | Integer                           | 否  | <p>健康检查重试的间隔时间。</p><p>单位:秒。</p><p>可选值范围：\[1, 15]</p><p>默认值：2</p>                                                               |
| checkHttpGetUrl     | String                            | 否  | <p>健康检查路径。</p><p>仅适用于HTTP\_GET的协议。</p><p>如果指定，必须以/开头。</p>                                                                      |
| checkHttpStatusCode | Integer                           | 否  | <p>健康检查状态码。</p><p>仅适用于HTTP\_GET的协议。</p><p>可选值范围：\[100, 599]</p>                                                                |
| failOpen            | Boolean                           | 否  | 开启后，当所有后端健康检查均失败时，负载均衡器将暂视所有节点为健康，继续转发流量，以保障业务连续性。                                                                             |

## HeathCheckType

健康检查方式相关的值。

被如下接口引用：DescribeListeners

| 值           | 值说明            |
| ----------- | -------------- |
| PING\_CHECK | Ping 检查。       |
| TCP         | TCP 检查。        |
| HTTP\_GET   | HTTP Get 请求检查。 |

## InternetChargeType

描述IP网络的计费模式。

被如下接口引用：CreateLoadBalancer, InquiryPriceCreateLoadBalancer

| 值                | 值说明        |
| ---------------- | ---------- |
| ByBandwidth      | 固定带宽计费方式。  |
| ByTrafficPackage | 流量包计费方式。   |
| BandwidthCluster | 共享带宽包计费方式。 |

## Listener

描述监听器的基本信息。

被如下接口引用：DescribeListeners

| 参数名称         | 类型                                      | 描述                                                                                                                                                                                                  |
| ------------ | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| port         | String                                  | <p>监听器端口。</p><p>多个端口使用,分隔。</p><p>当端口是范围时用<code>-</code>连接，例如：10000-10005。</p><p>端口的取值范围为0～65535，0代表全范围端口。</p><p>如果传多个单独的端口连续，将会被自动聚合为范围端口。</p>                                                      |
| listenerId   | String                                  | 负载均衡监听器 ID。                                                                                                                                                                                         |
| listenerName | String                                  | 监听器的名称。                                                                                                                                                                                             |
| protocol     | [ListenerProtocol](#listenerprotocol)   | 监听器协议。                                                                                                                                                                                              |
| healthCheck  | [HealthCheck](#healthcheck)             | 监听器的健康检查信息。                                                                                                                                                                                         |
| scheduler    | [ListenerScheduler](#listenerscheduler) | 监听器的调度算法。                                                                                                                                                                                           |
| kind         | [LoadBalancerKind](#loadbalancerkind)   | 工作模式。                                                                                                                                                                                               |
| createTime   | String                                  | <p>创建时间。</p><p>按照ISO8601标准表示，并且使用UTC时间。</p><p>格式为：YYYY-MM-ddTHH<span data-gb-custom-inline data-tag="emoji" data-code="1f1f2-1f1f2">🇲🇲</span>ssZ。</p>                                             |
| persistent   | Integer                                 | <p>会话保持时间，单位秒。</p><p>与<code>algoOpts</code>（调度算法高级选项）互斥，该监听器开启<code>algoOpts</code>时该字段恒为空/0。</p><p>可选值范围：\[0, +)</p>                                                                               |
| algoOpts     | [ListenerAlgoOpts](#listeneralgoopts)   | <p>调度算法高级选项。</p><p>仅当工作模式（<code>kind</code>）为<code>DR</code>且调度算法（<code>scheduler</code>）为<code>mh</code>时才可能有值；未开启时该字段为空，查询接口不会返回<code>None</code>。</p><p>开启后与会话保持（<code>persistent</code>）互斥。</p> |
| idleTimeout  | Integer                                 | <p>空闲超时时间，单位秒。</p><p>可选值范围：\[60, +)</p>                                                                                                                                                             |

## ListenerAlgoOpts

描述监听器调度算法的高级选项。

被如下接口引用：CreateListener, ModifyListener, DescribeListeners

| 值                   | 值说明                                                                                                                                                     |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| StatelessForwarding | <p>MH 无状态转发（One-Packet Scheduling）。</p><p>开启后 LB 不维护连接跟踪表，基于 MH 哈希对每个数据包实时选择后端，可提升抗 DDoS 能力与转发性能；仅在转发模式为 DR 且调度算法为 MH 时可用，后端节点增减或健康状态变化时可能导致部分连接中断。</p> |
| None                | <p>显式关闭调度算法高级选项。</p><p>仅用于 Create/Modify 请求语义：传此值表示清空已开启的高级选项；不传该字段表示不改动。</p><p>查询接口（Describe 等）不会返回此值，关闭状态一律表现为该字段为空。</p>                              |

## ListenerBackend

描述监听器后端服务器信息。

被如下接口引用：DescribeBackends

| 参数名称             | 类型                                    | 描述                                                                                                       |
| ---------------- | ------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| instanceId       | String                                | <p>实例ID。</p><p>可通过 DescribeInstances 接口返回字段中的 InstanceId 字段获取。</p>                                       |
| privateIpAddress | String                                | 实例上绑定网卡的私网IP地址。                                                                                          |
| listenerPort     | String                                | <p>监听器端口。</p><p>多个端口使用,分隔。</p><p>当端口是范围时用<code>-</code>连接，例如：10000-10005。</p>                            |
| weight           | Integer                               | <p>后端服务修改后的转发权重。</p><p>创建绑定服务器时默认值为100, 修改时如果不指定，则不会进行修改。</p><p>删除时不需要指定该参数。</p><p>可选值范围：\[0, 65535]</p> |
| backendPort      | Integer                               | <p>请求转发和健康检查的目标端口。</p><p>如果为空，将跟随监听器端口配置。</p><p>删除时不需要指定该参数。</p><p>可选值范围：\[1, 65535]</p>                 |
| listenerId       | String                                | 负载均衡监听器 ID。                                                                                              |
| listenerName     | String                                | 监听器的名称。                                                                                                  |
| protocol         | [ListenerProtocol](#listenerprotocol) | 监听器协议。                                                                                                   |

## ListenerBackendHealth

描述监听器后端服务器的健康检查。

被如下接口引用：DescribeBackendHealth

| 参数名称               | 类型                                                               | 描述                                                                                                             |
| ------------------ | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| instanceId         | String                                                           | <p>实例ID。</p><p>可通过 DescribeInstances 接口返回字段中的 InstanceId 字段获取。</p>                                             |
| privateIpAddress   | String                                                           | 实例上绑定网卡的私网IP地址。                                                                                                |
| listenerPort       | String                                                           | <p>监听器端口。</p><p>多个端口使用,分隔。</p><p>当端口是范围时用<code>-</code>连接，例如：10000-10005。</p>                                  |
| healthStatus       | [BackendHealthStatus](#backendhealthstatus)                      | 后端服务健康检查状态。                                                                                                    |
| healthStatusDetail | Array of [BackendHealthStatusDetail](#backendhealthstatusdetail) | <p>后端服务健康检查对应端口的健康检查状态。</p><p>当<code>healthStatus</code>为<code>Close</code> 或 <code>Unknown</code>时，无详情信息。</p> |
| weight             | Integer                                                          | <p>后端服务修改后的转发权重。</p><p>创建绑定服务器时默认值为100, 修改时如果不指定，则不会进行修改。</p><p>删除时不需要指定该参数。</p><p>可选值范围：\[0, 65535]</p>       |
| backendPort        | Integer                                                          | <p>请求转发和健康检查的目标端口。</p><p>如果为空，将跟随监听器端口配置。</p><p>删除时不需要指定该参数。</p><p>可选值范围：\[1, 65535]</p>                       |
| listenerId         | String                                                           | 负载均衡监听器 ID。                                                                                                    |
| listenerName       | String                                                           | 监听器的名称。                                                                                                        |
| protocol           | [ListenerProtocol](#listenerprotocol)                            | 监听器协议。                                                                                                         |

## ListenerProtocol

描述监听器监听协议。

被如下接口引用：CreateListener, DescribeBackendHealth, DescribeBackends, DescribeListeners

| 值   | 值说明     |
| --- | ------- |
| TCP | TCP 协议。 |
| UDP | UDP 协议。 |

## ListenerScheduler

描述监听器调度算法的值。

被如下接口引用：CreateListener, ModifyListener, DescribeListeners

| 值   | 值说明         |
| --- | ----------- |
| mh  | 磁力哈希方式。     |
| rr  | 轮训方式。       |
| wrr | 加权轮训方式。     |
| lc  | 最少连接方式。     |
| wlc | 加权最少连接方式。   |
| sh  | 根据源地址哈希方式。  |
| dh  | 根据目标地址哈希方式。 |

## LoadBalancer

描述负载均衡实例的信息。

被如下接口引用：DescribeLoadBalancers

| 参数名称                  | 类型                                                        | 描述                                                                                                                                                |
| --------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| loadBalancerId        | String                                                    | 负载均衡器ID。                                                                                                                                          |
| loadBalancerName      | String                                                    | 负载均衡期名称。                                                                                                                                          |
| vpcId                 | String                                                    | 负载均衡后端服务器所属的VPC网络 ID。                                                                                                                             |
| status                | [LoadBalancerInstanceStatus](#loadbalancerinstancestatus) | 负载均衡实例的状态。                                                                                                                                        |
| healthCheckPrivateIps | Array of String                                           | 负载均衡实例的健康检查内网IP列表。                                                                                                                                |
| regionId              | String                                                    | 区域节点ID。                                                                                                                                           |
| publicIpAddress       | Array of String                                           | 负载均衡实例的公网 VIP 列表。                                                                                                                                 |
| privateIpAddress      | Array of String                                           | 负载均衡实例的内网 VIP 列表。                                                                                                                                 |
| listenerCount         | Integer                                                   | 负载均衡器下监听器的数量。                                                                                                                                     |
| createTime            | String                                                    | <p>创建时间。</p><p>按照ISO8601标准表示，并且使用UTC时间, 格式为：YYYY-MM-ddTHH<span data-gb-custom-inline data-tag="emoji" data-code="1f1f2-1f1f2">🇲🇲</span>ssZ。</p> |
| resourceGroup         | [ResourceGroupInfo](#resourcegroupinfo)                   | 关联的资源组信息。                                                                                                                                         |
| tags                  | [Tags](#tags)                                             | 该负载均衡器关联的标签。                                                                                                                                      |
| securityGroupId       | String                                                    | 负载均衡实例绑定的安全组ID。                                                                                                                                   |

## LoadBalancerInstanceStatus

描述负载均衡实例的状态。

被如下接口引用：DescribeLoadBalancers

| 值              | 值说明      |
| -------------- | -------- |
| CREATING       | 实例过程中。   |
| RUNNING        | 实例运行。    |
| RECYCLED       | 实例处于回收站。 |
| CREATE\_FAILED | 实例创建失败。  |
| RELEASING      | 实例正在释放中。 |

## LoadBalancerKind

描述监听器工作模式的值。

被如下接口引用：CreateListener, ModifyListener, DescribeListeners

| 值    | 值说明                        |
| ---- | -------------------------- |
| FNAT | 全局网络地址转换(Full NAT)。        |
| DR   | 直接路由（Direct Routing)。      |
| DNAT | 目标网络地址转换(Destination NAT)。 |

## LoadBalancerMonitorMetricType

描述负载均衡监控指标的值。

被如下接口引用：DescribeLoadBalancerMonitorData

| 值                       | 值说明                                                    |
| ----------------------- | ------------------------------------------------------ |
| NEW\_CONNECTIONS        | <p>并发连接数。</p><p>指在特定时间（按分钟计算）内，负载均衡实例同时处理的活动连接数。</p>   |
| CONCURRENT\_CONNECTIONS | <p>新建连接数。</p><p>指负载均衡实例每秒能够处理新建连接的数量。</p>              |
| HANDLED\_BPS            | <p>网络吞吐率。</p><p>负载均衡实例在一小时内处理的入向和出向带宽速率之和，单位为 bps。</p> |

## MarketingInfo

描述市场活动的相关信息。

被如下接口引用：CreateLoadBalancer

| 参数名称          | 类型      | 必选 | 描述                                                |
| ------------- | ------- | -- | ------------------------------------------------- |
| discountCode  | String  | 否  | <p>使用市场发放的折扣码。</p><p>如果折扣码不存在，最终折扣将不会生效。</p>      |
| usePocVoucher | Boolean | 否  | <p>是否使用POC代金券。</p><p>如果系统不存在POC代金券，相关创建流程会失败。</p> |

## MetricValue

描述监控指标的数据值。

被如下接口引用：DescribeLoadBalancerMonitorData

| 参数名称  | 类型     | 描述                                       |
| ----- | ------ | ---------------------------------------- |
| time  | String | 数据点时间。                                   |
| value | Float  | <p>数据点的值。</p><p>如果该值为null,表示取不到相应的值。</p> |

## NetworkLineType

描述IP网络类型的方式。

被如下接口引用：CreateLoadBalancer, InquiryPriceCreateLoadBalancer

| 值                    | 值说明                             |
| -------------------- | ------------------------------- |
| PremiumBGP           | <p>优质 BGP。</p><p>高性能网络。</p>     |
| CN2                  | 回国优化线路。                         |
| PathBasedBandwidthIP | 多路径带宽 IP。                       |
| LocalLine            | 本地IP。                           |
| StandardBGP          | <p>标准 BGP。</p><p>通用网络，成本优化。</p> |
| CMI                  | 中国移动。                           |
| CUG                  | 中国联通。                           |
| CTG                  | 中国电信。                           |

## PriceCategory

描述价格类型。

被如下接口引用：InquiryPriceCreateLoadBalancer

| 值          | 值说明   |
| ---------- | ----- |
| STANDARD   | 标准价格。 |
| CUSTOMIZED | 一口价格。 |

## PriceItem

描述价格的信息。

被如下接口引用：InquiryPriceCreateLoadBalancer

| 参数名称                    | 类型                               | 描述                                                                                                                         |
| ----------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| discount                | Float                            | <p>折扣大小。</p><p>如80.0代表8折。</p>                                                                                              |
| discountPrice           | Float                            | <p>后付费的单元折后价格。</p><p>后付费模式使用，如果价格为阶梯价格，该项为null。</p>                                                                        |
| originalPrice           | Float                            | <p>预付费的原价。</p><p>预付费模式使用，后付费该值为 null。</p>                                                                                  |
| unitPrice               | Float                            | <p>后付费的单元原始价格。</p><p>后付费模式使用，如果价格为阶梯价格，该项为null。</p>                                                                        |
| discountUnitPrice       | Float                            | <p>后付费的单元折后价格。</p><p>后付费模式使用，如果价格为阶梯价格，该项为null。</p>                                                                        |
| chargeUnit              | String                           | <p>后付费计价单元。</p><p>后付费模式使用，可取值范围：<br>HOUR: 表示计价单元是按每小时来计算。</p><p>DAY: 表示计价单元是按天来计算。</p><p>MONTH: 表示计价单元是按月来计算，95计费则是这种。</p> |
| stepPrices              | Array of [StepPrice](#stepprice) | <p>后付费阶梯价格。</p><p>后付费模式使用，如果非阶梯价格，该项为null。</p>                                                                             |
| amountUnit              | String                           | <p>用量单位。</p><p>比如Mbps, LCU等。</p><p>如果为null, 代表取不到值。</p>                                                                    |
| excessUnitPrice         | Float                            | 超量原始价格。                                                                                                                    |
| excessDiscountUnitPrice | Float                            | 超量折扣后价格。                                                                                                                   |
| excessAmountUnit        | String                           | <p>超量用量单位。</p><p>如果为null, 代表取不到值。</p>                                                                                      |
| category                | [PriceCategory](#pricecategory)  | 价格所属类别。                                                                                                                    |

## Region

描述节点的基本信息。包括节点ID、名称等。

被如下接口引用：DescribeLoadBalancerRegions

| 参数名称     | 类型     | 描述         |
| -------- | ------ | ---------- |
| regionId | String | 支持售卖的区域。   |
| cityName | String | 节点所属的城市名称。 |
| cityCode | String | 城市对应的三字码。  |

## ResourceGroupInfo

描述资源所在资源组的相关信息，包括资源组名称和ID。

被如下接口引用：DescribeLoadBalancers

| 参数名称              | 类型     | 描述     |
| ----------------- | ------ | ------ |
| resourceGroupId   | String | 资源组ID。 |
| resourceGroupName | String | 资源组名称。 |

## StepPrice

描述阶梯价格的信息。

被如下接口引用：InquiryPriceCreateLoadBalancer

| 参数名称              | 类型    | 描述                                  |
| ----------------- | ----- | ----------------------------------- |
| stepStart         | Float | 阶梯的起始值。                             |
| stepEnd           | Float | <p>阶梯的到达值。</p><p>为null代表最后一级阶梯。</p> |
| unitPrice         | Float | 阶梯单价。                               |
| discountUnitPrice | Float | 阶梯折后价。                              |

## Tag

描述一个标签键值对的信息。

被如下接口引用：CreateLoadBalancer, DescribeLoadBalancers

| 参数名称  | 类型     | 必选 | 描述                              |
| ----- | ------ | -- | ------------------------------- |
| key   | String | 是  | <p>标签键。</p><p>长度限制：1～64个字符。</p> |
| value | String | 否  | <p>标签值。</p><p>长度限制：1～64个字符。</p> |

## TagAssociation

描述创建资源时同时绑定的标签对的信息。

被如下接口引用：CreateLoadBalancer

| 参数名称 | 类型                   | 必选 | 描述     |
| ---- | -------------------- | -- | ------ |
| tags | Array of [Tag](#tag) | 是  | 标签对列表。 |

## Tags

描述资源关联的标签信息。

被如下接口引用：DescribeLoadBalancers

| 参数名称 | 类型                   | 描述     |
| ---- | -------------------- | ------ |
| tags | Array of [Tag](#tag) | 标签对列表。 |
