Creating a VPC Channel in a Project
Function
Create a VPC channel and associate it with multiple instances. VPC channel names must be unique in the same project. Note: This parameter is available only when vpc_name_modifiable is set to off.
URI
POST /v2/{project_id}/apic/vpc-channels
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain the project ID, see Appendix > Obtaining a Project ID in the ROMA Connect API Reference. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
Yes |
String |
User token, which can be obtained by calling the IAM API (value of X-Subject-Token in the response header). |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
VPC channel name. The value is a string of 3 to 64 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. The value must start with an English letter. |
port |
Yes |
Integer |
Port number of the host in the VPC channel. The value ranges from 1 to 65535. |
balance_strategy |
Yes |
Integer |
Distribution algorithm.
Default: 1 |
member_type |
Yes |
String |
Member type of the VPC channel.
Default: ecs |
dict_code |
No |
String |
The dictionary code of a VPC channel. The value can contain letters, digits, and special characters (-_). Not supported currently. Minimum: 3 Maximum: 64 |
member_groups |
No |
Array of MemberGroupCreate objects |
List of backend server groups of the VPC channel. |
members |
No |
Array of MemberInfo objects |
VPC backend instance list. |
vpc_health_config |
No |
VpcHealthConfig object |
Health check details. |
instance_ids |
Yes |
Array of strings |
IDs of associated instances (specify 1 to 10 IDs). To increase the quota, contact technical support to modify PROJECT_VPC_OPERATOR_NUM_LIMIT. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
member_group_name |
Yes |
String |
Name of the backend server group of the VPC channel. |
member_group_remark |
No |
String |
Description of the backend server group of the VPC channel. |
member_group_weight |
No |
Integer |
Weight of the backend server group of the VPC channel. If servers exist in the current server group and the weight value exists, the weight value is automatically used to assign weights. Minimum: 0 Maximum: 100 |
dict_code |
No |
String |
Dictionary code of the backend server group of the VPC channel. The code can contain letters, digits, and special characters (-_). Not supported currently. Minimum: 3 Maximum: 64 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
host |
No |
String |
Backend server address. This parameter is valid when the member type is IP address. Maximum: 64 |
weight |
No |
Integer |
Backend server weight. The higher the weight is, the more requests a cloud server will receive. It is valid only when the VPC channel type is set to 2. Minimum: 0 Maximum: 10000 |
is_backup |
No |
Boolean |
Indicates whether it is a standby node. After this parameter is enabled, the corresponding backend service functions as the standby node and works only when all non-standby nodes are faulty. The instance must be upgraded to the corresponding version to support this function. If the instance does not support this function, contact technical support. Default: false |
member_group_name |
No |
String |
Name of the backend server group. Select a server group for the backend service address so that the backend addresses of the corresponding server group can be changed in a unified manner. |
status |
No |
Integer |
Backend server status.
|
port |
No |
Integer |
Backend server port. Minimum: 0 Maximum: 65535 |
ecs_id |
No |
String |
Backend ECS ID This parameter is mandatory when the backend instance type is ECS. It can include letters, digits, hyphens (-), and underscores (_) (max. 64 characters). Maximum: 255 |
ecs_name |
No |
String |
Backend ECS name This parameter is mandatory when the backend instance type is ECS. It can include letters, digits, hyphens (-), underscores (_), and periods (.) (max. 64 characters). Maximum: 64 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
protocol |
Yes |
String |
Protocol for performing health checks on backend servers in the VPC channel.
|
path |
No |
String |
Destination path for health checks. This parameter is required if protocol is set to http. |
method |
No |
String |
Request method for health checks. Default: GET |
port |
No |
Integer |
Destination port for health checks. If this parameter is not specified or set to 0, the host port of the VPC channel is used. If the port has a non-zero value, the port is used for health checks. Minimum: 0 Maximum: 65535 |
threshold_normal |
Yes |
Integer |
Healthy threshold, which refers to the number of consecutive successful checks required for a backend server to be considered healthy. Minimum: 1 Maximum: 10 |
threshold_abnormal |
Yes |
Integer |
Unhealthy threshold, which refers to the number of consecutive failed checks required for a backend server to be considered unhealthy. Minimum: 1 Maximum: 10 |
time_interval |
Yes |
Integer |
Interval between consecutive checks. Unit: s. The value must be greater than that of timeout. Minimum: 5 Maximum: 300 |
http_code |
No |
String |
Response codes for determining a successful HTTP response. The value can be any integer within 100–599 in one of the following formats:
|
enable_client_ssl |
No |
Boolean |
Whether to enable two-way authentication. If this function is enabled, the certificate specified by backend_client_certificate in the instance configuration is used. Default: false |
status |
No |
Integer |
Health check status
|
timeout |
Yes |
Integer |
Timeout for determining whether a health check fails, in seconds. The value must be less than the value of time_interval. Minimum: 2 Maximum: 30 |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
---|---|---|
project_vpc_channels |
Array of ProjectVpcChannelInfo objects |
List of project VPC channels. |
Parameter |
Type |
Description |
---|---|---|
name |
String |
VPC channel name. The value is a string of 3 to 64 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. The value must start with an English letter. |
port |
Integer |
Port number of the host in the VPC channel. The value ranges from 1 to 65535. |
balance_strategy |
Integer |
Distribution algorithm.
Default: 1 |
member_type |
String |
Member type of the VPC channel.
Default: ecs |
dict_code |
String |
The dictionary code of a VPC channel. The value can contain letters, digits, and special characters (-_). Not supported currently. Minimum: 3 Maximum: 64 |
create_time |
String |
Time when the VPC channel is created. |
id |
String |
VPC channel ID. |
status |
Integer |
VPC channel status.
|
member_groups |
Array of MemberGroupInfo objects |
Backend cloud server groups. |
instance_id |
String |
Instance ID. |
instance_name |
String |
Instance name. |
members |
Array of VpcMemberInfo objects |
Backend instance list. |
vpc_health_config |
VpcHealthConfigInfo object |
Health check details. |
microservice_info |
MicroServiceInfo object |
Response object of the microservice. |
type |
String |
VPC channel type:
|
Parameter |
Type |
Description |
---|---|---|
member_group_name |
String |
Name of the backend server group of the VPC channel. |
member_group_remark |
String |
Description of the backend server group of the VPC channel. |
member_group_weight |
Integer |
Weight of the backend server group of the VPC channel. If servers exist in the current server group and the weight value exists, the weight value is automatically used to assign weights. Minimum: 0 Maximum: 100 |
dict_code |
String |
Dictionary code of the backend server group of the VPC channel. The code can contain letters, digits, and special characters (-_). Not supported currently. Minimum: 3 Maximum: 64 |
member_group_id |
String |
ID of the backend server group of the VPC channel. |
create_time |
String |
Time when the backend server group is created. |
update_time |
String |
Time when the backend server group is updated. |
Parameter |
Type |
Description |
---|---|---|
host |
String |
Backend server address. This parameter is valid when the member type is IP address. Maximum: 64 |
weight |
Integer |
Backend server weight. The higher the weight is, the more requests a cloud server will receive. It is valid only when the VPC channel type is set to 2. Minimum: 0 Maximum: 10000 |
is_backup |
Boolean |
Indicates whether it is a standby node. After this parameter is enabled, the corresponding backend service functions as the standby node and works only when all non-standby nodes are faulty. The instance must be upgraded to the corresponding version to support this function. If the instance does not support this function, contact technical support. Default: false |
member_group_name |
String |
Name of the backend server group. Select a server group for the backend service address so that the backend addresses of the corresponding server group can be changed in a unified manner. |
status |
Integer |
Backend server status.
|
port |
Integer |
Backend server port. Minimum: 0 Maximum: 65535 |
ecs_id |
String |
Backend ECS ID This parameter is mandatory when the backend instance type is ECS. It can include letters, digits, hyphens (-), and underscores (_) (max. 64 characters). Maximum: 255 |
ecs_name |
String |
Backend ECS name This parameter is mandatory when the backend instance type is ECS. It can include letters, digits, hyphens (-), underscores (_), and periods (.) (max. 64 characters). Maximum: 64 |
id |
String |
VPC channel list. |
vpc_channel_id |
String |
Backend instance ID. |
create_time |
String |
VPC channel ID. |
member_group_id |
String |
Time when the backend server is added to the VPC channel. |
Parameter |
Type |
Description |
---|---|---|
protocol |
String |
Protocol for performing health checks on backend servers in the VPC channel.
|
path |
String |
Destination path for health checks. This parameter is required if protocol is set to http. |
method |
String |
Request method for health checks. Default: GET |
port |
Integer |
Destination port for health checks. If this parameter is not specified or set to 0, the host port of the VPC channel is used. If the port has a non-zero value, the port is used for health checks. Minimum: 0 Maximum: 65535 |
threshold_normal |
Integer |
Healthy threshold, which refers to the number of consecutive successful checks required for a backend server to be considered healthy. Minimum: 1 Maximum: 10 |
threshold_abnormal |
Integer |
Unhealthy threshold, which refers to the number of consecutive failed checks required for a backend server to be considered unhealthy. Minimum: 1 Maximum: 10 |
time_interval |
Integer |
Interval between consecutive checks. Unit: s. The value must be greater than that of timeout. Minimum: 5 Maximum: 300 |
http_code |
String |
Response codes for determining a successful HTTP response. The value can be any integer within 100–599 in one of the following formats:
|
enable_client_ssl |
Boolean |
Whether to enable two-way authentication. If this function is enabled, the certificate specified by backend_client_certificate in the instance configuration is used. Default: false |
status |
Integer |
Health check status
|
timeout |
Integer |
Timeout for determining whether a health check fails, in seconds. The value must be less than the value of time_interval. Minimum: 2 Maximum: 30 |
vpc_channel_id |
String |
VPC channel ID. |
id |
String |
Health check ID. |
create_time |
String |
Creation time. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Microservice ID. |
service_type |
String |
Microservice type:
|
cse_info |
MicroServiceInfoCSE object |
CSE information. |
cce_info |
MicroServiceInfoCCE object |
To be supported |
update_time |
String |
Time when the microservice is updated. |
create_time |
String |
Time when the microservice is created. |
Parameter |
Type |
Description |
---|---|---|
engine_id |
String |
Microservice engine ID. Maximum: 64 |
service_id |
String |
Microservice ID. Maximum: 64 |
engine_name |
String |
Microservice engine name. |
service_name |
String |
Microservice name. |
register_address |
String |
Registry center address. |
cse_app_id |
String |
Application to which the microservice belongs. |
version |
String |
Microservice version. This parameter is deprecated and is supported by the backend server group version. Maximum: 64 |
Parameter |
Type |
Description |
---|---|---|
cluster_id |
String |
CCE cluster ID. Maximum: 64 |
namespace |
String |
Namespace. Maximum: 64 |
workload_type |
String |
Workload type. Options:
|
app_name |
String |
Application name. Maximum: 64 |
label_key |
String |
Tag name. Maximum: 64 |
label_value |
String |
Tag value. Maximum: 64 |
cluster_name |
String |
CCE cluster name. |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Status code: 401
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Status code: 403
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Status code: 500
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code. |
error_msg |
String |
Error description. |
Example Requests
{ "balance_strategy" : 1, "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" } ], "instance_ids" : [ "eea73cde015940908ae0117d67bf7330", "ddd73cde017890908ae0117d67bf7330" ] }
Example Responses
Status code: 201
OK
{ "project_vpc_channels" : [ { "balance_strategy" : 1, "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_id" : "ec79066c6f6f462e91ff3f17f0e43f2a", "member_group_name" : "test", "member_group_remark" : "remark", "member_group_weight" : 1, "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" }, { "member_group_id" : "5b26a82cd18547f3ada54b3cfa641df9", "member_group_name" : "default", "member_group_remark" : "remark", "member_group_weight" : 2, "create_time" : "2020-07-23T07:11:57.244829604Z", "update_time" : "2020-07-23T07:11:57.244829604Z" } ], "instance_id" : "eea73cde015940908ae0117d67bf7330", "instance_name" : "test1" }, { "balance_strategy" : 1, "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" : [ { "create_time" : "2021-08-30T14:02:25Z", "member_group_id" : "ec79066c6f6f462e91ff3f17f0e43f2a", "member_group_name" : "test", "member_group_remark" : "", "member_group_weight" : 1, "update_time" : "2021-08-30T14:02:25Z" }, { "create_time" : "2021-08-04T06:03:47Z", "member_group_id" : "5b26a82cd18547f3ada54b3cfa641df9", "member_group_name" : "default", "member_group_remark" : "", "member_group_weight" : 1, "update_time" : "2021-08-04T06:03:47Z" } ], "instance_id" : "ddd73cde017890908ae0117d67bf7330", "instance_name" : "test2" } ] }
Status code: 400
Bad Request
{ "error_code" : "APIG.2011", "error_msg" : "The request parameters must be specified,parameterName:name. Please refer to the support documentation" }
Status code: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
Status code: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
Status code: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
Status Codes
Status Code |
Description |
---|---|
201 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
500 |
Internal Server Error |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot