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

Consulta de los gateway virtuales

Función

Esta API se utiliza para consultar los gateway virtuales.

Método de invocación

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

URI

GET /v3/{project_id}/dcaas/virtual-gateways

Tabla 1 Parámetros de enrutamiento

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

Especifica el ID del proyecto.

Tabla 2 Parámetros de consulta

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

id

No

Array

Especifica el ID de recurso por el que se filtran las instancias.

Longitud del arreglo: 1 - 5

enterprise_project_id

No

Array

Filtra instancias de recursos por ID de proyecto de empresa.

Longitud del arreglo: 1 - 10

vpc_id

No

Array

Especifica el ID de VPC por el que se filtran los gateway virtuales.

Parámetros de solicitud

Tabla 3 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

Parámetros de respuesta

Código de estado: 200

Tabla 4 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

request_id

String

Especifica el ID de la solicitud.

virtual_gateways

Array of VirtualGateway objects

Especifica los parámetros para crear un gateway virtual.

page_info

PageInfo object

Especifica la información de consulta de paginación.

Tabla 5 VirtualGateway

Parámetro

Tipo

Descripción

id

String

Especifica el ID del gateway virtual.

vpc_id

String

Especifica el ID de la VPC conectada por el gateway virtual.

tenant_id

String

Especifica el ID del proyecto al que pertenece la instancia.

Mínimo: 32

Máximo: 32

name

String

Especifica el nombre del gateway virtual.

Mínimo: 0

Máximo: 64

description

String

Proporciona la información complementaria sobre el gateway virtual.

Mínimo: 0

Máximo: 128

type

String

Especifica el tipo del gateway virtual. El valor solo puede ser default.

Predeterminado: default

local_ep_group

Array of strings

Especifica las subredes IPv4 conectadas por el gateway virtual, que suele ser los bloques CIDR de una VPC.

local_ep_group_ipv6

Array of strings

Especifica las subredes IPv6 conectadas por el gateway virtual, que suele ser los bloques CIDR de una VPC. Este es un campo reservado.

admin_state_up

Boolean

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

Predeterminado: true

status

String

Especifica el estado del gateway virtual, que puede ser ACTIVE, DOWN, BUILD, ERROR, PENDING_CREATE, PENDING_UPDATE o PENDING_DELETE.

bgp_asn

Integer

Especifica el ASN de BGP local del gateway virtual.

Mínimo: 1

Máximo: 4294967295

enterprise_project_id

String

Especifica el ID del proyecto de empresa al que pertenece el gateway virtual.

Mínimo: 36

Máximo: 36

device_id

String

Especifica el ID del dispositivo al que pertenece la interfaz virtual.

redundant_device_id

String

Especifica el ID del dispositivo redundante.

public_border_group

String

Especifica el grupo de bordes públicos de la AZ, que indica si el sitio es un sitio HomeZones.

tags

Array of Tag objects

Especifica las etiquetas.

Longitud del arreglo: 0 - 10

Tabla 6 Etiqueta

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

Tabla 7 PageInfo

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 las solicitudes

Consulta de la lista del gateway virtual

GET https://{dc_endpoint}/v3/0605768a3300d5762f82c01180692873/dcaas/virtual-gateways

Ejemplo de las respuestas

Código de estado: 200

Aceptar

  • Se consulta la lista de gateway virtuales asociadas con las VPC.
    {
      "virtual_gateways" : [ {
        "id" : "20082c1b-3c99-48d8-8e8c-116af5d7e9f0",
        "name" : "vgw-c7b22",
        "description" : "",
        "tenant_id" : "0605768a3300d5762f82c01180692873",
        "vpc_id" : "6592c28e-95d7-4b0a-9f61-004fdf03420c",
        "device_id" : "26.151.63.100",
        "redundant_device_id" : "26.152.128.20",
        "type" : "default",
        "status" : "ACTIVE",
        "admin_state_up" : true,
        "bgp_asn" : 64512,
        "local_ep_group" : [ "192.168.1.0/24" ],
        "enterprise_project_id" : "0",
        "public_border_group" : "center"
      } ],
      "request_id" : "765f7aaf8f2edd0e719de564ef72e2de"
    }

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
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 ListVirtualGatewaysSolution {

    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();
        ListVirtualGatewaysRequest request = new ListVirtualGatewaysRequest();
        request.withVpcId();
        request.withLimit(<limit>);
        request.withMarker("<marker>");
        request.withFields();
        request.withSortDir();
        request.withSortKey("<sort_key>");
        request.withId();
        request.withEnterpriseProjectId();
        try {
            ListVirtualGatewaysResponse response = client.listVirtualGateways(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
# 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 = ListVirtualGatewaysRequest()
        request.vpc_id = 
        request.limit = <limit>
        request.marker = "<marker>"
        request.fields = 
        request.sort_dir = 
        request.sort_key = "<sort_key>"
        request.id = 
        request.enterprise_project_id = 
        response = client.list_virtual_gateways(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.ListVirtualGatewaysRequest{}
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	markerRequest:= "<marker>"
	request.Marker = &markerRequest
	sortKeyRequest:= "<sort_key>"
	request.SortKey = &sortKeyRequest
	response, err := client.ListVirtualGateways(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.