Consulta de la lista de interfaces virtuales
Función
Esta API se utiliza para consultar todas las interfaces virtuales de un tenant.
Método de invocación
Para obtener más información, consulte Invocación a las API.
URI
GET /v3/{project_id}/dcaas/virtual-interfaces
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
Especifica el ID del proyecto. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
limit |
No |
Integer |
Especifica el número de registros devueltos en cada página. Rango de valores: 1 a 2000 Mínimo: 1 Máximo: 2000 Predeterminado: 2000 |
marker |
No |
String |
Especifica el ID del último registro de recursos de la página anterior. Si este parámetro se deja en blanco, se consulta la primera página. Este parámetro debe usarse junto con limit. Mínimo: 0 Máximo: 36 |
fields |
No |
Array |
Especifica la lista de campos que se mostrarán. Longitud del arreglo: 1 - 5 |
sort_dir |
No |
Array |
Especifica el orden de clasificación de los resultados devueltos, que puede ser asc (orden ascendente) o desc (orden descendente). El valor predeterminado es asc. |
sort_key |
No |
String |
Especifica el campo de la ordenación. Predeterminado: id Mínimo: 0 Máximo: 36 |
enterprise_project_id |
No |
Array |
Filtra instancias de recursos por ID de proyecto de empresa. Longitud del arreglo: 1 - 10 |
id |
No |
Array |
Especifica el ID de recurso por el que se filtran las instancias. Longitud del arreglo: 1 - 5 |
status |
No |
Array |
Especifica el estado por el que se filtran las instancias. Longitud del arreglo: 1 - 5 |
direct_connect_id |
No |
Array |
Especifica el ID de conexión por el que se filtran y consultan las conexiones. Longitud del arreglo: 1 - 5 |
vgw_id |
No |
Array |
Especifica el ID de gateway virtual por el que se filtran y consultan los gateway virtuales. Longitud del arreglo: 1 - 5 |
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ámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
request_id |
String |
Especifica el ID de la solicitud. |
virtual_interfaces |
Array of VirtualInterface objects |
Especifica los parámetros para crear una interfaz virtual. |
page_info |
PageInfo object |
Especifica la información de consulta de paginación. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID de la interfaz virtual. Máximo: 36 |
name |
String |
Especifica el nombre de la interfaz virtual. Máximo: 64 |
admin_state_up |
Boolean |
Especifica el estado administrativo, que puede ser true o false. |
bandwidth |
Integer |
Especifica el ancho de banda de la interfaz virtual. Mínimo: 2 Máximo: 2147483647 |
create_time |
String |
Especifica la hora en que se creó la interfaz virtual. Se utiliza el formato de hora UTC aaaa-MM-ddTHH:mm:ss.SSSZ. Máximo: 255 |
description |
String |
Proporciona la información complementaria sobre la interfaz virtual. Máximo: 128 |
direct_connect_id |
String |
Especifica el ID de conexión. Máximo: 36 |
service_type |
String |
Especifica el tipo de gateway, que puede ser VGW, GDGW o LGW. Valores de enumeración:
|
status |
String |
Especifica el estado de funcionamiento, que puede ser ACTIVE, DOWN, BUILD, ERROR, PENDING_CREATE, PENDING_UPDATE, PENDING_DELETE, DELETED, AUTHORIZATION o REJECTED. |
tenant_id |
String |
Especifica el ID del proyecto. Mínimo: 32 Máximo: 32 |
type |
String |
Especifica el tipo de la interfaz virtual. El valor es private. Predeterminado: private Máximo: 255 Valores de enumeración:
|
vgw_id |
String |
Especifica el ID del gateway virtual. Mínimo: 36 Máximo: 36 |
vlan |
Integer |
Especifica la VLAN para la conexión al gateway de usuario. El valor oscila entre 0 y 3999. Mínimo: 0 Máximo: 3999 |
route_limit |
Integer |
Especifica las configuraciones de enrutamiento de subred remoto de la interfaz virtual. Mínimo: 1 Máximo: 200 Predeterminado: 50 |
enable_nqa |
Boolean |
Especifica si se va a habilitar NQA. El valor puede ser true o false. |
enable_bfd |
Boolean |
Especifica si se activa Bidirectional Forwarding Detection (BFD). El valor puede ser true o false. |
lag_id |
String |
Especifica el ID del LAG asociado a la interfaz virtual. Mínimo: 36 Máximo: 36 |
device_id |
String |
Especifica el ID del dispositivo al que pertenece la interfaz virtual. |
enterprise_project_id |
String |
Especifica el ID del proyecto de empresa al que pertenece la interfaz virtual. Mínimo: 36 Máximo: 36 |
tags |
Array of Tag objects |
Especifica las etiquetas. Longitud del arreglo: 0 - 10 |
local_gateway_v4_ip |
String |
Especifica la dirección de la interfaz IPv4 del gateway utilizado en la nube. Este parámetro se ha migrado a la lista de parámetros vifpeer y se descartará más adelante. |
remote_gateway_v4_ip |
String |
Especifica la dirección de la interfaz IPv4 del gateway utilizado in situ. Este parámetro se ha migrado a la lista de parámetros vifpeer y se descartará más adelante. |
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. |
rate_limit |
Boolean |
Especifica si la limitación de velocidad está habilitada en una interfaz virtual. |
address_family |
String |
Especifica la familia de direcciones de la interfaz virtual, que puede ser IPv4 o IPv6. Este parámetro se ha migrado a la lista de parámetros vifpeer y se descartará más adelante. |
local_gateway_v6_ip |
String |
Especifica la dirección de la interfaz IPv6 del gateway utilizado en la nube. Este parámetro se ha migrado a la lista de parámetros vifpeer y se descartará más adelante. |
remote_gateway_v6_ip |
String |
Especifica la dirección de la interfaz IPv6 del gateway utilizado in situ. Este parámetro se ha migrado a la lista de parámetros vifpeer y se descartará más adelante. |
lgw_id |
String |
Especifica el ID del gateway local, que se utiliza en escenarios de IES. |
gateway_id |
String |
Especifica el ID del gateway asociado a la interfaz virtual. |
remote_ep_group |
Array of strings |
Especifica la lista de subred remota, que registra los bloques CIDR utilizados en el centro de datos local. Este parámetro se ha migrado a la lista de parámetros vifpeer y se descartará más adelante. |
service_ep_group |
Array of strings |
Especifica la lista de direcciones de red pública a las que puede acceder el centro de datos local. Este campo es obligatorio en las API de conexiones de red pública. Este parámetro se ha migrado a la lista de parámetros vifpeer y se descartará más adelante. |
bgp_route_limit |
Integer |
Especifica la configuración del enrutamiento de BGP. |
priority |
String |
Especifica la prioridad de una interfaz virtual. El valor puede ser normal o low. Si las prioridades son las mismas, las interfaces virtuales funcionan en modo de equilibrio de carga. Si las prioridades son diferentes, las interfaces virtuales funcionan en pares activo/en espera. El tráfico saliente se reenvía preferentemente a la interfaz virtual normal con una prioridad más alta. Esta opción solo es compatible con interfaces virtuales que utilizan enrutamiento de BGP. Predeterminado: normal Valores de enumeración:
|
vif_peers |
Array of VifPeer objects |
Proporciona información acerca de los pares de la interfaz virtual. |
extend_attribute |
VifExtendAttribute object |
Proporciona información de parámetros extendida. |
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 |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
Especifica el ID del recurso. Mínimo: 36 Máximo: 36 |
tenant_id |
String |
Especifica el ID del proyecto al que pertenece el par de interfaz virtual. Mínimo: 36 Máximo: 36 |
name |
String |
Especifica el nombre del par de la interfaz virtual. Mínimo: 0 Máximo: 64 |
description |
String |
Proporciona información adicional sobre el par de la interfaz virtual. Mínimo: 0 Máximo: 128 |
address_family |
String |
Especifica el tipo de familia de direcciones de la interfaz virtual, que puede ser IPv4 o IPv6. |
local_gateway_ip |
String |
Especifica la dirección del par de interfaz virtual utilizado en la nube. |
remote_gateway_ip |
String |
Especifica la dirección del par de interfaz virtual utilizado en el centro de datos local. |
route_mode |
String |
Especifica el modo de enrutamiento, que puede ser static o bgp. Máximo: 255 Valores de enumeración:
|
bgp_asn |
Integer |
Especifica el ASN del par de BGP. Mínimo: 1 Máximo: 4294967295 |
bgp_md5 |
String |
Especifica la contraseña de MD5 del par BGP. |
remote_ep_group |
Array of strings |
Especifica la lista de subred remota, que registra los bloques CIDR utilizados en el centro de datos local. |
service_ep_group |
Array of strings |
Especifica la lista de direcciones de red pública a las que puede acceder el centro de datos local. Este campo es obligatorio en las API de conexiones de red pública. |
device_id |
String |
Especifica el ID del dispositivo al que pertenece el par de interfaz virtual. |
bgp_route_limit |
Integer |
Especifica la configuración del enrutamiento de BGP. |
bgp_status |
String |
Especifica el estado del protocolo BGP del par de interfaz virtual. Si el par de la interfaz virtual utiliza enrutamiento estático, el estado es null. Máximo: 10 |
status |
String |
Especifica el estado del par de la interfaz virtual. |
vif_id |
String |
Especifica el ID de la interfaz virtual correspondiente al par de la interfaz virtual. Mínimo: 36 Máximo: 36 |
receive_route_num |
Integer |
Especifica el número de enrutamientos de BGP recibidos si se utiliza el enrutamiento de BGP. Si se utiliza el enrutamiento estático, este parámetro no tiene sentido y el valor es -1. Nota: Si no se puede obtener este parámetro, póngase en contacto con el servicio de atención al cliente para migrar los puertos. |
enable_nqa |
Boolean |
Especifica si se va a habilitar NQA. El valor puede ser true o false. |
enable_bfd |
Boolean |
Especifica si se activa BFD. El valor puede ser true o false. |
Parámetro |
Tipo |
Descripción |
---|---|---|
ha_type |
String |
Especifica el tipo de detección de disponibilidad de la interfaz virtual. Valores de enumeración:
|
ha_mode |
String |
Especifica el modo de detección de disponibilidad. Valores de enumeración:
|
detect_multiplier |
Integer |
Especifica el número de reintentos de detección. Predeterminado: 5 |
min_rx_interval |
Integer |
Especifica el intervalo para recibir paquetes de detección. Predeterminado: 1000 |
min_tx_interval |
Integer |
Especifica el intervalo para enviar paquetes de detección. Predeterminado: 1000 |
remote_disclaim |
Integer |
Especifica el identificador remoto de la sesión BFD estática. |
local_disclaim |
Integer |
Especifica el identificador local de la sesión BFD estática. |
Parámetro |
Tipo |
Descripción |
---|---|---|
previous_marker |
String |
Especifica el marcador de la página anterior. El valor es el UUID del recurso. Mínimo: 0 Máximo: 36 |
current_count |
Integer |
Especifica el número de recursos de la lista actual. Mínimo: 0 Máximo: 2000 |
next_marker |
String |
Especifica el marcador de la página siguiente. El valor es el UUID del recurso. Si el valor está vacío, el recurso se encuentra en la última página. Mínimo: 0 Máximo: 36 |
Ejemplo de solicitudes
Consulta de la lista de interfaces virtuales
GET https://{dc_endpoint}/v3/0605768a3300d5762f82c01180692873/dcaas/virtual-interfaces
Ejemplo de respuestas
Código de estado: 200
Aceptar
{ "virtual_interfaces" : [ { "id" : "0d0fdf63-f2c4-491c-8866-d504796189be", "name" : "vif-0819", "description" : "mytest", "tenant_id" : "0605768a3300d5762f82c01180692873", "direct_connect_id" : "4673e339-8412-4ee1-b73e-2ba9cdfa54c1", "vgw_id" : "8a47064a-f34c-4f94-b7fe-cac456c9b37b", "type" : "private", "service_type" : "VGW", "vlan" : 332, "bandwidth" : 2, "status" : "ACTIVE", "create_time" : "2022-08-19T11:28:06.000Z", "admin_state_up" : true, "enable_bfd" : false, "route_limit" : 50, "enable_nqa" : false, "local_gateway_v4_ip" : "1.1.1.1/30", "remote_gateway_v4_ip" : "1.1.1.2/30", "ies_id" : null, "reason" : null, "rate_limit" : false, "address_family" : "ipv4", "local_gateway_v6_ip" : null, "remote_gateway_v6_ip" : null, "lgw_id" : null, "gateway_id" : null, "remote_ep_group" : [ "1.1.2.0/30" ], "service_ep_group" : [ ], "bgp_route_limit" : 100, "priority" : "normal", "vif_peers" : [ { "id" : "c768eb52-12a8-4859-9b43-81194643040c", "tenant_id" : "0605768a3300d5762f82c01180692873", "name" : "vif-0819", "description" : "", "address_family" : "ipv4", "local_gateway_ip" : "1.1.1.1/30", "remote_gateway_ip" : "1.1.1.2/30", "route_mode" : "static", "bgp_asn" : null, "bgp_md5" : null, "device_id" : "18.9.215.131", "bgp_route_limit" : 100, "bgp_status" : null, "status" : "ACTIVE", "vif_id" : "0d0fdf63-f2c4-491c-8866-d504796189be", "receive_route_num" : -1, "remote_ep_group" : [ "1.1.2.0/30" ], "service_ep_group" : null, "enable_bfd" : false, "enable_nqa" : false } ], "enterprise_project_id" : "0" } ], "request_id" : "5633df7af874576d819a481c76673236" }
Ejemplo de código del SDK
El ejemplo de código del SDK es el siguiente.
Java
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 56 57 |
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.*; import java.util.List; import java.util.ArrayList; public class ListVirtualInterfacesSolution { 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(); ListVirtualInterfacesRequest request = new ListVirtualInterfacesRequest(); request.withDirectConnectId(); request.withVgwId(); request.withLimit(<limit>); request.withMarker("<marker>"); request.withFields(); request.withSortDir(); request.withSortKey("<sort_key>"); request.withEnterpriseProjectId(); request.withId(); request.withStatus(); try { ListVirtualInterfacesResponse response = client.listVirtualInterfaces(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
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 |
# 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 = ListVirtualInterfacesRequest() request.direct_connect_id = request.vgw_id = request.limit = <limit> request.marker = "<marker>" request.fields = request.sort_dir = request.sort_key = "<sort_key>" request.enterprise_project_id = request.id = request.status = response = client.list_virtual_interfaces(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
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 |
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.ListVirtualInterfacesRequest{} limitRequest:= int32(<limit>) request.Limit = &limitRequest markerRequest:= "<marker>" request.Marker = &markerRequest sortKeyRequest:= "<sort_key>" request.SortKey = &sortKeyRequest response, err := client.ListVirtualInterfaces(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.