Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive

Modifying a VPC Endpoint Service

Updated on 2024-03-14 GMT+08:00

Function

This API is used to modify a VPC endpoint service.

URI

PUT /v1/{project_id}/vpc-endpoint-services/{vpc_endpoint_service_id}

Table 1 describes parameters in this URI.
Table 1 URI parameters

Parameter

Mandatory

Description

project_id

Yes

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

vpc_endpoint_service_id

Yes

Specifies the ID of the VPC endpoint service.

Request

  • Parameter description
    Table 2 Request parameters

    Parameter

    Mandatory

    Type

    Description

    approval_enabled

    No

    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 unavailable until the owner of the associated VPC endpoint service approves the connection.

    The default value is true.

    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 (-).

    ports

    No

    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 endpoint services must be unique. A maximum of 200 port mappings can be created at a time.

    port_id

    No

    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:

    • 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. For details, see response field port_id in section "Querying Details of a Load Balancer" in the Elastic Load Balancing API Reference.
    • If the backend resource is an ECS, the value is the NIC ID of the ECS where the VPC endpoint service is deployed. For details, see port_id in the response in section "Querying NICs of an ECS" in the Elastic Cloud Server API Reference.
    • If the backend resource is a virtual IP address, the value is the port ID of the physical server where virtual resources are created. (This value will be discarded. The LB type is recommended.)

    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:

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

    Table 3 Port parameters

    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.

  • Example request
    This request is to modify the VPC endpoint service whose ID is 4189d3c2-8882-4871-a3c2-d380272eed88.
    PUT https://{endpoint}/v1/{project_id}/vpc-endpoint-services/4189d3c2-8882-4871-a3c2-d380272eed88
    {
       "approval_enabled":true,
       "service_name":"test",
       "ports":[
                 {
                    "client_port":8081,
                    "server_port":22,
                    "protocol":"TCP"
                 },
                 {
                    "client_port":8082,
                    "server_port":23,
                    "protocol":"TCP"
                 }
               ]
    }

Response

  • Parameter description
    Table 4 Response 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 UUID format. 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 port ID of the physical server where virtual resources are created. (This value will be discarded. The LB type is recommended.)

    service_name

    String

    Specifies the name of the VPC endpoint service.

    server_type

    String

    Specifies the resource type.

    • LB: indicates a load balancer.
    • VM: indicates an ECS.
    • VIP: indicates a virtual IP address. (This value has been discarded. The LB type is recommended.)
    • BMS: indicates a BMS. (This value has been discarded. The LB type is recommended.)

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

    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 O&M personnel. 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 O&M personnel 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, 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:

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

    tags

    Array of objects

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

    Table 5 Port 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 port mapping protocol. TCP is supported.

    The default value is TCP.

    Table 6 Tags parameters

    Parameter

    Type

    Description

    key

    String

    Specifies the tag key. A tag key contains a maximum of 36 Unicode characters. key 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.

  • Example response
    {
        "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",
        "service_type":"interface",
        "server_type":"VM",
        "project_id":"6e9dfd51d1124e8d8498dce894923a0d",
        "created_at":"2018-01-30T07:42:01Z",
        "ports":
                  [
                    {
                        "client_port":8080,
                        "server_port":90,
                        "protocol":"TCP"
                    },
                    {
                        "client_port":8081,
                        "server_port":80,
                        "protocol":"TCP"
                    }
                  ]
    }

Status Codes

See Status Codes.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback