Creating a Global Connection Bandwidth
Function
This API is used to create a global connection bandwidth.
Calling Method
For details, see Calling APIs.
URI
POST /v3/{domain_id}/gcb/gcbandwidths
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
domain_id |
Yes |
String |
Account ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
No |
String |
User token. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
globalconnection_bandwidth |
Yes |
Detailed information about a global connection bandwidth. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Instance name. |
description |
No |
String |
Resource description. Angle brackets (<>) are not allowed. |
bordercross |
Yes |
Boolean |
Whether the global connection bandwidth is used for cross-border communications (between the Chinese mainland and a country/region outside the Chinese mainland).
|
type |
Yes |
String |
Type of a global connection bandwidth.
|
enterprise_project_id |
No |
String |
ID of the enterprise project that the resource belongs to. |
tags |
No |
Array of Tag objects |
Resource tags. |
charge_mode |
Yes |
String |
Billing option. By default, billing by bandwidth is enabled. Standard 95th percentile bandwidth billing is controlled using a whitelist. Value options:
|
size |
Yes |
Integer |
Range of a global connection bandwidth, in Mbit/s. Bandwidth range: 2 Mbit/s to 300 Mbit/s |
sla_level |
No |
String |
Class of a global connection bandwidth. There are three classes: platinum, gold, and silver. The default class is gold. Other options are controlled by whitelists.
|
local_area |
No |
String |
Local access point. This parameter is used together with remote_area to describe the applicability of a global connection bandwidth. The value can contain 1 to 64 characters, including digits, letters, underscores (_), hyphens (-), and periods (.). The site code is obtained through API calls. If the bandwidth type is Region, this parameter is optional. For other types, this parameter is mandatory. |
remote_area |
No |
String |
Remote access point. This parameter is used together with local_area to describe the applicability of a global connection bandwidth. The value can contain 1 to 64 characters, including digits, letters, underscores (_), hyphens (-), and periods (.). The site code is obtained through API calls. If the bandwidth type is Region, this parameter is optional. For other types, this parameter is mandatory. |
spec_code_id |
No |
String |
UUID of a line specification code. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Tag key. The key can contain a maximum of 128 Unicode characters, including letters, digits, hyphens (-), and underscores (_). |
value |
No |
String |
Tag value. The value can contain a maximum of 255 Unicode characters, including letters, digits, hyphens (-), underscores (_), and periods (.). |
Response Parameters
Status code: 201
Parameter |
Type |
Description |
---|---|---|
request_id |
String |
Request ID. |
globalconnection_bandwidth |
GlobalConnectionBandwidth object |
Detailed information about a global connection bandwidth. |
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. |
bordercross |
Boolean |
Whether the global connection bandwidth is used for cross-border communications (between the Chinese mainland and a country/region outside the Chinese mainland).
|
type |
String |
Type of a global connection bandwidth.
|
binding_service |
String |
Instance type.
|
enterprise_project_id |
String |
ID of the enterprise project that the resource belongs to. |
charge_mode |
String |
Billing option. By default, billing by bandwidth is enabled. Standard 95th percentile bandwidth billing is controlled using a whitelist. Value options:
|
size |
Integer |
Range of a global connection bandwidth, in Mbit/s. Bandwidth range: 2 Mbit/s to 300 Mbit/s |
sla_level |
String |
Class of a global connection bandwidth. There are three classes: platinum, gold, and silver. The default class is gold. Other options are controlled by whitelists.
|
local_area |
String |
Name of a local access point. The x-language parameter in the header is used to control the language. The default language is English. zh-cn indicates Chinese. |
remote_area |
String |
Name of a remote access point. The x-language parameter in the header is used to control the language. The default language is English. zh-cn indicates Chinese. |
local_site_code |
String |
Code of the local access point. |
remote_site_code |
String |
Code of s remote access point. |
admin_state |
String |
Global connection bandwidth status.
|
frozen |
Boolean |
Whether a global connection bandwidth is frozen.
|
spec_code_id |
String |
UUID of a line specification code. |
tags |
Array of Tag objects |
Resource tags. |
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. |
enable_share |
Boolean |
Whether a global connection bandwidth can be used by multiple instances.
|
instances |
Array of GlobalConnectionBandwidthAssociatedInstance objects |
The list of instances that the global connection bandwidth is bound to. |
Parameter |
Type |
Description |
---|---|---|
key |
String |
Tag key. The key can contain a maximum of 128 Unicode characters, including letters, digits, hyphens (-), and underscores (_). |
value |
String |
Tag value. The value can contain a maximum of 255 Unicode characters, including letters, digits, hyphens (-), underscores (_), and periods (.). |
Example Requests
-
Creating a multi-city bandwidth
POST https://{cc_endpoint}/v3/{domain_id}/gcb/gcbandwidths { "globalconnection_bandwidth" : { "name" : "test_region", "description" : "Description", "bordercross" : false, "type" : "Region", "charge_mode" : "bwd", "size" : 5 } }
-
Creating a geographic-region bandwidth
POST https://{cc_endpoint}/v3/{domain_id}/gcb/gcbandwidth { "globalconnection_bandwidth" : { "name" : "test_area", "description" : "Description", "bordercross" : false, "type" : "Area", "charge_mode" : "bwd", "size" : 5, "local_area" : "site-abc", "remote_area" : "site-def" } }
Example Responses
Status code: 201
The global connection bandwidth has been created.
{ "request_id" : "1b90e4762e3090961a30ca3a712dc0ed", "globalconnection_bandwidth" : { "id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "name" : "name", "description" : "description", "domain_id" : "521bb3d98bed4c6c9ee8669bd0620f76", "bordercross" : false, "type" : "Region", "binding_service" : "CC", "enterprise_project_id" : "0c478f9e-73a4-4c45-b9bc-b2c3bfc0d4c0", "charge_mode" : "bwd", "size" : 100, "sla_level" : "Au", "local_site_code" : "site-def", "remote_site_code" : "site-abc", "frozen" : false, "spec_code_id" : "", "tags" : [ ], "created_at" : "2024-01-24T08:26:41.914Z", "updated_at" : "2024-01-24T08:26:41.914Z", "enable_share" : false, "instances" : [ ] } }
SDK Sample Code
The SDK sample code is as follows.
-
Creating a multi-city bandwidth
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
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 CreateGlobalConnectionBandwidthSolution { 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(); CreateGlobalConnectionBandwidthRequest request = new CreateGlobalConnectionBandwidthRequest(); CreateGlobalConnectionBandwidthRequestBody body = new CreateGlobalConnectionBandwidthRequestBody(); CreateGlobalConnectionBandwidth globalconnectionBandwidthbody = new CreateGlobalConnectionBandwidth(); globalconnectionBandwidthbody.withSize(5) .withName("test_region") .withDescription("Description") .withChargeMode(CreateGlobalConnectionBandwidth.ChargeModeEnum.fromValue("bwd")) .withType(CreateGlobalConnectionBandwidth.TypeEnum.fromValue("Region")) .withBordercross(false); body.withGlobalconnectionBandwidth(globalconnectionBandwidthbody); request.withBody(body); try { CreateGlobalConnectionBandwidthResponse response = client.createGlobalConnectionBandwidth(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()); } } }
-
Creating a geographic-region bandwidth
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
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 CreateGlobalConnectionBandwidthSolution { 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(); CreateGlobalConnectionBandwidthRequest request = new CreateGlobalConnectionBandwidthRequest(); CreateGlobalConnectionBandwidthRequestBody body = new CreateGlobalConnectionBandwidthRequestBody(); CreateGlobalConnectionBandwidth globalconnectionBandwidthbody = new CreateGlobalConnectionBandwidth(); globalconnectionBandwidthbody.withSize(5) .withName("test_area") .withDescription("Description") .withChargeMode(CreateGlobalConnectionBandwidth.ChargeModeEnum.fromValue("bwd")) .withType(CreateGlobalConnectionBandwidth.TypeEnum.fromValue("Area")) .withBordercross(false) .withLocalArea("site-abc") .withRemoteArea("site-def"); body.withGlobalconnectionBandwidth(globalconnectionBandwidthbody); request.withBody(body); try { CreateGlobalConnectionBandwidthResponse response = client.createGlobalConnectionBandwidth(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()); } } }
-
Creating a multi-city bandwidth
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
# 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 = CreateGlobalConnectionBandwidthRequest() globalconnectionBandwidthbody = CreateGlobalConnectionBandwidth( size=5, name="test_region", description="Description", charge_mode="bwd", type="Region", bordercross=False ) request.body = CreateGlobalConnectionBandwidthRequestBody( globalconnection_bandwidth=globalconnectionBandwidthbody ) response = client.create_global_connection_bandwidth(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
-
Creating a geographic-region bandwidth
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
# 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 = CreateGlobalConnectionBandwidthRequest() globalconnectionBandwidthbody = CreateGlobalConnectionBandwidth( size=5, name="test_area", description="Description", charge_mode="bwd", type="Area", bordercross=False, local_area="site-abc", remote_area="site-def" ) request.body = CreateGlobalConnectionBandwidthRequestBody( globalconnection_bandwidth=globalconnectionBandwidthbody ) response = client.create_global_connection_bandwidth(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
-
Creating a multi-city bandwidth
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
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.CreateGlobalConnectionBandwidthRequest{} descriptionGlobalconnectionBandwidth:= "Description" globalconnectionBandwidthbody := &model.CreateGlobalConnectionBandwidth{ Size: int32(5), Name: "test_region", Description: &descriptionGlobalconnectionBandwidth, ChargeMode: model.GetCreateGlobalConnectionBandwidthChargeModeEnum().BWD, Type: model.GetCreateGlobalConnectionBandwidthTypeEnum().REGION, Bordercross: false, } request.Body = &model.CreateGlobalConnectionBandwidthRequestBody{ GlobalconnectionBandwidth: globalconnectionBandwidthbody, } response, err := client.CreateGlobalConnectionBandwidth(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
-
Creating a geographic-region bandwidth
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 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.CreateGlobalConnectionBandwidthRequest{} descriptionGlobalconnectionBandwidth:= "Description" localAreaGlobalconnectionBandwidth:= "site-abc" remoteAreaGlobalconnectionBandwidth:= "site-def" globalconnectionBandwidthbody := &model.CreateGlobalConnectionBandwidth{ Size: int32(5), Name: "test_area", Description: &descriptionGlobalconnectionBandwidth, ChargeMode: model.GetCreateGlobalConnectionBandwidthChargeModeEnum().BWD, Type: model.GetCreateGlobalConnectionBandwidthTypeEnum().AREA, Bordercross: false, LocalArea: &localAreaGlobalconnectionBandwidth, RemoteArea: &remoteAreaGlobalconnectionBandwidth, } request.Body = &model.CreateGlobalConnectionBandwidthRequestBody{ GlobalconnectionBandwidth: globalconnectionBandwidthbody, } response, err := client.CreateGlobalConnectionBandwidth(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 |
---|---|
201 |
The global connection bandwidth has been created. |
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