修改VPC通道
功能介绍
更新指定VPC通道的参数
使用传入的后端服务器组列表对VPC通道进行全量覆盖,若后端服务器组列表为空,则会全量删除已有的服务器组;
为保持兼容,传入的后端服务器列表为空时,不会删除已有的后端服务器,需要使用删除后端服务器接口进行删除;
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
PUT /v2/{project_id}/apic/instances/{instance_id}/vpc-channels/{vpc_channel_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。 |
instance_id |
是 |
String |
实例ID |
vpc_channel_id |
是 |
String |
VPC通道的编号 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
VPC通道的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、中划线、下划线组成,且只能以英文或中文开头。
说明:
中文字符必须为UTF-8或者unicode编码。 |
port |
是 |
Integer |
VPC通道中主机的端口号。 取值范围1 ~ 65535。 |
balance_strategy |
是 |
Integer |
分发算法。
缺省值:1 |
member_type |
是 |
String |
VPC通道的成员类型。
缺省值:ecs |
type |
否 |
Integer |
vpc通道类型,默认为服务器类型。
缺省值:2 |
dict_code |
否 |
String |
VPC通道的字典编码 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 |
member_groups |
否 |
Array of MemberGroupCreate objects |
VPC通道后端服务器组列表 |
members |
否 |
Array of MemberInfo objects |
VPC后端实例列表。 |
vpc_health_config |
否 |
VpcHealthConfig object |
健康检查详情。 |
microservice_info |
否 |
MicroServiceCreate object |
微服务详情。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
member_group_name |
是 |
String |
VPC通道后端服务器组名称 |
member_group_remark |
否 |
String |
VPC通道后端服务器组描述 |
member_group_weight |
否 |
Integer |
VPC通道后端服务器组权重值。 当前服务器组存在服务器且此权重值存在时,自动使用此权重值分配权重。 最小值:0 最大值:100 |
dict_code |
否 |
String |
VPC通道后端服务器组的字典编码 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 |
microservice_version |
否 |
String |
VPC通道后端服务器组的版本,仅VPC通道类型为微服务时支持。 最大长度:64 |
microservice_port |
否 |
Integer |
VPC通道后端服务器组的端口号,仅VPC通道类型为微服务时支持。端口号为0时后端服务器组下的所有地址沿用原来负载端口继承逻辑。 最小值:0 最大值:65535 |
microservice_labels |
否 |
Array of MicroserviceLabel objects |
VPC通道后端服务器组的标签,仅VPC通道类型为微服务时支持。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
label_name |
是 |
String |
标签名称。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
label_value |
是 |
String |
标签值。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
host |
否 |
String |
后端服务器地址 后端实例类型为ip时必填 最大长度:64 |
weight |
否 |
Integer |
权重值。 允许您对后端服务进行评级,权重值越大,转发到该云服务的请求数量越多。 最小值:0 最大值:10000 |
is_backup |
否 |
Boolean |
是否备用节点。 开启后对应后端服务为备用节点,仅当非备用节点全部故障时工作。 实例需要升级到对应版本才支持此功能,若不支持请联系技术支持。 缺省值:false |
member_group_name |
否 |
String |
后端服务器组名称。为后端服务地址选择服务器组,便于统一修改对应服务器组的后端地址。 |
status |
否 |
Integer |
后端服务器状态
|
port |
否 |
Integer |
后端服务器端口 最小值:0 最大值:65535 |
ecs_id |
否 |
String |
后端云服务器的编号。 后端实例类型为ecs时必填,支持英文,数字,“-”,“_”,1 ~ 64字符。 最大长度:255 |
ecs_name |
否 |
String |
[后端云服务器的名称。] 后端实例类型为ecs时必填,支持汉字,英文,数字,“-”,“_”,“.”,1 ~ 64字符。 最大长度:64 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
protocol |
是 |
String |
使用以下协议,对VPC中主机执行健康检查:
|
path |
否 |
String |
健康检查时的目标路径。protocol = http或https时必选 |
method |
否 |
String |
健康检查时的请求方法 缺省值:GET |
port |
否 |
Integer |
健康检查的目标端口,缺少或port = 0时为VPC中主机的端口号。 若此端口存在非0值,则使用此端口进行健康检查。 最小值:0 最大值:65535 |
threshold_normal |
是 |
Integer |
正常阈值。判定VPC通道中主机正常的依据为:连续检查x成功,x为您设置的正常阈值。 最小值:1 最大值:10 |
threshold_abnormal |
是 |
Integer |
异常阈值。判定VPC通道中主机异常的依据为:连续检查x失败,x为您设置的异常阈值。 最小值:1 最大值:10 |
time_interval |
是 |
Integer |
间隔时间:连续两次检查的间隔时间,单位为秒。必须大于timeout字段取值。 最小值:5 最大值:300 |
http_code |
否 |
String |
检查目标HTTP响应时,判断成功使用的HTTP响应码。取值范围为100到599之前的任意整数值,支持如下三种格式:
|
enable_client_ssl |
否 |
Boolean |
是否开启双向认证。若开启,则使用实例配置中的backend_client_certificate配置项的证书 缺省值:false |
status |
否 |
Integer |
健康检查状态
|
timeout |
是 |
Integer |
超时时间:检查期间,无响应的时间,单位为秒。必须小于time_interval字段取值。 最小值:2 最大值:30 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
service_type |
否 |
String |
微服务类型:
|
cse_info |
否 |
MicroServiceInfoCSEBase object |
CSE基础信息 |
cce_info |
否 |
MicroServiceInfoCCEBase object |
暂不支持 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
VPC通道的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、中划线、下划线组成,且只能以英文或中文开头。
说明:
中文字符必须为UTF-8或者unicode编码。 |
port |
Integer |
VPC通道中主机的端口号。 取值范围1 ~ 65535。 |
balance_strategy |
Integer |
分发算法。
缺省值:1 |
member_type |
String |
VPC通道的成员类型。
缺省值:ecs |
type |
Integer |
vpc通道类型: 2:BUILTIN通道类型 3:微服务类型 |
dict_code |
String |
VPC通道的字典编码 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 |
create_time |
String |
VPC通道的创建时间 |
id |
String |
VPC通道的编号 |
status |
Integer |
VPC通道的状态。
|
member_groups |
Array of MemberGroupInfo objects |
后端云服务器组列表。 |
microservice_info |
MicroServiceInfo object |
微服务的响应对象 |
参数 |
参数类型 |
描述 |
---|---|---|
member_group_name |
String |
VPC通道后端服务器组名称 |
member_group_remark |
String |
VPC通道后端服务器组描述 |
member_group_weight |
Integer |
VPC通道后端服务器组权重值。 当前服务器组存在服务器且此权重值存在时,自动使用此权重值分配权重。 最小值:0 最大值:100 |
dict_code |
String |
VPC通道后端服务器组的字典编码 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 |
microservice_version |
String |
VPC通道后端服务器组的版本,仅VPC通道类型为微服务时支持。 最大长度:64 |
microservice_port |
Integer |
VPC通道后端服务器组的端口号,仅VPC通道类型为微服务时支持。端口号为0时后端服务器组下的所有地址沿用原来负载端口继承逻辑。 最小值:0 最大值:65535 |
microservice_labels |
Array of MicroserviceLabel objects |
VPC通道后端服务器组的标签,仅VPC通道类型为微服务时支持。 |
member_group_id |
String |
VPC通道后端服务器组编号 |
create_time |
String |
VPC通道后端服务器组创建时间 |
update_time |
String |
VPC通道后端服务器组更新时间 |
参数 |
参数类型 |
描述 |
---|---|---|
label_name |
String |
标签名称。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
label_value |
String |
标签值。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
微服务编号 |
instance_id |
String |
实例编号 |
service_type |
String |
微服务类型:
|
cse_info |
MicroServiceInfoCSE object |
CSE基础信息 |
cce_info |
MicroServiceInfoCCE object |
暂不支持 |
update_time |
String |
微服务更新时间 |
create_time |
String |
微服务创建时间 |
参数 |
参数类型 |
描述 |
---|---|---|
engine_id |
String |
微服务引擎编号 最大长度:64 |
service_id |
String |
微服务编号 最大长度:64 |
engine_name |
String |
微服务引擎名称 |
service_name |
String |
微服务名称 |
register_address |
String |
注册中心地址 |
cse_app_id |
String |
微服务所属的应用 |
version |
String |
微服务的版本,已废弃,通过后端服务器组中的版本承载。 最大长度:64 |
参数 |
参数类型 |
描述 |
---|---|---|
cluster_id |
String |
云容器引擎集群编号 最大长度:64 |
namespace |
String |
命名空间 最大长度:64 |
workload_type |
String |
工作负载类型
|
app_name |
String |
APP名称 最大长度:64 |
label_key |
String |
标签名 最大长度:64 |
label_value |
String |
标签值 最大长度:64 |
cluster_name |
String |
云容器引擎集群名称 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
请求示例
修改指定的服务器类型VPC通道,分发算法改为加权最少连接,并修改后端服务器配置
{ "balance_strategy" : 2, "member_type" : "ip", "name" : "VPC_demo", "port" : 22, "type" : 2, "vpc_health_config" : { "http_code" : "200", "path" : "/vpc/demo", "port" : 22, "protocol" : "http", "threshold_abnormal" : 5, "threshold_normal" : 2, "time_interval" : 10, "timeout" : 5, "enable_client_ssl" : false }, "member_groups" : [ { "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark" }, { "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark" } ], "members" : [ { "host" : "192.168.0.5", "weight" : 1, "member_group_name" : "test" }, { "host" : "192.168.1.124", "weight" : 2, "member_group_name" : "default" } ] }
响应示例
状态码: 200
OK
示例 1
{ "name" : "VPC_demo", "port" : 22, "balance_strategy" : 2, "member_type" : "ip", "dict_code" : "", "create_time" : "2020-07-23T07:11:57Z", "id" : "18174f5f4f1a4dc29f33aeadd9788e5f", "status" : 1, "member_groups" : [ { "member_group_id" : "c1ce135c705c4066853a0460b318fe16", "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark", "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" }, { "member_group_id" : "c1ce135c705c4066853a0460b318fe17", "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark", "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" } ], "type" : 2, "microservice_info" : { "id" : "", "instance_id" : "", "service_type" : "", "cse_info" : { "cse_app_id" : "", "engine_id" : "", "engine_name" : "", "register_address" : "", "service_id" : "", "service_name" : "", "version" : "" }, "cce_info" : { "cluster_id" : "", "cluster_name" : "", "namespace" : "", "workload_type" : "", "app_name" : "" }, "create_time" : "", "update_time" : "" } }
示例 2
{ "name" : "VPC_demo", "id" : "105c6902457144a4820dff8b1ad63331", "balance_strategy" : 1, "dict_code" : "", "create_time" : "2020-07-23T07:11:57.244829604Z", "member_type" : "ip", "port" : 22, "status" : 1, "member_groups" : [ { "member_group_id" : "c1ce135c705c4066853a0460b318fe16", "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark", "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z", "microservice_version" : "v1", "microservice_port" : 80 }, { "member_group_id" : "c1ce135c705c4066853a0460b318fe17", "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark", "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z", "microservice_version" : "v2", "microservice_port" : 80 } ], "type" : 3, "microservice_info" : { "id" : "9483afa235be45158a70c19ab817ac65", "instance_id" : "f0fa1789-3b76-433b-a787-9892951c620e", "service_type" : "CCE", "cse_info" : { "cse_app_id" : "", "engine_id" : "", "engine_name" : "", "register_address" : "", "service_id" : "", "service_name" : "", "version" : "" }, "cce_info" : { "cluster_id" : "ab1485b4f91b45abbcd560be591f7309", "cluster_name" : "cce-test", "namespace" : "default", "workload_type" : "deployment", "app_name" : "testapp" }, "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" } }
状态码: 400
Bad Request
{ "error_code" : "APIG.2001", "error_msg" : "The request parameters must be specified, parameter name:members" }
状态码: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
状态码: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
状态码: 404
Not Found
{ "error_code" : "APIG.3023", "error_msg" : "The VPC channel does not exist,id:56a7d7358e1b42459c9d730d65b14e59" }
状态码: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
错误码
请参见错误码。