云服务器内容精选

  • 传播概述 传播是企业路由器和连接的路由学习关系,一个连接可以和多个ER路由表建立传播关系,为连接创建传播后,可以将连接的路由信息自动学习到ER路由表中。 如果不创建传播,可以手动在路由表中添加连接的静态路由。 图1 传播路由和静态路由概述 表1 传播概述 连接类型 路由学习内容 创建传播的方法 图示说明 虚拟私有云(VPC) VPC的网段 自动创建:开启“默认路由表传播”功能,并指定默认传播路由表,系统会自动在默认传播路由表中为新接入的连接创建传播。 创建企业路由时,直接开启该功能,具体请参见创建企业路由器。 企业路由器创建完成后,再开启该功能,具体请参见修改企业路由器配置。 手动创建:您可以选择任意一个路由表,并在路由表中为连接创建传播,具体请参见在路由表中创建连接的传播。 一个连接可以在多个路由表中创建传播,图1中连接的传播关系说明如下: 自动创建传播:自动在ER默认传播路由表中创建传播,比如Peering2连接 、VGW1连接、VPN1连接、VPC1连接。 手动创建传播:手动在ER自定义路由表中创建传播,比如VGW1连接、VPC1连接、VPN2连接、VGW2连接。 不创建传播:不使用传播路由,手动在ER自定义路由表中创建静态路由,比如VPC2连接、Peering3连接 。 虚拟网关(VGW) 全部路由信息 VPN网关(VPN) 全部路由信息 对等连接(Peering) 全部路由信息 企业连接网(ECN) 全部路由信息 全域接入网关(DGW) 全部路由信息 云防火墙 (CFW) 云防火墙承载VPC的网段 父主题: 传播
  • 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 # coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdker.v3.region.er_region import ErRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdker.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 = ErClient.new_builder() \ .with_credentials(credentials) \ .with_region(ErRegion.value_of("cn-north-4")) \ .build() try: request = DisablePropagationRequest() request.body = PropagationRequestBody( attachment_id="a5b7d209-dc02-4c46-a51f-805eadd3de64" ) response = client.disable_propagation(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 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" er "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/er/v3" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/er/v3/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/er/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 := er.NewErClient( er.ErClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) request := &model.DisablePropagationRequest{} attachmentIdPropagationRequestBody:= "a5b7d209-dc02-4c46-a51f-805eadd3de64" request.Body = &model.PropagationRequestBody{ AttachmentId: &attachmentIdPropagationRequestBody, } response, err := client.DisablePropagation(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
  • URI POST /v3/{project_id}/enterprise-router/{er_id}/route-tables/{route_table_id}/disable-propagations 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID er_id 是 String 企业路由器实例ID route_table_id 是 String 路由表ID
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 attachment_id 否 String 连接唯一标识 route_policy 否 ImportRoutePolicy object 入方向路由策略 表3 ImportRoutePolicy 参数 是否必选 参数类型 描述 import_policy_id 否 String 入方向Ipv4协议路由策略id 最小长度:0 最大长度:36
  • 请求示例 删除路由表传播 POST https://{erouter_endpoint}/v3/08d5a9564a704afda6039ae2babbef3c/enterprise-router/ad838a5e-dbef-22cc-b1d9-cb46bef77ae8/route-tables/915a14a6-867b-4af7-83d1-70efceb146f9/disable-propagations { "attachment_id" : "a5b7d209-dc02-4c46-a51f-805eadd3de64" }
  • 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 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.er.v3.region.ErRegion; import com.huaweicloud.sdk.er.v3.*; import com.huaweicloud.sdk.er.v3.model.*; public class DisablePropagationSolution { 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); ErClient client = ErClient.newBuilder() .withCredential(auth) .withRegion(ErRegion.valueOf("cn-north-4")) .build(); DisablePropagationRequest request = new DisablePropagationRequest(); PropagationRequestBody body = new PropagationRequestBody(); body.withAttachmentId("a5b7d209-dc02-4c46-a51f-805eadd3de64"); request.withBody(body); try { DisablePropagationResponse response = client.disablePropagation(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()); } } }