Creación de una línea personalizada
Función
Esta API se utiliza para crear una línea personalizada.
Método de invocación
Para obtener más información, consulte Invocación a las API.
URI
POST /v2.1/customlines
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
String |
Token de usuario. Se puede obtener mediante invocación a una API de IAM. El valor de X-Subject-Token en el encabezado de respuesta es el token de usuario. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
String |
Nombre de línea de resolución. El valor consta de 1 a 80 caracteres incluidos letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). El nombre de cada línea de resolución establecida por una cuenta debe ser único. |
ip_segments |
Sí |
Array of strings |
Rango de direcciones IP. La dirección IP inicial se separa de la dirección IP final con un guion (-). Los intervalos de direcciones IP no se pueden solapar. Si las direcciones IP inicial y final son las mismas, solo hay una dirección IP en el intervalo. Establezca el valor en IP1-IP1. Actualmente, solo se admiten direcciones IPv4. Puede especificar un máximo de 50 intervalos de direcciones IP. |
description |
No |
String |
Descripción de línea personalizada. Se permite un máximo de 255 caracteres. Se deja en blanco por defecto. |
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
line_id |
String |
ID de línea de resolución |
name |
String |
Nombre de línea personalizado |
ip_segments |
Array of strings |
Rango de direcciones IP |
created_at |
String |
Hora en que se creó la línea personalizada |
updated_at |
String |
Hora en que se actualizó la línea personalizada |
status |
String |
Estado del recurso |
description |
String |
Descripción de línea personalizada |
Ejemplo de solicitudes
Crear una línea personalizada y establecer el rango de direcciones IP en 1.1.1.1-1.1.1.1 y 1.1.1.2-1.1.1.3
POST https://{endpoint}/v2.1/customlines { "name" : "customline", "ip_segments" : [ "1.1.1.1-1.1.1.1", "1.1.1.2-1.1.1.3" ], "description" : "123" }
Ejemplo de respuestas
Código de estado: 200
Solicitud de creación de una línea personalizada
{ "line_id" : "custom_2ce45ef669fc87870169fcbada7a0007", "name" : "customline", "ip_segments" : [ "1.1.1.1-1.1.1.1", "1.1.1.2-1.1.1.3" ], "status" : "PENDING_CREATE", "created_at" : "2019-04-10T12:03:17.827", "updated_at" : null, "description" : "123" }
Código de muestra del SDK
El código de ejemplo del SDK es el siguiente.
Java
Crear una línea personalizada y establecer el rango de direcciones IP en 1.1.1.1-1.1.1.1 y 1.1.1.2-1.1.1.3
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 |
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 CreateCustomLineSolution { 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("cn-north-4")) .build(); CreateCustomLineRequest request = new CreateCustomLineRequest(); CreateCustomLines body = new CreateCustomLines(); List<String> listbodyIpSegments = new ArrayList<>(); listbodyIpSegments.add("1.1.1.1-1.1.1.1"); listbodyIpSegments.add("1.1.1.2-1.1.1.3"); body.withDescription("123"); body.withIpSegments(listbodyIpSegments); body.withName("customline"); request.withBody(body); try { CreateCustomLineResponse response = client.createCustomLine(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()); } } } |
Python
Crear una línea personalizada y establecer el rango de direcciones IP en 1.1.1.1-1.1.1.1 y 1.1.1.2-1.1.1.3
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 |
# coding: utf-8 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.getenv("CLOUD_SDK_AK") sk = os.getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = DnsClient.new_builder() \ .with_credentials(credentials) \ .with_region(DnsRegion.value_of("cn-north-4")) \ .build() try: request = CreateCustomLineRequest() listIpSegmentsbody = [ "1.1.1.1-1.1.1.1", "1.1.1.2-1.1.1.3" ] request.body = CreateCustomLines( description="123", ip_segments=listIpSegmentsbody, name="customline" ) response = client.create_custom_line(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Go
Crear una línea personalizada y establecer el rango de direcciones IP en 1.1.1.1-1.1.1.1 y 1.1.1.2-1.1.1.3
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 |
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("cn-north-4")). WithCredential(auth). Build()) request := &model.CreateCustomLineRequest{} var listIpSegmentsbody = []string{ "1.1.1.1-1.1.1.1", "1.1.1.2-1.1.1.3", } descriptionCreateCustomLines:= "123" request.Body = &model.CreateCustomLines{ Description: &descriptionCreateCustomLines, IpSegments: listIpSegmentsbody, Name: "customline", } response, err := client.CreateCustomLine(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
Más información
Para obtener un código de ejemplo del SDK de más lenguajes de programación, consulta la pestaña Código de ejemplo en Explorador de API. El código de ejemplo del SDK se puede generar automáticamente.
Códigos de estado
Código de estado |
Descripción |
---|---|
200 |
Solicitud de creación de una línea personalizada |
Códigos de error
Consulte Códigos de error.