预留实例券
更新时间: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}