Actualización de una conexión
Función
Esta API se utiliza para actualizar una conexión, incluida la actualización de su nombre y descripción.
Método de invocación
Para obtener más información, consulte Invocación a las API.
URI
PUT /v3/{project_id}/dcaas/direct-connects/{direct_connect_id}
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
direct_connect_id |
Sí |
String |
Especifica el ID de conexión. Mínimo: 36 Máximo: 36 |
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 |
---|---|---|---|
direct_connect |
No |
UpdateDirectConnect object |
Especifica los parámetros necesarios para actualizar una conexión. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
No |
String |
Especifica el nombre de la conexión. Mínimo: 0 Máximo: 64 |
description |
No |
String |
Proporciona la información complementaria sobre la conexión. Mínimo: 0 Máximo: 128 |
bandwidth |
No |
Integer |
Especifica el tamaño de ancho de banda de la conexión alojada en Mbit/s. Mínimo: 2 Máximo: 100000 |
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 |
status |
No |
String |
Especifica el estado del recurso, que puede ser PENDING_PAY o APPLY. Valores de enumeración:
|
provider_status |
No |
String |
Especifica el estado del portador, que puede ser ACTIVE o DOWN. Valores de enumeración:
|
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
request_id |
String |
Especifica el ID de la solicitud. |
direct_connect |
DirectConnect object |
Especifica los parámetros para crear una conexión. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID de conexión. |
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 |
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:
|
bandwidth |
Integer |
Especifica el ancho de banda de conexión en Mbit/s. Mínimo: 2 Máximo: 100000 |
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 |
device_id |
String |
Especifica el ID del dispositivo conectado a la conexión. Mínimo: 0 Máximo: 36 |
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:
|
hosting_id |
String |
Especifica el identificador de la conexión de operaciones en la que se crea la conexión alojada. |
charge_mode |
String |
Especifica el modo de facturación, que puede ser prepayment, bandwidth o traffic. Valores de enumeración:
|
provider |
String |
Especifica el portador de línea de una conexión. Puede ser China Telecom, China Unicom, China Mobile y otros operadores que proporcionan las líneas. |
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 la conexión. Las opciones son las siguientes: ACTIVE: La conexión está en el estado normal. DOWN: el puerto de la conexión está en estado inactivo, lo que puede causar fallas en la línea. BUILD: Se están realizando operaciones relacionadas con la conexión. ERROR: La configuración de la conexión es incorrecta. Póngase en contacto con el servicio de atención al cliente para rectificar la avería. PENDING_DELETE: se está eliminando la conexión. DELETED: Se ha eliminado la conexión. APPLY: se envía una solicitud de conexión. DENY: Una encuesta de sitio se rechaza porque el cliente no cumple con los requisitos. PENDING_PAY: El pedido de la conexión debe ser pagado. PAID: El pedido de la conexión ha sido pagado. PENDING_SURVEY: Se requiere una encuesta del sitio para la conexión. 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:
|
peer_port_type |
String |
Especifica el tipo de puerto de otro extremo. |
peer_provider |
String |
Especifica el portador conectado a la conexión. |
order_id |
String |
Especifica el ID de pedido de conexión, que se utiliza para admitir la facturación basada en la duración e identificar los pedidos de usuario. |
product_id |
String |
Especifica el ID de producto correspondiente al pedido de la conexión, que se utiliza para las políticas de facturación personalizadas, como los paquetes basados en la duración. |
spec_code |
String |
Especifica las especificaciones del producto correspondientes al pedido de la conexión, que se utiliza para las políticas de facturación personalizadas, como los paquetes basados en la duración. |
period_type |
Integer |
Especifica si una conexión en un pedido especificado se factura por año o por mes. |
period_num |
Integer |
Especifica la duración del servicio requerida de una conexión anual/mensual. |
vgw_type |
String |
Especifica el tipo de gateway requerido por una conexión directa. Predeterminado: default Valores de enumeración:
|
lag_id |
String |
Especifica el ID del LAG al que pertenece la conexión. |
signed_agreement_status |
String |
Especifica el estado de firma del acuerdo de Direct Connect. Valores de enumeración:
|
signed_agreement_time |
String |
Especifica la hora en que se firma el acuerdo de línea. |
enterprise_project_id |
String |
Especifica el identificador del proyecto de empresa al que pertenece la conexión. Mínimo: 36 Máximo: 36 |
tags |
Array of Tag objects |
Especifica las etiquetas. Longitud del arreglo: 0 - 10 |
locales |
LocalesBody object |
Especifica la región de la conexión. |
support_feature |
Array of strings |
Muestra las características admitidas por la conexión. |
ies_id |
String |
Especifica el identificador de un emplazamiento de borde de IES. |
reason |
String |
Muestra información de error si el estado de una línea es Error. |
|
String |
Especifica la información de correo electrónico del cliente. |
onestop_product_id |
String |
Especifica el ID de producto de una conexión de servicio completo. Este parámetro se utiliza en escenarios de ventas de línea. |
building_line_product_id |
String |
Especifica el ID de producto del recurso de línea utilizado en la sala de equipos. Este parámetro se utiliza en escenarios de ventas de línea. |
last_onestop_product_id |
String |
Especifica el ID de producto de una conexión de servicio completo antes del cambio. Este parámetro se utiliza en escenarios de venta de línea y se utiliza para guardar el último registro cuando se cambia el ancho de banda de línea. |
last_building_line_product_id |
String |
Especifica el ID de producto del recurso de línea utilizado en la sala de equipos antes del cambio. Este parámetro se utiliza en escenarios de venta de línea y se utiliza para guardar el último registro cuando se cambia el ancho de banda de línea. |
modified_bandwidth |
Integer |
Especifica el nuevo ancho de banda después de cambiar el ancho de banda de línea. |
change_mode |
Integer |
Especifica el estado de un cambio de renovación. |
onestopdc_status |
String |
Especifica el estado de una conexión de servicio completo. |
public_border_group |
String |
Especifica el grupo de bordes públicos de la AZ, que indica si el sitio es un sitio HomeZones. |
auto_renew |
Integer |
Especifica si se renovará automáticamente una suscripción anual/mensual. |
ratio_95peak |
Integer |
Especifica el porcentaje del ancho de banda mínimo para la facturación del percentil 95. Mínimo: 0 Máximo: 100 |
Parámetro |
Tipo |
Descripción |
---|---|---|
key |
String |
Especifica la clave de etiqueta. La clave puede contener un máximo de 36 caracteres de Unicode, incluidos letras, dígitos, guiones (-) y guiones bajos (_). Mínimo: 0 Máximo: 36 |
value |
String |
Especifica el valor de etiqueta. El valor puede contener un máximo de 43 caracteres de Unicode, incluidos letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). Mínimo: 0 Máximo: 43 |
Ejemplo de las solicitudes
Actualizar el nombre y la descripción de una conexión
PUT https://{dc_endpoint}/v3/6fbe9263116a4b68818cf1edce16bc4f/dcaas/direct-connects/6ecd9cf3-ca64-46c7-863f-f2eb1b9e838a { "direct_connect" : { "description" : "", "name" : "direct connect1" } }
Ejemplo de las respuestas
Código de estado: 200
Aceptar
- La conexión se actualiza.
{ "request_id" : "9a4f4dfc4fb2fc101e65bba07d908535", "direct_connect" : { "bandwidth" : 100, "create_time" : "2018-10-19T09:53:26.000Z", "port_type" : "10G", "id" : "6ecd9cf3-ca64-46c7-863f-f2eb1b9e838a", "apply_time" : "2018-10-19T09:53:26.000Z", "peer_location" : "", "peer_port_type" : null, "peer_provider" : null, "location" : "ExampleLocation", "provider" : "ExampleProvider", "type" : "standard", "status" : "BUILD", "description" : "", "provider_status" : "ACTIVE", "order_id" : "", "vlan" : null, "device_id" : "172.16.40.2", "name" : "direct connect1", "admin_state_up" : true, "tenant_id" : "6fbe9263116a4b68818cf1edce16bc4f", "hosting_id" : null, "product_id" : "", "vgw_type" : "default", "spec_code" : "100ge", "charge_mode" : null, "support_feature" : [ ], "ies_id" : null, "reason" : null, "email" : "cloud@example.com", "onestop_product_id" : null, "building_line_product_id" : null, "last_building_line_product_id" : null, "last_onestop_product_id" : null, "modified_bandwidth" : null, "change_mode" : null, "onestopdc_status" : null, "public_border_group" : "center", "auto_renew" : 0, "ratio_95peak" : null } }
Ejemplo de código del SDK
El ejemplo de código del SDK es el siguiente.
Java
Actualizar el nombre y la descripción de una conexión
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 |
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 UpdateDirectConnectSolution { 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(); UpdateDirectConnectRequest request = new UpdateDirectConnectRequest(); UpdateDirectConnectRequestBody body = new UpdateDirectConnectRequestBody(); UpdateDirectConnect directConnectbody = new UpdateDirectConnect(); directConnectbody.withName("direct connect1") .withDescription(""); body.withDirectConnect(directConnectbody); request.withBody(body); try { UpdateDirectConnectResponse response = client.updateDirectConnect(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
Actualizar el nombre y la descripción de una conexión
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 |
# 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 = UpdateDirectConnectRequest() directConnectbody = UpdateDirectConnect( name="direct connect1", description="" ) request.body = UpdateDirectConnectRequestBody( direct_connect=directConnectbody ) response = client.update_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
Actualizar el nombre y la descripción de una conexión
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 |
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.UpdateDirectConnectRequest{} nameDirectConnect:= "direct connect1" descriptionDirectConnect:= "" directConnectbody := &model.UpdateDirectConnect{ Name: &nameDirectConnect, Description: &descriptionDirectConnect, } request.Body = &model.UpdateDirectConnectRequestBody{ DirectConnect: directConnectbody, } response, err := client.UpdateDirectConnect(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 |
---|---|
200 |
Aceptar |
Códigos de error
Consulte Códigos de error.