This API is used to create a VPC endpoint service. Other users can create a VPC endpoint to connect to the endpoint service.
This API is asynchronous. If it is successfully invoked, status code 200 is returned, indicating that the request has been successfully delivered. It takes 1 to 2 minutes to create a VPC endpoint service. You can view the creation result by performing operations in Querying Details About a VPC Endpoint Service.
POST /v1/{project_id}/vpc-endpoint-services
Parameter |
Mandatory |
Description |
|---|---|---|
project_id |
Yes |
Specifies the project ID. For details about how to obtain the project ID, see Obtaining a Project ID. |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
port_id |
Yes |
String |
Specifies the ID for identifying the backend resource of the VPC endpoint service. The ID is in universally unique identifier (UUID) format. The values are as follows:
NOTE:
|
pool_id |
No |
String |
Specifies the ID of the cluster associated with the target VPC endpoint resource. |
service_name |
No |
String |
Specifies the name of the VPC endpoint service. The name can contain a maximum of 16 characters, including letters, digits, underscores (_), and hyphens (-).
|
vpc_id |
Yes |
String |
Specifies the ID of the VPC to which the backend resource of the VPC endpoint service belongs. For details, see response field id in Querying VPC Details in Virtual Private Cloud API Reference. |
approval_enabled |
No |
Boolean |
Specifies whether connection approval is required.
The default value is true. |
service_type |
No |
String |
Specifies the type of the VPC endpoint service. Only your private services can be configured into interface VPC endpoint services. There are two types of VPC endpoint services: interface and gateway.
You can view those VPC endpoint services that are configured by O&M personnel and are visible and accessible to all users. For detailed steps, see Querying Public VPC Endpoint Services. Perform the operations in Creating a VPC Endpoint to create VPC endpoints for accessing VPC endpoint services of the gateway type and interface type. |
server_type |
Yes |
String |
Specifies the resource type.
|
ports |
Yes |
Array of objects |
Lists the port mappings opened to the VPC endpoint service. For details, see Table 3. Duplicate port mappings are not allowed in the same VPC endpoint service. If multiple VPC endpoint services share the same port_id value, either server_port or protocol, or both server_port and protocol of each of these VPC endpoint services must be unique. A maximum of 200 port mappings can be created at a time. |
tcp_proxy |
No |
String |
Specifies whether the client IP address and port number or marker_id information is transmitted to the server. The following methods are supported:
This parameter is available only when the server can parse fields tcp option and tcp payload. The values are as follows:
The default value is close. |
ip_version |
No |
String |
Specifies the IP version of the VPC endpoint service. Only professional VPC endpoint services support this parameter. This is a reserved parameter and is not supported currently.
|
enable_policy |
No |
Boolean |
Specifies whether the VPC endpoint policy can be customized. The default value is false. |
payer |
No |
String |
Specifies the payer of the VPC endpoint service, that is, who pays for the connected VPC endpoints. This is a reserved parameter and is not supported currently.
|
enterprise_project_id |
No |
String |
Specifies the enterprise project ID. When creating a VPC endpoint service, you need to specify an enterprise project ID for it. The value is 0 or a string that contains a maximum of 36 bytes in the UUID format with hyphens (-). 0 indicates the default enterprise project. |
supported_editions |
No |
Array of strings |
Specifies the type of the VPC endpoint service. This is a reserved parameter and is not supported currently. The value can be:
|
tags |
No |
Array of objects |
Lists the resource tags. For details, see Table 4. A maximum of 20 tags can be added to each VPC endpoint service. |
description |
No |
String |
Supplementary information about the VPC endpoint service. The value can contain a maximum of 128 characters, including letters and digits. Angle brackets (< and >) are not allowed. |
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
client_port |
No |
Integer |
Specifies the port for accessing the VPC endpoint. This port is provided by the VPC endpoint, allowing you to access the VPC endpoint service. Supported range: 1 to 65535 |
server_port |
No |
Integer |
Specifies the port for accessing the VPC endpoint service. This port is provided by the backend service to provide services. Supported range: 1 to 65535 |
protocol |
No |
String |
Specifies the port mapping protocol. TCP is supported. The default value is 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"
} ],
"payer": "endpoint_service",
"supported_editions": ["basic"],
"enterprise_project_id": "0"
}
Parameter |
Type |
Description |
|---|---|---|
id |
String |
Specifies the unique ID of the VPC endpoint service. |
port_id |
String |
Specifies the ID for identifying the backend resource of the VPC endpoint service. The ID is in UUID format. The values are as follows:
|
service_name |
String |
Specifies the name of the VPC endpoint service. |
service_type |
String |
Specifies the type of the VPC endpoint service. There are two types of VPC endpoint services: interface and gateway.
You can perform the operations in Creating a VPC Endpoint to create VPC endpoints for accessing VPC endpoints of the gateway and interface types. |
server_type |
String |
Specifies the resource type.
|
vpc_id |
String |
Specifies the ID of the VPC to which the backend resource of the VPC endpoint service belongs. |
pool_id |
String |
Specifies the ID of the cluster associated with the target VPC endpoint resource. |
approval_enabled |
Boolean |
Specifies whether connection approval is required.
|
status |
String |
Specifies the status of the VPC endpoint service.
|
created_at |
String |
Specifies the creation time of the VPC endpoint service. The UTC time format is used: YYYY-MM-DDTHH:MM:SSZ. |
updated_at |
String |
Specifies the update time of the VPC endpoint service. The UTC time format is used: YYYY-MM-DDTHH:MM:SSZ. |
project_id |
String |
Specifies the project ID. For details about how to obtain the project ID, see Obtaining a Project ID. |
ports |
Array of objects |
Lists the port mappings opened to the VPC endpoint service. For details, see Table 6. Duplicate port mappings are not allowed in the same VPC endpoint service. If multiple VPC endpoint services share the same port_id value, either server_port or protocol, or both server_port and protocol of each of these endpoint services must be unique. |
tcp_proxy |
String |
Specifies whether the client IP address and port number or marker_id information is transmitted to the server. The following methods are supported:
This parameter is available only when the server can parse fields tcp option and tcp payload. The values are as follows:
The default value is close. |
ip_version |
String |
Specifies the IP version of the VPC endpoint service. Only professional VPC endpoint services support this parameter. This is a reserved parameter and is not supported currently.
|
enable_policy |
Boolean |
Specifies whether the VPC endpoint policy can be customized. The default value is false. |
payer |
String |
Specifies the payer of the VPC endpoint service, that is, who pays for the connected VPC endpoints. This is a reserved parameter and is not supported currently.
|
enterprise_project_id |
String |
Specifies the enterprise project ID. When creating a VPC endpoint service, you need to specify an enterprise project ID for it. The value is 0 or a string that contains a maximum of 36 bytes in the UUID format with hyphens (-). 0 indicates the default enterprise project. |
supported_editions |
Array of strings |
Specifies the type of the VPC endpoint service. This is a reserved parameter and is not supported currently. The value can be:
|
tags |
Array of objects |
Lists the resource tags. For details, see Table 7. |
description |
String |
Supplementary information about the VPC endpoint service. The value can contain a maximum of 128 characters, including letters and digits. Angle brackets (< and >) are not allowed. |
ip_version |
String |
Specifies the IP version of the VPC endpoint service. Only professional VPC endpoint services support this parameter. This is a reserved parameter and is not supported currently. ipv4: The VPC endpoint can only have an IPv4 address. ipv6: The VPC endpoint can have both IPv4 and IPv6 addresses. |
Parameter |
Type |
Description |
|---|---|---|
client_port |
Integer |
Specifies the port for accessing the VPC endpoint. This port is provided by the VPC endpoint, allowing you to access the VPC endpoint service. Supported range: 1 to 65535 |
server_port |
Integer |
Specifies the port for accessing the VPC endpoint service. This port is provided by the backend service to provide services. Supported range: 1 to 65535 |
protocol |
String |
Specifies the port mapping protocol. TCP is supported. The default value is TCP. |
{
"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",
"updated_at" : "2022-04-14T09:35:47Z",
"tcp_proxy": "close",
"ports" : [ {
"client_port" : 8080,
"server_port" : 90,
"protocol" : "TCP"
}, {
"client_port" : 8081,
"server_port" : 80,
"protocol" : "TCP"
} ],
"tags": [],
"description": "",
"payer": "endpoint_service",
"supported_editions": ["basic"],
"enterprise_project_id": "0",
"ip_version": "ipv4",
"enable_policy": false
}
See Status Codes.
For details, see Error Codes.