Creating an Endpoint
Function
This API is used to create an endpoint.
Calling Method
For details, see Calling APIs.
URI
POST /v2.1/endpoints
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
Definition The user token. The token can be obtained by calling an IAM API. The value of X-Subject-Token in the response header is the user token. For details about how to obtain a user token, seeObtaining a User Token. Constraints N/A Range N/A Default Value N/A |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
name |
Yes |
String |
Endpoint name. It can contain 1 to 64 characters. Only letters, digits, underscores (_), hyphens (-), and periods (.) are allowed. |
|
direction |
Yes |
String |
Endpoint direction. The value can be:
|
|
region |
Yes |
String |
Region of the subnet |
|
ipaddresses |
Yes |
Array of IpaddressInfo objects |
IP address and subnet of the endpoint. You need to add at least two IP addresses and can add a maximum of six IP addresses. |
Response Parameters
Status code: 202
|
Parameter |
Type |
Description |
|---|---|---|
|
endpoint |
EndpointResp object |
Endpoint |
|
Parameter |
Type |
Description |
|---|---|---|
|
id |
String |
Endpoint ID, which is a UUID used to identify the endpoint |
|
name |
String |
Endpoint name |
|
direction |
String |
Endpoint direction. The value can be:
|
|
status |
String |
Resource status. The value can be PENDING_CREATE, ACTIVE, PENDING_DELETE, or ERROR. |
|
vpc_id |
String |
ID of the VPC to which the endpoint belongs. |
|
ipaddress_count |
Integer |
Number of IP addresses of the endpoint |
|
resolver_rule_count |
Integer |
Number of endpoint rules in the endpoint This parameter is returned only for outbound endpoints. |
|
create_time |
String |
The creation time. Format: yyyy-MM-dd'T'HH:mm:ss.SSS |
|
update_time |
String |
The update time. Format: yyyy-MM-dd'T'HH:mm:ss.SSS |
Status code: 400
|
Parameter |
Type |
Description |
|---|---|---|
|
code |
String |
Definition Error code Range N/A |
|
message |
String |
Definition Error description Range N/A |
Status code: 500
|
Parameter |
Type |
Description |
|---|---|---|
|
code |
String |
Definition Error code Range N/A |
|
message |
String |
Definition Error description Range N/A |
Example Requests
Creating an inbound endpoint, with the subnet ID of IP address 1 to 0463c8a5-fa49-441d-b28b-bc6c35ba04f8 and the custom IP address to 192.168.3.125, and the subnet ID of IP address 2 to 0463c8a5-fa49-441d-b28b-bc6c35ba04f8 and the custom IP address to 192.168.3.126
POST https://{endpoint}/v2.1/endpoints
{
"name" : "poi-1",
"direction" : "inbound",
"region" : "NetworkService",
"ipaddresses" : [ {
"subnet_id" : "0463c8a5-fa49-441d-b28b-bc6c35ba04f8",
"ip" : "192.168.3.125"
}, {
"subnet_id" : "0463c8a5-fa49-441d-b28b-bc6c35ba04f8",
"ip" : "192.168.3.126"
} ]
}
Example Responses
Status code: 202
Response to the request for creating an endpoint.
{
"endpoint" : {
"id" : "ff80808169bf16c70169bf1d02270000",
"name" : "poi-1",
"direction" : "inbound",
"status" : "PENDING_CREATE",
"vpc_id" : null,
"ipaddress_count" : 0,
"resolver_rule_count" : 0,
"create_time" : "2019-03-27T12:25:43.181",
"update_time" : "2019-03-27T12:25:43.181"
}
}
SDK Sample Code
The SDK sample code is as follows.
Creating an inbound endpoint, with the subnet ID of IP address 1 to 0463c8a5-fa49-441d-b28b-bc6c35ba04f8 and the custom IP address to 192.168.3.125, and the subnet ID of IP address 2 to 0463c8a5-fa49-441d-b28b-bc6c35ba04f8 and the custom IP address to 192.168.3.126
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.dns.v2.region.DnsRegion; import com.huaweicloud.sdk.dns.v2.*; import com.huaweicloud.sdk.dns.v2.model.*; import java.util.List; import java.util.ArrayList; public class CreateEndpointSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); DnsClient client = DnsClient.newBuilder() .withCredential(auth) .withRegion(DnsRegion.valueOf("<YOUR REGION>")) .build(); CreateEndpointRequest request = new CreateEndpointRequest(); CreateEndpointRequestBody body = new CreateEndpointRequestBody(); List<IpaddressInfo> listbodyIpaddresses = new ArrayList<>(); listbodyIpaddresses.add( new IpaddressInfo() .withSubnetId("0463c8a5-fa49-441d-b28b-bc6c35ba04f8") .withIp("192.168.3.125") ); listbodyIpaddresses.add( new IpaddressInfo() .withSubnetId("0463c8a5-fa49-441d-b28b-bc6c35ba04f8") .withIp("192.168.3.126") ); body.withIpaddresses(listbodyIpaddresses); body.withRegion("NetworkService"); body.withDirection("inbound"); body.withName("poi-1"); request.withBody(body); try { CreateEndpointResponse response = client.createEndpoint(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Creating an inbound endpoint, with the subnet ID of IP address 1 to 0463c8a5-fa49-441d-b28b-bc6c35ba04f8 and the custom IP address to 192.168.3.125, and the subnet ID of IP address 2 to 0463c8a5-fa49-441d-b28b-bc6c35ba04f8 and the custom IP address to 192.168.3.126
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkdns.v2.region.dns_region import DnsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkdns.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] credentials = BasicCredentials(ak, sk) client = DnsClient.new_builder() \ .with_credentials(credentials) \ .with_region(DnsRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateEndpointRequest() listIpaddressesbody = [ IpaddressInfo( subnet_id="0463c8a5-fa49-441d-b28b-bc6c35ba04f8", ip="192.168.3.125" ), IpaddressInfo( subnet_id="0463c8a5-fa49-441d-b28b-bc6c35ba04f8", ip="192.168.3.126" ) ] request.body = CreateEndpointRequestBody( ipaddresses=listIpaddressesbody, region="NetworkService", direction="inbound", name="poi-1" ) response = client.create_endpoint(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Creating an inbound endpoint, with the subnet ID of IP address 1 to 0463c8a5-fa49-441d-b28b-bc6c35ba04f8 and the custom IP address to 192.168.3.125, and the subnet ID of IP address 2 to 0463c8a5-fa49-441d-b28b-bc6c35ba04f8 and the custom IP address to 192.168.3.126
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dns "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := dns.NewDnsClient( dns.DnsClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateEndpointRequest{} ipIpaddresses:= "192.168.3.125" ipIpaddresses1:= "192.168.3.126" var listIpaddressesbody = []model.IpaddressInfo{ { SubnetId: "0463c8a5-fa49-441d-b28b-bc6c35ba04f8", Ip: &ipIpaddresses, }, { SubnetId: "0463c8a5-fa49-441d-b28b-bc6c35ba04f8", Ip: &ipIpaddresses1, }, } request.Body = &model.CreateEndpointRequestBody{ Ipaddresses: listIpaddressesbody, Region: "NetworkService", Direction: "inbound", Name: "poi-1", } response, err := client.CreateEndpoint(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
|
Status Code |
Description |
|---|---|
|
202 |
Response to the request for creating an endpoint. |
|
400 |
Error response |
|
500 |
Error response |
Error Codes
See Error Codes.
Last Article: Endpoint Management
Next Article: Querying Endpoints
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.