Updated on 2022-12-06 GMT+08:00

Querying VPC Endpoint Services

Function

This API is used to query VPC endpoint services.

URI

GET /v1/{project_id}/vpc-endpoint-services?endpoint_service_name={endpoint_service_name}&id={id}&sort_key={sort_key}&sort_dir={sort_dir}&limit={limit}&offset={offset}&status={status}

Table 1 describes the required parameters.
Table 1 Parameter description

Parameter

Mandatory

Description

project_id

Yes

Specifies the project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

Request

  • Parameter description
    Table 2 Request parameters

    Parameter

    Mandatory

    Type

    Description

    endpoint_service_name

    No

    String

    Specifies the name of the VPC endpoint service. The name is not case-sensitive and supports fuzzy match.

    id

    No

    String

    Specifies the unique ID of the VPC endpoint service.

    status

    No

    String

    Specifies the status of the VPC endpoint service.

    • creating: The VPC endpoint service is being created.
    • available: The VPC endpoint service is connectable.
    • failed: The VPC endpoint service failed to be created.
    • deleting: The VPC endpoint service is being deleted.

    sort_key

    No

    String

    Specifies the sorting field of the VPC endpoint service list. The field can be:

    • created_at: VPC endpoint services are sorted by creation time.
    • updated_at: VPC endpoint services are sorted by update time.

    The default field is created_at.

    sort_dir

    No

    String

    Specifies the sorting method of the VPC endpoint service list. The method can be:

    • desc: VPC endpoint services are sorted in descending order.
    • asc: VPC endpoint services are sorted in ascending order.

    The default method is desc.

    limit

    No

    Integer

    Specifies the maximum number of VPC endpoint services displayed on each page.

    The number ranges from 0 to 1000 and is generally 10, 20, or 50. The default number is 10.

    offset

    No

    Integer

    Specifies the offset.

    All VPC endpoint services after this offset will be queried. The offset must be an integer greater than 0 but less than the number of VPC endpoint services.

  • Example request
    GET https://{endpoint}/v1/{project_id}/vpc-endpoint-services

Response

  • Parameter description
    Table 3 Response parameters

    Parameter

    Type

    Description

    endpoint_services

    Array of objects

    Lists the VPC endpoint services. For details, see Table 4.

    total_count

    Integer

    Specifies the total number of VPC endpoint services that meet the search criteria. The number is not affected by the limit or offset.

    Table 4 endpoint_service parameters

    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 the form of the UUID. The values are as follows:

    • If the backend resource is a load balancer, the value is the ID of the port bound to the private IP address of the load balancer.
    • If the backend resource is an ECS, the value is the NIC ID of the ECS where the VPC endpoint service is deployed.
    • If the backend resource is a virtual IP address, the value is the NIC ID of the physical server where virtual resources are created. (This value will not be returned because virtual IP addresses cannot be used. The LB type is recommended.)

    vip_port_id

    String

    Specifies the ID of the virtual NIC to which the virtual IP address is bound.

    This parameter is returned only when the backend resource of the VPC endpoint service is a virtual IP address. If the virtual IP address cannot be used for VPCEP, this parameter is not returned.

    service_name

    String

    Specifies the name of the VPC endpoint service.

    server_type

    String

    Specifies the resource type.

    • VM: indicates the ECS.
    • VIP: indicates the virtual IP address. (This value will not be returned because virtual IP addresses cannot be used. The LB type is recommended.)
    • LB: shared load balancer

    vpc_id

    String

    Specifies the ID of the VPC to which the backend resource of the VPC endpoint service belongs.

    approval_enabled

    Boolean

    Specifies whether connection approval is required.

    • false: Connection approval is not required. The created VPC endpoint is in the Accepted state.
    • true: Connection approval is required. The created VPC endpoint is in the Pending acceptance state until the owner of the associated VPC endpoint service approves the connection.

    status

    String

    Specifies the status of the VPC endpoint service.

    • creating: The VPC endpoint service is being created.
    • available: The VPC endpoint service is connectable.
    • failed: The VPC endpoint service failed to be created.
    • deleting: The VPC endpoint service is being deleted.

    service_type

    String

    Specifies the type of the VPC endpoint service.

    There are two types of VPC endpoint services: interface and gateway.
    • Gateway: VPC endpoint services of this type are configured by operations people. You can use them directly without the need to create one by yourselves.
    • Interface: VPC endpoint services of this type include cloud services configured by operations people and private services created by yourselves. You cannot configure these cloud services, but can use them.

    You can perform the operations in Creating a VPC Endpoint to create VPC endpoints for accessing VPC endpoints of the gateway and interface types.

    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 5.

    Duplicate port mappings are not allowed in the same VPC endpoint service. If multiple VPC endpoint services share the same port_id value, service ports and terminal ports of all these endpoint services cannot be duplicated when the protocol is the same.

    tags

    Array of objects

    Lists the resource tags. For details, see Table 6.

    connection_count

    Integer

    Specifies the number of Creating or Accepted VPC endpoints under the VPC endpoint service.

    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:

    • TCP TOA: The client information is inserted into field tcp option and transmitted to the server.
      NOTE:

      TCP TOA is supported only when the backend resource is OBS.

    • Proxy Protocol: The client information is inserted into field tcp payload and transmitted to the server.

    This parameter is available only when the server can parse fields tcp option and tcp payload.

    The values are as follows:

    • close: The TOA and Proxy Protocol methods are neither used.
    • toa_open: The TOA method is used.
    • proxy_open: The Proxy Protocol method is used.
    • open: The TOA and Proxy Protocol methods are both used.
    • proxy_vni: The TOA Protocol method is not used. Proxy and virtual network ID are used.

    The default value is close.

    error

    Array of objects

    Specifies the error message.

    This field is returned when the status of the VPC endpoint service changes to failed. For details, see Table 7.

    Table 5 Port mapping parameters

    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 protocol used in port mappings. The protocol can be TCP.

    Table 6 ResourceTags parameters

    Parameter

    Type

    Description

    key

    String

    Specifies the tag key. A tag key contains a maximum of 36 Unicode characters. This parameter cannot be left blank. It cannot contain characters =*<>\,|/ nor start or end with a space.

    value

    String

    Specifies the tag value. A tag value contains a maximum of 43 Unicode characters and can be left blank. It cannot contain characters =*<>\,|/ nor start or end with a space.

    Table 7 Error parameters

    Parameter

    Type

    Description

    error_code

    String

    Specifies the error code.

    error_message

    String

    Specifies the error message.

  • Example response
    {
       "endpoint_services":[
             {
               "id":"4189d3c2-8882-4871-a3c2-d380272eed83",
               "port_id":"4189d3c2-8882-4871-a3c2-d380272eed88",
               "vpc_id":"4189d3c2-8882-4871-a3c2-d380272eed80",
               "status":"available",
               "approval_enabled":false,
               "service_name":"test123",
               "server_type":"VM",
               "service_type":"interface",
               "ports":[
                    {
                      "client_port":8080,
                      "server_port":90,
                      "protocol":"TCP"
                    },
                    {
                      "client_port":8081,
                      "server_port":80,
                      "protocol":"TCP"
                    }
                 ],
               "project_id":"6e9dfd51d1124e8d8498dce894923a0d",
               "created_at":"2018-01-30T07:42:01Z",
               "update_at":"2018-01-30T07:42:01Z"
             }
         ],
       "total_count":100
    }