功能介绍
创建 终端节点 服务,允许其他用户创建终端节点连接您创建的终端节点服务, 使用您所提供的服务。 说明 该接口为异步接口,调用成功会返回200状态码,说明请求已正常下发。 通常创建终端节点服务需要1~2分钟,可以通过查询终端节点服务详情查看创建结果。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v1/{project_id}/vpc-endpoint-services
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方法请参见获取项目ID。 最小长度:1 最大长度:64 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。用户Token也就是调用获取用户Token接口的响应值, 该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 最小长度:1 最大长度:2048 |
Content-Type |
否 |
String |
发送的实体的MIME类型。推荐用户默认使用application/json, 如果API是对象、 镜像 上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
port_id |
是 |
String |
标识终端节点服务后端资源的ID, 格式为通用唯一识别码(Universally Unique Identifier,下文简称UUID)。 取值为: |
service_name |
否 |
String |
终端节点服务的名称,长度不大于16,允许传入大小写字母、数字、下划线、中划线。
|
vpc_id |
是 |
String |
终端节点服务对应后端资源所在的VPC的ID。 详细内容请参考《 虚拟私有云 API参考》中的“查询VPC”,详见响应消息中的“id”字段。 |
approval_enabled |
否 |
Boolean |
是否需要审批。 ● false:不需要审批,创建的终端节点连接直接为accepted状态。 ● true:需要审批,创建的终端节点连接为pendingAcceptance状态, 需要终端节点服务所属用户审核后方可使用。 默认为true,需要审批。 缺省值:true |
service_type |
否 |
String |
终端节点服务类型。 仅支持将用户私有服务创建为interface类型的终端节点服务。 终端节点服务类型包括“网关(gateway)型”和“接口(interface)型”: ● gateway:由运维人员配置。用户无需创建,可直接使用。 ● interface:包括运维人员配置的云服务和用户自己创建的私有服务。 其中,运维人员配置的云服务无需创建, 用户可直接使用。 您可以通过查询公共终端节点服务列表, 查看由运维人员配置的所有用户可见且可连接的终端节点服务, 并通过创建终端节点创建访问Gateway和Interface类型终端节点服务的终端节点。 缺省值:interface |
server_type |
是 |
String |
资源类型。 ● VM:云服务器,适用于作为服务器使用。 ● VIP:虚拟IP,适用于作为虚IP场景使用。(该字段已废弃,请优先使用LB类型) ● LB:负载均衡,适用于高访问量业务和对可靠性和容灾性要求较高的业务。 |
ports |
是 |
服务开放的端口映射列表,详细内容请参见表4-10。 同一个终端节点服务下,不允许重复的端口映射。若多个终端节点服务共用一个port_id, 则终端节点服务之间的所有端口映射的server_port和protocol的组合不能重复, 单次最多添加200个。 |
|
tcp_proxy |
否 |
String |
用于控制将哪些信息(如客户端的源IP、源端口、marker_id等)携带到服务端。 支持携带的客户端信息包括如下两种类型: ● TCP TOA:表示将客户端信息插入到tcp option字段中携带至服务端。 说明:仅当后端资源为OBS时,支持TCP TOA类型信息携带方式。 ● Proxy Protocol:表示将客户端信息插入到tcp payload字段中携带至服务端。 仅当服务端支持解析上述字段时,该参数设置才有效。 该参数的取值包括: ● close:表示关闭代理协议。 ● toa_open:表示开启代理协议“tcp_toa”。 ● proxy_open:表示开启代理协议“proxy_protocol”。 ● open:表示同时开启代理协议“tcp_toa”和“proxy_protocol”。 ● proxy_vni: 关闭toa,开启proxy和vni。 默认值为“close”。 缺省值:close |
tags |
否 |
资源标签列表。同一个终端节点服务最多可添加10个标签。 |
|
description |
否 |
String |
描述字段,支持中英文字母、数字等字符,不支持“<”或“>”字符。 描述字段,支持中英文字母、数字等字符,不支持“<”或“>”字符。 |
enable_policy |
否 |
Boolean |
是否开启终端节点策略。 ● false:不支持设置终端节点策略 ● true:支持设置终端节点策略 默认为false 缺省值:false |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
终端节点服务的ID,唯一标识。 |
port_id |
String |
标识终端节点服务后端资源的ID, 格式为通用唯一识别码(Universally Unique Identifier,下文简称UUID)。 取值为: ● LB类型:负载均衡器内网IP对应的端口ID。 ● VM类型:弹性云服务器IP地址对应的网卡ID。 ● VIP类型:虚拟资源所在物理服务器对应的网卡ID。(该字段已废弃,请优先使用LB类型) |
service_name |
String |
终端节点服务的名称。 最小长度:0 最大长度:128 |
server_type |
String |
资源类型。 ● VM:云服务器。 ● VIP:虚拟IP。 ● LB:增强负载均衡型。 |
vpc_id |
String |
终端节点服务对应后端资源所在的VPC的ID。 |
pool_id |
String |
终端节点服务对应的集群id |
approval_enabled |
Boolean |
是否需要审批。 ● false:不需要审批,创建的终端节点连接直接为accepted状态。 ● true:需要审批,创建的终端节点连接为pendingAcceptance状态, 需要终端节点服务所属用户审核后方可使用。 |
status |
String |
终端节点服务的状态。 ● creating:创建中 ● available:可连接 ● failed:失败 |
service_type |
String |
终端节点服务类型。 终端节点服务类型包括“网关(gataway)型”和“接口(interface)型”: ● gataway:由运维人员配置。用户无需创建,可直接使用。 ● interface:包括运维人员配置的云服务和用户自己创建的私有服务。 其中,运维人员配置的云服务无需创建,用户可直接使用。 您可以通过创建终端节点创建访问Gateway和Interface类型终端节点服务的终端节点。 |
created_at |
String |
终端节点服务的创建时间。 采用UTC时间格式,格式为:YYYY-MMDDTHH:MM:SSZ |
updated_at |
String |
终端节点服务的更新时间。 采用UTC时间格式,格式为:YYYY-MMDDTHH:MM:SSZ |
project_id |
String |
项目ID |
ports |
服务开放的端口映射列表 同一个终端节点服务下,不允许重复的端口映射。 若多个终端节点服务共用一个port_id, 则终端节点服务之间的所有端口映射的server_port和protocol的组合不能重复。 |
|
tcp_proxy |
String |
用于控制将哪些信息(如客户端的源IP、源端口、marker_id等)携带到服务端。 支持携带的客户端信息包括如下两种类型: ● TCP TOA:表示将客户端信息插入到tcp option字段中携带至服务端。 说明:仅当后端资源为OBS时,支持TCP TOA类型信息携带方式。 ● Proxy Protocol:表示将客户端信息插入到tcp payload字段中携带至服务端。 仅当服务端支持解析上述字段时,该参数设置才有效。 该参数的取值包括: ● close:表示关闭代理协议。 ● toa_open:表示开启代理协议“tcp_toa”。 ● proxy_open:表示开启代理协议“proxy_protocol”。 ● open:表示同时开启代理协议“tcp_toa”和“proxy_protocol”。 ● proxy_vni: 关闭toa,开启proxy和vni。 默认值为“close”。 |
tags |
资源标签列表 |
|
description |
String |
描述字段,支持中英文字母、数字等字符,不支持“<”或“>”字符。 |
enable_policy |
Boolean |
是否开启终端节点策略。 ● false:不支持设置终端节点策略 ● true:支持设置终端节点策略 默认为false |
参数 |
参数类型 |
描述 |
---|---|---|
client_port |
Integer |
终端节点访问的端口。 终端节点提供给用户,作为访问终端节点服务的端口,范围1-65535。 最小长度:1 最大长度:65535 |
server_port |
Integer |
终端节点服务的端口。 终端节点服务绑定了后端资源,作为提供服务的端口,范围1-65535。 最小长度:1 最大长度:65535 |
protocol |
String |
端口映射协议,支持TCP。 缺省值:TCP |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
键。 最大长度36个unicode字符。 key不能为空。不能包含“=”、“*”、“<”、“>”、“\”、“,”、“|”和“/”,且首尾字符不能为空格。 最小长度:1 最大长度:36 |
value |
String |
值。 每个值最大长度43个unicode字符,可以为空字符串。 不能包含“=”、“*”、“<”、“>”、“\”、“,”、“|”和“/”,且首尾字符不能为空格。 最小长度:1 最大长度:43 |
状态码: 400
状态码: 401
状态码: 403
状态码: 404
状态码: 405
状态码: 406
状态码: 407
状态码: 408
状态码: 409
状态码: 500
状态码: 501
状态码: 502
状态码: 503
状态码: 504
请求示例
创建接口型终端节点服务,资源类型为VM,访问端口为8080和8081,服务端口为90和80,端口映射协议为TCP,无需审批。
POST https://{endpoint}/v1/{project_id}/vpc-endpoint-services { "port_id" : "4189d3c2-8882-4871-a3c2-d380272eed88", "vpc_id" : "4189d3c2-8882-4871-a3c2-d380272eed80", "approval_enabled" : false, "service_type" : "interface", "server_type" : "VM", "ports" : [ { "client_port" : 8080, "server_port" : 90, "protocol" : "TCP" }, { "client_port" : 8081, "server_port" : 80, "protocol" : "TCP" } ] }
响应示例
状态码: 200
服务器已成功处理了请求
{ "id" : "4189d3c2-8882-4871-a3c2-d380272eed83", "port_id" : "4189d3c2-8882-4871-a3c2-d380272eed88", "vpc_id" : "4189d3c2-8882-4871-a3c2-d380272eed80", "pool_id" : "5289d3c2-8882-4871-a3c2-d380272eed80", "status" : "available", "approval_enabled" : false, "service_name" : "test123", "service_type" : "interface", "server_type" : "VM", "project_id" : "6e9dfd51d1124e8d8498dce894923a0d", "created_at" : "2022-04-14T09:35:47Z", "ports" : [ { "client_port" : 8080, "server_port" : 90, "protocol" : "TCP" }, { "client_port" : 8081, "server_port" : 80, "protocol" : "TCP" } ] }
状态码
状态码 |
描述 |
---|---|
200 |
服务器已成功处理了请求 |
400 |
服务器未能处理请求 |
401 |
被请求的页面需要用户名和密码 |
403 |
对被请求页面的访问被禁止 |
404 |
服务器无法找到被请求的页面 |
405 |
请求中指定的方法不被允许 |
406 |
服务器生成的响应无法被客户端所接受 |
407 |
用户必须首先使用代理服务器进行验证,这样请求才会被处理 |
408 |
请求超出了服务器的等待时间 |
409 |
由于冲突,请求无法被完成 |
500 |
请求未完成。服务异常 |
501 |
请求未完成。服务器不支持所请求的功能 |
502 |
请求未完成。服务器从上游服务器收到一个无效的响应 |
503 |
请求未完成。系统暂时异常 |
504 |
网关超时 |
错误码
请参见错误码。