You need to enable JavaScript to run this app.
导航
资源管理
最近更新时间:2024.10.29 19:42:44首次发布时间:2024.09.26 21:12:55
复制全文
我的收藏
有用
有用
无用
无用

阅读本文,您可以获取 Go SDK 资源管理的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Go SDK 的安装及初始化操作。

调用示例

本节为您介绍资源管理相关接口的功能和调用示例。

查询套餐列表 ListConfiguration

您可以调用 ListConfiguration 接口查询套餐列表 ListConfiguration。详细的参数说明可参见 ListConfiguration 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func Int32Ptr(v int32) *int32 {
	return &v
}

func StringPtr(v string) *string {
	return &v
}

func Int64Ptr(v int64) *int64 {
	return &v
}

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &ACEP.ListConfigurationQuery{
		// 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
		ProductID: `1591495366954xxxxxx`,
		// 配置资源类型:
		// <li> 1:实例 </li>
		// <li> 2:存储 </li>
		// <li> 3:公网 </li>
		ResourceClass: Int32Ptr(1),
		// 云机上运行的实例规格 ID,包含以下取值:
		// <li> ultimate:旗舰型 </li>
		// <li> enhanced:加强型 </li>
		// <li> common:通用型 </li>
		// <li> sample:入门型 </li>
		// <li> basic:基础型 </li>
		// <li> elementary:低配型 </li>
		// <li> ultimatePlus:旗舰型Plus </li>
		// <li> enhancedPlus:加强型Plus </li>
		// <li> commonPlus:通用型Plus </li>
		// <li> samplePlus:入门型Plus </li>
		// <li> basicPlus:基础型Plus </li>
		// <li> elementaryPlus:低配型Plus </li>
		// 本地存储方案除上述 12 种规格外,还包含以下 6 个取值:
		// <li> ultimatePro:旗舰型Pro </li>
		// <li> enhancedPro:加强型Pro </li>
		// <li> commonPro:通用型Pro </li>
		// <li> samplePro:入门型Pro </li>
		// <li> basicPro:基础型Pro </li>
		// <li> elementaryPro:低配型Pro </li>
		ConfigurationCode: StringPtr(`ultimate`),
		// 查询结果的起始位置,用于指定从哪一条记录开始返回数据。例如,若 Offset 为 10,则表示从第 11 条记录开始。默认值为 0。
		// note:
		// 可与 Count 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
		Offset: Int64Ptr(0),
		// 单次查询返回的最大记录数,用于控制每次查询返回的数据量。例如,若 Count 为 100,则表示在查询数据时,系统将每次返回 100 条记录。
		// note:
		// 可与 Offset 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
		Count: Int64Ptr(10),
	}

	resp, err := service.ListConfiguration(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

查询实例资源列表 ListPodResource

您可以调用 ListPodResource 接口查询实例资源列表 ListPodResource。详细的参数说明可参见 ListPodResource 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func StringPtr(v string) *string {
	return &v
}

func Int64Ptr(v int64) *int64 {
	return &v
}

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &ACEP.ListPodResourceQuery{
		// 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
		ProductID: `1591495366954xxxxxx`,
		// 云手机实例规格 ID,包含以下取值:
		// <li> ultimate:旗舰型  </li>
		// <li> enhanced:加强型 </li>
		// <li> common:通用型 </li>
		// <li> sample:入门型 </li>
		// <li> basic:基础型 </li>
		// <li> elementary:低配型 </li>
		// <li> ultimatePlus:旗舰型Plus </li>
		// <li> enhancedPlus:加强型Plus </li>
		// <li> commonPlus:通用型Plus </li>
		// <li> samplePlus:入门型Plus </li>
		// <li> basicPlus:基础型Plus </li>
		// <li> elementaryPlus:低配型Plus </li>
		// 本地存储方案除上述 12 种规格外,还包含以下 6 个取值:
		// <li> ultimatePro:旗舰型Pro </li>
		// <li> enhancedPro:加强型Pro </li>
		// <li> commonPro:通用型Pro </li>
		// <li> samplePro:入门型Pro </li>
		// <li> basicPro:基础型Pro </li>
		// <li> elementaryPro:低配型Pro </li>
		ConfigurationCode: StringPtr(`ultimate`),
		// 实例所属机房的 ID。可通过「云手机控制台-实例管理-实例列表」中获取。
		Dc: StringPtr(`gdsz-ctcucm-01-xxxxxxxx`),
		// 根据镜像 ID,查询预热完成的实例数量。
		ImageID: StringPtr(`img-6890xxxx`),
		// 查询结果的起始位置,用于指定从哪一条记录开始返回数据。例如,若 Offset 为 10,则表示从第 11 条记录开始。默认值为 0。
		// note:
		// 可与 Count 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
		Offset: Int64Ptr(0),
		// 单次查询返回的最大记录数,用于控制每次查询返回的数据量。例如,若 Count 为 100,则表示在查询数据时,系统将每次返回 100 条记录。
		// note:
		// 可与 Offset 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
		Count: Int64Ptr(10),
	}

	resp, err := service.ListPodResource(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

更新订购实例数量 UpdatePodResourceApplyNum

您可以调用 UpdatePodResourceApplyNum 接口更新订购实例数量 UpdatePodResourceApplyNum。详细的参数说明可参见 UpdatePodResourceApplyNum 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func StringPtr(v string) *string {
	return &v
}

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	body := &ACEP.UpdatePodResourceApplyNumBody{
		// 实例所归属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
		ProductID: `1591495366954xxxxxx`,
		// 实例资源组 ID:
		// <li> 如指定,则优先级大于 ConfigurationCode 和 Dc </li>
		// <li> 如不指定,则 ConfigurationCode 和 Dc 必填,由 ConfigurationCode + Dc 确定 ResourceSetId </li>
		ResourceSetID: StringPtr(`Android_cloud728380418xxxxxxxxxx`),
		// 云手机实例规格 ID,如未指定 ResourceSetId,则此项必填。
		// <li> ultimate:旗舰型  </li>
		// <li> enhanced:加强型 </li>
		// <li> common:通用型 </li>
		// <li> sample:入门型 </li>
		// <li> basic:基础型 </li>
		// <li> elementary:低配型 </li>
		// <li> ultimatePlus:旗舰型Plus </li>
		// <li> enhancedPlus:加强型Plus </li>
		// <li> commonPlus:通用型Plus </li>
		// <li> samplePlus:入门型Plus </li>
		// <li> basicPlus:基础型Plus </li>
		// <li> elementaryPlus:低配型Plus </li>
		// 本地存储方案除上述 12 种规格外,还包含以下 6 个取值:
		// <li> ultimatePro:旗舰型Pro </li>
		// <li> enhancedPro:加强型Pro </li>
		// <li> commonPro:通用型Pro </li>
		// <li> samplePro:入门型Pro </li>
		// <li> basicPro:基础型Pro </li>
		// <li> elementaryPro:低配型Pro </li>
		ConfigurationCode: StringPtr(`ultimate`),
		Dc:                StringPtr(`gdsz-ctcucm-01-xxxxxxxx`),
		ApplyNum:          2,
	}

	resp, err := service.UpdatePodResourceApplyNum(context.Background(), body)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

查询资源配额 ListResourceQuota

您可以调用 ListResourceQuota 接口查询资源配额 ListResourceQuota。详细的参数说明可参见 ListResourceQuota 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &ACEP.ListResourceQuotaQuery{
		// 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
		ProductID: `1591495366954xxxxxx`,
	}

	resp, err := service.ListResourceQuota(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

查询业务存储资源 GetProductResource

您可以调用 GetProductResource 接口查询业务存储资源 GetProductResource。详细的参数说明可参见 GetProductResource 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func StringPtr(v string) *string {
	return &v
}

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &ACEP.GetProductResourceQuery{
		// 业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
		ProductID: `1591495366954xxxxxx`,
		// 资源所在的物理区域,包含以下选项:
		// <li> inner:中国大陆(默认值) </li>
		// <li> cn-hongkong-pop:中国香港 </li>
		VolcRegion: StringPtr(`inner`),
	}

	resp, err := service.GetProductResource(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

更新业务存储资源 UpdateProductResource

您可以调用 UpdateProductResource 接口更新业务存储资源 UpdateProductResource。详细的参数说明可参见 UpdateProductResource 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func Int32Ptr(v int32) *int32 {
	return &v
}

func StringPtr(v string) *string {
	return &v
}

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	body := &ACEP.UpdateProductResourceBody{
		// 实例所归属的业务 ID,可在「云手机控制台-业务管理-业务详情」中获取。
		ProductID: `1591495366954xxxxxx`,
		// 修改后,需订购的存储资源总容量,单位 GB。修改后的存储容量不能小于已使用的存储容量。
		ApplyDataSize: Int32Ptr(760),
		// 资源所在的物理区域,包含以下选项:
		// <li> inner:中国大陆(默认值) </li>
		// <li> cn-hongkong-pop:中国香港 </li>
		VolcRegion: StringPtr(`inner`),
	}

	resp, err := service.UpdateProductResource(context.Background(), body)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

自动下单订购实例 SubscribeResourceAuto

您可以调用 SubscribeResourceAuto 接口自动下单订购实例 SubscribeResourceAuto。详细的参数说明可参见 SubscribeResourceAuto 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func StringPtr(v string) *string {
	return &v
}

func Int32Ptr(v int32) *int32 {
	return &v
}

func BoolPtr(v bool) *bool {
	return &v
}

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	body := &ACEP.SubscribeResourceAutoBody{
		// 业务 ID。您可在**云手机控制台 > 业务管理 > 业务详情**中获取。
		ProductID: `1749281594201xxxxxx`,
		// 是否开启自动续费。取值如下:
		// <li> true:开启自动续费。 </li>
		// <li> false:(默认)不开启自动续费。 </li>
		AutoRenew: BoolPtr(true),
		// 订购请求的唯一标识。您可根据自身业务需求,自定义设置订购请求的唯一标识。
		// note:
		// 防止由于网络等原因造成重复请求,同一 RoundId 在 1 天内只可使用一次。
		RoundID: `r1234`,
	}

	// 订购配置单列表。
	PreOrderList1 := ACEP.SubscribeResourceAutoBodyPreOrderListItem{
		// 实例所属机房。如果指定,则在订购指定机房中的实例。
		// warning
		// Dc 和 Region 至少需要指定一个值,Dc 优先级高于 Region。
		Dc: StringPtr(`tjtj-xxxxxx`),
		// 订购实例的租期,单位为月,默认值为 1。例如:“1.10 - 2.10” 为 1 个月租期。
		Term: Int32Ptr(1),
		// 实例所属机房所在的大区 ID。如果指定,则在指定大区内随机分配机房进行实例订购。
		// <li> 当资源所在区域选择中国大陆,即 VolcRegion 设置为 inner 时,该参数可选值包含: </li>
		// <li> cn-north:华北 </li>
		// <li> cn-south:华南 </li>
		// <li> cn-east:华东 </li>
		// <li> cn-middle:华中 </li>
		// <li> cn-southwest:西南 </li>
		// <li> 当资源所在区域选择中国香港,即 VolcRegion 设置为 cn-hongkong-pop 时,该参数可选值为 cn-hongkong-pop。 </li>
		// warning
		// Dc 和 Region 至少需要指定一个值,Dc 优先级高于 Region。
		Region: StringPtr(`cn-north`),
		// 自定义镜像 ID,如不指定,则默认使用平台提供的官方标准镜像。
		ImageID: StringPtr(`img-xxxxxx`),
		// 本次订购期望增加的数量。对于云盘存储方案,本参数指实例资源;对于本地存储方案,本参数指云机资源。
		ApplyNum: 1,
		// 资源计费模式,取值如下:
		// <li> pod_pre_monthly:实例预付费月结 </li>
		// <li> pod_post_daily:实例后付费日结 </li>
		// <li> host_pre_monthly:云机预付费月结 </li>
		ChargeType: StringPtr(`pod_pre_monthly`),
		// 资源所在的物理区域,包含以下选项:
		// <li> inner:中国大陆(默认值) </li>
		// <li> cn-hongkong-pop:中国香港 </li>
		VolcRegion: StringPtr(`inner`),
		// 是否自动创建实例,取值如下:
		// <li> true:是 </li>
		// <li> false:(默认)否 </li>
		AutoCreatePod: BoolPtr(false),
		// 云机规格。包含以下取值:
		// <li> g2.8c12g:8vCPU|12G内存|128G存储 </li>
		// <li> g2.8c16g.basic:8vCPU|16G内存|128G存储 </li>
		// <li> g2.8c16g.plus:8vCPU|16G内存|256G存储 </li>
		// 可调用 [ListConfiguration](https://www.volcengine.com/docs/6394/1262346) 接口查询。
		// > 该参数适用于本地存储方案,云盘存储无需关注。
		ServerTypeCode: StringPtr(`g2.8c12g`),
		// 屏幕布局,全局屏幕配置;可通过调用 [ListDisplayLayoutMini](https://www.volcengine.com/docs/6394/1221495) 接口获取;可选的系统屏幕布局 ID 包括:
		// <li> single-display-landscape </li>
		// <li> single-display-portrait </li>
		// <li> single-display-portrait-720p </li>
		// note:
		// <li> 如未指定屏幕布局 ID,当运行资源套餐 ConfigurationCode 为入门型 sample ,云手机实例将会使用 720P 和 30fps 的默认配置。 </li>
		// <li> 该参数适用于本地存储方案,云盘存储无需关注。 </li>
		DisplayLayoutID: StringPtr(`single-display-portrait`),
		// 云机上运行的实例资源规格 ID,取值如下:
		// <li> ultimate:旗舰型 </li>
		// <li> enhanced:加强型 </li>
		// <li> common:通用型 </li>
		// <li> sample:入门型 </li>
		// <li> basic:基础型 </li>
		// <li> elementary:低配型 </li>
		// <li> ultimatePlus:旗舰型Plus </li>
		// <li> enhancedPlus:加强型Plus </li>
		// <li> commonPlus:通用型Plus </li>
		// <li> samplePlus:入门型Plus </li>
		// <li> basicPlus:基础型Plus </li>
		// <li> elementaryPlus:低配型Plus </li>
		// 对于本地存储方案,除上述 12 种规格外,还包含以下 6 种规格:
		// <li> ultimatePro:旗舰型Pro </li>
		// <li> enhancedPro:加强型Pro </li>
		// <li> commonPro:通用型Pro </li>
		// <li> samplePro:入门型Pro </li>
		// <li> basicPro:基础型Pro </li>
		// <li> elementaryPro:低配型Pro </li>
		ConfigurationCode: `ultimate`,
	}

	body.PreOrderList = append(body.PreOrderList, PreOrderList1)

	resp, err := service.SubscribeResourceAuto(context.Background(), body)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

自动下单续订实例 RenewResourceAuto

您可以调用 RenewResourceAuto 接口自动下单续订实例 RenewResourceAuto。详细的参数说明可参见 RenewResourceAuto 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func StringPtr(v string) *string {
	return &v
}

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	body := &ACEP.RenewResourceAutoBody{
		// 业务 ID。您可在**云手机控制台 > 业务管理 > 业务详情**中获取。
		ProductID: `1749281594201xxxxxx`,
		// 订购请求的唯一标识。
		// note:
		// 防止由于网络等原因造成重复请求,同一 RoundId 在 1 天内只可使用一次。
		RoundID: `r1234`,
	}

	// 并发实例资源续订配置列表。
	PreOrderList1 := ACEP.RenewResourceAutoBodyPreOrderListItem{
		Term:          1,
		HostID:        StringPtr(`7332710366444xxxxxx`),
		ResourceSetID: StringPtr(`Android_cloud7332710234413xxxxxx`),
	}

	body.PreOrderList = append(body.PreOrderList, PreOrderList1)

	resp, err := service.RenewResourceAuto(context.Background(), body)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

查询实例资源组列表 ListPodResourceSet

您可以调用 ListPodResourceSet 接口查询实例资源组列表 ListPodResourceSet。详细的参数说明可参见 ListPodResourceSet 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func StringPtr(v string) *string {
	return &v
}

func Int64Ptr(v int64) *int64 {
	return &v
}

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	query := &ACEP.ListPodResourceSetQuery{
		// 业务 ID, 可在**云手机控制台 > 业务管理 > 业务详情**中获取。
		ProductID: `1591495366954xxxxxx`,
		// 资源组 ID,精确搜索。
		ResourceSetID: StringPtr(`Android_cloud728306995xxxxxxxxxx`),
		// 云手机实例规格 ID。取值如下:
		// <li> ultimate:旗舰型 </li>
		// <li> enhanced:加强型 </li>
		// <li> common:通用型 </li>
		// <li> sample:入门型 </li>
		// <li> basic:基础型 </li>
		// <li> elementary:低配型 </li>
		// <li> ultimatePlus:旗舰型Plus </li>
		// <li> enhancedPlus:加强型Plus </li>
		// <li> commonPlus:通用型Plus </li>
		// <li> samplePlus:入门型Plus </li>
		// <li> basicPlus:基础型Plus </li>
		// <li> elementaryPlus:低配型Plus </li>
		// 本地存储方案除上述 12 种规格外,还包含以下 6 个取值:
		// <li> ultimatePro:旗舰型Pro </li>
		// <li> enhancedPro:加强型Pro </li>
		// <li> commonPro:通用型Pro </li>
		// <li> samplePro:入门型Pro </li>
		// <li> basicPro:基础型Pro </li>
		// <li> elementaryPro:低配型Pro </li>
		ConfigurationCode: StringPtr(`ultimate`),
		// 机房 ID,精确搜索。可通过 [ListDc](https://www.volcengine.com/docs/6394/1221465) 接口获取。
		Dc: StringPtr(`gdsz-ctcucm-01-xxxxxxxx`),
		// 资源所在的物理区域,包含以下选项:
		// <li> inner:中国大陆(默认值) </li>
		// <li> cn-hongkong-pop:中国香港 </li>
		VolcRegion: StringPtr(`inner`),
		// 查询结果的起始位置,用于指定从哪一条记录开始返回数据。例如,若 Offset 为 10,则表示从第 11 条记录开始。默认值为 0。
		// note:
		// 可与 Count 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
		Offset: Int64Ptr(0),
		// 单次查询返回的最大记录数,用于控制每次查询返回的数据量。例如,若 Count 为 100,则表示在查询数据时,系统将每次返回 100 条记录。
		// note:
		// 可与 Offset 配合使用。假设当前数据集的记录总数为 200 条,如需查询第 101~150 条数据,需设置 Offset 为 100,Count 为 50。
		Count: Int64Ptr(10),
	}

	resp, err := service.ListPodResourceSet(context.Background(), query)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}

退订后付费云机资源 UnsubscribeHostResource

您可以调用 UnsubscribeHostResource 接口退订后付费云机资源 UnsubscribeHostResource。详细的参数说明可参见 UnsubscribeHostResource 接口文档。

接口调用示例如下所示。

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/volcengine/volc-sdk-golang/base"
	ACEP "github.com/volcengine/volc-sdk-golang/service/acep"
)

func BoolPtr(v bool) *bool {
	return &v
}

func main() {
	// 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
	// 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
	service := ACEP.NewInstance()

	service.SetCredential(base.Credentials{
		AccessKeyID:     os.Getenv("VOLC_ACCESSKEY"),
		SecretAccessKey: os.Getenv("VOLC_SECRETKEY"),
	})

	body := &ACEP.UnsubscribeHostResourceBody{
		// 业务 ID。您可在**云手机控制台 > 业务管理 > 业务详情**中获取。
		ProductID: `177500569***840`,
		// 是否允许强制退订。取值如下:
		// <li> false:(默认)不允许强制退订。 </li>
		// <li> true:允许强制退订。 </li>
		// note:
		// 节点资源存在实例时依然可以退订,并主动删除相关实例数据。
		Force: BoolPtr(true),
	}

	// 云机 ID 列表。可通过 [ListHost](https://www.volcengine.com/docs/6394/1221480) 接口获取。
	HostIDList := []string{"host-73561748***2524"}

	body.HostIDList = HostIDList

	resp, err := service.UnsubscribeHostResource(context.Background(), body)

	if err != nil {
		fmt.Printf("error %v", err)
	} else {
		fmt.Printf("success %+v", resp)
	}
}