Help Center/ Cloud Connect/ API Reference/ API/ Central Network Connections/ Modifying the Bandwidth of a Central Network Connection
Updated on 2024-11-25 GMT+08:00

Modifying the Bandwidth of a Central Network Connection

Function

This API is used to modify the bandwidth of a central network connection.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

URI

PUT /v3/{domain_id}/gcn/central-network/{central_network_id}/connections/{connection_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

domain_id

Yes

String

Account ID.

central_network_id

Yes

String

Central network ID.

connection_id

Yes

String

ID of the connection on the central network.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

No

String

User token.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

central_network_connection

Yes

UpdateCentralNetworkConnection object

Details of the central network connection to be updated.- bandwidth_type: bandwidth package (billed by fixed bandwidth or traffic) or test bandwidth (free bandwidth for testing cross-region connectivity).- global_connection_bandwidth_id: mandatory if bandwidth_type is BandwidthPackage.- bandwidth_size: mandatory if bandwidth_type is BandwidthPackage (the total of cross-site connection bandwidths cannot exceed the bandwidth specified by the bandwidth package) or Traffic and is not available if bandwidth_type is set to TestBandwidth.

Table 4 UpdateCentralNetworkConnection

Parameter

Mandatory

Type

Description

bandwidth_type

Yes

String

Bandwidth type. The bandwidth types are as follows:

  • BandwidthPackage: A global connection bandwidth billed by fixed bandwidth is required, and cross-site connection bandwidths are assigned from the global connection bandwidth.

  • TestBandwidth: The test bandwidth is free. Only the minimum bandwidth is used for testing cross-region connectivity.

global_connection_bandwidth_id

No

String

Global connection bandwidth ID.

bandwidth_size

No

Integer

Amount of bandwidth, in Mbit/s.

Response Parameters

Status code: 202

Table 5 Response body parameters

Parameter

Type

Description

request_id

String

Request ID.

central_network_connection

CentralNetworkConnection object

Connection on the central network.

Table 6 CentralNetworkConnection

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.

enterprise_project_id

String

ID of the enterprise project that the resource belongs to.

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.

bandwidth_type

String

Bandwidth type. The bandwidth types are as follows:

  • BandwidthPackage: A global connection bandwidth billed by fixed bandwidth is required, and cross-site connection bandwidths are assigned from the global connection bandwidth.

  • TestBandwidth: The test bandwidth is free. Only the minimum bandwidth is used for testing cross-region connectivity.

bandwidth_size

Integer

Amount of bandwidth, in Mbit/s.

state

String

Central network connection status.

  • AVAILABLE: The connection is available.

  • CREATING: The connection is being created.

  • UPDATING: The connection is being updated.

  • DELETING: The connection is being deleted.

  • FREEZING: The connection is being frozen.

  • UNFREEZING: The connection is being unfrozen.

  • RECOVERING: The connection is being recovered.

  • FAILED: The operation on the connection failed.

  • DELETED: The connection is deleted.

  • APPROVING: The connection is being approved.

  • APPROVED: The connection is approved.

  • UNAPPROVED: The approval failed.

is_frozen

Boolean

Whether the resource is frozen.

connection_type

String

Type of a central network connection.

  • ER-ER: connections between enterprise routers

  • ER-GDGW: connections between enterprise routers and global DC gateways

  • ER-ER_ROUTE_TABLE: connections between enterprise routers and route tables of other enterprise routers

connection_point_pair

Array of ConnectionPoint objects

Both ends of a central network connection. The length is fixed to an array of 2.

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.

Table 7 ConnectionPoint

Parameter

Type

Description

id

String

Instance ID.

project_id

String

Project ID.

region_id

String

Region ID.

site_code

String

Site code.

instance_id

String

Instance ID at an end of a connection.

parent_instance_id

String

Parent resource ID of the instance at an end of a connection.

type

String

Type of a central network connection point.

  • ER: an enterprise router

  • GDGW: a global DC gateway

  • ER_ROUTE_TABLE: an enterprise router route table

Example Requests

Updating a cross-site connection on a central network

PUT /v3/{domain_id}/gcn/central-network/{central_network_id}/connections/{connection_id}

{
  "central_network_connection" : {
    "bandwidth_type" : "BandwidthPackage",
    "global_connection_bandwidth_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b",
    "bandwidth_size" : 20
  }
}

Example Responses

Status code: 202

The bandwidth of a central network connection has been modified.

{
  "request_id" : "e108915cd5de228ef252be95ce6ef2c2",
  "central_network_connection" : {
    "id" : "eb350a5c-06c1-4b12-9ae4-3820f31faaa0",
    "name" : "er-connection",
    "domain_id" : "XXX",
    "enterprise_project_id" : "0",
    "central_network_id" : "43ad756e-2780-463e-a8ed-27a5bd77b7a7",
    "central_network_plane_id" : "238f60d5-ed1a-4508-8473-45509c530c8f",
    "bandwidth_type" : "TestBandwidth",
    "state" : "UPDATING",
    "is_frozen" : false,
    "connection_type" : "ER-ER",
    "connection_point_pair" : [ {
      "id" : "1c233723-234c-4b50-8fba-7072b4c6aa1a",
      "project_id" : "XXX",
      "region_id" : "region-abc",
      "site_code" : "region-abc",
      "instance_id" : "d238dd85-f769-485b-aa05-d20e1d3889df",
      "type" : "ER"
    }, {
      "id" : "8641d7f0-bd0c-49fe-8b70-3649cd7dd9b1",
      "project_id" : "XXX",
      "region_id" : "region-abc",
      "site_code" : "region-abc",
      "instance_id" : "96abbb18-4a77-4103-aa8e-b1c836154282",
      "type" : "ER"
    } ],
    "created_at" : "2023-10-09T08:02:43.31Z",
    "updated_at" : "2023-10-09T08:02:43.307Z"
  }
}

SDK Sample Code

The SDK sample code is as follows.

Updating a cross-site connection 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 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 UpdateCentralNetworkConnectionSolution {

    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();
        UpdateCentralNetworkConnectionRequest request = new UpdateCentralNetworkConnectionRequest();
        request.withCentralNetworkId("{central_network_id}");
        request.withConnectionId("{connection_id}");
        UpdateCentralNetworkConnectionRequestBody body = new UpdateCentralNetworkConnectionRequestBody();
        UpdateCentralNetworkConnection centralNetworkConnectionbody = new UpdateCentralNetworkConnection();
        centralNetworkConnectionbody.withGlobalConnectionBandwidthId("a3bad420-33b8-4e26-9e9b-bdf67aa8e72b")
            .withBandwidthType(UpdateCentralNetworkConnection.BandwidthTypeEnum.fromValue("BandwidthPackage"))
            .withBandwidthSize(20L);
        body.withCentralNetworkConnection(centralNetworkConnectionbody);
        request.withBody(body);
        try {
            UpdateCentralNetworkConnectionResponse response = client.updateCentralNetworkConnection(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());
        }
    }
}

Updating a cross-site connection 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
# 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 = UpdateCentralNetworkConnectionRequest()
        request.central_network_id = "{central_network_id}"
        request.connection_id = "{connection_id}"
        centralNetworkConnectionbody = UpdateCentralNetworkConnection(
            global_connection_bandwidth_id="a3bad420-33b8-4e26-9e9b-bdf67aa8e72b",
            bandwidth_type="BandwidthPackage",
            bandwidth_size=20
        )
        request.body = UpdateCentralNetworkConnectionRequestBody(
            central_network_connection=centralNetworkConnectionbody
        )
        response = client.update_central_network_connection(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Updating a cross-site connection 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
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.UpdateCentralNetworkConnectionRequest{}
	request.CentralNetworkId = "{central_network_id}"
	request.ConnectionId = "{connection_id}"
	globalConnectionBandwidthIdCentralNetworkConnection:= "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b"
	bandwidthTypeCentralNetworkConnection:= model.GetUpdateCentralNetworkConnectionBandwidthTypeEnum().BANDWIDTH_PACKAGE
	bandwidthSizeCentralNetworkConnection:= int64(20)
	centralNetworkConnectionbody := &model.UpdateCentralNetworkConnection{
		GlobalConnectionBandwidthId: &globalConnectionBandwidthIdCentralNetworkConnection,
		BandwidthType: &bandwidthTypeCentralNetworkConnection,
		BandwidthSize: &bandwidthSizeCentralNetworkConnection,
	}
	request.Body = &model.UpdateCentralNetworkConnectionRequestBody{
		CentralNetworkConnection: centralNetworkConnectionbody,
	}
	response, err := client.UpdateCentralNetworkConnection(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 bandwidth of a central network connection has been modified.

Error Codes

See Error Codes.