Creating a Global Private Bandwidth
Function
This API is used to create a global private 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. Minimum: 10 Maximum: 32 |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
No |
String |
User token. Minimum: 0 Maximum: 2000000 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
globalconnection_bandwidth |
Yes |
Detailed information about a global private bandwidth. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
name |
Yes |
String |
Resource name. |
description |
No |
String |
Resource description. Angle brackets (<>) are not allowed. Minimum: 0 Maximum: 255 |
bordercross |
Yes |
Boolean |
Whether the global private 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 private bandwidth.
|
enterprise_project_id |
No |
String |
ID of the enterprise project that the virtual gateway belongs to. Minimum: 1 Maximum: 36 |
tags |
No |
Array of Tag objects |
Resource tags. Array Length: 1 - 20 |
charge_mode |
Yes |
String |
Billing option. By default, billing by bandwidth is enabled. Standard 95th percentile bandwidth billing is controlled using a whitelist.
|
size |
Yes |
Integer |
Range of a global private bandwidth, in Mbit/s. Bandwidth range: 2 Mbit/s to 300 Mbit/s Minimum: 2 Maximum: 300 |
sla_level |
No |
String |
Class of a global private bandwidth. There are three classes: platinum, gold, and silver. The default class is gold. Other options are controlled by whitelists.
Default: Au Minimum: 1 Maximum: 36 |
local_area |
No |
String |
Local access point. This parameter is used together with remote_area to describe the applicability of a global private 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. Minimum: 1 Maximum: 36 |
remote_area |
No |
String |
Remote access point. This parameter is used together with local_area to describe the applicability of a global private 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. Minimum: 1 Maximum: 36 |
spec_code_id |
No |
String |
UUID of a line specification code. Minimum: 1 Maximum: 36 |
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 |
Resource ID. Minimum: 32 Maximum: 36 |
globalconnection_bandwidth |
GlobalConnectionBandwidth object |
Detailed information about a global private bandwidth. |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Resource ID. |
name |
String |
Resource name. |
description |
String |
Resource description. Angle brackets (<>) are not allowed. Minimum: 0 Maximum: 255 |
domain_id |
String |
ID of the account that the instance belongs to. |
bordercross |
Boolean |
Whether the global private 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 private bandwidth.
|
binding_service |
String |
Instance type.
|
enterprise_project_id |
String |
ID of the enterprise project that the virtual gateway belongs to. Minimum: 1 Maximum: 36 |
charge_mode |
String |
Billing option. By default, billing by bandwidth is enabled. Standard 95th percentile bandwidth billing is controlled using a whitelist.
|
size |
Integer |
Range of a global private bandwidth, in Mbit/s. Bandwidth range: 2 Mbit/s to 300 Mbit/s Minimum: 2 Maximum: 300 |
sla_level |
String |
Class of a global private bandwidth. There are three classes: platinum, gold, and silver. The default class is gold. Other options are controlled by whitelists.
Default: Au Minimum: 1 Maximum: 36 |
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. Minimum: 1 Maximum: 36 |
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. Minimum: 1 Maximum: 36 |
local_site_code |
String |
Code of the local access point. Minimum: 1 Maximum: 36 |
remote_site_code |
String |
Code of s remote access point. Minimum: 1 Maximum: 36 |
admin_state |
String |
Global private bandwidth status.
|
frozen |
Boolean |
Whether a global private bandwidth is frozen.
|
spec_code_id |
String |
UUID of a line specification code. Minimum: 1 Maximum: 36 |
tags |
Array of Tag objects |
Resource tags. Array Length: 1 - 20 |
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 private bandwidth can be used by multiple instances.
|
instances |
Array of GlobalConnectionBandwidthAssociatedInstance objects |
The list of instances that the global private bandwidth is bound to. Array Length: 0 - 200 |
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 (.). |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Bound instance ID. Minimum: 0 Maximum: 36 |
type |
String |
Bound instance type. Minimum: 0 Maximum: 36 |
region_id |
String |
Region of the bound instance. The default value is global for global services. Minimum: 0 Maximum: 36 |
project_id |
String |
Project ID of the bound instance. Minimum: 0 Maximum: 36 |
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" : "cn-north-beijing4", "remote_area" : "cn-south-guangzhou" } }
Example Responses
Status code: 201
The global private 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" : "cn-south-guangzhou", "remote_site_code" : "cn-north-beijing4", "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("cn-north-beijing4") .withRemoteArea("cn-south-guangzhou"); 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
# coding: utf-8 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 = __import__('os').getenv("CLOUD_SDK_AK") sk = __import__('os').getenv("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
# coding: utf-8 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 = __import__('os').getenv("CLOUD_SDK_AK") sk = __import__('os').getenv("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="cn-north-beijing4", remote_area="cn-south-guangzhou" ) 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:= "cn-north-beijing4" remoteAreaGlobalconnectionBandwidth:= "cn-south-guangzhou" 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 private 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