添加应用型负载均衡的后端服务节点 - AddTargets
简介
给应用型负载均衡监听器添加后端服务节点
定义
公共参数
| 参数名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| Action | string | 对应的 API 指令名称,当前 API 为 AddTargets | Yes | 
| PublicKey | string | 用户公钥,可从 控制台 获取 | Yes | 
| Signature | string | 根据公钥及 API 指令生成的用户签名,参见 签名算法 | Yes | 
请求参数
| 参数名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| Region | string | 地域。 参见 地域和可用区列表 | Yes | 
| ProjectId | string | 项目ID。不填写为默认项目,子帐号必须填写。 请参考GetProjectList接口 | Yes | 
| LoadBalancerId | string | 应用型负载均衡实例ID | Yes | 
| ListenerId | string | 应用型负载均衡的监听器ID | Yes | 
| Targets | array[TargetConfig] | 应用型负载均衡要添加的服务节点信息。数组长度至少为1; 不超过20个。具体结构见下方 TargetConfig | Yes | 
数据模型
TargetConfig
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| ResourceType | string | 服务节点的类型。限定枚举值:UHost -> 云主机,UNI -> 虚拟网卡,UPM -> 物理云主机,IP -> IP类型; 默认值:“UHost”; 非IP类型,如果该资源有多个IP,将只能添加主IP; 非IP类型,展示时,会显示相关资源信息,IP类型只展示IP信息。 在相关资源被删除时,非IP类型会把相关资源从lb中剔除,IP类型不保证这个逻辑 | Yes | 
| ResourceId | string | 服务节点的资源ID。在非IP类型时,必传 | No | 
| VPCId | string | 服务节点的VPC资源ID。在IP类型时,必传 | No | 
| SubnetId | string | 服务节点的子网资源ID。在IP类型时,必传 | No | 
| ResourceIP | string | 服务节点的IP。在IP类型时,必传; | No | 
| Port | int | 服务节点的端口。限定取值:[1-65535]; 默认值:80 | No | 
| Weight | int | 服务节点的权重。限定取值:[1-100]; 仅在加权轮询算法时有效; 默认值:1 | No | 
| Enabled | bool | 服务节点是否启用。 默认值:true | No | 
| IsBackup | bool | 服务节点是否为备节点。 默认值:false | No | 
响应字段
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| RetCode | int | 返回状态码,为 0 则为成功返回,非 0 为失败 | Yes | 
| Action | string | 操作指令名称 | Yes | 
| Message | string | 返回错误消息,当 RetCode非 0 时提供详细的描述信息 | No | 
| Targets | array[TargetSet] | 应用型负载均衡监听器的ID。具体结构见下方 TargetSet | No | 
数据模型
TargetSet
| 字段名 | 类型 | 描述信息 | 必填 | 
|---|---|---|---|
| ResourceType | string | 服务节点的类型。限定枚举值:UHost -> 云主机,UNI -> 虚拟网卡,UPM -> 物理云主机,IP -> IP类型; 默认值:“UHost”; 非IP类型,如果该资源有多个IP,将只能添加主IP; 非IP类型,展示时,会显示相关资源信息,IP类型只展示IP信息。 在相关资源被删除时,非IP类型会把相关资源从lb中剔除,IP类型不保证这个逻辑 | No | 
| ResourceId | string | 服务节点的资源ID。在非IP类型时,必传 | No | 
| VPCId | string | 服务节点的VPC资源ID。在IP类型时,必传 | No | 
| SubnetId | string | 服务节点的子网资源ID。在IP类型时,必传 | No | 
| ResourceIP | string | 服务节点的IP。在IP类型时,必传 | No | 
| Port | int | 服务节点的端口。限定取值:[1-65535]; 默认值:80 | No | 
| Weight | int | 服务节点的权重。限定取值:[1-100]; 仅在加权轮询算法时有效; 默认值:1 | No | 
| Enabled | bool | 服务节点是否启用。 默认值:true | No | 
| IsBackup | bool | 服务节点是否为备节点。 默认值:false | No | 
| Id | string | 服务节点的标识ID(为ALB系统中使用), 可用于UUpdateTargetsAttribute/RemoveTargets/CreateRule/UpdateRuleAttribute。 | No | 
| State | string | 服务节点的健康检查状态。限定枚举值:Healthy -> 健康,Unhealthy -> 不健康 | No | 
示例
请求示例
curl 'https://api.tnqacloud.com' \
--header 'Content-Type: application/json' \
--data '{
    "Action": "AddTargets",
    "Region": "cn-bj2",
    "ProjectId": "org-XXXXX",
    "LoadBalancerId": "alb-XXXXX",
    "ListenerId": "als-XXXXX",
    "Targets": [
        {
            "ResourceType": "IP",
            "VPCId": "uvnet-XXXXX",
            "SubnetId": "subnet-XXXXX",
            "ResourceIP": "X.X.X.X",
            "Port": 80,
            "Enabled": false,
            "IsBackup": true
        },
        {
            "ResourceType": "UHost",
            "ResourceId": "uhost-XXXXX",
            "VPCId": "uvnet-XXXXX",
            "SubnetId": "subnet-XXXXX",
            "Port": 80,
            "Weight": 1,
            "Enabled": false,
            "IsBackup": false
        }
    ]
}'响应示例
{
    "Action": "AddTargetsResponse",
    "RetCode": 0,
    "Targets": [
        {
            "ResourceType": "IP",
            "ResourceId": "",
            "VPCId": "uvnet-XXXXX",
            "SubnetId": "subnet-XXXXX",
            "ResourceIP": "0.0.0.0",
            "Port": 80,
            "Weight": 1,
            "Enabled": false,
            "IsBackup": true,
            "Id": "ars-XXXXX",
            "State": "Unhealthy"
        },
        {
            "ValueSetMap": null,
            "ResourceType": "UHost",
            "ResourceId": "uhost-XXXXX",
            "VPCId": "uvnet-XXXXX",
            "SubnetId": "subnet-XXXXX",
            "ResourceIP": "",
            "Port": 80,
            "Weight": 1,
            "Enabled": false,
            "IsBackup": false,
            "Id": "ars-XXXXX",
            "State": "Unhealthy"
        }
    ]
}