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.
Cómputo
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gestión y gobernanza
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migración
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análisis
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Otros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Seguridad y cumplimiento
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Servicios multimedia
Media Processing Center
Video On Demand
Live
SparkRTC
Almacenamiento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Contenedores
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bases de datos
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicaciones empresariales
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribución de contenido y cómputo de borde
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluciones
SAP Cloud
High Performance Computing
Servicios para desarrolladores
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
aPaaS MacroVerse
KooPhone
KooDrive

Creación de una interfaz virtual

Actualización más reciente 2024-09-14 GMT+08:00

Función

Esta API se utiliza para crear una interfaz virtual.

Método de invocación

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

URI

POST /v3/{project_id}/dcaas/virtual-interfaces

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 cabecera 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

virtual_interface

CreateVirtualInterface object

Especifica los parámetros para crear una interfaz virtual.

Tabla 4 CreateVirtualInterface

Parámetro

Obligatorio

Tipo

Descripción

name

No

String

Especifica el nombre de la interfaz virtual.

Mínimo: 0

Máximo: 64

description

No

String

Proporciona la información complementaria sobre la interfaz virtual.

Mínimo: 0

Máximo: 128

direct_connect_id

No

String

Especifica el ID de la conexión asociada a la interfaz virtual. Al crear una interfaz virtual, debe especificar direct_connect_id o lag_id. Este parámetro es obligatorio cuando LAG no se admite en el sitio.

type

String

Especifica el tipo de la interfaz virtual. El valor es private.

Valores de enumeración:

  • private
  • public

service_type

No

String

Especifica el tipo de gateway, que puede ser VGW, GDGW o LGW.

Valores de enumeración:

  • VGW
  • GDGW
  • LGW

vlan

Integer

Especifica la VLAN del cliente que se va a conectar. Si selecciona una conexión alojada, la VLAN debe ser la misma que la de la conexión alojada.

Mínimo: 0

Máximo: 3999

bandwidth

Integer

Especifica el ancho de banda de la interfaz virtual.

Mínimo: 2

Máximo: 2147483647

local_gateway_v4_ip

No

String

Especifica la dirección de la interfaz IPv4 del gateway utilizado en la nube. Este parámetro es obligatorio si address_family está establecido en una dirección IPv4.

remote_gateway_v4_ip

No

String

Especifica la dirección de la interfaz IPv4 del gateway en la red local. Este parámetro es obligatorio si address_family está establecido en una dirección IPv4.

address_family

No

String

Especifica el tipo de familia de direcciones de la interfaz virtual, que puede ser IPv4 o IPv6.

Predeterminado: ipv4

local_gateway_v6_ip

No

String

Especifica la dirección de la interfaz IPv6 del gateway utilizado en la nube. Este parámetro es obligatorio si address_family está establecido en una dirección IPv6.

remote_gateway_v6_ip

No

String

Especifica la dirección de la interfaz IPv6 del gateway en la red local. Este parámetro es obligatorio si address_family está establecido en una dirección IPv6.

vgw_id

String

Especifica el ID del gateway virtual conectado por la interfaz virtual.

route_mode

String

Especifica el modo de enrutamiento, que puede ser static o bgp.

Predeterminado: static

Valores de enumeración:

  • static
  • bgp

bgp_asn

No

Integer

Especifica el ASN del par BGP en el lado del cliente.

Mínimo: 1

Máximo: 4294967295

bgp_md5

No

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

No

Array of strings

Especifica las subredes que tienen acceso a los servicios de Internet a través de una conexión directa.

enable_bfd

No

Boolean

Especifica si se activa Bidirectional Forwarding Detection (BFD). El valor puede ser true o false.

Predeterminado: false

enable_nqa

No

Boolean

Especifica si se va a habilitar NQA. El valor puede ser true o false.

Default: false

lag_id

No

String

Especifica el ID del LAG asociado a la interfaz virtual.

Mínimo: 36

Máximo: 36

resource_tenant_id

No

String

Especifica el ID de proyecto de otro tenant, que se utiliza para crear las interfaces virtuales entre tenants.

enterprise_project_id

No

String

Especifica el ID del proyecto de empresa al que pertenece el recurso.

Mínimo: 36

Máximo: 36

tags

No

Array of Tag objects

Especifica las etiquetas.

Longitud del arreglo: 0 - 10

Tabla 5 Etiqueta

Parámetro

Obligatorio

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

No

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ámetros de respuesta

Código de estado: 201

Tabla 6 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

request_id

String

Especifica el ID de la solicitud.

virtual_interface

VirtualInterface object

Especifica los parámetros para crear una interfaz virtual.

Tabla 7 VirtualInterface

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:

  • VGW
  • GDGW
  • LGW

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:

  • private
  • public

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 de 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:

  • normal
  • low

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.

Tabla 8 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 9 VifPeer

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 la interfaz virtual.

Mínimo: 36

Máximo: 36

name

String

Especifica el nombre del par de 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
  • static

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 de 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

Specifies the status of the virtual interface peer.

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.

Tabla 10 VifExtendAttribute

Parámetro

Tipo

Descripción

ha_type

String

Especifica el tipo de detección de disponibilidad de la interfaz virtual.

Valores de enumeración:

  • nqa
  • bfd

ha_mode

String

Especifica el modo de detección de disponibilidad.

Valores de enumeración:

  • auto_single
  • auto_multi
  • static_single
  • static_multi
  • enhance_nqa

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.

Ejemplo de las solicitudes

Creación de una interfaz virtual privada, con el ancho de banda establecido a 2 Mbit/s, VLAN a 332, gateway local a 1.1.1.1/30, y gateway remoto a 1.1.1.2/30, y modo de enrutamiento a enrutamiento estático

POST https://{dc_endpoint}/v3/0605768a3300d5762f82c01180692873/dcaas/virtual-interfaces

{
  "virtual_interface" : {
    "name" : "vif-0819",
    "description" : "mytest",
    "direct_connect_id" : "4673e339-8412-4ee1-b73e-2ba9cdfa54c1",
    "vgw_id" : "8a47064a-f34c-4f94-b7fe-cac456c9b37b",
    "vlan" : 332,
    "bandwidth" : 2,
    "local_gateway_v4_ip" : "1.1.1.1/30",
    "remote_gateway_v4_ip" : "1.1.1.2/30",
    "type" : "private",
    "route_mode" : "static",
    "remote_ep_group" : [ "1.1.2.0/30" ]
  }
}

Ejemplo de las respuestas

Código de estado: 201

Creado

{
  "virtual_interface" : {
    "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,
    "device_id" : "18.9.215.131",
    "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,
    "local_gateway_v6_ip" : null,
    "remote_gateway_v6_ip" : null,
    "lgw_id" : null,
    "lag_id" : null,
    "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" ],
      "enable_bfd" : false,
      "enable_nqa" : false,
      "service_ep_group" : null
    } ],
    "enterprise_project_id" : "0"
  },
  "request_id" : "5633df7af874576d819a481c76673236"
}

Ejemplo de código del SDK

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

Java

Creación de una interfaz virtual privada, con el ancho de banda establecido a 2 Mbit/s, VLAN a 332, gateway local a 1.1.1.1/30, y gateway remoto a 1.1.1.2/30, y modo de enrutamiento a enrutamiento estático

 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
58
59
60
61
62
63
64
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 CreateVirtualInterfaceSolution {

    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();
        CreateVirtualInterfaceRequest request = new CreateVirtualInterfaceRequest();
        CreateVirtualInterfaceRequestBody body = new CreateVirtualInterfaceRequestBody();
        List<String> listVirtualInterfaceRemoteEpGroup = new ArrayList<>();
        listVirtualInterfaceRemoteEpGroup.add("1.1.2.0/30");
        CreateVirtualInterface virtualInterfacebody = new CreateVirtualInterface();
        virtualInterfacebody.withName("vif-0819")
            .withDescription("mytest")
            .withDirectConnectId("4673e339-8412-4ee1-b73e-2ba9cdfa54c1")
            .withType(CreateVirtualInterface.TypeEnum.fromValue("private"))
            .withVlan(332)
            .withBandwidth(2)
            .withLocalGatewayV4Ip("1.1.1.1/30")
            .withRemoteGatewayV4Ip("1.1.1.2/30")
            .withVgwId("8a47064a-f34c-4f94-b7fe-cac456c9b37b")
            .withRouteMode(CreateVirtualInterface.RouteModeEnum.fromValue("static"))
            .withRemoteEpGroup(listVirtualInterfaceRemoteEpGroup);
        body.withVirtualInterface(virtualInterfacebody);
        request.withBody(body);
        try {
            CreateVirtualInterfaceResponse response = client.createVirtualInterface(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 interfaz virtual privada, con el ancho de banda establecido a 2 Mbit/s, VLAN a 332, gateway local a 1.1.1.1/30, y gateway remoto a 1.1.1.2/30, y modo de enrutamiento a enrutamiento estático

 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
# 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 = CreateVirtualInterfaceRequest()
        listRemoteEpGroupVirtualInterface = [
            "1.1.2.0/30"
        ]
        virtualInterfacebody = CreateVirtualInterface(
            name="vif-0819",
            description="mytest",
            direct_connect_id="4673e339-8412-4ee1-b73e-2ba9cdfa54c1",
            type="private",
            vlan=332,
            bandwidth=2,
            local_gateway_v4_ip="1.1.1.1/30",
            remote_gateway_v4_ip="1.1.1.2/30",
            vgw_id="8a47064a-f34c-4f94-b7fe-cac456c9b37b",
            route_mode="static",
            remote_ep_group=listRemoteEpGroupVirtualInterface
        )
        request.body = CreateVirtualInterfaceRequestBody(
            virtual_interface=virtualInterfacebody
        )
        response = client.create_virtual_interface(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 interfaz virtual privada, con el ancho de banda establecido a 2 Mbit/s, VLAN a 332, gateway local a 1.1.1.1/30, y gateway remoto a 1.1.1.2/30, y modo de enrutamiento a enrutamiento estático

 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
58
59
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.CreateVirtualInterfaceRequest{}
	var listRemoteEpGroupVirtualInterface = []string{
        "1.1.2.0/30",
    }
	nameVirtualInterface:= "vif-0819"
	descriptionVirtualInterface:= "mytest"
	directConnectIdVirtualInterface:= "4673e339-8412-4ee1-b73e-2ba9cdfa54c1"
	localGatewayV4IpVirtualInterface:= "1.1.1.1/30"
	remoteGatewayV4IpVirtualInterface:= "1.1.1.2/30"
	virtualInterfacebody := &model.CreateVirtualInterface{
		Name: &nameVirtualInterface,
		Description: &descriptionVirtualInterface,
		DirectConnectId: &directConnectIdVirtualInterface,
		Type: model.GetCreateVirtualInterfaceTypeEnum().PRIVATE,
		Vlan: int32(332),
		Bandwidth: int32(2),
		LocalGatewayV4Ip: &localGatewayV4IpVirtualInterface,
		RemoteGatewayV4Ip: &remoteGatewayV4IpVirtualInterface,
		VgwId: "8a47064a-f34c-4f94-b7fe-cac456c9b37b",
		RouteMode: model.GetCreateVirtualInterfaceRouteModeEnum().STATIC,
		RemoteEpGroup: listRemoteEpGroupVirtualInterface,
	}
	request.Body = &model.CreateVirtualInterfaceRequestBody{
		VirtualInterface: virtualInterfacebody,
	}
	response, err := client.CreateVirtualInterface(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.

Utilizamos cookies para mejorar nuestro sitio y tu experiencia. Al continuar navegando en nuestro sitio, tú aceptas nuestra política de cookies. Descubre más

Comentarios

Comentarios

Comentarios

0/500

Seleccionar contenido

Enviar el contenido seleccionado con los comentarios