预留实例券
更新时间:2024-11-07
查询预留实例券列表
使用以下代码查询预留实例券列表
Go
1package main
2
3import (
4 "fmt"
5 "github.com/baidubce/bce-sdk-go/services/bcc/api"
6 "github.com/baidubce/bce-sdk-go/services/bcc"
7)
8
9func main() {
10
11 // 初始化AK/SK/Endpoint
12 ak, sk, endpoint := "ak", "sk", "bcc.bj.baidubce.com"
13 // 创建BCC Client
14 client, _ := bcc.NewClient(ak, sk, endpoint)
15 args := &api.ListReservedInstanceArgs{
16 ZoneName: "cn-bj-a",
17 MaxKeys: 10,
18 Marker: "r-*****",
19 }
20
21 result, err := client.ListReservedInstances(args)
22 if err != nil {
23 panic(err)
24 }
25
26 fmt.Println(result)
27}
创建预留实例券
使用以下代码创建预留实例券
Go
1package main
2
3import (
4 "fmt"
5 "github.com/baidubce/bce-sdk-go/services/bcc/api"
6
7 "github.com/baidubce/bce-sdk-go/services/bcc"
8)
9
10func main() {
11
12 // 初始化AK/SK/Endpoint
13 ak, sk, endpoint := "ak", "sk", "bcc.bj.baidubce.com"
14 // 创建BCC Client
15 client, _ := bcc.NewClient(ak, sk, endpoint)
16
17 args := &api.CreateReservedInstanceArgs{
18 ClientToken: "myClientToken",
19 ReservedInstanceName: "myReservedInstance",
20 Scope: "AZ",
21 ZoneName: "cn-bj-a",
22 Spec: "bcc.g5.c2m8",
23 OfferingType: "FullyPrepay",
24 InstanceCount: 1,
25 ReservedInstanceCount: 1,
26 ReservedInstanceTime: 365,
27 ReservedInstanceTimeUnit: "month",
28 AutoRenewTimeUnit: "month",
29 AutoRenewTime: 1,
30 AutoRenew: true,
31 Tags: []api.Tag{
32 {
33 TagKey: "Env",
34 TagValue: "Production",
35 },
36 },
37 EhcClusterId: "ehcCluster123",
38 TicketId: "ticket456",
39 }
40
41 result, err := client.CreateReservedInstance(args)
42 if err != nil {
43 panic(err)
44 }
45
46 fmt.Println(result)
47}
修改预留实例券
使用以下代码修改预留实例券属性
Go
1package main
2
3import (
4 "fmt"
5 "github.com/baidubce/bce-sdk-go/services/bcc"
6 "github.com/baidubce/bce-sdk-go/services/bcc/api"
7)
8
9func main() {
10
11 // 初始化AK/SK/Endpoint
12 ak, sk, endpoint := "ak", "sk", "bcc.bj.baidubce.com"
13 // 创建BCC Client
14 client, _ := bcc.NewClient(ak, sk, endpoint)
15
16 args := &api.ModifyReservedInstancesArgs{
17 ReservedInstances: []api.ModifyReservedInstance{
18 {
19 ReservedInstanceId: "r-UBVQFB5b",
20 ReservedInstanceName: "update-reserved-instance",
21 },
22 },
23 }
24
25 result, err := client.ModifyReservedInstances(args)
26 if err != nil {
27 panic(err)
28 }
29
30 fmt.Println(result)
31}
绑定标签
使用以下代码给指定预留实例券绑定标签
Go
1package main
2
3import (
4 "github.com/baidubce/bce-sdk-go/model"
5 "github.com/baidubce/bce-sdk-go/services/bcc/api"
6
7 "github.com/baidubce/bce-sdk-go/services/bcc"
8)
9
10func main() {
11 // 初始化AK/SK/Endpoint
12 ak, sk, endpoint := "ak", "sk", "bcc.bj.baidubce.com"
13 client, _ := bcc.NewClient(ak, sk, endpoint) // 创建BCC Client
14 args := &api.ReservedTagsRequest{
15 // 标签列表
16 ChangeTags: []model.TagModel{
17 {
18 TagKey: "TagKey-go",
19 TagValue: "TagValue",
20 },
21 },
22 // 预留实例券id列表,最多支持100个
23 ReservedInstanceIds: []string{
24 "r-oFpMXKhv", "r-HrztSVk0",
25 },
26 }
27 err := client.BindReservedInstanceToTags(args)
28 if err != nil {
29 panic(err)
30 }
31}
解绑标签
使用以下代码从指定预留实例券中解绑标签
Go
1package main
2
3import (
4 "github.com/baidubce/bce-sdk-go/model"
5 "github.com/baidubce/bce-sdk-go/services/bcc/api"
6
7 "github.com/baidubce/bce-sdk-go/services/bcc"
8)
9
10func main() {
11 // 初始化AK/SK/Endpoint
12 ak, sk, endpoint := "ak", "sk", "bcc.bj.baidubce.com"
13 client, _ := bcc.NewClient(ak, sk, endpoint) // 创建BCC Client
14 args := &api.ReservedTagsRequest{
15 // 标签列表
16 ChangeTags: []model.TagModel{
17 {
18 TagKey: "TagKey-go",
19 TagValue: "TagValue",
20 },
21 },
22 // 预留实例券id列表,最多支持100个
23 ReservedInstanceIds: []string{
24 "r-oFpMXKhv", "r-HrztSVk0",
25 },
26 }
27 err := client.UnbindReservedInstanceFromTags(args)
28 if err != nil {
29 panic(err)
30 }
31}
续费预留实例券
使用以下代码续费预留实例券
Go
1package main
2
3import (
4 "fmt"
5 "github.com/baidubce/bce-sdk-go/services/bcc/api"
6 "github.com/baidubce/bce-sdk-go/services/bcc"
7)
8
9func main() {
10
11 // 初始化AK/SK/Endpoint
12 ak, sk, endpoint := "ak", "sk", "bcc.bj.baidubce.com"
13 // 创建BCC Client
14 client, _ := bcc.NewClient(ak, sk, endpoint)
15 args := &api.RenewReservedInstancesArgs{
16 // 客户端Token
17 ClientToken: "myClientToken",
18 // 预留实例券ids
19 ReservedInstanceIds: []string{
20 "test-renew",
21 },
22 // 预留实例券续费时长,支持3,6,9,12,24,36个月
23 ReservedInstanceTime: 1,
24 // 预留实例券购买时长单位,默认为month,不可变更
25 ReservedInstanceTimeUnit: "month",
26 // 预留实例券自动续费时长单位,默认为month,不可变更
27 AutoRenewTimeUnit: "month",
28 // 预留实例券自动续费时长,支持3,6,9,12,24,36个月,autoRenew为true时,必选且必须与reservedInstanceTime一致
29 AutoRenewTime: 1,
30 // 自动续费开关,默认为false
31 AutoRenew: true,
32 }
33
34 result, err := client.RenewReservedInstances(args)
35 if err != nil {
36 panic(err)
37 }
38
39 fmt.Println(result)
40}