创建虚拟服务 - CreateVirtualService
功能介绍
创建虚拟服务
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v3/{project_id}/edgemgr/virtual-services
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
meta_data | 否 | VirtualServiceMetaData object | 元数据 |
spec | 否 | VirtualServiceSpec object | 规约 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
hosts | 否 | Array of strings | 主机 |
gateways | 否 | Array of strings | 网关 |
http | 否 | Array of HTTPRoute objects | http |
tcp | 否 | Array of TCPRoute objects | tcp |
tls | 否 | Array of TLSRoute objects | tls |
export_to | 否 | Array of strings | export_to |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
match | 否 | Array of HTTPMatchRequest objects | 匹配 |
route | 否 | Array of HTTPRouteDestination objects | 路由 |
rewrite | 否 | HTTPRewrite object | 重写 |
redirect | 否 | HTTPRedirect object | 重定向 |
retries | 否 | HTTPRetry object | 重试 |
fault | 否 | HTTPFaultInjection object | 失败 |
mirror | 否 | Destination object | 镜像 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
uri | 否 | Map<String,String> | uri |
scheme | 否 | Map<String,String> | 模式 |
method | 否 | Map<String,String> | 方法 |
authority | 否 | Map<String,String> | 认证 |
headers | 否 | Map<String,Map<String,String>> | 请求头 |
port | 否 | Integer | 端口 |
source_labels | 否 | Map<String,String> | 源码标签 |
gateways | 否 | Array of strings | 网关 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
destination | 否 | Destination object | 目标路由 |
weight | 否 | Integer | 权重 |
headers | 否 | Map<String,Map<String,String>> | 头 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
match | 否 | Array of L4MatchAttributes objects | 匹配 |
route | 否 | Array of RouteDestination objects | 路由 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
destination_subnets | 否 | Array of strings | 目标子网 |
port | 否 | Integer | 端口 |
source_labels | 否 | Map<String,String> | 源标签 |
gateways | 否 | Array of strings | 网关列表 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
match | 否 | Array of TLSMatchAttributes objects | 匹配 |
route | 否 | Array of RouteDestination objects | 路由 |
响应参数
状态码:200
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | ID |
project_id | String | 项目ID |
meta_data | VirtualServiceMetaData object | 元数据 |
spec | VirtualServiceSpec object | 规约 |
created_at | String | 创建时间 |
updated_at | String | 更新时间 |
参数 | 参数类型 | 描述 |
|---|---|---|
hosts | Array of strings | 主机 |
gateways | Array of strings | 网关 |
http | Array of HTTPRoute objects | http |
tcp | Array of TCPRoute objects | tcp |
tls | Array of TLSRoute objects | tls |
export_to | Array of strings | export_to |
参数 | 参数类型 | 描述 |
|---|---|---|
match | Array of HTTPMatchRequest objects | 匹配 |
route | Array of HTTPRouteDestination objects | 路由 |
rewrite | HTTPRewrite object | 重写 |
redirect | HTTPRedirect object | 重定向 |
retries | HTTPRetry object | 重试 |
fault | HTTPFaultInjection object | 失败 |
mirror | Destination object | 镜像 |
参数 | 参数类型 | 描述 |
|---|---|---|
uri | Map<String,String> | uri |
scheme | Map<String,String> | 模式 |
method | Map<String,String> | 方法 |
authority | Map<String,String> | 认证 |
headers | Map<String,Map<String,String>> | 请求头 |
port | Integer | 端口 |
source_labels | Map<String,String> | 源码标签 |
gateways | Array of strings | 网关 |
参数 | 参数类型 | 描述 |
|---|---|---|
destination | Destination object | 目标路由 |
weight | Integer | 权重 |
headers | Map<String,Map<String,String>> | 头 |
参数 | 参数类型 | 描述 |
|---|---|---|
match | Array of L4MatchAttributes objects | 匹配 |
route | Array of RouteDestination objects | 路由 |
参数 | 参数类型 | 描述 |
|---|---|---|
destination_subnets | Array of strings | 目标子网 |
port | Integer | 端口 |
source_labels | Map<String,String> | 源标签 |
gateways | Array of strings | 网关列表 |
参数 | 参数类型 | 描述 |
|---|---|---|
match | Array of TLSMatchAttributes objects | 匹配 |
route | Array of RouteDestination objects | 路由 |
请求示例
/v3/{project_id}/edgemgr/virtual-services
{
"meta_data" : {
"name" : "string"
},
"spec" : {
"hosts" : [ "string" ],
"gateways" : [ "string" ],
"http" : [ {
"match" : [ {
"uri" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"scheme" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"method" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"authority" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"headers" : {
"additionalProp1" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"additionalProp2" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"additionalProp3" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
}
},
"port" : 0,
"source_labels" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"gateways" : [ "string" ]
} ],
"route" : [ {
"destination" : {
"host" : "string",
"subset" : "string",
"port" : 0
},
"weight" : 0,
"headers" : {
"additionalProp1" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"additionalProp2" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"additionalProp3" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
}
}
} ],
"rewrite" : {
"uri" : "string",
"authority" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
}
},
"redirect" : {
"uri" : "string",
"authority" : "string"
},
"retries" : {
"attempts" : 0,
"per_try_timeout" : "string",
"retry_on" : "string"
},
"fault" : {
"delay" : {
"percentage" : {
"additionalProp1" : 0,
"additionalProp2" : 0,
"additionalProp3" : 0
},
"fixed_delay" : "string"
},
"abort" : {
"percentage" : {
"additionalProp1" : 0,
"additionalProp2" : 0,
"additionalProp3" : 0
},
"http_status" : 0
}
},
"mirror" : {
"host" : "string",
"subset" : "string",
"port" : 0
}
} ],
"tcp" : [ {
"match" : [ {
"destination_subnets" : [ "string" ],
"port" : 0,
"source_labels" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"gateways" : [ "string" ]
} ],
"route" : [ {
"destination" : {
"host" : "string",
"subset" : "string",
"port" : 0
},
"weight" : 0
} ]
} ],
"tls" : [ {
"match" : [ {
"sni_hosts" : [ "string" ],
"destination_subnets" : "string",
"port" : 0,
"source_labels" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"gateways" : [ "string" ]
} ],
"route" : [ {
"destination" : {
"host" : "string",
"subset" : "string",
"port" : 0
},
"weight" : 0
} ]
} ],
"export_to" : [ "string" ]
}
} 响应示例
状态码:200
创建虚拟服务响应体
{
"id" : "string",
"project_id" : "string",
"meta_data" : {
"name" : "string"
},
"spec" : {
"hosts" : [ "string" ],
"gateways" : [ "string" ],
"http" : [ {
"match" : [ {
"uri" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"scheme" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"method" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"authority" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"headers" : {
"additionalProp1" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"additionalProp2" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"additionalProp3" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
}
},
"port" : 0,
"source_labels" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"gateways" : [ "string" ]
} ],
"route" : [ {
"destination" : {
"host" : "string",
"subset" : "string",
"port" : 0
},
"weight" : 0,
"headers" : {
"additionalProp1" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"additionalProp2" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"additionalProp3" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
}
}
} ],
"rewrite" : {
"uri" : "string",
"authority" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
}
},
"redirect" : {
"uri" : "string",
"authority" : "string"
},
"retries" : {
"attempts" : 0,
"per_try_timeout" : "string",
"retry_on" : "string"
},
"fault" : {
"delay" : {
"percentage" : {
"additionalProp1" : 0,
"additionalProp2" : 0,
"additionalProp3" : 0
},
"fixed_delay" : "string"
},
"abort" : {
"percentage" : {
"additionalProp1" : 0,
"additionalProp2" : 0,
"additionalProp3" : 0
},
"http_status" : 0
}
},
"mirror" : {
"host" : "string",
"subset" : "string",
"port" : 0
}
} ],
"tcp" : [ {
"match" : [ {
"destination_subnets" : [ "string" ],
"port" : 0,
"source_labels" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"gateways" : [ "string" ]
} ],
"route" : [ {
"destination" : {
"host" : "string",
"subset" : "string",
"port" : 0
},
"weight" : 0
} ]
} ],
"tls" : [ {
"match" : [ {
"sni_hosts" : [ "string" ],
"destination_subnets" : "string",
"port" : 0,
"source_labels" : {
"additionalProp1" : "string",
"additionalProp2" : "string",
"additionalProp3" : "string"
},
"gateways" : [ "string" ]
} ],
"route" : [ {
"destination" : {
"host" : "string",
"subset" : "string",
"port" : 0
},
"weight" : 0
} ]
} ],
"export_to" : [ "string" ]
},
"created_at" : "string",
"updated_at" : "string"
} 状态码
状态码 | 描述 |
|---|---|
200 | 创建虚拟服务响应体 |
错误码
请参见错误码。

