文档首页/ 云连接 CC/ API参考/ API/ 分支网络管理/ 更新分支网络详情
更新时间:2024-11-14 GMT+08:00

更新分支网络详情

功能介绍

更新分支网络详情。

调用方法

请参见如何调用API

URI

PUT https://cc.myhuaweicloud.com/v3/{domain_id}/dcaas/site-networks/{site_network_id}

表1 路径参数

参数

是否必选

参数类型

描述

domain_id

String

账号ID。

site_network_id

String

分支网络的ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

site_network

UpdateSiteNetwork object

更新分支网络的详细信息。

表4 UpdateSiteNetwork

参数

是否必选

参数类型

描述

name

String

实例名称。

description

String

实例描述。不支持 <>。

tags

Array of Tag objects

实例标签。

表5 Tag

参数

是否必选

参数类型

描述

key

String

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

value

String

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

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

request_id

String

请求ID。

site_network

SiteNetworkEntry object

分支网络。

表7 SiteNetworkEntry

参数

参数类型

描述

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

分支网络状态。

  • AVAILABLE (可用)

  • UPDATING (处理中)

  • FAILED (失败)

  • CREATING (创建中

  • DELETING (删除中)

  • DELETED (已刪除)

  • NON-COMPLETE (配置未完成)

  • RESTORING (恢复中)

enterprise_project_id

String

实例所属企业项目ID。

apply_policy_id

String

应用策略ID。

tags

Array of Tag objects

实例标签。

topology

String

拓扑结构。

  • p2p(点对点拓扑)

  • mesh (网状拓扑)

  • star (星形拓扑)

  • hybrid (混合拓扑)

connections

Array of SiteConnection objects

分支连接列表。

sites

Array of SiteInformation objects

点对点拓扑或者网状拓扑中的节点。

hub_site

SiteInformation object

分支信息。

spoke_sites

Array of SiteInformation objects

分支列表。

表8 Tag

参数

参数类型

描述

key

String

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

value

String

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

表9 SiteConnection

参数

参数类型

描述

id

String

实例ID。

site_network_id

String

分支网络ID。

state

String

分支网络连接状态。

  • AVAILABLE (可用)

  • CREATING (创建中)

  • UPDATING (更新中)

  • DELETING (删除中)

  • FREEZING (冻结中)

  • UNFREEZING (解冻中)

  • RECOVERING (恢复中)

  • FAILED (失败)

  • FREEZED (冻结)

  • DELETED (已刪除)

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

跨地域类型。

  • intra-region (同地域)

  • inter-region (跨地域)

global_connection_bandwidth_id

String

全域互联带宽ID。

bandwidth_size

Integer

带宽值,单位Mbps。

is_frozen

Boolean

是否冻结。

frozen_effect

String

冻结效果。

  • RELEASABLE(冻结可释放)

  • UNRELEASABLE(冻结不可释放)

is_bind_bandwidth

Boolean

是否绑定带宽包。

表10 DirectedEdge

参数

参数类型

描述

id

String

实例ID。

region_id

String

RegionID。

gateway_id

String

网关的ID。

gateway_type

String

网关的类型。GDGW:全球接入网关。

site_code

String

站点编码。

project_id

String

实例所属项目ID。

表11 SiteInformation

参数

参数类型

描述

region_id

String

RegionID。

project_id

String

实例所属项目ID。

gateway_type

String

网关的类型。GDGW:全球接入网关。

gateway_id

String

网关的ID。

site_code

String

站点编码。

asn

Long

网络实例BGP协议的AS号。

请求示例

更新分支网络。

PUT /v3/{domain_id}/dcaas/site-networks/{site_network_id}

{
  "site_network" : {
    "name" : "name"
  }
}

响应示例

状态码: 200

更新分支网络详情成功。

{
  "request_id" : "0050ea65af7e190d9a791d9e69f28e63",
  "site_network" : {
    "id" : "eb350a5c-06c1-4b12-9ae4-3820f31faaa0",
    "name" : "er-connection",
    "domain_id" : "XXX",
    "created_at" : "2023-10-09T10:15:32.134Z",
    "updated_at" : "2023-10-09T10:15:32.134Z",
    "enterprise_project_id" : "0",
    "apply_policy_id" : "43ad756e-2780-463e-a8ed-27a5bd77b7a7",
    "topology" : "p2p",
    "state" : "AVAILABLE",
    "sites" : [ {
      "gateway_id" : "1c233723-234c-4b50-8fba-7072b4c6aa1a",
      "project_id" : "XXX",
      "region_id" : "region-abc",
      "site_code" : "region-abc",
      "gateway_type" : "GDGW"
    }, {
      "gateway_id" : "8641d7f0-bd0c-49fe-8b70-3649cd7dd9b1",
      "project_id" : "XXX",
      "region_id" : "region-abc",
      "site_code" : "region-abc",
      "gateway_type" : "GDGW"
    } ],
    "connections" : [ {
      "id" : "1c233723-234c-4b50-8fba-7072b4c6aa1a",
      "state" : "AVAILABLE",
      "cross_region_type" : "inter-region",
      "global_connection_bandwidth_id" : "a3bad420-33b8-4e26-9e9b-bdf67aa8e72b",
      "bandwidth_size" : 20,
      "is_frozen" : false,
      "is_bind_bandwidth" : false,
      "edge_pair" : [ {
        "id" : "1c233723-234c-4b50-8fba-7072b4c6aa1a",
        "gateway_id" : "8641d7f0-bd0c-49fe-8b70-3649cd7dd9b1",
        "project_id" : "XXX",
        "region_id" : "region-abc",
        "site_code" : "region-abc",
        "gateway_type" : "GDGW"
      }, {
        "id" : "1c233723-234c-4b50-8fba-7072b4c6aa11",
        "gateway_id" : "8641d7f0-bd0c-49fe-8b70-3649cd7dd9b1",
        "project_id" : "XXX",
        "region_id" : "region-abc",
        "site_code" : "region-abc",
        "gateway_type" : "GDGW"
      } ]
    } ]
  }
}

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
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 UpdateSiteNetworkSolution {

    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();
        UpdateSiteNetworkRequest request = new UpdateSiteNetworkRequest();
        request.withSiteNetworkId("{site_network_id}");
        UpdateSiteNetworkRequestBody body = new UpdateSiteNetworkRequestBody();
        UpdateSiteNetwork siteNetworkbody = new UpdateSiteNetwork();
        siteNetworkbody.withName("name");
        body.withSiteNetwork(siteNetworkbody);
        request.withBody(body);
        try {
            UpdateSiteNetworkResponse response = client.updateSiteNetwork(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
# 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 = UpdateSiteNetworkRequest()
        request.site_network_id = "{site_network_id}"
        siteNetworkbody = UpdateSiteNetwork(
            name="name"
        )
        request.body = UpdateSiteNetworkRequestBody(
            site_network=siteNetworkbody
        )
        response = client.update_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)

更新分支网络。

 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
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.UpdateSiteNetworkRequest{}
	request.SiteNetworkId = "{site_network_id}"
	nameSiteNetwork:= "name"
	siteNetworkbody := &model.UpdateSiteNetwork{
		Name: &nameSiteNetwork,
	}
	request.Body = &model.UpdateSiteNetworkRequestBody{
		SiteNetwork: siteNetworkbody,
	}
	response, err := client.UpdateSiteNetwork(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

更新分支网络详情成功。

错误码

请参见错误码