Skip to content

Commit 5de4b49

Browse files
author
chenjiaqi14
committed
BCE-JC-34288 新增BCC产品CDS磁盘全套管理接口
Change-Id: I25d90d1ed70760b813a020b56280cf91b6c05fb9
1 parent ca35116 commit 5de4b49

62 files changed

Lines changed: 1904 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ChangeLog.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
2026-06-10 Version: v0.0.68
2+
- 涉及产品: BCC,支持CDS磁盘创建、挂载、卸载、释放等生命周期管理
3+
- 涉及产品: BCC,支持磁盘扩容、类型变更、计费变更及续费操作
4+
- 涉及产品: BCC,支持磁盘标签绑定解绑、重命名及属性修改
5+
- 涉及产品: BCC,支持磁盘详情查询、列表查询、价格查询及变配进度查询
6+
17
2026-06-09 Version: v0.0.67
28
- 涉及产品: CCR,新增创建、查询、更新命名空间接口
39

bce/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import (
2626

2727
// Constants and default values for the package bce
2828
const (
29-
SDK_VERSION = "0.0.67"
29+
SDK_VERSION = "0.0.68"
3030
URI_PREFIX = "/" // now support uri without prefix "v1" so just set root path
3131
DEFAULT_DOMAIN = "baidubce.com"
3232
DEFAULT_PROTOCOL = "http"
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package bccsample
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"github.com/baidubce/baiducloud-go-sdk/core/util"
7+
"github.com/baidubce/baiducloud-go-sdk/services/bcc"
8+
)
9+
10+
func AttachVolume() {
11+
// 设置Client的Access Key ID和Secret Access Key,获取AKSK详见:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
12+
ak, sk, endpoint := "Your Ak", "Your Sk", "Your endpoint"
13+
client, err := bcc.NewClient(ak, sk, endpoint)
14+
if err != nil {
15+
fmt.Println("create client err:", err)
16+
return
17+
}
18+
attachVolumeRequest := &bcc.AttachVolumeRequest{
19+
VolumeId: util.PtrString(""),
20+
InstanceId: util.PtrString(""),
21+
DeleteWithInstance: util.PtrBool(false),
22+
DeleteAutoSnapshot: util.PtrBool(false),
23+
}
24+
result, err := client.AttachVolume(attachVolumeRequest)
25+
if err != nil {
26+
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
27+
fmt.Println("request failed:", err)
28+
return
29+
}
30+
data, err := json.MarshalIndent(result, "", " ")
31+
if err != nil {
32+
fmt.Println("json marshalIndent failed:", err)
33+
return
34+
}
35+
fmt.Println(string(data))
36+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package bccsample
2+
3+
import (
4+
"fmt"
5+
"github.com/baidubce/baiducloud-go-sdk/core/util"
6+
"github.com/baidubce/baiducloud-go-sdk/services/bcc"
7+
)
8+
9+
func BindTagVolume() {
10+
// 设置Client的Access Key ID和Secret Access Key,获取AKSK详见:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
11+
ak, sk, endpoint := "Your Ak", "Your Sk", "Your endpoint"
12+
client, err := bcc.NewClient(ak, sk, endpoint)
13+
if err != nil {
14+
fmt.Println("create client err:", err)
15+
return
16+
}
17+
bindTagVolumeRequest := &bcc.BindTagVolumeRequest{
18+
VolumeId: util.PtrString(""),
19+
ChangeTags: []*bcc.TagModel{},
20+
}
21+
err = client.BindTagVolume(bindTagVolumeRequest)
22+
if err != nil {
23+
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
24+
fmt.Println("request failed:", err)
25+
}
26+
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
package bccsample
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"github.com/baidubce/baiducloud-go-sdk/core/util"
7+
"github.com/baidubce/baiducloud-go-sdk/services/bcc"
8+
)
9+
10+
func CreateVolume() {
11+
// 设置Client的Access Key ID和Secret Access Key,获取AKSK详见:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
12+
ak, sk, endpoint := "Your Ak", "Your Sk", "Your endpoint"
13+
client, err := bcc.NewClient(ak, sk, endpoint)
14+
if err != nil {
15+
fmt.Println("create client err:", err)
16+
return
17+
}
18+
Billing := &bcc.Billing{
19+
PaymentTiming: util.PtrString(""),
20+
Reservation: &bcc.Reservation{
21+
ReservationLength: util.PtrInt32(int32(0)),
22+
ReservationTimeUnit: util.PtrString(""),
23+
},
24+
}
25+
AutoSnapshotPolicy := &bcc.AutoSnapshotPolicyModel{
26+
Id: util.PtrString(""),
27+
Name: util.PtrString(""),
28+
TimePoints: []*int32{},
29+
RepeatWeekdays: []*int32{},
30+
Status: util.PtrString(""),
31+
RetentionDays: util.PtrInt32(int32(0)),
32+
CreatedTime: util.PtrString(""),
33+
UpdatedTime: util.PtrString(""),
34+
DeletedTime: util.PtrString(""),
35+
LastExecuteTime: util.PtrString(""),
36+
VolumeCount: util.PtrInt32(int32(0)),
37+
}
38+
createVolumeRequest := &bcc.CreateVolumeRequest{
39+
ZoneName: util.PtrString(""),
40+
StorageType: util.PtrString(""),
41+
CdsSizeInGB: util.PtrInt32(int32(0)),
42+
CdsExtraIo: util.PtrInt32(int32(0)),
43+
SnapshotId: util.PtrString(""),
44+
ShareSnapshotId: util.PtrString(""),
45+
EnableDeleteProtection: util.PtrString(""),
46+
InstanceId: util.PtrString(""),
47+
EncryptKey: util.PtrString(""),
48+
Name: util.PtrString(""),
49+
Description: util.PtrString(""),
50+
RenewTimeUnit: util.PtrString(""),
51+
RenewTime: util.PtrInt32(int32(0)),
52+
RelationTag: util.PtrBool(false),
53+
Tags: []*bcc.TagModel{},
54+
ResGroupId: util.PtrString(""),
55+
Billing: Billing,
56+
ClusterId: util.PtrString(""),
57+
ChargeType: util.PtrString(""),
58+
AutoSnapshotPolicy: AutoSnapshotPolicy,
59+
DeleteWithInstance: util.PtrBool(false),
60+
DeleteAutoSnapshot: util.PtrBool(false),
61+
PurchaseCount: util.PtrInt32(int32(0)),
62+
}
63+
result, err := client.CreateVolume(createVolumeRequest)
64+
if err != nil {
65+
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
66+
fmt.Println("request failed:", err)
67+
return
68+
}
69+
data, err := json.MarshalIndent(result, "", " ")
70+
if err != nil {
71+
fmt.Println("json marshalIndent failed:", err)
72+
return
73+
}
74+
fmt.Println(string(data))
75+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package bccsample
2+
3+
import (
4+
"fmt"
5+
"github.com/baidubce/baiducloud-go-sdk/core/util"
6+
"github.com/baidubce/baiducloud-go-sdk/services/bcc"
7+
)
8+
9+
func DetachVolume() {
10+
// 设置Client的Access Key ID和Secret Access Key,获取AKSK详见:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
11+
ak, sk, endpoint := "Your Ak", "Your Sk", "Your endpoint"
12+
client, err := bcc.NewClient(ak, sk, endpoint)
13+
if err != nil {
14+
fmt.Println("create client err:", err)
15+
return
16+
}
17+
detachVolumeRequest := &bcc.DetachVolumeRequest{
18+
VolumeId: util.PtrString(""),
19+
InstanceId: util.PtrString(""),
20+
}
21+
err = client.DetachVolume(detachVolumeRequest)
22+
if err != nil {
23+
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
24+
fmt.Println("request failed:", err)
25+
}
26+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package bccsample
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"github.com/baidubce/baiducloud-go-sdk/core/util"
7+
"github.com/baidubce/baiducloud-go-sdk/services/bcc"
8+
)
9+
10+
func GetCdsPrice() {
11+
// 设置Client的Access Key ID和Secret Access Key,获取AKSK详见:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
12+
ak, sk, endpoint := "Your Ak", "Your Sk", "Your endpoint"
13+
client, err := bcc.NewClient(ak, sk, endpoint)
14+
if err != nil {
15+
fmt.Println("create client err:", err)
16+
return
17+
}
18+
getCdsPriceRequest := &bcc.GetCdsPriceRequest{
19+
StorageType: util.PtrString(""),
20+
CdsSizeInGB: util.PtrInt32(int32(0)),
21+
PaymentTiming: util.PtrString(""),
22+
ZoneName: util.PtrString(""),
23+
PurchaseCount: util.PtrInt32(int32(0)),
24+
PurchaseLength: util.PtrInt32(int32(0)),
25+
CdsExtraIo: util.PtrInt32(int32(0)),
26+
}
27+
result, err := client.GetCdsPrice(getCdsPriceRequest)
28+
if err != nil {
29+
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
30+
fmt.Println("request failed:", err)
31+
return
32+
}
33+
data, err := json.MarshalIndent(result, "", " ")
34+
if err != nil {
35+
fmt.Println("json marshalIndent failed:", err)
36+
return
37+
}
38+
fmt.Println(string(data))
39+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package bccsample
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"github.com/baidubce/baiducloud-go-sdk/core/util"
7+
"github.com/baidubce/baiducloud-go-sdk/services/bcc"
8+
)
9+
10+
func GetDiskQuota() {
11+
// 设置Client的Access Key ID和Secret Access Key,获取AKSK详见:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
12+
ak, sk, endpoint := "Your Ak", "Your Sk", "Your endpoint"
13+
client, err := bcc.NewClient(ak, sk, endpoint)
14+
if err != nil {
15+
fmt.Println("create client err:", err)
16+
return
17+
}
18+
getDiskQuotaRequest := &bcc.GetDiskQuotaRequest{
19+
ZoneName: util.PtrString(""),
20+
}
21+
result, err := client.GetDiskQuota(getDiskQuotaRequest)
22+
if err != nil {
23+
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
24+
fmt.Println("request failed:", err)
25+
return
26+
}
27+
data, err := json.MarshalIndent(result, "", " ")
28+
if err != nil {
29+
fmt.Println("json marshalIndent failed:", err)
30+
return
31+
}
32+
fmt.Println(string(data))
33+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package bccsample
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"github.com/baidubce/baiducloud-go-sdk/core/util"
7+
"github.com/baidubce/baiducloud-go-sdk/services/bcc"
8+
)
9+
10+
func GetVolume() {
11+
// 设置Client的Access Key ID和Secret Access Key,获取AKSK详见:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
12+
ak, sk, endpoint := "Your Ak", "Your Sk", "Your endpoint"
13+
client, err := bcc.NewClient(ak, sk, endpoint)
14+
if err != nil {
15+
fmt.Println("create client err:", err)
16+
return
17+
}
18+
getVolumeRequest := &bcc.GetVolumeRequest{
19+
VolumeId: util.PtrString(""),
20+
}
21+
result, err := client.GetVolume(getVolumeRequest)
22+
if err != nil {
23+
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
24+
fmt.Println("request failed:", err)
25+
return
26+
}
27+
data, err := json.MarshalIndent(result, "", " ")
28+
if err != nil {
29+
fmt.Println("json marshalIndent failed:", err)
30+
return
31+
}
32+
fmt.Println(string(data))
33+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package bccsample
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"github.com/baidubce/baiducloud-go-sdk/core/util"
7+
"github.com/baidubce/baiducloud-go-sdk/services/bcc"
8+
)
9+
10+
func GetVolumeResizeProgress() {
11+
// 设置Client的Access Key ID和Secret Access Key,获取AKSK详见:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
12+
ak, sk, endpoint := "Your Ak", "Your Sk", "Your endpoint"
13+
client, err := bcc.NewClient(ak, sk, endpoint)
14+
if err != nil {
15+
fmt.Println("create client err:", err)
16+
return
17+
}
18+
getVolumeResizeProgressRequest := &bcc.GetVolumeResizeProgressRequest{
19+
VolumeId: util.PtrString(""),
20+
}
21+
result, err := client.GetVolumeResizeProgress(getVolumeResizeProgressRequest)
22+
if err != nil {
23+
// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
24+
fmt.Println("request failed:", err)
25+
return
26+
}
27+
data, err := json.MarshalIndent(result, "", " ")
28+
if err != nil {
29+
fmt.Println("json marshalIndent failed:", err)
30+
return
31+
}
32+
fmt.Println(string(data))
33+
}

0 commit comments

Comments
 (0)