文档首页/ 云连接 CC/ API参考/ API/ 全域互联带宽/ 创建全域互联带宽
更新时间:2024-11-14 GMT+08:00

创建全域互联带宽

功能介绍

创建全域互联带宽。

调用方法

请参见如何调用API

URI

POST https://cc.myhuaweicloud.com/v3/{domain_id}/gcb/gcbandwidths

表1 路径参数

参数

是否必选

参数类型

描述

domain_id

String

账号ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

globalconnection_bandwidth

CreateGlobalConnectionBandwidth object

创建全域互联带宽实例的详细信息。

表4 CreateGlobalConnectionBandwidth

参数

是否必选

参数类型

描述

name

String

实例名称。

description

String

实例描述。不支持 <>。

bordercross

Boolean

功能说明:全域互联带宽是否跨境,判断依据:带宽是否涉及从中国大陆到其他国家。

取值范围:True:跨境;False:非跨境

type

String

功能说明:描述带宽类型,对应地理区间的城域、区域、大区、跨区四级:

  • TrsArea: 跨区带宽

  • Area: 大区带宽

  • SubArea: 区域带宽

  • Region: 城域带宽

enterprise_project_id

String

实例所属企业项目ID。

tags

Array of Tag objects

实例标签。

charge_mode

String

功能说明:描述计费类型,描述可选计费类型。默认开放按带宽计费,传统95计费租户白名单控制。

取值范围:

bwd: 按带宽计费

95: 按传统型95计费

95avr: 按传统型日95计费

size

Integer

功能说明:全域互联带宽实例中的带宽值大小,单位Mbit/s。

取值范围:2-300Mbit/s

sla_level

String

功能说明:描述网络等级,从高到低分为铂金、金、银。默认金,其余租户白名单控制。

  • Pt: 铂金

  • Au: 金

  • Ag: 银

local_area

String

功能说明:本端接入点,配合remote_area信息描述带宽实例应用的范围。

取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点),站点编码通过接口获取,带宽类型为Region可不传,其他类型必传

remote_area

String

功能说明:远端接入点,配合local_area信息描述带宽实例应用的范围。

取值范围:1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点),站点编码通过接口获取,带宽类型为Region可不传,其他类型必传

spec_code_id

String

功能说明:线路规格编码UUID。

表5 Tag

参数

是否必选

参数类型

描述

key

String

标签键,最大长度128个unicode字符,格式为大小写字母,数字,中划线“-”,下划线“_”,中文。

value

String

标签值,最大长度255个unicode字符,格式为大小写字母,数字,中划线“-”,下划线“_”,点“.”,中文。

响应参数

状态码: 201

表6 响应Body参数

参数

参数类型

描述

request_id

String

请求ID。

globalconnection_bandwidth

GlobalConnectionBandwidth object

全域互联带宽实例的详细信息。

表7 GlobalConnectionBandwidth

参数

参数类型

描述

id

String

实例ID。

name

String

实例名称。

description

String

实例描述。不支持 <>。

domain_id

String

实例所属账号ID。

bordercross

Boolean

功能说明:全域互联带宽是否跨境,判断依据:带宽是否涉及从中国大陆到其他国家。

取值范围:True:跨境;False:非跨境

type

String

功能说明:描述带宽类型,对应地理区间的城域、区域、大区、跨区四级:

  • TrsArea: 跨区带宽

  • Area: 大区带宽

  • SubArea: 区域带宽

  • Region: 城域带宽

binding_service

String

功能说明:绑定的服务类型。实例类型:

  • CC: 云连接

  • GEIP: 全域弹性公网IP

  • GCN: 中心网络

  • GSN: 分支网络

  • ALL: 所有实例类型

enterprise_project_id

String

实例所属企业项目ID。

charge_mode

String

功能说明:描述计费类型,描述可选计费类型。默认开放按带宽计费,传统95计费租户白名单控制。

取值范围:

bwd: 按带宽计费

95: 按传统型95计费

95avr: 按传统型日95计费

size

Integer

功能说明:全域互联带宽实例中的带宽值大小,单位Mbit/s。

取值范围:2-300Mbit/s

sla_level

String

功能说明:描述网络等级,从高到低分为铂金、金、银。默认金,其余租户白名单控制。

  • Pt: 铂金

  • Au: 金

  • Ag: 银

local_area

String

功能说明:本端接入点的中英文名。通过HEADER里面的x-language控制,默认英文,zh-cn返回中文。

remote_area

String

功能说明:远端接入点的中英文名。通过HEADER里面的x-language控制,默认英文,zh-cn返回中文。

local_site_code

String

功能说明:本端接入点的编码。

remote_site_code

String

功能说明:远端接入点的编码。

admin_state

String

功能说明: 全域互联带宽状态。

取值范围:

NORMAL-正常

FREEZED-冻结状态

frozen

Boolean

功能说明: 全域互联带宽是否冻结。

取值范围:

true-冻结

false-非冻结

spec_code_id

String

功能说明:线路规格编码UUID。

tags

Array of Tag objects

实例标签。

created_at

String

实例创建时间。UTC时间格式,yyyy-MM-ddTHH:mm:ss。

updated_at

String

实例更新时间。UTC时间格式,yyyy-MM-ddTHH:mm:ss。

enable_share

Boolean

功能说明: 全域互联带宽是否支持绑定多实例。

取值范围:

true-支持

false-不支持

instances

Array of GlobalConnectionBandwidthAssociatedInstance objects

功能说明: 全域互联带宽绑定实例列表。

表8 Tag

参数

参数类型

描述

key

String

标签键,最大长度128个unicode字符,格式为大小写字母,数字,中划线“-”,下划线“_”,中文。

value

String

标签值,最大长度255个unicode字符,格式为大小写字母,数字,中划线“-”,下划线“_”,点“.”,中文。

表9 GlobalConnectionBandwidthAssociatedInstance

参数

参数类型

描述

id

String

绑定实例ID。

type

String

绑定实例类型。

region_id

String

绑定实例的region信息,global服务默认取值"global"。

project_id

String

绑定实例的project id信息。

请求示例

  • 创建城域带宽

    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
      }
    }
  • 创建大区带宽

    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"
      }
    }

响应示例

状态码: 201

创建全域互联带宽成功。

{
  "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代码示例

SDK代码示例如下。

  • 创建城域带宽

     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());
            }
        }
    }
    
  • 创建大区带宽

     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());
            }
        }
    }
    
  • 创建城域带宽

     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)
    
  • 创建大区带宽

     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)
    
  • 创建城域带宽

     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)
        }
    }
    
  • 创建大区带宽

     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)
        }
    }
    

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

201

创建全域互联带宽成功。

错误码

请参见错误码