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.
Centro de ayuda/ Direct Connect/ Referencia de la API/ Las API/ Conexión/ Creación de una conexión alojada
Actualización más reciente 2024-09-14 GMT+08:00

Creación de una conexión alojada

Función

Esta API es utilizada por los socios para crear conexiones alojadas para sus usuarios. El creador debe tener la calificación de socio y tener una conexión de operaciones.

Método de invocación

Para obtener más información, consulte Invocación a las API.

URI

POST /v3/{project_id}/dcaas/hosted-connects

Tabla 1 Parámetros de enrutamiento

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

Especifica el ID del proyecto.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Especifica el token de usuario. Para obtener el token, consulte la sección "Obtención del token de usuario" en la Referencia de las API de Identity and Access Management. El token es el valor de X-Subject-Token en el encabezado de respuesta.

Mínimo: 0

Máximo: 10240

Tabla 3 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

hosted_connect

CreateHostedDirectConnect object

Especifica los parámetros para crear una conexión alojada.

Tabla 4 CreateHostedDirectConnect

Parámetro

Obligatorio

Tipo

Descripción

name

No

String

Especifica el nombre de la conexión alojada.

Mínimo: 0

Máximo: 64

description

No

String

Proporciona la información adicional acerca de la conexión alojada.

Mínimo: 0

Máximo: 128

bandwidth

Integer

Especifica el tamaño de ancho de banda de la conexión alojada en Mbit/s.

Mínimo: 2

Máximo: 400000

hosting_id

String

Especifica el identificador de la conexión de operaciones en la que se crea la conexión alojada.

vlan

Integer

Especifica la VLAN asignada a la conexión alojada.

Mínimo: 0

Máximo: 3999

resource_tenant_id

String

Especifica el ID de proyecto del tenant especificado para el que se va a crear una conexión alojada.

Mínimo: 0

Máximo: 32

peer_location

No

String

Especifica la ubicación de la instalación local en el otro extremo de la conexión, específica del nombre de la calle o del centro de datos.

Mínimo: 0

Máximo: 255

Parámetros de respuesta

Código de estado: 201

Tabla 5 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

request_id

String

Especifica el ID de la solicitud.

hosted_connect

HostedDirectConnect object

Especifica los parámetros para crear una conexión alojada.

Tabla 6 HostedDirectConnect

Parámetro

Tipo

Descripción

id

String

Especifica el ID de conexión alojada.

Mínimo: 36

Máximo: 36

tenant_id

String

Especifica el ID del proyecto al que pertenece la instancia.

name

String

Especifica el nombre de la conexión.

Mínimo: 0

Máximo: 64

description

String

Proporciona la información complementaria sobre la conexión.

Mínimo: 0

Máximo: 128

bandwidth

Integer

Especifica el ancho de banda de conexión en Mbit/s.

Mínimo: 2

Máximo: 400000

location

String

Especifica la información acerca de la ubicación de Direct Connect.

Mínimo: 0

Máximo: 255

peer_location

String

Especifica la ubicación de la instalación local en el otro extremo de la conexión, específica del nombre de la calle o del centro de datos.

Mínimo: 0

Máximo: 255

hosting_id

String

Especifica el identificador de la conexión de operaciones en la que se crea la conexión alojada.

provider

String

Especifica el proveedor de la línea arrendada.

admin_state_up

Boolean

Especifica el estado administrativo, que puede ser true o false.

Predeterminado: true

vlan

Integer

Especifica la VLAN asignada a la conexión alojada.

Mínimo: 0

Máximo: 3999

status

String

Especifica el estado de funcionamiento de la conexión alojada. Las opciones son las siguientes:

  • BUILD: Se ha creado la conexión alojada.
  • ACTIVE: El gateway virtual asociado es normal.
  • DOWN: El puerto utilizado por la conexión alojada está inactivo, lo que indica que puede haber fallos de línea.
  • ERROR: El gateway virtual asociado es anormal.
  • PENDING_DELETE: se está eliminando la conexión alojada.
  • PENDING_UPDATE se está actualizando la conexión alojada.
  • PENDING_CREATE: Se está creando la conexión alojada.

Valores de enumeración:

  • BUILD
  • ACTIVE
  • DOWN
  • ERROR
  • PENDING_DELETE
  • PENDING_UPDATE
  • PENDING_CREATE

apply_time

String

Especifica cuándo se solicitó la conexión. Se utiliza el formato de hora UTC aaaa-MM-ddTHH:mm:ss.SSSZ.

create_time

String

Especifica cuándo se creó la conexión. Se utiliza el formato de hora UTC aaaa-MM-ddTHH:mm:ss.SSSZ.

provider_status

String

Especifica el estado de la línea arrendada del portador. El estado puede ser ACTIVE o DOWN.

Valores de enumeración:

  • ACTIVE
  • DOWN

port_type

String

Especifica el tipo de puerto utilizado por la conexión. El valor puede ser 1G, 10G, 40G o 100G.

Valores de enumeración:

  • 1G
  • 10G
  • 40G
  • 100G

type

String

Especifica el tipo de conexión. El valor puede ser standard (una conexión estándar), hosting (una conexión de operaciones) o hosted (una conexión de servicio completo).

Predeterminado: standard

Valores de enumeración:

  • standard
  • hosting
  • hosted
  • onestop_standard
  • onestop_hosted

Ejemplo de solicitudes

Creación de una conexión de alojamiento con el ancho de banda establecido a 10 Mbit/s y VLAN a 441

POST https://{dc_endpoint}/v3/6fbe9263116a4b68818cf1edce16bc4f/dcaas/hosted-connects

{
  "hosted_connect" : {
    "name" : "client-dc-faf1",
    "description" : "Hosted Connect",
    "resource_tenant_id" : "0605768a3300d5762f82c01180692873",
    "hosting_id" : "2cfb53be-b05f-40d5-a2f8-3a59ac383836",
    "vlan" : 441,
    "bandwidth" : 10
  }
}

Ejemplo de respuestas

Código de estado: 201

Creado

  • Se crea la conexión alojada.
    {
      "hosted_connect" : {
        "id" : "0278b472-ffa5-4eb3-8c0d-979d479f8ef6",
        "name" : "client-dc-faf1",
        "description" : "Hosted Connect",
        "tenant_id" : "0605768a3300d5762f82c01180692873",
        "hosting_id" : "2cfb53be-b05f-40d5-a2f8-3a59ac383836",
        "vlan" : 441,
        "bandwidth" : 10,
        "location" : "ExampleLocation",
        "peer_location" : "",
        "provider" : "ExampleProvider",
        "type" : "hosted",
        "port_type" : "10G",
        "provider_status" : "ACTIVE",
        "status" : "ACTIVE",
        "apply_time" : "2022-07-13T08:25:38.000Z",
        "admin_state_up" : true,
        "create_time" : "2022-07-13T08:25:38.000Z"
      },
      "request_id" : "a59a3776faa1d055f8124dc7b0977a90"
    }

Ejemplo de código del SDK

El ejemplo de código del SDK es el siguiente.

Java

Creación de una conexión de alojamiento con el ancho de banda establecido a 10 Mbit/s y VLAN a 441

 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.dc.v3.region.DcRegion;
import com.huaweicloud.sdk.dc.v3.*;
import com.huaweicloud.sdk.dc.v3.model.*;


public class CreateHostedDirectConnectSolution {

    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);

        DcClient client = DcClient.newBuilder()
                .withCredential(auth)
                .withRegion(DcRegion.valueOf("<YOUR REGION>"))
                .build();
        CreateHostedDirectConnectRequest request = new CreateHostedDirectConnectRequest();
        CreateHostedDirectConnectRequestBody body = new CreateHostedDirectConnectRequestBody();
        CreateHostedDirectConnect hostedConnectbody = new CreateHostedDirectConnect();
        hostedConnectbody.withName("client-dc-faf1")
            .withDescription("Hosted Connect")
            .withBandwidth(10)
            .withHostingId("2cfb53be-b05f-40d5-a2f8-3a59ac383836")
            .withVlan(441)
            .withResourceTenantId("0605768a3300d5762f82c01180692873");
        body.withHostedConnect(hostedConnectbody);
        request.withBody(body);
        try {
            CreateHostedDirectConnectResponse response = client.createHostedDirectConnect(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

Creación de una conexión de alojamiento con el ancho de banda establecido a 10 Mbit/s y VLAN a 441

 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
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdc.v3.region.dc_region import DcRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdc.v3 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 = DcClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(DcRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = CreateHostedDirectConnectRequest()
        hostedConnectbody = CreateHostedDirectConnect(
            name="client-dc-faf1",
            description="Hosted Connect",
            bandwidth=10,
            hosting_id="2cfb53be-b05f-40d5-a2f8-3a59ac383836",
            vlan=441,
            resource_tenant_id="0605768a3300d5762f82c01180692873"
        )
        request.body = CreateHostedDirectConnectRequestBody(
            hosted_connect=hostedConnectbody
        )
        response = client.create_hosted_direct_connect(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

Creación de una conexión de alojamiento con el ancho de banda establecido a 10 Mbit/s y VLAN a 441

 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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    dc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3/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 := dc.NewDcClient(
        dc.DcClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.CreateHostedDirectConnectRequest{}
	nameHostedConnect:= "client-dc-faf1"
	descriptionHostedConnect:= "Hosted Connect"
	hostedConnectbody := &model.CreateHostedDirectConnect{
		Name: &nameHostedConnect,
		Description: &descriptionHostedConnect,
		Bandwidth: int32(10),
		HostingId: "2cfb53be-b05f-40d5-a2f8-3a59ac383836",
		Vlan: int32(441),
		ResourceTenantId: "0605768a3300d5762f82c01180692873",
	}
	request.Body = &model.CreateHostedDirectConnectRequestBody{
		HostedConnect: hostedConnectbody,
	}
	response, err := client.CreateHostedDirectConnect(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Otro más

Para obtener un ejemplo de código del SDK de más lenguajes de programación, consulta la ficha Ejemplo de código en API Explorer. El ejemplo de código del SDK se puede generar automáticamente.

Códigos de estado

Código de estado

Descripción

201

Creado

Códigos de error

Consulte Códigos de error.