创建P2P类型的分支网络
功能介绍
创建P2P类型的分支网络。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v3/{domain_id}/dcaas/p2p-site-networks
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
domain_id |
是 |
String |
账号ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
否 |
String |
用户Token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
p2p_site_network |
是 |
CreateP2PSiteNetwork object |
创建P2P类型的分支网络的请求体。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
实例名称。 |
description |
否 |
String |
实例描述。不支持 <>。 |
tags |
否 |
Array of Tag objects |
实例标签。 |
enterprise_project_id |
否 |
String |
实例所属企业项目ID。 |
sites |
是 |
Array of CreateSiteInformation objects |
端到端(P2P)类型分支网络连接的两个端点定义,长度固定为2的数组。 |
响应参数
状态码: 202
参数 |
参数类型 |
描述 |
---|---|---|
request_id |
String |
请求ID。 |
site_network |
SiteNetworkEntry object |
分支网络。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
实例ID。 |
name |
String |
实例名称。 |
description |
String |
实例描述。不支持 <>。 |
created_at |
String |
实例创建时间。UTC时间格式,yyyy-MM-ddTHH:mm:ss。 |
updated_at |
String |
实例更新时间。UTC时间格式,yyyy-MM-ddTHH:mm:ss。 |
domain_id |
String |
实例所属账号ID。 |
state |
String |
分支网络状态。
|
enterprise_project_id |
String |
实例所属企业项目ID。 |
apply_policy_id |
String |
应用策略ID。 |
tags |
Array of Tag objects |
实例标签。 |
topology |
String |
拓扑结构。
|
connections |
Array of SiteConnection objects |
分支连接列表。 |
sites |
Array of SiteInformation objects |
点对点拓扑或者网状拓扑中的节点。 |
hub_site |
SiteInformation object |
分支信息。 |
spoke_sites |
Array of SiteInformation objects |
分支列表。 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
标签键,最大长度128个unicode字符,格式为大小写字母,数字,中划线“-”,下划线“_”,中文。 |
value |
String |
标签值,最大长度255个unicode字符,格式为大小写字母,数字,中划线“-”,下划线“_”,点“.”,中文。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
实例ID。 |
site_network_id |
String |
分支网络ID。 |
state |
String |
分支网络连接状态。
|
created_at |
String |
实例创建时间。UTC时间格式,yyyy-MM-ddTHH:mm:ss。 |
updated_at |
String |
实例更新时间。UTC时间格式,yyyy-MM-ddTHH:mm:ss。 |
edge_pair |
Array of DirectedEdge objects |
分支网络连接的两个端点定义,长度固定为2的数组。 |
cross_region_type |
String |
跨地域类型。
|
global_connection_bandwidth_id |
String |
全域互联带宽ID。 |
bandwidth_size |
Integer |
带宽值,单位Mbps。 |
is_frozen |
Boolean |
是否冻结。 |
frozen_effect |
String |
冻结效果。
|
is_bind_bandwidth |
Boolean |
是否绑定带宽包。 |
请求示例
创建P2P类型的分支网络。
POST /v3/{domain_id}/dcaas/p2p-site-networks { "p2p_site_network" : { "name" : "name", "description" : "description", "sites" : [ { "gateway_id" : "1c233723-234c-4b50-8fba-7072b4c6aa1a", "project_id" : "XXX", "region_id" : "region-abc", "gateway_type" : "GDGW" }, { "gateway_id" : "8641d7f0-bd0c-49fe-8b70-3649cd7dd9b1", "project_id" : "XXX", "region_id" : "region-abc", "gateway_type" : "GDGW" } ] } }
响应示例
状态码: 202
接受创建分支网络。
{ "request_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "site_network" : { "id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "name" : "name", "description" : "description", "domain_id" : "XXX", "state" : "CREATING", "created_at" : "2023-10-09T10:15:32.134Z", "updated_at" : "2023-10-09T10:15:32.134Z", "enterprise_project_id" : "0", "apply_policy_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b", "topology" : "p2p", "connections" : [ ] } }
SDK代码示例
SDK代码示例如下。
创建P2P类型的分支网络。
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 63 64 65 66 67 68 69 |
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.*; import java.util.List; import java.util.ArrayList; public class CreateP2PSiteNetworkSolution { 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(); CreateP2PSiteNetworkRequest request = new CreateP2PSiteNetworkRequest(); CreateP2PSiteNetworkRequestBody body = new CreateP2PSiteNetworkRequestBody(); List<CreateSiteInformation> listP2pSiteNetworkSites = new ArrayList<>(); listP2pSiteNetworkSites.add( new CreateSiteInformation() .withRegionId("region-abc") .withGatewayType(CreateSiteInformation.GatewayTypeEnum.fromValue("GDGW")) .withProjectId("XXX") .withGatewayId("1c233723-234c-4b50-8fba-7072b4c6aa1a") ); listP2pSiteNetworkSites.add( new CreateSiteInformation() .withRegionId("region-abc") .withGatewayType(CreateSiteInformation.GatewayTypeEnum.fromValue("GDGW")) .withProjectId("XXX") .withGatewayId("8641d7f0-bd0c-49fe-8b70-3649cd7dd9b1") ); CreateP2PSiteNetwork p2pSiteNetworkbody = new CreateP2PSiteNetwork(); p2pSiteNetworkbody.withName("name") .withDescription("description") .withSites(listP2pSiteNetworkSites); body.withP2pSiteNetwork(p2pSiteNetworkbody); request.withBody(body); try { CreateP2PSiteNetworkResponse response = client.createP2PSiteNetwork(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()); } } } |
创建P2P类型的分支网络。
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 |
# 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 = CreateP2PSiteNetworkRequest() listSitesP2pSiteNetwork = [ CreateSiteInformation( region_id="region-abc", gateway_type="GDGW", project_id="XXX", gateway_id="1c233723-234c-4b50-8fba-7072b4c6aa1a" ), CreateSiteInformation( region_id="region-abc", gateway_type="GDGW", project_id="XXX", gateway_id="8641d7f0-bd0c-49fe-8b70-3649cd7dd9b1" ) ] p2pSiteNetworkbody = CreateP2PSiteNetwork( name="name", description="description", sites=listSitesP2pSiteNetwork ) request.body = CreateP2PSiteNetworkRequestBody( p2p_site_network=p2pSiteNetworkbody ) response = client.create_p2_p_site_network(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
创建P2P类型的分支网络。
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 |
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.CreateP2PSiteNetworkRequest{} gatewayTypeSites:= model.GetCreateSiteInformationGatewayTypeEnum().GDGW gatewayTypeSites1:= model.GetCreateSiteInformationGatewayTypeEnum().GDGW var listSitesP2pSiteNetwork = []model.CreateSiteInformation{ { RegionId: "region-abc", GatewayType: &gatewayTypeSites, ProjectId: "XXX", GatewayId: "1c233723-234c-4b50-8fba-7072b4c6aa1a", }, { RegionId: "region-abc", GatewayType: &gatewayTypeSites1, ProjectId: "XXX", GatewayId: "8641d7f0-bd0c-49fe-8b70-3649cd7dd9b1", }, } descriptionP2pSiteNetwork:= "description" p2pSiteNetworkbody := &model.CreateP2PSiteNetwork{ Name: "name", Description: &descriptionP2pSiteNetwork, Sites: listSitesP2pSiteNetwork, } request.Body = &model.CreateP2PSiteNetworkRequestBody{ P2pSiteNetwork: p2pSiteNetworkbody, } response, err := client.CreateP2PSiteNetwork(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。
状态码
状态码 |
描述 |
---|---|
202 |
接受创建分支网络。 |
错误码
请参见错误码。