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

Asociación de una VPC con una zona privada

Función

Esta API se utiliza para asociar una VPC con una zona privada.

Método de invocación

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

URI

POST /v2/zones/{zone_id}/associaterouter

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

zone_id

String

ID de la zona asociada a la VPC

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Token de usuario. Se puede obtener mediante invocación a una API de IAM. El valor de X-Subject-Token en el encabezado de respuesta es el token de usuario.

Tabla 3 Parámetros de cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

router

Router object

VPC asociada a la regla de punto de conexión

Tabla 4 Router

Parámetro

Obligatorio

Tipo

Descripción

router_id

String

ID de la VPC asociada a la zona

router_region

No

String

Región de la VPC

status

No

String

Estado del recurso

Parámetros de respuesta

Código de estado: 202

Tabla 5 Parámetros de cuerpo de respuesta

Parámetro

Tipo

Descripción

router_id

String

ID de VPC

router_region

String

Región de la VPC

status

String

Estado del recurso

Código de estado: 400

Tabla 6 Parámetros de cuerpo de respuesta

Parámetro

Tipo

Descripción

code

String

Código de error

Mínimo: 8

Máximo: 36

message

String

Descripción

Mínimo: 2

Máximo: 512

Código de estado: 404

Tabla 7 Parámetros de cuerpo de respuesta

Parámetro

Tipo

Descripción

code

String

Código de error

Mínimo: 8

Máximo: 36

message

String

Descripción

Mínimo: 2

Máximo: 512

Código de estado: 500

Tabla 8 Parámetros de cuerpo de respuesta

Parámetro

Tipo

Descripción

code

String

Código de error

Mínimo: 8

Máximo: 36

message

String

Descripción

Mínimo: 2

Máximo: 512

Ejemplo de solicitudes

Asociación de una VPC con una zona privada

POST https://{endpoint}/v2/zones/{zone_id}/associaterouter

{
  "router" : {
    "router_id" : "f0791650-db8c-4a20-8a44-a06c6e24b15b",
    "router_region" : "xx"
  }
}

Ejemplo de respuestas

Código de estado: 202

Respuesta a la solicitud de asociación de una VPC con una zona privada

{
  "status" : "PENDING_CREATE",
  "router_id" : "f0791650-db8c-4a20-8a44-a06c6e24b15b",
  "router_region" : "xx"
}

Código de muestra del SDK

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

Java

Asociación de una VPC con una zona privada

 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.dns.v2.region.DnsRegion;
import com.huaweicloud.sdk.dns.v2.*;
import com.huaweicloud.sdk.dns.v2.model.*;


public class AssociateRouterSolution {

    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);

        DnsClient client = DnsClient.newBuilder()
                .withCredential(auth)
                .withRegion(DnsRegion.valueOf("cn-north-4"))
                .build();
        AssociateRouterRequest request = new AssociateRouterRequest();
        AssociateRouterRequestBody body = new AssociateRouterRequestBody();
        Router routerbody = new Router();
        routerbody.withRouterId("f0791650-db8c-4a20-8a44-a06c6e24b15b")
            .withRouterRegion("xx");
        body.withRouter(routerbody);
        request.withBody(body);
        try {
            AssociateRouterResponse response = client.associateRouter(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

Asociación de una VPC con una zona privada

 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 huaweicloudsdkdns.v2.region.dns_region import DnsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdns.v2 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 = DnsClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(DnsRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = AssociateRouterRequest()
        routerbody = Router(
            router_id="f0791650-db8c-4a20-8a44-a06c6e24b15b",
            router_region="xx"
        )
        request.body = AssociateRouterRequestBody(
            router=routerbody
        )
        response = client.associate_router(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

Asociación de una VPC con una zona privada

 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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    dns "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dns/v2/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 := dns.NewDnsClient(
        dns.DnsClientBuilder().
            WithRegion(region.ValueOf("cn-north-4")).
            WithCredential(auth).
            Build())

    request := &model.AssociateRouterRequest{}
	routerRegionRouter:= "xx"
	routerbody := &model.Router{
		RouterId: "f0791650-db8c-4a20-8a44-a06c6e24b15b",
		RouterRegion: &routerRegionRouter,
	}
	request.Body = &model.AssociateRouterRequestBody{
		Router: routerbody,
	}
	response, err := client.AssociateRouter(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

Más información

Para obtener un código de ejemplo del SDK de más lenguajes de programación, consulta la pestaña Código de ejemplo en Explorador de API. El código de ejemplo del SDK se puede generar automáticamente.

Códigos de estado

Código de estado

Descripción

202

Respuesta a la solicitud de asociación de una VPC con una zona privada

400

Respuesta de error

404

Error response

500

Respuesta de error

Códigos de error

Consulte Códigos de error.