Adding a Route Table of an Enterprise Router as an Attachment on a Central Network
Function
This API is used to add a route table of an enterprise router as an attachment on a central network.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
URI
POST /v3/{domain_id}/gcn/central-network/{central_network_id}/er-route-table-attachments
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
domain_id |
Yes |
String |
Account ID. |
central_network_id |
Yes |
String |
Central network ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
No |
String |
User token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
central_network_er_route_table_attachment |
Yes |
Request body for adding an enterprise router to a central network as an attachment. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Instance name. |
description |
No |
String |
Resource description. Angle brackets (<>) are not allowed. |
enterprise_router_id |
Yes |
String |
Enterprise router ID. |
enterprise_router_project_id |
Yes |
String |
Project ID of the enterprise router. |
enterprise_router_region_id |
Yes |
String |
Region ID of an enterprise router. |
central_network_plane_id |
Yes |
String |
ID of the central network plane. |
attachment_id |
No |
String |
Attachment ID of the enterprise router or peer link ID of the global DC gateway. |
enterprise_router_table_id |
Yes |
String |
ID of the enterprise router route table. |
attached_er_table_project_id |
Yes |
String |
Project ID of an enterprise router added to a central network. |
attached_er_table_region_id |
Yes |
String |
Region ID of an enterprise router. |
attached_er_id |
Yes |
String |
ID of an enterprise router added to a central network. |
attached_er_table_id |
Yes |
String |
Route table ID of an enterprise router added to a central network. |
hosted_cloud |
Yes |
String |
|
Response Parameters
Status code: 202
Parameter |
Type |
Description |
---|---|---|
request_id |
String |
Request ID. |
central_network_er_route_table_attachment |
Details of the enterprise router route table used as an attachment. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Instance ID. |
name |
String |
Instance name. |
description |
String |
Resource description. Angle brackets (<>) are not allowed. |
domain_id |
String |
ID of the account that the instance belongs to. |
state |
String |
Central network connection status.
|
created_at |
String |
Time when the resource was created. The time is in the yyyy-MM-ddTHH:mm:ss format. |
updated_at |
String |
Time when the resource was updated. The time must be in the yyyy-MM-ddTHH:mm:ss format. |
central_network_id |
String |
Central network ID. |
central_network_plane_id |
String |
ID of the central network plane. |
global_connection_bandwidth_id |
String |
Global connection bandwidth ID. |
is_frozen |
Boolean |
Whether the resource is frozen. |
bandwidth_type |
String |
Bandwidth type. The bandwidth types are as follows:
|
bandwidth_size |
Integer |
Amount of bandwidth, in Mbit/s. |
enterprise_router_id |
String |
Enterprise router ID. |
enterprise_router_project_id |
String |
Project ID of the enterprise router. |
enterprise_router_region_id |
String |
Region ID of an enterprise router. |
enterprise_router_attachment_id |
String |
Attachment ID of the enterprise router. |
enterprise_router_table_id |
String |
ID of the enterprise router route table. |
enterprise_router_site_code |
String |
Site code of the enterprise router on a central network. |
attached_er_table_project_id |
String |
Project ID of an enterprise router added to a central network. |
attached_er_table_region_id |
String |
Region ID of an enterprise router. |
attached_er_id |
String |
ID of an enterprise router added to a central network. |
attached_er_table_id |
String |
Route table ID of an enterprise router added to a central network. |
attached_er_attachment_id |
String |
Attachment ID of an enterprise router added to a central network. |
attached_er_table_site_code |
String |
Site code of an enterprise router added to a central network. |
hosted_cloud |
String |
Huawei Cloud or partner cloud.
|
approved_state |
String |
Approval status.
|
reason |
String |
Reason for rejecting an enterprise router route table as an attachment. |
Example Requests
Adding a route table of an enterprise router as an attachment on a central network
POST /v3/{domain_id}/gcn/central-network/{central_network_id}/er-route-table-attachments { "central_network_er_route_table_attachment" : { "name" : "name", "description" : "description", "enterprise_router_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "enterprise_router_project_id" : "32f7402e18154ce5861c9989df956394", "enterprise_router_region_id" : "region-abc", "enterprise_router_table_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "attached_er_table_project_id" : "32f7402e18154ce5861c9989df956394", "attached_er_table_region_id" : "region-abc", "attached_er_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "attached_er_table_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "central_network_plane_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "hosted_cloud" : "HWCloud" } }
Example Responses
Status code: 202
The route table has been added as an attachment on the central network.
{ "request_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "central_network_er_route_table_attachment" : { "id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "name" : "name", "description" : "description", "domain_id" : "XXX", "state" : "AVAILABLE", "created_at" : "2023-10-09T10:09:28.908Z", "updated_at" : "2023-10-09T10:09:28.908Z", "central_network_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "central_network_plane_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "global_connection_bandwidth_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "bandwidth_type" : "BandwidthPackage", "bandwidth_size" : 20, "is_frozen" : false, "enterprise_router_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "enterprise_router_project_id" : "XXX", "enterprise_router_region_id" : "region-abc", "enterprise_router_attachment_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "enterprise_router_table_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "enterprise_router_site_code" : "site-abc", "attached_er_table_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "attached_er_table_region_id" : "region-abc", "attached_er_table_project_id" : "XXX", "attached_er_table_site_code" : "site-abc", "attached_er_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "attached_er_attachment_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "approved_state" : "APPROVING", "hosted_cloud" : "HWCloud", "reason" : "APPROVING" } }
SDK Sample Code
The SDK sample code is as follows.
Adding a route table of an enterprise router as an attachment on a central network
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 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.GlobalCredentials; 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.cc.v3.region.CcRegion; import com.huaweicloud.sdk.cc.v3.*; import com.huaweicloud.sdk.cc.v3.model.*; public class CreateCentralNetworkErRouteTableAttachmentSolution { 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 GlobalCredentials() .withAk(ak) .withSk(sk); CcClient client = CcClient.newBuilder() .withCredential(auth) .withRegion(CcRegion.valueOf("<YOUR REGION>")) .build(); CreateCentralNetworkErRouteTableAttachmentRequest request = new CreateCentralNetworkErRouteTableAttachmentRequest(); request.withCentralNetworkId("{central_network_id}"); CreateCentralNetworkErRouteTableAttachmentsRequestBody body = new CreateCentralNetworkErRouteTableAttachmentsRequestBody(); CreateCentralNetworkErRouteTableAttachment centralNetworkErRouteTableAttachmentbody = new CreateCentralNetworkErRouteTableAttachment(); centralNetworkErRouteTableAttachmentbody.withHostedCloud(CreateCentralNetworkErRouteTableAttachment.HostedCloudEnum.fromValue("HWCloud")) .withEnterpriseRouterId("a3bad420-33b8-4e26-9e9b-bdf67aa8e72b") .withEnterpriseRouterProjectId("32f7402e18154ce5861c9989df956394") .withEnterpriseRouterRegionId("region-abc") .withDescription("description") .withEnterpriseRouterTableId("a3bad420-33b8-4e26-9e9b-bdf67aa8e72b") .withCentralNetworkPlaneId("a3bad420-33b8-4e26-9e9b-bdf67aa8e72b") .withName("name") .withAttachedErTableRegionId("region-abc") .withAttachedErTableId("a3bad420-33b8-4e26-9e9b-bdf67aa8e72b") .withAttachedErTableProjectId("32f7402e18154ce5861c9989df956394") .withAttachedErId("a3bad420-33b8-4e26-9e9b-bdf67aa8e72b"); body.withCentralNetworkErRouteTableAttachment(centralNetworkErRouteTableAttachmentbody); request.withBody(body); try { CreateCentralNetworkErRouteTableAttachmentResponse response = client.createCentralNetworkErRouteTableAttachment(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()); } } } |
Adding a route table of an enterprise router as an attachment on a central network
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 import os from huaweicloudsdkcore.auth.credentials import GlobalCredentials from huaweicloudsdkcc.v3.region.cc_region import CcRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcc.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.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] credentials = GlobalCredentials(ak, sk) client = CcClient.new_builder() \ .with_credentials(credentials) \ .with_region(CcRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateCentralNetworkErRouteTableAttachmentRequest() request.central_network_id = "{central_network_id}" centralNetworkErRouteTableAttachmentbody = CreateCentralNetworkErRouteTableAttachment( hosted_cloud="HWCloud", enterprise_router_id="a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", enterprise_router_project_id="32f7402e18154ce5861c9989df956394", enterprise_router_region_id="region-abc", description="description", enterprise_router_table_id="a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", central_network_plane_id="a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", name="name", attached_er_table_region_id="region-abc", attached_er_table_id="a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", attached_er_table_project_id="32f7402e18154ce5861c9989df956394", attached_er_id="a3bad420-33b8-4e26-9e9b-bdf67aa8e72b" ) request.body = CreateCentralNetworkErRouteTableAttachmentsRequestBody( central_network_er_route_table_attachment=centralNetworkErRouteTableAttachmentbody ) response = client.create_central_network_er_route_table_attachment(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Adding a route table of an enterprise router as an attachment on a central network
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 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global" cc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cc/v3" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cc/v3/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cc/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 := global.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := cc.NewCcClient( cc.CcClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateCentralNetworkErRouteTableAttachmentRequest{} request.CentralNetworkId = "{central_network_id}" descriptionCentralNetworkErRouteTableAttachment:= "description" centralNetworkErRouteTableAttachmentbody := &model.CreateCentralNetworkErRouteTableAttachment{ HostedCloud: model.GetCreateCentralNetworkErRouteTableAttachmentHostedCloudEnum().HW_CLOUD, EnterpriseRouterId: "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", EnterpriseRouterProjectId: "32f7402e18154ce5861c9989df956394", EnterpriseRouterRegionId: "region-abc", Description: &descriptionCentralNetworkErRouteTableAttachment, EnterpriseRouterTableId: "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", CentralNetworkPlaneId: "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", Name: "name", AttachedErTableRegionId: "region-abc", AttachedErTableId: "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", AttachedErTableProjectId: "32f7402e18154ce5861c9989df956394", AttachedErId: "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", } request.Body = &model.CreateCentralNetworkErRouteTableAttachmentsRequestBody{ CentralNetworkErRouteTableAttachment: centralNetworkErRouteTableAttachmentbody, } response, err := client.CreateCentralNetworkErRouteTableAttachment(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
202 |
The route table has been added as an attachment on the central network. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot