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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
Especifica el ID del proyecto. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
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 |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
hosted_connect |
Sí |
CreateHostedDirectConnect object |
Especifica los parámetros para crear una conexión alojada. |
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 |
Sí |
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 |
Sí |
String |
Especifica el identificador de la conexión de operaciones en la que se crea la conexión alojada. |
vlan |
Sí |
Integer |
Especifica la VLAN asignada a la conexión alojada. Mínimo: 0 Máximo: 3999 |
resource_tenant_id |
Sí |
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
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. |
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:
Valores de enumeración:
|
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:
|
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:
|
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:
|
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.