Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2024-09-14 GMT+08:00

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

Tabla 1 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

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.

Tabla 2 Parámetros de cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

name

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

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

Tabla 3 Parámetros de cuerpo de respuesta

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.