showing tencentcloud image id after copy to desination region (#8763)

This commit is contained in:
Li Kexian 2020-02-18 18:17:19 +08:00 committed by GitHub
parent 9cbb49bacb
commit f3231018ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 655 additions and 185 deletions

View File

@ -8,8 +8,6 @@ import (
"os"
"github.com/hashicorp/packer/template/interpolate"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
cvm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312"
vpc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312"
)
@ -81,17 +79,11 @@ func (cf *TencentCloudAccessConfig) Client() (*cvm.Client, *vpc.Client, error) {
return nil, nil, fmt.Errorf("parameter zone must be set")
}
credential := common.NewCredential(cf.SecretId, cf.SecretKey)
cpf := profile.NewClientProfile()
cpf.HttpProfile.ReqMethod = "POST"
cpf.HttpProfile.ReqTimeout = 300
cpf.Language = "en-US"
if cvm_client, err = cvm.NewClient(credential, cf.Region, cpf); err != nil {
if cvm_client, err = NewCvmClient(cf.SecretId, cf.SecretKey, cf.Region); err != nil {
return nil, nil, err
}
if vpc_client, err = vpc.NewClient(credential, cf.Region, cpf); err != nil {
if vpc_client, err = NewVpcClient(cf.SecretId, cf.SecretKey, cf.Region); err != nil {
return nil, nil, err
}

View File

@ -10,16 +10,18 @@ import (
"github.com/hashicorp/packer/common/retry"
"github.com/hashicorp/packer/helper/multistep"
"github.com/hashicorp/packer/packer"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"
cvm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312"
vpc "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312"
)
// DefaultWaitForInterval is sleep interval when wait statue
const DefaultWaitForInterval = 5
// WaitForInstance wait for instance reaches statue
func WaitForInstance(client *cvm.Client, instanceId string, status string, timeout int) error {
ctx := context.TODO()
func WaitForInstance(ctx context.Context, client *cvm.Client, instanceId string, status string, timeout int) error {
req := cvm.NewDescribeInstancesRequest()
req.InstanceIds = []*string{&instanceId}
@ -50,54 +52,86 @@ func WaitForInstance(client *cvm.Client, instanceId string, status string, timeo
}
// WaitForImageReady wait for image reaches statue
func WaitForImageReady(client *cvm.Client, imageName string, status string, timeout int) error {
ctx := context.TODO()
req := cvm.NewDescribeImagesRequest()
FILTER_IMAGE_NAME := "image-name"
req.Filters = []*cvm.Filter{
{
Name: &FILTER_IMAGE_NAME,
Values: []*string{&imageName},
},
}
func WaitForImageReady(ctx context.Context, client *cvm.Client, imageName string, status string, timeout int) error {
for {
var resp *cvm.DescribeImagesResponse
err := Retry(ctx, func(ctx context.Context) error {
var e error
resp, e = client.DescribeImages(req)
return e
})
image, err := GetImageByName(ctx, client, imageName)
if err != nil {
return err
}
find := false
for _, image := range resp.Response.ImageSet {
if *image.ImageName == imageName && *image.ImageState == status {
find = true
break
}
}
if find {
break
if image != nil && *image.ImageState == status {
return nil
}
time.Sleep(DefaultWaitForInterval * time.Second)
timeout = timeout - DefaultWaitForInterval
if timeout <= 0 {
return fmt.Errorf("wait image(%s) status(%s) timeout", imageName, status)
}
}
}
return nil
// GetImageByName get image by image name
func GetImageByName(ctx context.Context, client *cvm.Client, imageName string) (*cvm.Image, error) {
req := cvm.NewDescribeImagesRequest()
req.Filters = []*cvm.Filter{
{
Name: common.StringPtr("image-name"),
Values: []*string{&imageName},
},
}
var resp *cvm.DescribeImagesResponse
err := Retry(ctx, func(ctx context.Context) error {
var e error
resp, e = client.DescribeImages(req)
return e
})
if err != nil {
return nil, err
}
if *resp.Response.TotalCount > 0 {
for _, image := range resp.Response.ImageSet {
if *image.ImageName == imageName {
return image, nil
}
}
}
return nil, nil
}
// NewCvmClient returns a new cvm client
func NewCvmClient(secretId, secretKey, region string) (client *cvm.Client, err error) {
cpf := profile.NewClientProfile()
cpf.HttpProfile.ReqMethod = "POST"
cpf.HttpProfile.ReqTimeout = 300
cpf.Language = "en-US"
credential := common.NewCredential(secretId, secretKey)
client, err = cvm.NewClient(credential, region, cpf)
return
}
// NewVpcClient returns a new vpc client
func NewVpcClient(secretId, secretKey, region string) (client *vpc.Client, err error) {
cpf := profile.NewClientProfile()
cpf.HttpProfile.ReqMethod = "POST"
cpf.HttpProfile.ReqTimeout = 300
cpf.Language = "en-US"
credential := common.NewCredential(secretId, secretKey)
client, err = vpc.NewClient(credential, region, cpf)
return
}
// CheckResourceIdFormat check resource id format
func CheckResourceIdFormat(resource string, id string) bool {
regex := regexp.MustCompile(fmt.Sprintf("%s-[0-9a-z]{8}$", resource))
if !regex.MatchString(id) {
return false
}
return true
return regex.MatchString(id)
}
// SSHHost returns a function that can be given to the SSH communicator

View File

@ -2,6 +2,7 @@ package cvm
import (
"context"
"fmt"
"strings"
"github.com/hashicorp/packer/helper/multistep"
@ -19,6 +20,7 @@ func (s *stepCopyImage) Run(ctx context.Context, state multistep.StateBag) multi
return multistep.ActionContinue
}
config := state.Get("config").(*Config)
client := state.Get("cvm_client").(*cvm.Client)
imageId := state.Get("image").(*cvm.Image).ImageId
@ -43,6 +45,34 @@ func (s *stepCopyImage) Run(ctx context.Context, state multistep.StateBag) multi
return Halt(state, err, "Failed to copy image")
}
Message(state, "Waiting for image ready", "")
tencentCloudImages := state.Get("tencentcloudimages").(map[string]string)
for _, region := range req.DestinationRegions {
rc, err := NewCvmClient(config.SecretId, config.SecretKey, *region)
if err != nil {
return Halt(state, err, "Failed to init client")
}
err = WaitForImageReady(ctx, rc, config.ImageName, "NORMAL", 1800)
if err != nil {
return Halt(state, err, "Failed to wait for image ready")
}
image, err := GetImageByName(ctx, rc, config.ImageName)
if err != nil {
return Halt(state, err, "Failed to get image")
}
if image == nil {
return Halt(state, err, "Failed to wait for image ready")
}
tencentCloudImages[*region] = *image.ImageId
Message(state, fmt.Sprintf("Copy image from %s(%s) to %s(%s)", s.SourceRegion, *imageId, *region, *image.ImageId), "")
}
state.Put("tencentcloudimages", tencentCloudImages)
Message(state, "Image copied", "")
return multistep.ActionContinue

View File

@ -58,36 +58,22 @@ func (s *stepCreateImage) Run(ctx context.Context, state multistep.StateBag) mul
}
Message(state, "Waiting for image ready", "")
err = WaitForImageReady(client, config.ImageName, "NORMAL", 3600)
err = WaitForImageReady(ctx, client, config.ImageName, "NORMAL", 3600)
if err != nil {
return Halt(state, err, "Failed to wait for image ready")
}
describeReq := cvm.NewDescribeImagesRequest()
FILTER_IMAGE_NAME := "image-name"
describeReq.Filters = []*cvm.Filter{
{
Name: &FILTER_IMAGE_NAME,
Values: []*string{&config.ImageName},
},
}
var describeResp *cvm.DescribeImagesResponse
err = Retry(ctx, func(ctx context.Context) error {
var e error
describeResp, e = client.DescribeImages(describeReq)
return e
})
image, err := GetImageByName(ctx, client, config.ImageName)
if err != nil {
return Halt(state, err, "Failed to wait for image ready")
return Halt(state, err, "Failed to get image")
}
if *describeResp.Response.TotalCount == 0 {
if image == nil {
return Halt(state, fmt.Errorf("No image return"), "Failed to crate image")
}
s.imageId = *describeResp.Response.ImageSet[0].ImageId
state.Put("image", describeResp.Response.ImageSet[0])
s.imageId = *image.ImageId
state.Put("image", image)
Message(state, s.imageId, "Image created")
tencentCloudImages := make(map[string]string)

View File

@ -5,7 +5,6 @@ import (
"fmt"
"github.com/hashicorp/packer/helper/multistep"
"github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common"
cvm "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312"
)
@ -18,24 +17,12 @@ func (s *stepPreValidate) Run(ctx context.Context, state multistep.StateBag) mul
Say(state, config.ImageName, "Trying to check image name")
req := cvm.NewDescribeImagesRequest()
req.Filters = []*cvm.Filter{
{
Name: common.StringPtr("image-name"),
Values: []*string{&config.ImageName},
},
}
var resp *cvm.DescribeImagesResponse
err := Retry(ctx, func(ctx context.Context) error {
var err error
resp, err = client.DescribeImages(req)
return err
})
image, err := GetImageByName(ctx, client, config.ImageName)
if err != nil {
return Halt(state, err, "Failed to get images info")
}
if *resp.Response.TotalCount > 0 {
if image != nil {
return Halt(state, fmt.Errorf("Image name %s has exists", config.ImageName), "")
}

View File

@ -157,7 +157,7 @@ func (s *stepRunInstance) Run(ctx context.Context, state multistep.StateBag) mul
s.instanceId = *resp.Response.InstanceIdSet[0]
Message(state, "Waiting for instance ready", "")
err = WaitForInstance(client, s.instanceId, "RUNNING", 1800)
err = WaitForInstance(ctx, client, s.instanceId, "RUNNING", 1800)
if err != nil {
return Halt(state, err, "Failed to wait for instance ready")
}

2
go.mod
View File

@ -144,7 +144,7 @@ require (
github.com/stretchr/objx v0.2.0 // indirect
github.com/stretchr/testify v1.4.0
github.com/temoto/robotstxt v1.1.1 // indirect
github.com/tencentcloud/tencentcloud-sdk-go v3.0.97+incompatible
github.com/tencentcloud/tencentcloud-sdk-go v3.0.121+incompatible
github.com/ucloud/ucloud-sdk-go v0.12.0
github.com/ufilesdk-dev/ufile-gosdk v0.0.0-20190830075812-b4dbc4ef43a6
github.com/ugorji/go v0.0.0-20151218193438-646ae4a518c1

2
go.sum
View File

@ -465,6 +465,8 @@ github.com/temoto/robotstxt v1.1.1 h1:Gh8RCs8ouX3hRSxxK7B1mO5RFByQ4CmJZDwgom++Ja
github.com/temoto/robotstxt v1.1.1/go.mod h1:+1AmkuG3IYkh1kv0d2qEB9Le88ehNO0zwOr3ujewlOo=
github.com/tencentcloud/tencentcloud-sdk-go v3.0.97+incompatible h1:y2gZtLpcWqFzSFbQSKwv1gL+NocPRM0ktGh7Dlb8U7s=
github.com/tencentcloud/tencentcloud-sdk-go v3.0.97+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4=
github.com/tencentcloud/tencentcloud-sdk-go v3.0.121+incompatible h1:/5EEPgCRsWdGgZsM7YRLhYE9gpE9+kUGoIfGCrFYU0s=
github.com/tencentcloud/tencentcloud-sdk-go v3.0.121+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4=
github.com/ucloud/ucloud-sdk-go v0.12.0 h1:VCFN3jWg/G4wvwjG6qG5AhFuAT1JdmGvY6+4WHbuJcw=
github.com/ucloud/ucloud-sdk-go v0.12.0/go.mod h1:lM6fpI8y6iwACtlbHUav823/uKPdXsNBlnBpRF2fj3c=
github.com/ufilesdk-dev/ufile-gosdk v0.0.0-20190830075812-b4dbc4ef43a6 h1:FAWNiqocJ04wC4Znj7Ax4PGWstZijayO6ifuHHvb+vI=

View File

@ -152,7 +152,7 @@ func CompleteCommonParams(request Request, region string) {
params["Action"] = request.GetAction()
params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10)
params["Nonce"] = strconv.Itoa(rand.Int())
params["RequestClient"] = "SDK_GO_3.0.97"
params["RequestClient"] = "SDK_GO_3.0.121"
}
func ConstructParams(req Request) (err error) {

View File

@ -115,6 +115,7 @@ func NewAssociateSecurityGroupsResponse() (response *AssociateSecurityGroupsResp
}
// 本接口 (AssociateSecurityGroups) 用于绑定安全组到指定实例。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) AssociateSecurityGroups(request *AssociateSecurityGroupsRequest) (response *AssociateSecurityGroupsResponse, err error) {
if request == nil {
request = NewAssociateSecurityGroupsRequest()
@ -219,7 +220,7 @@ func NewDeleteDisasterRecoverGroupsResponse() (response *DeleteDisasterRecoverGr
return
}
// 本接口 (DeleteDisasterRecoverGroups)用于删除[分散置放群组](https://cloud.tencent.com/document/product/213/15486)。只有空的置放群组才能被删除,非空的群组需要先销毁组内所有云主机,才能执行删除操作,不然会产生删除置放群组失败的错误。
// 本接口 (DeleteDisasterRecoverGroups)用于删除[分散置放群组](https://cloud.tencent.com/document/product/213/15486)。只有空的置放群组才能被删除,非空的群组需要先销毁组内所有云服务器,才能执行删除操作,不然会产生删除置放群组失败的错误。
func (c *Client) DeleteDisasterRecoverGroups(request *DeleteDisasterRecoverGroupsRequest) (response *DeleteDisasterRecoverGroupsResponse, err error) {
if request == nil {
request = NewDeleteDisasterRecoverGroupsRequest()
@ -246,7 +247,7 @@ func NewDeleteImagesResponse() (response *DeleteImagesResponse) {
// 本接口DeleteImages用于删除一个或多个镜像。
//
// * 当[镜像状态](https://cloud.tencent.com/document/api/213/9452#image_state)为`创建中`和`使用中`时, 不允许删除。镜像状态可以通过[DescribeImages](https://cloud.tencent.com/document/api/213/9418)获取。
// * 当[镜像状态](https://cloud.tencent.com/document/product/213/15753#Image)为`创建中`和`使用中`时, 不允许删除。镜像状态可以通过[DescribeImages](https://cloud.tencent.com/document/api/213/9418)获取。
// * 每个地域最多只支持创建10个自定义镜像删除镜像可以释放账户的配额。
// * 当镜像正在被其它账户分享时,不允许删除。
func (c *Client) DeleteImages(request *DeleteImagesRequest) (response *DeleteImagesResponse, err error) {
@ -566,7 +567,7 @@ func NewDescribeInstanceVncUrlResponse() (response *DescribeInstanceVncUrlRespon
// * 管理终端地址的有效期为 15 秒,调用接口成功后如果 15 秒内不使用该链接进行访问,管理终端地址自动失效,您需要重新查询。
// * 管理终端地址一旦被访问,将自动失效,您需要重新查询。
// * 如果连接断开,每分钟内重新连接的次数不能超过 30 次。
// * 获取到 `InstanceVncUrl` 后,您需要在链接 <https://img.qcloud.com/qcloud/app/active_vnc/index.html?> 末尾加上参数 `InstanceVncUrl=xxxx` 。
// * 获取到 `InstanceVncUrl` 后,您需要在链接 <https://img.qcloud.com/qcloud/app/active_vnc/index.html?> 末尾加上参数 `InstanceVncUrl=xxxx` 。
// - 参数 `InstanceVncUrl` :调用接口成功后会返回的 `InstanceVncUrl` 的值。
//
// 最后组成的 URL 格式如下:
@ -602,6 +603,7 @@ func NewDescribeInstancesResponse() (response *DescribeInstancesResponse) {
//
// * 可以根据实例`ID`、实例名称或者实例计费模式等信息来查询实例的详细信息。过滤信息详细请见过滤器`Filter`。
// * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量默认为20的实例。
// * 支持查询实例的最新操作LatestOperation以及最新操作状态(LatestOperationState)。
func (c *Client) DescribeInstances(request *DescribeInstancesRequest) (response *DescribeInstancesResponse, err error) {
if request == nil {
request = NewDescribeInstancesRequest()
@ -860,7 +862,7 @@ func NewDisassociateInstancesKeyPairsResponse() (response *DisassociateInstances
// 本接口 (DisassociateInstancesKeyPairs) 用于解除实例的密钥绑定关系。
//
// * 只支持[`STOPPED`](https://cloud.tencent.com/document/api/213/9452#INSTANCE_STATE)状态的`Linux`操作系统的实例。
// * 只支持[`STOPPED`](https://cloud.tencent.com/document/product/213/15753#InstanceStatus)状态的`Linux`操作系统的实例。
// * 解绑密钥后,实例可以通过原来设置的密码登录。
// * 如果原来没有设置密码,解绑后将无法使用 `SSH` 登录。可以调用 [ResetInstancesPassword](https://cloud.tencent.com/document/api/213/15736) 接口来设置登录密码。
// * 支持批量操作。每次请求批量实例的上限为100。如果批量实例存在不允许操作的实例操作会以特定错误码返回。
@ -889,6 +891,7 @@ func NewDisassociateSecurityGroupsResponse() (response *DisassociateSecurityGrou
}
// 本接口 (DisassociateSecurityGroups) 用于解绑实例的指定安全组。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) DisassociateSecurityGroups(request *DisassociateSecurityGroupsRequest) (response *DisassociateSecurityGroupsResponse, err error) {
if request == nil {
request = NewDisassociateSecurityGroupsRequest()
@ -1025,8 +1028,8 @@ func NewInquiryPriceResetInstanceResponse() (response *InquiryPriceResetInstance
// 本接口 (InquiryPriceResetInstance) 用于重装实例询价。
//
// * 如果指定了`ImageId`参数,则使用指定的镜像进行重装询价;否则按照当前实例使用的镜像进行重装询价。
// * 目前只支持[系统盘类型](/document/api/213/9452#block_device)是`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`类型的实例使用该接口实现`Linux`和`Windows`操作系统切换的重装询价。
// * 目前不支持外地域的实例使用该接口实现`Linux`和`Windows`操作系统切换的重装询价。
// * 目前只支持[系统盘类型](https://cloud.tencent.com/document/api/213/15753#SystemDisk)是`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`类型的实例使用该接口实现`Linux`和`Windows`操作系统切换的重装询价。
// * 目前不支持外地域的实例使用该接口实现`Linux`和`Windows`操作系统切换的重装询价。
func (c *Client) InquiryPriceResetInstance(request *InquiryPriceResetInstanceRequest) (response *InquiryPriceResetInstanceResponse, err error) {
if request == nil {
request = NewInquiryPriceResetInstanceRequest()
@ -1053,8 +1056,8 @@ func NewInquiryPriceResetInstancesInternetMaxBandwidthResponse() (response *Inqu
// 本接口 (InquiryPriceResetInstancesInternetMaxBandwidth) 用于调整实例公网带宽上限询价。
//
// * 不同机型带宽上限范围不一致,具体限制详见[购买网络带宽](https://cloud.tencent.com/document/product/213/509)。
// * 对于`BANDWIDTH_PREPAID`计费方式的带宽,需要输入参数`StartTime`和`EndTime`,指定调整后的带宽的生效时间段。在这种场景下目前不支持调小带宽,会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。
// * 不同机型带宽上限范围不一致,具体限制详见[公网带宽上限](https://cloud.tencent.com/document/product/213/12523)。
// * 对于`BANDWIDTH_PREPAID`计费方式的带宽,需要输入参数`StartTime`和`EndTime`,指定调整后的带宽的生效时间段。在这种场景下目前不支持调小带宽,会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/555/20253)接口查询账户余额。
// * 对于 `TRAFFIC_POSTPAID_BY_HOUR`、 `BANDWIDTH_POSTPAID_BY_HOUR` 和 `BANDWIDTH_PACKAGE` 计费方式的带宽,使用该接口调整带宽上限是实时生效的,可以在带宽允许的范围内调大或者调小带宽,不支持输入参数 `StartTime` 和 `EndTime` 。
// * 接口不支持调整`BANDWIDTH_POSTPAID_BY_MONTH`计费方式的带宽。
// * 接口不支持批量调整 `BANDWIDTH_PREPAID` 和 `BANDWIDTH_POSTPAID_BY_HOUR` 计费方式的带宽。
@ -1085,9 +1088,9 @@ func NewInquiryPriceResetInstancesTypeResponse() (response *InquiryPriceResetIns
// 本接口 (InquiryPriceResetInstancesType) 用于调整实例的机型询价。
//
// * 目前只支持[系统盘类型](https://cloud.tencent.com/document/api/213/9452#block_device)是`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`类型的实例使用该接口进行调整机型询价。
// * 目前只支持[系统盘类型](https://cloud.tencent.com/document/product/213/15753#SystemDisk)是`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`类型的实例使用该接口进行调整机型询价。
// * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口调整机型询价。
// * 对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。
// * 对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/555/20253)接口查询账户余额。
func (c *Client) InquiryPriceResetInstancesType(request *InquiryPriceResetInstancesTypeRequest) (response *InquiryPriceResetInstancesTypeResponse, err error) {
if request == nil {
request = NewInquiryPriceResetInstancesTypeRequest()
@ -1114,7 +1117,7 @@ func NewInquiryPriceResizeInstanceDisksResponse() (response *InquiryPriceResizeI
// 本接口 (InquiryPriceResizeInstanceDisks) 用于扩容实例的数据盘询价。
//
// * 目前只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性)询价,且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。
// * 目前只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性)询价,且[数据盘类型](https://cloud.tencent.com/document/product/213/15753#DataDisk)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。
// * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口扩容数据盘询价。* 仅支持包年包月实例随机器购买的数据盘。* 目前只支持扩容一块数据盘询价。
func (c *Client) InquiryPriceResizeInstanceDisks(request *InquiryPriceResizeInstanceDisksRequest) (response *InquiryPriceResizeInstanceDisksResponse, err error) {
if request == nil {
@ -1277,6 +1280,7 @@ func NewModifyInstancesAttributeResponse() (response *ModifyInstancesAttributeRe
// * “实例名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行实例管理操作的依据。
// * 支持批量操作。每次请求批量实例的上限为100。
// * 修改关联安全组时,子机原来关联的安全组会被解绑。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) ModifyInstancesAttribute(request *ModifyInstancesAttributeRequest) (response *ModifyInstancesAttributeResponse, err error) {
if request == nil {
request = NewModifyInstancesAttributeRequest()
@ -1305,6 +1309,7 @@ func NewModifyInstancesChargeTypeResponse() (response *ModifyInstancesChargeType
//
// * 只支持从 `POSTPAID_BY_HOUR` 计费模式切换为`PREPAID`计费模式。
// * 关机不收费的实例、`BC1`和`BS1`机型族的实例、设置定时销毁的实例不支持该操作。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) ModifyInstancesChargeType(request *ModifyInstancesChargeTypeRequest) (response *ModifyInstancesChargeTypeResponse, err error) {
if request == nil {
request = NewModifyInstancesChargeTypeRequest()
@ -1335,6 +1340,7 @@ func NewModifyInstancesProjectResponse() (response *ModifyInstancesProjectRespon
// * 绑定负载均衡的实例不支持修改实例所属项目,请先使用[`DeregisterInstancesFromLoadBalancer`](https://cloud.tencent.com/document/api/214/1258)接口解绑负载均衡。
// * 修改实例所属项目会自动解关联实例原来关联的安全组,修改完成后可能使用[`ModifySecurityGroupsOfInstance`](https://cloud.tencent.com/document/api/213/1367)接口关联安全组。
// * 支持批量操作。每次请求批量实例的上限为100。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) ModifyInstancesProject(request *ModifyInstancesProjectRequest) (response *ModifyInstancesProjectResponse, err error) {
if request == nil {
request = NewModifyInstancesProjectRequest()
@ -1363,6 +1369,7 @@ func NewModifyInstancesRenewFlagResponse() (response *ModifyInstancesRenewFlagRe
//
// * 实例被标识为自动续费后,每次在实例到期时,会自动续费一个月。
// * 支持批量操作。每次请求批量实例的上限为100。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) ModifyInstancesRenewFlag(request *ModifyInstancesRenewFlagRequest) (response *ModifyInstancesRenewFlagResponse, err error) {
if request == nil {
request = NewModifyInstancesRenewFlagRequest()
@ -1390,6 +1397,7 @@ func NewModifyInstancesVpcAttributeResponse() (response *ModifyInstancesVpcAttri
// 本接口(ModifyInstancesVpcAttribute)用于修改实例vpc属性如私有网络ip。
// * 此操作默认会关闭实例,完成后再启动。
// * 当指定私有网络ID和子网ID子网必须在实例所在的可用区与指定实例所在私有网络不一致时会将实例迁移至指定的私有网络的子网下。执行此操作前请确保指定的实例上没有绑定[弹性网卡](https://cloud.tencent.com/document/product/576)和[负载均衡](https://cloud.tencent.com/document/product/214)。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) ModifyInstancesVpcAttribute(request *ModifyInstancesVpcAttributeRequest) (response *ModifyInstancesVpcAttributeResponse, err error) {
if request == nil {
request = NewModifyInstancesVpcAttributeRequest()
@ -1474,6 +1482,7 @@ func NewRebootInstancesResponse() (response *RebootInstancesResponse) {
// * 接口调用成功时,实例会进入`REBOOTING`状态;重启实例成功时,实例会进入`RUNNING`状态。
// * 支持强制重启。强制重启的效果等同于关闭物理计算机的电源开关再重新启动。强制重启可能会导致数据丢失或文件系统损坏,请仅在服务器不能正常重启时使用。
// * 支持批量操作每次请求批量实例的上限为100。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) RebootInstances(request *RebootInstancesRequest) (response *RebootInstancesResponse, err error) {
if request == nil {
request = NewRebootInstancesRequest()
@ -1501,7 +1510,7 @@ func NewRenewHostsResponse() (response *RenewHostsResponse) {
// 本接口 (RenewHosts) 用于续费包年包月CDH实例。
//
// * 只支持操作包年包月实例,否则操作会以特定[错误码](#4.-.E9.94.99.E8.AF.AF.E7.A0.81)返回。
// * 续费时请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。
// * 续费时请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/555/20253)接口查询账户余额。
func (c *Client) RenewHosts(request *RenewHostsRequest) (response *RenewHostsResponse, err error) {
if request == nil {
request = NewRenewHostsRequest()
@ -1529,7 +1538,8 @@ func NewRenewInstancesResponse() (response *RenewInstancesResponse) {
// 本接口 (RenewInstances) 用于续费包年包月实例。
//
// * 只支持操作包年包月实例。
// * 续费时请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。
// * 续费时请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/555/20253)接口查询账户余额。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) RenewInstances(request *RenewInstancesRequest) (response *RenewInstancesResponse, err error) {
if request == nil {
request = NewRenewInstancesRequest()
@ -1560,8 +1570,9 @@ func NewResetInstanceResponse() (response *ResetInstanceResponse) {
// * 系统盘将会被格式化,并重置;请确保系统盘中无重要文件。
// * `Linux`和`Windows`系统互相切换时,该实例系统盘`ID`将发生变化,系统盘关联快照将无法回滚、恢复数据。
// * 密码不指定将会通过站内信下发随机密码。
// * 目前只支持[系统盘类型](https://cloud.tencent.com/document/api/213/9452#block_device)是`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`类型的实例使用该接口实现`Linux`和`Windows`操作系统切换。
// * 目前不支持海外地域的实例使用该接口实现`Linux`和`Windows`操作系统切换。
// * 目前只支持[系统盘类型](https://cloud.tencent.com/document/api/213/9452#SystemDisk)是`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`类型的实例使用该接口实现`Linux`和`Windows`操作系统切换。
// * 目前不支持境外地域的实例使用该接口实现`Linux`和`Windows`操作系统切换。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) ResetInstance(request *ResetInstanceRequest) (response *ResetInstanceResponse, err error) {
if request == nil {
request = NewResetInstanceRequest()
@ -1588,12 +1599,13 @@ func NewResetInstancesInternetMaxBandwidthResponse() (response *ResetInstancesIn
// 本接口 (ResetInstancesInternetMaxBandwidth) 用于调整实例公网带宽上限。
//
// * 不同机型带宽上限范围不一致,具体限制详见[购买网络带宽](https://cloud.tencent.com/document/product/213/509)。
// * 对于 `BANDWIDTH_PREPAID` 计费方式的带宽,需要输入参数 `StartTime` 和 `EndTime` ,指定调整后的带宽的生效时间段。在这种场景下目前不支持调小带宽,会涉及扣费,请确保账户余额充足。可通过 [`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397) 接口查询账户余额。
// * 不同机型带宽上限范围不一致,具体限制详见[公网带宽上限](https://cloud.tencent.com/document/product/213/12523)。
// * 对于 `BANDWIDTH_PREPAID` 计费方式的带宽,需要输入参数 `StartTime` 和 `EndTime` ,指定调整后的带宽的生效时间段。在这种场景下目前不支持调小带宽,会涉及扣费,请确保账户余额充足。可通过 [`DescribeAccountBalance`](https://cloud.tencent.com/document/product/555/20253) 接口查询账户余额。
// * 对于 `TRAFFIC_POSTPAID_BY_HOUR` 、 `BANDWIDTH_POSTPAID_BY_HOUR` 和 `BANDWIDTH_PACKAGE` 计费方式的带宽,使用该接口调整带宽上限是实时生效的,可以在带宽允许的范围内调大或者调小带宽,不支持输入参数 `StartTime` 和 `EndTime` 。
// * 接口不支持调整 `BANDWIDTH_POSTPAID_BY_MONTH` 计费方式的带宽。
// * 接口不支持批量调整 `BANDWIDTH_PREPAID` 和 `BANDWIDTH_POSTPAID_BY_HOUR` 计费方式的带宽。
// * 接口不支持批量调整混合计费方式的带宽。例如不支持同时调整 `TRAFFIC_POSTPAID_BY_HOUR` 和 `BANDWIDTH_PACKAGE` 计费方式的带宽。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) ResetInstancesInternetMaxBandwidth(request *ResetInstancesInternetMaxBandwidthRequest) (response *ResetInstancesInternetMaxBandwidthResponse, err error) {
if request == nil {
request = NewResetInstancesInternetMaxBandwidthRequest()
@ -1623,6 +1635,7 @@ func NewResetInstancesPasswordResponse() (response *ResetInstancesPasswordRespon
// * 只修改管理员帐号的密码。实例的操作系统不同,管理员帐号也会不一样(`Windows`为`Administrator``Ubuntu`为`ubuntu`,其它系统为`root`)。
// * 重置处于运行中状态的实例,需要显式指定强制关机参数`ForceStop`。如果没有显式指定强制关机参数,则只有处于关机状态的实例才允许执行重置密码操作。
// * 支持批量操作。将多个实例操作系统的密码重置为相同的密码。每次请求批量实例的上限为100。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) ResetInstancesPassword(request *ResetInstancesPasswordRequest) (response *ResetInstancesPasswordResponse, err error) {
if request == nil {
request = NewResetInstancesPasswordRequest()
@ -1649,7 +1662,8 @@ func NewResetInstancesTypeResponse() (response *ResetInstancesTypeResponse) {
// 本接口 (ResetInstancesType) 用于调整实例的机型。
// * 目前只支持[系统盘类型](/document/api/213/9452#block_device)是`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`类型的实例使用该接口进行机型调整。
// * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口调整机型。对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。
// * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口调整机型。对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/555/20253)接口查询账户余额。
// * 本接口为异步接口调整实例配置请求发送成功后会返回一个RequestId此时操作并未立即完成。实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表调整实例配置操作成功。
func (c *Client) ResetInstancesType(request *ResetInstancesTypeRequest) (response *ResetInstancesTypeResponse, err error) {
if request == nil {
request = NewResetInstancesTypeRequest()
@ -1676,10 +1690,11 @@ func NewResizeInstanceDisksResponse() (response *ResizeInstanceDisksResponse) {
// 本接口 (ResizeInstanceDisks) 用于扩容实例的数据盘。
//
// * 目前只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性),且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。
// * 目前只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性),且[数据盘类型](https://cloud.tencent.com/document/api/213/15753#DataDisk)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。
// * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口扩容数据盘。
// * 对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。
// * 对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/555/20253)接口查询账户余额。
// * 目前只支持扩容一块数据盘。
// * 实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表操作成功。
func (c *Client) ResizeInstanceDisks(request *ResizeInstanceDisksRequest) (response *ResizeInstanceDisksResponse, err error) {
if request == nil {
request = NewResizeInstanceDisksRequest()
@ -1706,10 +1721,10 @@ func NewRunInstancesResponse() (response *RunInstancesResponse) {
// 本接口 (RunInstances) 用于创建一个或多个指定配置的实例。
//
// * 实例创建成功后将自动开机启动,[实例状态](/document/api/213/9452#instance_state)变为“运行中”。
// * 实例创建成功后将自动开机启动,[实例状态](https://cloud.tencent.com/document/product/213/15753#InstanceStatus)变为“运行中”。
// * 预付费实例的购买会预先扣除本次实例购买所需金额,按小时后付费实例购买会预先冻结本次实例购买一小时内所需金额,在调用本接口前请确保账户余额充足。
// * 本接口允许购买的实例数量遵循[CVM实例购买限制](https://cloud.tencent.com/document/product/213/2664),所创建的实例和官网入口创建的实例共用配额。
// * 本接口为异步接口,当创建请求下发成功后会返回一个实例`ID`列表,此时实例的创建并立即未完成。在此期间实例的状态将会处于“准备中”,可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728) 接口查询对应实例的状态,来判断创建有没有最终成功。如果实例的状态由“准备中”变为“运行中”,则为创建成功
// * 本接口为异步接口,当创建实例请求下发成功后会返回一个实例`ID`列表和一个`RequestId`此时创建实例操作并未立即完成。在此期间实例的状态将会处于“PENDING”实例创建结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728) 接口查询,如果实例状态(InstanceState)由“PENDING”变为“RUNNING”则代表实例创建成功“LAUNCH_FAILED”代表实例创建失败
func (c *Client) RunInstances(request *RunInstancesRequest) (response *RunInstancesResponse, err error) {
if request == nil {
request = NewRunInstancesRequest()
@ -1739,6 +1754,7 @@ func NewStartInstancesResponse() (response *StartInstancesResponse) {
// * 只有状态为`STOPPED`的实例才可以进行此操作。
// * 接口调用成功时,实例会进入`STARTING`状态;启动实例成功时,实例会进入`RUNNING`状态。
// * 支持批量操作。每次请求批量实例的上限为100。
// * 本接口为异步接口启动实例请求发送成功后会返回一个RequestId此时操作并未立即完成。实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表启动实例操作成功。
func (c *Client) StartInstances(request *StartInstancesRequest) (response *StartInstancesResponse, err error) {
if request == nil {
request = NewStartInstancesRequest()
@ -1769,6 +1785,7 @@ func NewStopInstancesResponse() (response *StopInstancesResponse) {
// * 接口调用成功时,实例会进入`STOPPING`状态;关闭实例成功时,实例会进入`STOPPED`状态。
// * 支持强制关闭。强制关机的效果等同于关闭物理计算机的电源开关。强制关机可能会导致数据丢失或文件系统损坏,请仅在服务器不能正常关机时使用。
// * 支持批量操作。每次请求批量实例的上限为100。
// * 本接口为异步接口关闭实例请求发送成功后会返回一个RequestId此时操作并未立即完成。实例操作结果可以通过调用 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728#.E7.A4.BA.E4.BE.8B3-.E6.9F.A5.E8.AF.A2.E5.AE.9E.E4.BE.8B.E7.9A.84.E6.9C.80.E6.96.B0.E6.93.8D.E4.BD.9C.E6.83.85.E5.86.B5) 接口查询,如果实例的最新操作状态(LatestOperationState)为“SUCCESS”则代表关闭实例操作成功。
func (c *Client) StopInstances(request *StopInstancesRequest) (response *StopInstancesResponse, err error) {
if request == nil {
request = NewStopInstancesRequest()
@ -1826,6 +1843,7 @@ func NewTerminateInstancesResponse() (response *TerminateInstancesResponse) {
//
// * 不再使用的实例,可通过本接口主动退还。
// * 按量计费的实例通过本接口可直接退还;包年包月实例如符合[退还规则](https://cloud.tencent.com/document/product/213/9711),也可通过本接口主动退还。
// * 首次调用本接口,实例将被移至回收站,再次调用本接口,实例将被销毁,且不可恢复。
// * 支持批量操作每次请求批量实例的上限为100。
func (c *Client) TerminateInstances(request *TerminateInstancesRequest) (response *TerminateInstancesResponse, err error) {
if request == nil {

View File

@ -208,10 +208,10 @@ type CreateDisasterRecoverGroupResponse struct {
// 分散置放群组名称长度1-60个字符支持中、英文。
Name *string `json:"Name,omitempty" name:"Name"`
// 置放群组内可容纳的云主机数量。
// 置放群组内可容纳的云服务器数量。
CvmQuotaTotal *int64 `json:"CvmQuotaTotal,omitempty" name:"CvmQuotaTotal"`
// 置放群组内已有的云主机数量。
// 置放群组内已有的云服务器数量。
CurrentNum *int64 `json:"CurrentNum,omitempty" name:"CurrentNum"`
// 置放群组创建时间。
@ -273,6 +273,10 @@ type CreateImageResponse struct {
*tchttp.BaseResponse
Response *struct {
// 镜像ID
// 注意:此字段可能返回 null表示取不到有效值。
ImageId *string `json:"ImageId,omitempty" name:"ImageId"`
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
@ -332,10 +336,10 @@ func (r *CreateKeyPairResponse) FromJsonString(s string) error {
type DataDisk struct {
// 数据盘大小单位GB。最小调整步长为10G不同数据盘类型取值范围不同具体限制详见[CVM实例配置](/document/product/213/2177)。默认值为0表示不购买数据盘。更多限制详见产品文档。
// 数据盘大小单位GB。最小调整步长为10G不同数据盘类型取值范围不同具体限制详见[实例规格](/document/product/213/2177)。默认值为0表示不购买数据盘。更多限制详见产品文档。
DiskSize *int64 `json:"DiskSize,omitempty" name:"DiskSize"`
// 数据盘类型。数据盘类型限制详见[CVM实例配置](/document/product/213/2177)。取值范围:<br><li>LOCAL_BASIC本地硬盘<br><li>LOCAL_SSD本地SSD硬盘<br><li>CLOUD_BASIC普通云硬盘<br><li>CLOUD_PREMIUM高性能云硬盘<br><li>CLOUD_SSDSSD云硬盘<br><br>默认取值LOCAL_BASIC。<br><br>该参数对`ResizeInstanceDisk`接口无效。
// 数据盘类型。数据盘类型限制详见[实例规格](/document/product/213/2177)。取值范围:<br><li>LOCAL_BASIC本地硬盘<br><li>LOCAL_SSD本地SSD硬盘<br><li>CLOUD_BASIC普通云硬盘<br><li>CLOUD_PREMIUM高性能云硬盘<br><li>CLOUD_SSDSSD云硬盘<br><br>默认取值LOCAL_BASIC。<br><br>该参数对`ResizeInstanceDisk`接口无效。
DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
// 数据盘ID。LOCAL_BASIC 和 LOCAL_SSD 类型没有ID。暂时不支持该参数。
@ -352,6 +356,14 @@ type DataDisk struct {
// 数据盘快照ID。选择的数据盘快照大小需小于数据盘大小。
// 注意:此字段可能返回 null表示取不到有效值。
SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
// 数据盘是否随子机销毁。取值范围:
// <li>TRUE加密
// <li>FALSE不加密<br>
// 默认取值FALSE<br>
// 该参数目前仅用于 `RunInstances` 接口。
// 注意:此字段可能返回 null表示取不到有效值。
Encrypt *bool `json:"Encrypt,omitempty" name:"Encrypt"`
}
type DeleteDisasterRecoverGroupsRequest struct {
@ -682,10 +694,9 @@ type DescribeImagesRequest struct {
// 过滤条件,每次请求的`Filters`的上限为0`Filters.Values`的上限为5。参数不可以同时指定`ImageIds`和`Filters`。详细的过滤条件如下:
// <li> image-id - String - 是否必填: 否 - 过滤条件按照镜像ID进行过滤</li>
// <li> image-type - String - 是否必填: 否 - (过滤条件)按照镜像类型进行过滤。取值范围:
// PRIVATE_IMAGE: 私有镜像 (本户创建的镜像)
// PRIVATE_IMAGE: 私有镜像 (本户创建的镜像)
// PUBLIC_IMAGE: 公共镜像 (腾讯云官方镜像)
// MARKET_IMAGE: 服务市场 (服务市场提供的镜像)
// SHARED_IMAGE: 共享镜像(其他账户共享给本帐户的镜像) 。</li>
// SHARED_IMAGE: 共享镜像(其他账户共享给本账户的镜像) 。</li>
Filters []*Filter `json:"Filters,omitempty" name:"Filters" list`
// 偏移量默认为0。关于Offset详见[API简介](/document/api/213/568#.E8.BE.93.E5.85.A5.E5.8F.82.E6.95.B0.E4.B8.8E.E8.BF.94.E5.9B.9E.E5.8F.82.E6.95.B0.E9.87.8A.E4.B9.89)。
@ -843,7 +854,7 @@ type DescribeInstanceTypeConfigsRequest struct {
*tchttp.BaseRequest
// 过滤条件。
// <li> zone - String - 是否必填:否 -(过滤条件)按照[可用区](https://cloud.tencent.com/document/api/213/9452#zone)过滤。</li>
// <li> zone - String - 是否必填:否 -(过滤条件)按照[可用区](https://cloud.tencent.com/document/product/213/15753#ZoneInfo)过滤。</li>
// <li> instance-family - String - 是否必填:否 -过滤条件按照实例机型系列过滤。实例机型系列形如S1、I1、M1等。</li>
// 每次请求的`Filters`的上限为10`Filter.Values`的上限为1。
Filters []*Filter `json:"Filters,omitempty" name:"Filters" list`
@ -1493,13 +1504,13 @@ type DisasterRecoverGroup struct {
// 分散置放群组类型,取值范围:<br><li>HOST物理机<br><li>SW交换机<br><li>RACK机架
Type *string `json:"Type,omitempty" name:"Type"`
// 分散置放群组内最大容纳云主机数量。
// 分散置放群组内最大容纳云服务器数量。
CvmQuotaTotal *int64 `json:"CvmQuotaTotal,omitempty" name:"CvmQuotaTotal"`
// 分散置放群组内云主机当前数量。
// 分散置放群组内云服务器当前数量。
CurrentNum *int64 `json:"CurrentNum,omitempty" name:"CurrentNum"`
// 分散置放群组内,云主机id列表。
// 分散置放群组内,云服务器id列表。
// 注意:此字段可能返回 null表示取不到有效值。
InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list`
@ -1603,6 +1614,9 @@ type HostResource struct {
// cdh实例可用磁盘大小单位为:GiB
DiskAvailable *uint64 `json:"DiskAvailable,omitempty" name:"DiskAvailable"`
// cdh实例磁盘类型
DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
}
type Image struct {
@ -1631,7 +1645,14 @@ type Image struct {
// 镜像架构
Architecture *string `json:"Architecture,omitempty" name:"Architecture"`
// 镜像状态
// 镜像状态:
// CREATING-创建中
// NORMAL-正常
// CREATEFAILED-创建失败
// USING-使用中
// SYNCING-同步中
// IMPORTING-导入中
// IMPORTFAILED-导入失败
ImageState *string `json:"ImageState,omitempty" name:"ImageState"`
// 镜像来源平台
@ -1728,7 +1749,7 @@ type ImportKeyPairRequest struct {
// 密钥对名称可由数字字母和下划线组成长度不超过25个字符。
KeyName *string `json:"KeyName,omitempty" name:"KeyName"`
// 密钥对创建后所属的[项目](/document/product/378/10863)ID。<br><br>可以通过以下方式获取项目ID<br><li>通过[项目列表](https://console.cloud.tencent.com/project)查询项目ID。<br><li>通过调用接口 [DescribeProject](https://cloud.tencent.com/document/api/378/4400),取返回信息中的 `projectId ` 获取项目ID。
// 密钥对创建后所属的[项目](https://cloud.tencent.com/document/product/378/10861)ID。<br><br>可以通过以下方式获取项目ID<br><li>通过[项目列表](https://console.cloud.tencent.com/project)查询项目ID。<br><li>通过调用接口 [DescribeProject](https://cloud.tencent.com/document/api/378/4400),取返回信息中的 `projectId ` 获取项目ID。
//
// 如果是默认项目直接填0就可以。
ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
@ -1997,7 +2018,7 @@ type InquiryPriceResizeInstanceDisksRequest struct {
// 待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。
InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
// 待扩容的数据盘配置信息。只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性),且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。数据盘容量单位GB。最小扩容步长10G。关于数据盘类型的选择请参考硬盘产品简介。可选数据盘类型受到实例类型`InstanceType`限制。另外允许扩容的最大容量也因数据盘类型的不同而有所差异。
// 待扩容的数据盘配置信息。只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性),且[数据盘类型](https://cloud.tencent.com/document/product/213/15753#DataDisk)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。数据盘容量单位GB。最小扩容步长10G。关于数据盘类型的选择请参考硬盘产品简介。可选数据盘类型受到实例类型`InstanceType`限制。另外允许扩容的最大容量也因数据盘类型的不同而有所差异。
DataDisks []*DataDisk `json:"DataDisks,omitempty" name:"DataDisks" list`
// 是否对运行中的实例选择强制关机。建议对运行中的实例先手动关机,然后再重置用户密码。取值范围:<br><li>TRUE表示在正常关机失败后进行强制关机<br><li>FALSE表示在正常关机失败后不进行强制关机<br><br>默认取值FALSE。<br><br>强制关机的效果等同于关闭物理计算机的电源开关。强制关机可能会导致数据丢失或文件系统损坏,请仅在服务器不能正常关机时使用。
@ -2043,22 +2064,22 @@ type InquiryPriceRunInstancesRequest struct {
// 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID格式形如`img-xxx`。镜像类型分为四种:<br/><li>公共镜像</li><li>自定义镜像</li><li>共享镜像</li><li>服务市场镜像</li><br/>可通过以下方式获取可用的镜像ID<br/><li>`公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。</li><li>通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。</li>
ImageId *string `json:"ImageId,omitempty" name:"ImageId"`
// 实例[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID预付费即包年包月<br><li>POSTPAID_BY_HOUR按小时后付费<br>默认值POSTPAID_BY_HOUR。
// 实例[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID预付费即包年包月<br><li>POSTPAID_BY_HOUR按小时后付费<br><li>SPOTPAID竞价付费<br>默认值POSTPAID_BY_HOUR。
InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"`
// 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。
InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"`
// 实例机型。不同实例机型指定了不同的资源规格,具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[CVM实例配置](https://cloud.tencent.com/document/product/213/2177)描述。若不指定该参数则默认机型为S1.SMALL1。
// 实例机型。不同实例机型指定了不同的资源规格,具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。若不指定该参数则默认机型为S1.SMALL1。
InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
// 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
SystemDisk *SystemDisk `json:"SystemDisk,omitempty" name:"SystemDisk"`
// 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定11块数据盘其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘最多包含10块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
// 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
DataDisks []*DataDisk `json:"DataDisks,omitempty" name:"DataDisks" list`
// 私有网络相关信息配置。通过该参数可以指定私有网络的ID子网ID等信息。若不指定该参数则默认使用基础网络。若在此参数中指定了私有网络ip那么InstanceCount参数只能为1。
// 私有网络相关信息配置。通过该参数可以指定私有网络的ID子网ID等信息。若不指定该参数则默认使用基础网络。若在此参数中指定了私有网络IP那么InstanceCount参数只能为1。
VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud,omitempty" name:"VirtualPrivateCloud"`
// 公网带宽相关信息设置。若不指定该参数则默认公网带宽为0Mbps。
@ -2085,7 +2106,7 @@ type InquiryPriceRunInstancesRequest struct {
// 云服务器的主机名。<br><li>点号(.)和短横线(-)不能作为 HostName 的首尾字符,不能连续使用。<br><li>Windows 实例:名字符长度为[2, 15],允许字母(不限制大小写)、数字和短横线(-)组成,不支持点号(.),不能全是数字。<br><li>其他类型Linux 等)实例:字符长度为[2, 30],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。
HostName *string `json:"HostName,omitempty" name:"HostName"`
// 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云主机实例。
// 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云服务器实例。
TagSpecification []*TagSpecification `json:"TagSpecification,omitempty" name:"TagSpecification" list`
// 实例的市场相关选项,如竞价实例相关参数
@ -2205,10 +2226,7 @@ type Instance struct {
// 注意:此字段可能返回 null表示取不到有效值。
LatestOperation *string `json:"LatestOperation,omitempty" name:"LatestOperation"`
// 实例的最新操作状态。取值范围:<br>
// <li>SUCCESS表示操作成功<br>
// <li>OPERATING表示操作执行中<br>
// <li>FAILED表示操作失败
// 实例的最新操作状态。取值范围:<br><li>SUCCESS表示操作成功<br><li>OPERATING表示操作执行中<br><li>FAILED表示操作失败
// 注意:此字段可能返回 null表示取不到有效值。
LatestOperationState *string `json:"LatestOperationState,omitempty" name:"LatestOperationState"`
@ -2259,7 +2277,7 @@ type InstanceStatus struct {
// 实例`ID`。
InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
// [实例状态](/document/api/213/9452#INSTANCE_STATE)。
// 实例状态。取值范围:<br><li>PENDING表示创建中<br></li><li>LAUNCH_FAILED表示创建失败<br></li><li>RUNNING表示运行中<br></li><li>STOPPED表示关机<br></li><li>STARTING表示开机中<br></li><li>STOPPING表示关机中<br></li><li>REBOOTING表示重启中<br></li><li>SHUTDOWN表示停止待销毁<br></li><li>TERMINATING表示销毁中。<br></li>
InstanceState *string `json:"InstanceState,omitempty" name:"InstanceState"`
}
@ -2329,7 +2347,7 @@ type InternetAccessible struct {
// 网络计费类型。取值范围:<br><li>BANDWIDTH_PREPAID预付费按带宽结算<br><li>TRAFFIC_POSTPAID_BY_HOUR流量按小时后付费<br><li>BANDWIDTH_POSTPAID_BY_HOUR带宽按小时后付费<br><li>BANDWIDTH_PACKAGE带宽包用户<br>默认取值:非带宽包用户默认与子机付费类型保持一致。
InternetChargeType *string `json:"InternetChargeType,omitempty" name:"InternetChargeType"`
// 公网出带宽上限单位Mbps。默认值0Mbps。不同机型带宽上限范围不一致具体限制详见[购买网络带宽](/document/product/213/509)。
// 公网出带宽上限单位Mbps。默认值0Mbps。不同机型带宽上限范围不一致具体限制详见[购买网络带宽](https://cloud.tencent.com/document/product/213/12523)。
InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"`
// 是否分配公网IP。取值范围<br><li>TRUE表示分配公网IP<br><li>FALSE表示不分配公网IP<br><br>当公网带宽大于0Mbps时可自由选择开通与否默认开通公网IP当公网带宽为0则不允许分配公网IP。该参数仅在RunInstances接口中作为入参使用。
@ -2419,6 +2437,9 @@ type LocalDiskType struct {
// 本地磁盘最大值。
MaxSize *int64 `json:"MaxSize,omitempty" name:"MaxSize"`
// 购买时本地盘是否为必选。取值范围:<br><li>REQUIRED表示必选<br><li>OPTIONAL表示可选。
Required *string `json:"Required,omitempty" name:"Required"`
}
type LoginSettings struct {
@ -2556,7 +2577,7 @@ func (r *ModifyImageAttributeResponse) FromJsonString(s string) error {
type ModifyImageSharePermissionRequest struct {
*tchttp.BaseRequest
// 镜像ID形如`img-gvbnzy6f`。镜像Id可以通过如下方式获取<br><li>通过[DescribeImages](https://cloud.tencent.com/document/api/213/15715)接口返回的`ImageId`获取。<br><li>通过[镜像控制台](https://console.cloud.tencent.com/cvm/image)获取。 <br>镜像ID必须指定为状态为`NORMAL`的镜像。镜像状态请参考[镜像数据表](/document/api/213/9452#image_state)。
// 镜像ID形如`img-gvbnzy6f`。镜像Id可以通过如下方式获取<br><li>通过[DescribeImages](https://cloud.tencent.com/document/api/213/15715)接口返回的`ImageId`获取。<br><li>通过[镜像控制台](https://console.cloud.tencent.com/cvm/image)获取。 <br>镜像ID必须指定为状态为`NORMAL`的镜像。镜像状态请参考[镜像数据表](https://cloud.tencent.com/document/product/213/15753#Image)。
ImageId *string `json:"ImageId,omitempty" name:"ImageId"`
// 接收分享镜像的账号Id列表array型参数的格式可以参考[API简介](/document/api/213/568)。帐号ID不同于QQ号查询用户帐号ID请查看[帐号信息](https://console.cloud.tencent.com/developer)中的帐号ID栏。
@ -2865,11 +2886,14 @@ type Placement struct {
// 实例所属项目ID。该参数可以通过调用 [DescribeProject](/document/api/378/4400) 的返回值中的 projectId 字段来获取。不填为默认项目。
ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"`
// 实例所属的专用宿主机ID列表。如果您有购买专用宿主机并且指定了该参数,则您购买的实例就会随机的部署在这些专用宿主机上。
// 实例所属的专用宿主机ID列表,仅用于入参。如果您有购买专用宿主机并且指定了该参数,则您购买的实例就会随机的部署在这些专用宿主机上。
HostIds []*string `json:"HostIds,omitempty" name:"HostIds" list`
// 指定母机ip生产子机
HostIps []*string `json:"HostIps,omitempty" name:"HostIps" list`
// 实例所属的专用宿主机ID仅用于出参。
HostId *string `json:"HostId,omitempty" name:"HostId"`
}
type Price struct {
@ -3362,7 +3386,7 @@ type RunInstancesRequest struct {
// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目,所属宿主机(在专用宿主机上创建子机时指定)等属性。
Placement *Placement `json:"Placement,omitempty" name:"Placement"`
// 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID格式形如`img-xxx`。镜像类型分为四种:<br/><li>公共镜像</li><li>自定义镜像</li><li>共享镜像</li><li>服务市场镜像</li><br/>可通过以下方式获取可用的镜像ID<br/><li>`公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。</li><li>通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) 取返回信息中的`ImageId`字段。</li>
// 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID格式形如`img-xxx`。镜像类型分为四种:<br/><li>公共镜像</li><li>自定义镜像</li><li>共享镜像</li><li>服务市场镜像</li><br/>可通过以下方式获取可用的镜像ID<br/><li>`公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。</li><li>通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) 传入InstanceType获取当前机型支持的镜像列表取返回信息中的`ImageId`字段。</li>
ImageId *string `json:"ImageId,omitempty" name:"ImageId"`
// 实例[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID预付费即包年包月<br><li>POSTPAID_BY_HOUR按小时后付费<br><li>CDHPAID独享子机基于专用宿主机创建宿主机部分的资源不收费<br><li>SPOTPAID竞价付费<br>默认值POSTPAID_BY_HOUR。
@ -3372,16 +3396,16 @@ type RunInstancesRequest struct {
InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"`
// 实例机型。不同实例机型指定了不同的资源规格。
// <br><li>对于付费模式为PREPAID或POSTPAID\_BY\_HOUR的实例创建具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例类型](https://cloud.tencent.com/document/product/213/11518)描述。若不指定该参数则默认机型为S1.SMALL1。<br><li>对于付费模式为CDHPAID的实例创建该参数以"CDH_"为前缀,根据cpu和内存配置生成具体形式为CDH_XCXG例如对于创建cpu为1核内存为1G大小的专用宿主机的实例该参数应该为CDH_1C1G。
// <br><li>对于付费模式为PREPAID或POSTPAID\_BY\_HOUR的实例创建具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。若不指定该参数则默认机型为S1.SMALL1。<br><li>对于付费模式为CDHPAID的实例创建该参数以"CDH_"为前缀,根据CPU和内存配置生成具体形式为CDH_XCXG例如对于创建CPU为1核内存为1G大小的专用宿主机的实例该参数应该为CDH_1C1G。
InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
// 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
SystemDisk *SystemDisk `json:"SystemDisk,omitempty" name:"SystemDisk"`
// 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定11块数据盘其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘最多包含10块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
// 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定21块数据盘其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
DataDisks []*DataDisk `json:"DataDisks,omitempty" name:"DataDisks" list`
// 私有网络相关信息配置。通过该参数可以指定私有网络的ID子网ID等信息。若不指定该参数则默认使用基础网络。若在此参数中指定了私有网络ip表示每个实例的主网卡ip而且InstanceCount参数必须与私有网络ip的个数一致。
// 私有网络相关信息配置。通过该参数可以指定私有网络的ID子网ID等信息。若不指定该参数则默认使用基础网络。若在此参数中指定了私有网络IP表示每个实例的主网卡IP而且InstanceCount参数必须与私有网络IP的个数一致。
VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud,omitempty" name:"VirtualPrivateCloud"`
// 公网带宽相关信息设置。若不指定该参数则默认公网带宽为0Mbps。
@ -3402,7 +3426,7 @@ type RunInstancesRequest struct {
// 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。
EnhancedService *EnhancedService `json:"EnhancedService,omitempty" name:"EnhancedService"`
// 用于保证请求幂等性的字符串。该字符串由客户生成需保证不同请求之间唯一最大值不超过64个ASCII字符。若不指定该参数则无法保证请求的幂等性。<br>更多详细信息请参阅:如何保证幂等性。
// 用于保证请求幂等性的字符串。该字符串由客户生成需保证不同请求之间唯一最大值不超过64个ASCII字符。若不指定该参数则无法保证请求的幂等性。
ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
// 云服务器的主机名。<br><li>点号(.)和短横线(-)不能作为 HostName 的首尾字符,不能连续使用。<br><li>Windows 实例:名字符长度为[2, 15],允许字母(不限制大小写)、数字和短横线(-)组成,不支持点号(.),不能全是数字。<br><li>其他类型Linux 等)实例:字符长度为[2, 60],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。
@ -3414,7 +3438,7 @@ type RunInstancesRequest struct {
// 置放群组id仅支持指定一个。
DisasterRecoverGroupIds []*string `json:"DisasterRecoverGroupIds,omitempty" name:"DisasterRecoverGroupIds" list`
// 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云主机实例。
// 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云服务器实例。
TagSpecification []*TagSpecification `json:"TagSpecification,omitempty" name:"TagSpecification" list`
// 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。
@ -3602,7 +3626,7 @@ type StorageBlock struct {
type SyncImagesRequest struct {
*tchttp.BaseRequest
// 镜像ID列表 镜像ID可以通过如下方式获取<br><li>通过[DescribeImages](https://cloud.tencent.com/document/api/213/15715)接口返回的`ImageId`获取。<br><li>通过[镜像控制台](https://console.cloud.tencent.com/cvm/image)获取。<br>镜像ID必须满足限制<br><li>镜像ID对应的镜像状态必须为`NORMAL`。<br><li>镜像大小小于50GB。<br>镜像状态请参考[镜像数据表](/document/api/213/9452#image_state)。
// 镜像ID列表 镜像ID可以通过如下方式获取<br><li>通过[DescribeImages](https://cloud.tencent.com/document/api/213/15715)接口返回的`ImageId`获取。<br><li>通过[镜像控制台](https://console.cloud.tencent.com/cvm/image)获取。<br>镜像ID必须满足限制<br><li>镜像ID对应的镜像状态必须为`NORMAL`。<br><li>镜像大小小于50GB。<br>镜像状态请参考[镜像数据表](https://cloud.tencent.com/document/product/213/15753#Image)。
ImageIds []*string `json:"ImageIds,omitempty" name:"ImageIds" list`
// 目的同步地域列表;必须满足限制:<br><li>不能为源地域,<br><li>必须是一个合法的Region。<br><li>暂不支持部分地域同步。<br>具体地域参数请参考[Region](https://cloud.tencent.com/document/product/213/6091)。
@ -3638,7 +3662,7 @@ func (r *SyncImagesResponse) FromJsonString(s string) error {
type SystemDisk struct {
// 系统盘类型。系统盘类型限制详见[CVM实例配置](/document/product/213/2177)。取值范围:<br><li>LOCAL_BASIC本地硬盘<br><li>LOCAL_SSD本地SSD硬盘<br><li>CLOUD_BASIC普通云硬盘<br><li>CLOUD_SSDSSD云硬盘<br><li>CLOUD_PREMIUM高性能云硬盘<br><br>默认取值CLOUD_BASIC。
// 系统盘类型。系统盘类型限制详见[实例规格](/document/product/213/2177)。取值范围:<br><li>LOCAL_BASIC本地硬盘<br><li>LOCAL_SSD本地SSD硬盘<br><li>CLOUD_BASIC普通云硬盘<br><li>CLOUD_SSDSSD云硬盘<br><li>CLOUD_PREMIUM高性能云硬盘<br><br>默认取值CLOUD_BASIC。
DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
// 系统盘ID。LOCAL_BASIC 和 LOCAL_SSD 类型没有ID。暂时不支持该参数。
@ -3713,6 +3737,9 @@ type VirtualPrivateCloud struct {
// 私有网络子网 IP 数组在创建实例、修改实例vpc属性操作中可使用此参数。当前仅批量创建多台实例时支持传入相同子网的多个 IP。
PrivateIpAddresses []*string `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list`
// 为弹性网卡指定随机生成的 IPv6 地址数量。
Ipv6AddressCount *uint64 `json:"Ipv6AddressCount,omitempty" name:"Ipv6AddressCount"`
}
type ZoneInfo struct {

View File

@ -148,6 +148,31 @@ func (c *Client) AllocateAddresses(request *AllocateAddressesRequest) (response
return
}
func NewAllocateIp6AddressesBandwidthRequest() (request *AllocateIp6AddressesBandwidthRequest) {
request = &AllocateIp6AddressesBandwidthRequest{
BaseRequest: &tchttp.BaseRequest{},
}
request.Init().WithApiInfo("vpc", APIVersion, "AllocateIp6AddressesBandwidth")
return
}
func NewAllocateIp6AddressesBandwidthResponse() (response *AllocateIp6AddressesBandwidthResponse) {
response = &AllocateIp6AddressesBandwidthResponse{
BaseResponse: &tchttp.BaseResponse{},
}
return
}
// 该接口用于给IPv6地址初次分配公网带宽
func (c *Client) AllocateIp6AddressesBandwidth(request *AllocateIp6AddressesBandwidthRequest) (response *AllocateIp6AddressesBandwidthResponse, err error) {
if request == nil {
request = NewAllocateIp6AddressesBandwidthRequest()
}
response = NewAllocateIp6AddressesBandwidthResponse()
err = c.Send(request, response)
return
}
func NewAssignIpv6AddressesRequest() (request *AssignIpv6AddressesRequest) {
request = &AssignIpv6AddressesRequest{
BaseRequest: &tchttp.BaseRequest{},
@ -194,7 +219,7 @@ func NewAssignIpv6CidrBlockResponse() (response *AssignIpv6CidrBlockResponse) {
}
// 本接口AssignIpv6CidrBlock用于分配IPv6网段。
// * 使用本接口前,需要已有VPC实例如果没有可通过接口<a href="https://cloud.tencent.com/document/api/215/15774" title="CreateVpc" target="_blank">CreateVpc</a>创建。
// * 使用本接口前,需要已有VPC实例如果没有可通过接口<a href="https://cloud.tencent.com/document/api/215/15774" title="CreateVpc" target="_blank">CreateVpc</a>创建。
// * 每个VPC只能申请一个IPv6网段
func (c *Client) AssignIpv6CidrBlock(request *AssignIpv6CidrBlockRequest) (response *AssignIpv6CidrBlockResponse, err error) {
if request == nil {
@ -359,7 +384,7 @@ func NewAttachClassicLinkVpcResponse() (response *AttachClassicLinkVpcResponse)
// 本接口(AttachClassicLinkVpc)用于创建私有网络和基础网络设备互通。
// * 私有网络和基础网络设备必须在同一个地域。
// * 私有网络和基础网络的区别详见vpc产品文档-<a href="https://cloud.tencent.com/document/product/215/535#2.-.E7.A7.81.E6.9C.89.E7.BD.91.E7.BB.9C.E4.B8.8E.E5.9F.BA.E7.A1.80.E7.BD.91.E7.BB.9C">私有网络与基础网络</a>。
// * 私有网络和基础网络的区别详见vpc产品文档-<a href="https://cloud.tencent.com/document/product/215/30720">私有网络与基础网络</a>。
func (c *Client) AttachClassicLinkVpc(request *AttachClassicLinkVpcRequest) (response *AttachClassicLinkVpcResponse, err error) {
if request == nil {
request = NewAttachClassicLinkVpcRequest()
@ -385,9 +410,9 @@ func NewAttachNetworkInterfaceResponse() (response *AttachNetworkInterfaceRespon
}
// 本接口AttachNetworkInterface用于弹性网卡绑定云主机。
// * 一个云主机可以绑定多个弹性网卡,但只能绑定一个主网卡。更多限制信息详见<a href="https://cloud.tencent.com/document/product/215/6513">弹性网卡使用限制</a>。
// * 一个云主机可以绑定多个弹性网卡,但只能绑定一个主网卡。更多限制信息详见<a href="https://cloud.tencent.com/document/product/576/18527">弹性网卡使用限制</a>。
// * 一个弹性网卡只能同时绑定一个云主机。
// * 只有运行中或者已关机状态的云主机才能绑定弹性网卡,查看云主机状态详见<a href="https://cloud.tencent.com/document/api/213/9452#instance_state">腾讯云主机信息</a>。
// * 只有运行中或者已关机状态的云主机才能绑定弹性网卡,查看云主机状态详见<a href="https://cloud.tencent.com/document/api/213/9452#InstanceStatus">腾讯云主机信息</a>。
// * 弹性网卡绑定的云主机必须是私有网络的,而且云主机所在可用区必须和弹性网卡子网的可用区相同。
func (c *Client) AttachNetworkInterface(request *AttachNetworkInterfaceRequest) (response *AttachNetworkInterfaceResponse, err error) {
if request == nil {
@ -566,13 +591,13 @@ func NewCreateDefaultVpcResponse() (response *CreateDefaultVpcResponse) {
// 本接口CreateDefaultVpc用于创建默认私有网络(VPC
//
// 默认VPC适用于快速入门和启动公共实例您可以像使用任何其他VPC一样使用默认VPC。如果想创建标准VPC即指定VPC名称、VPC网段、子网网段、子网可用区请使用常规创建VPC接口CreateVpc
// 默认VPC适用于快速入门和启动公共实例您可以像使用任何其他VPC一样使用默认VPC。如果想创建标准VPC即指定VPC名称、VPC网段、子网网段、子网可用区请使用常规创建VPC接口CreateVpc
//
// 正常情况本接口并不一定生产默认VPC而是根据用户账号的网络属性DescribeAccountAttributes来决定的
// * 支持基础网络、VPC返回VpcId为0
// * 只支持VPC返回默认VPC信息
//
// 也可以通过 Force 参数强制返回默认VPC
// 也可以通过 Force 参数强制返回默认VPC
func (c *Client) CreateDefaultVpc(request *CreateDefaultVpcRequest) (response *CreateDefaultVpcResponse, err error) {
if request == nil {
request = NewCreateDefaultVpcRequest()
@ -698,7 +723,7 @@ func NewCreateIp6TranslatorsResponse() (response *CreateIp6TranslatorsResponse)
}
// 1. 该接口用于创建IPV6转换IPV4实例支持批量
// 2. 同一个账户在一个地域最多允许创建10个转换实例
// 2. 同一个账户在一个地域最多允许创建10个转换实例
func (c *Client) CreateIp6Translators(request *CreateIp6TranslatorsRequest) (response *CreateIp6TranslatorsResponse, err error) {
if request == nil {
request = NewCreateIp6TranslatorsRequest()
@ -803,6 +828,7 @@ func NewCreateNetworkInterfaceResponse() (response *CreateNetworkInterfaceRespon
// * 创建弹性网卡时可以指定需要申请的内网IP数量系统会随机生成内网IP地址。
// * 一个弹性网卡支持绑定的IP地址是有限制的更多资源限制信息详见<a href="/document/product/576/18527">弹性网卡使用限制</a>。
// * 创建弹性网卡同时可以绑定已有安全组。
// * 创建弹性网卡同时可以绑定标签, 应答里的标签列表代表添加成功的标签。
func (c *Client) CreateNetworkInterface(request *CreateNetworkInterfaceRequest) (response *CreateNetworkInterfaceResponse, err error) {
if request == nil {
request = NewCreateNetworkInterfaceRequest()
@ -880,7 +906,7 @@ func NewCreateSecurityGroupResponse() (response *CreateSecurityGroupResponse) {
}
// 本接口CreateSecurityGroup用于创建新的安全组SecurityGroup
// * 每个账户下每个地域的每个项目的<a href="https://cloud.tencent.com/document/product/213/500#2.-.E5.AE.89.E5.85.A8.E7.BB.84.E7.9A.84.E9.99.90.E5.88.B6">安全组数量限制</a>。
// * 每个账户下每个地域的每个项目的<a href="https://cloud.tencent.com/document/product/213/12453">安全组数量限制</a>。
// * 新建的安全组的入站和出站规则默认都是全部拒绝在创建后通常您需要再调用CreateSecurityGroupPolicies将安全组的规则设置为需要的规则。
func (c *Client) CreateSecurityGroup(request *CreateSecurityGroupRequest) (response *CreateSecurityGroupResponse, err error) {
if request == nil {
@ -908,13 +934,14 @@ func NewCreateSecurityGroupPoliciesResponse() (response *CreateSecurityGroupPoli
// 本接口CreateSecurityGroupPolicies用于创建安全组规则SecurityGroupPolicy
//
// * Version安全组规则版本号用户每次更新安全规则版本会自动加1防止更新的路由规则已过期,不填不考虑冲突。
// * Protocol字段支持输入TCP, UDP, ICMP, GRE, ALL。
// * Version安全组规则版本号用户每次更新安全规则版本会自动加1防止更新的路由规则已过期,不填不考虑冲突。
// * Protocol字段支持输入TCP, UDP, ICMP, ICMPV6, GRE, ALL。
// * CidrBlock字段允许输入符合cidr格式标准的任意字符串。(展开)在基础网络中如果CidrBlock包含您的账户内的云服务器之外的设备在腾讯云的内网IP并不代表此规则允许您访问这些设备租户之间网络隔离规则优先于安全组中的内网规则。
// * Ipv6CidrBlock字段允许输入符合IPv6 cidr格式标准的任意字符串。(展开)在基础网络中如果Ipv6CidrBlock包含您的账户内的云服务器之外的设备在腾讯云的内网IPv6并不代表此规则允许您访问这些设备租户之间网络隔离规则优先于安全组中的内网规则。
// * SecurityGroupId字段允许输入与待修改的安全组位于相同项目中的安全组ID包括这个安全组ID本身代表安全组下所有云服务器的内网IP。使用这个字段时这条规则用来匹配网络报文的过程中会随着被使用的这个ID所关联的云服务器变化而变化不需要重新修改。
// * Port字段允许输入一个单独端口号或者用减号分隔的两个端口号代表端口范围例如80或8000-8010。只有当Protocol字段是TCP或UDP时Port字段才被接受即Protocol字段不是TCP或UDP时Protocol和Port排他关系不允许同时输入否则会接口报错。
// * Action字段只允许输入ACCEPT或DROP。
// * CidrBlock, SecurityGroupId, AddressTemplate三者是排他关系不允许同时输入Protocol + Port和ServiceTemplate二者是排他关系不允许同时输入。
// * CidrBlock, Ipv6CidrBlock, SecurityGroupId, AddressTemplate四者是排他关系不允许同时输入Protocol + Port和ServiceTemplate二者是排他关系不允许同时输入。
// * 一次请求中只能创建单个方向的规则, 如果需要指定索引PolicyIndex参数, 多条规则的索引必须一致。
func (c *Client) CreateSecurityGroupPolicies(request *CreateSecurityGroupPoliciesRequest) (response *CreateSecurityGroupPoliciesResponse, err error) {
if request == nil {
@ -993,7 +1020,7 @@ func NewCreateSubnetResponse() (response *CreateSubnetResponse) {
// 本接口(CreateSubnet)用于创建子网。
// * 创建子网前必须创建好 VPC。
// * 子网创建成功后子网网段不能修改。子网网段必须在VPC网段内可以和VPC网段相同VPC有且只有一个子网时建议子网网段在VPC网段内预留网段给其他子网使用。
// * 可以创建的最小网段子网掩码为28有16个IP地址最大网段子网掩码为1665,536个IP地址
// * 可以创建的最小网段子网掩码为28有16个IP地址最大网段子网掩码为1665,536个IP地址
// * 同一个VPC内多个子网的网段不能重叠。
// * 子网创建后会自动关联到默认路由表。
func (c *Client) CreateSubnet(request *CreateSubnetRequest) (response *CreateSubnetResponse, err error) {
@ -1023,7 +1050,7 @@ func NewCreateSubnetsResponse() (response *CreateSubnetsResponse) {
// 本接口(CreateSubnets)用于批量创建子网。
// * 创建子网前必须创建好 VPC。
// * 子网创建成功后子网网段不能修改。子网网段必须在VPC网段内可以和VPC网段相同VPC有且只有一个子网时建议子网网段在VPC网段内预留网段给其他子网使用。
// * 可以创建的最小网段子网掩码为28有16个IP地址最大网段子网掩码为1665,536个IP地址
// * 可以创建的最小网段子网掩码为28有16个IP地址最大网段子网掩码为1665,536个IP地址
// * 同一个VPC内多个子网的网段不能重叠。
// * 子网创建后会自动关联到默认路由表。
func (c *Client) CreateSubnets(request *CreateSubnetsRequest) (response *CreateSubnetsResponse, err error) {
@ -1461,7 +1488,7 @@ func NewDeleteNetworkInterfaceResponse() (response *DeleteNetworkInterfaceRespon
}
// 本接口DeleteNetworkInterface用于删除弹性网卡。
// * 弹性网卡上绑定了云主机时,不能被删除。
// * 弹性网卡上绑定了云服务器时,不能被删除。
// * 删除指定弹性网卡弹性网卡必须先和子机解绑才能删除。删除之后弹性网卡上所有内网IP都将被退还。
func (c *Client) DeleteNetworkInterface(request *DeleteNetworkInterfaceRequest) (response *DeleteNetworkInterfaceResponse, err error) {
if request == nil {
@ -1642,7 +1669,7 @@ func NewDeleteSubnetResponse() (response *DeleteSubnetResponse) {
}
// 本接口DeleteSubnet用于用于删除子网(Subnet)。
// * 删除子网前,请清理该子网下所有资源,包括云主机、负载均衡、云数据、noSql、弹性网卡等资源。
// * 删除子网前,请清理该子网下所有资源,包括云服务器、负载均衡、云数据、noSql、弹性网卡等资源。
func (c *Client) DeleteSubnet(request *DeleteSubnetRequest) (response *DeleteSubnetResponse, err error) {
if request == nil {
request = NewDeleteSubnetRequest()
@ -1668,7 +1695,7 @@ func NewDeleteVpcResponse() (response *DeleteVpcResponse) {
}
// 本接口DeleteVpc用于删除私有网络。
// * 删除前请确保 VPC 内已经没有相关资源,例如云主机、云数据库、NoSQL、VPN网关、专线网关、负载均衡、对等连接、与之互通的基础网络设备等。
// * 删除前请确保 VPC 内已经没有相关资源,例如云服务器、云数据库、NoSQL、VPN网关、专线网关、负载均衡、对等连接、与之互通的基础网络设备等。
// * 删除私有网络是不可逆的操作,请谨慎处理。
func (c *Client) DeleteVpc(request *DeleteVpcRequest) (response *DeleteVpcResponse, err error) {
if request == nil {
@ -2232,6 +2259,31 @@ func (c *Client) DescribeHaVips(request *DescribeHaVipsRequest) (response *Descr
return
}
func NewDescribeIp6AddressesRequest() (request *DescribeIp6AddressesRequest) {
request = &DescribeIp6AddressesRequest{
BaseRequest: &tchttp.BaseRequest{},
}
request.Init().WithApiInfo("vpc", APIVersion, "DescribeIp6Addresses")
return
}
func NewDescribeIp6AddressesResponse() (response *DescribeIp6AddressesResponse) {
response = &DescribeIp6AddressesResponse{
BaseResponse: &tchttp.BaseResponse{},
}
return
}
// 该接口用于查询IPV6地址信息
func (c *Client) DescribeIp6Addresses(request *DescribeIp6AddressesRequest) (response *DescribeIp6AddressesResponse, err error) {
if request == nil {
request = NewDescribeIp6AddressesRequest()
}
response = NewDescribeIp6AddressesResponse()
err = c.Send(request, response)
return
}
func NewDescribeIp6TranslatorQuotaRequest() (request *DescribeIp6TranslatorQuotaRequest) {
request = &DescribeIp6TranslatorQuotaRequest{
BaseRequest: &tchttp.BaseRequest{},
@ -2398,7 +2450,7 @@ func NewDescribeNetworkInterfaceLimitResponse() (response *DescribeNetworkInterf
return
}
// 本接口DescribeNetworkInterfaceLimit根据CVM实例ID查询弹性网卡配额返回该CVM实例能绑定的弹性网卡配额以及每个弹性网卡可以分配的ip配额
// 本接口DescribeNetworkInterfaceLimit根据CVM实例ID查询弹性网卡配额返回该CVM实例能绑定的弹性网卡配额以及每个弹性网卡可以分配的IP配额
func (c *Client) DescribeNetworkInterfaceLimit(request *DescribeNetworkInterfaceLimitRequest) (response *DescribeNetworkInterfaceLimitResponse, err error) {
if request == nil {
request = NewDescribeNetworkInterfaceLimitRequest()
@ -3372,6 +3424,31 @@ func (c *Client) ModifyCcnAttribute(request *ModifyCcnAttributeRequest) (respons
return
}
func NewModifyCcnRegionBandwidthLimitsTypeRequest() (request *ModifyCcnRegionBandwidthLimitsTypeRequest) {
request = &ModifyCcnRegionBandwidthLimitsTypeRequest{
BaseRequest: &tchttp.BaseRequest{},
}
request.Init().WithApiInfo("vpc", APIVersion, "ModifyCcnRegionBandwidthLimitsType")
return
}
func NewModifyCcnRegionBandwidthLimitsTypeResponse() (response *ModifyCcnRegionBandwidthLimitsTypeResponse) {
response = &ModifyCcnRegionBandwidthLimitsTypeResponse{
BaseResponse: &tchttp.BaseResponse{},
}
return
}
// 本接口ModifyCcnRegionBandwidthLimitsType用于修改后付费云联网实例修改带宽限速策略。
func (c *Client) ModifyCcnRegionBandwidthLimitsType(request *ModifyCcnRegionBandwidthLimitsTypeRequest) (response *ModifyCcnRegionBandwidthLimitsTypeResponse, err error) {
if request == nil {
request = NewModifyCcnRegionBandwidthLimitsTypeRequest()
}
response = NewModifyCcnRegionBandwidthLimitsTypeResponse()
err = c.Send(request, response)
return
}
func NewModifyCustomerGatewayAttributeRequest() (request *ModifyCustomerGatewayAttributeRequest) {
request = &ModifyCustomerGatewayAttributeRequest{
BaseRequest: &tchttp.BaseRequest{},
@ -3472,6 +3549,31 @@ func (c *Client) ModifyHaVipAttribute(request *ModifyHaVipAttributeRequest) (res
return
}
func NewModifyIp6AddressesBandwidthRequest() (request *ModifyIp6AddressesBandwidthRequest) {
request = &ModifyIp6AddressesBandwidthRequest{
BaseRequest: &tchttp.BaseRequest{},
}
request.Init().WithApiInfo("vpc", APIVersion, "ModifyIp6AddressesBandwidth")
return
}
func NewModifyIp6AddressesBandwidthResponse() (response *ModifyIp6AddressesBandwidthResponse) {
response = &ModifyIp6AddressesBandwidthResponse{
BaseResponse: &tchttp.BaseResponse{},
}
return
}
// 该接口用于修改IPV6地址访问internet的带宽
func (c *Client) ModifyIp6AddressesBandwidth(request *ModifyIp6AddressesBandwidthRequest) (response *ModifyIp6AddressesBandwidthResponse, err error) {
if request == nil {
request = NewModifyIp6AddressesBandwidthRequest()
}
response = NewModifyIp6AddressesBandwidthResponse()
err = c.Send(request, response)
return
}
func NewModifyIp6RuleRequest() (request *ModifyIp6RuleRequest) {
request = &ModifyIp6RuleRequest{
BaseRequest: &tchttp.BaseRequest{},
@ -3741,12 +3843,13 @@ func NewModifySecurityGroupPoliciesResponse() (response *ModifySecurityGroupPoli
//
// * 接口是先删除当前所有的出入站规则,然后再添加 Egress 和 Ingress 规则,不支持自定义索引 PolicyIndex 。
// * 如果指定 SecurityGroupPolicySet.Version 为0, 表示清空所有规则并忽略Egress和Ingress。
// * Protocol字段支持输入TCP, UDP, ICMP, GRE, ALL。
// * Protocol字段支持输入TCP, UDP, ICMP, ICMPV6, GRE, ALL。
// * CidrBlock字段允许输入符合cidr格式标准的任意字符串。(展开)在基础网络中如果CidrBlock包含您的账户内的云服务器之外的设备在腾讯云的内网IP并不代表此规则允许您访问这些设备租户之间网络隔离规则优先于安全组中的内网规则。
// * Ipv6CidrBlock字段允许输入符合IPv6 cidr格式标准的任意字符串。(展开)在基础网络中如果Ipv6CidrBlock包含您的账户内的云服务器之外的设备在腾讯云的内网IPv6并不代表此规则允许您访问这些设备租户之间网络隔离规则优先于安全组中的内网规则。
// * SecurityGroupId字段允许输入与待修改的安全组位于相同项目中的安全组ID包括这个安全组ID本身代表安全组下所有云服务器的内网IP。使用这个字段时这条规则用来匹配网络报文的过程中会随着被使用的这个ID所关联的云服务器变化而变化不需要重新修改。
// * Port字段允许输入一个单独端口号或者用减号分隔的两个端口号代表端口范围例如80或8000-8010。只有当Protocol字段是TCP或UDP时Port字段才被接受。
// * Action字段只允许输入ACCEPT或DROP。
// * CidrBlock, SecurityGroupId, AddressTemplate三者是排他关系不允许同时输入Protocol + Port和ServiceTemplate二者是排他关系不允许同时输入。
// * CidrBlock, Ipv6CidrBlock, SecurityGroupId, AddressTemplate四者是排他关系不允许同时输入Protocol + Port和ServiceTemplate二者是排他关系不允许同时输入。
func (c *Client) ModifySecurityGroupPolicies(request *ModifySecurityGroupPoliciesRequest) (response *ModifySecurityGroupPoliciesResponse, err error) {
if request == nil {
request = NewModifySecurityGroupPoliciesRequest()
@ -3958,6 +4061,31 @@ func (c *Client) ReleaseAddresses(request *ReleaseAddressesRequest) (response *R
return
}
func NewReleaseIp6AddressesBandwidthRequest() (request *ReleaseIp6AddressesBandwidthRequest) {
request = &ReleaseIp6AddressesBandwidthRequest{
BaseRequest: &tchttp.BaseRequest{},
}
request.Init().WithApiInfo("vpc", APIVersion, "ReleaseIp6AddressesBandwidth")
return
}
func NewReleaseIp6AddressesBandwidthResponse() (response *ReleaseIp6AddressesBandwidthResponse) {
response = &ReleaseIp6AddressesBandwidthResponse{
BaseResponse: &tchttp.BaseResponse{},
}
return
}
// 该接口用于给弹性公网IPv6地址释放带宽。
func (c *Client) ReleaseIp6AddressesBandwidth(request *ReleaseIp6AddressesBandwidthRequest) (response *ReleaseIp6AddressesBandwidthResponse, err error) {
if request == nil {
request = NewReleaseIp6AddressesBandwidthRequest()
}
response = NewReleaseIp6AddressesBandwidthResponse()
err = c.Send(request, response)
return
}
func NewRemoveBandwidthPackageResourcesRequest() (request *RemoveBandwidthPackageResourcesRequest) {
request = &RemoveBandwidthPackageResourcesRequest{
BaseRequest: &tchttp.BaseRequest{},

View File

@ -69,17 +69,20 @@ type AccountAttribute struct {
type AddBandwidthPackageResourcesRequest struct {
*tchttp.BaseRequest
// 资源Id,形如'eip-xxxx', 'lb-xxxx'
// 资源唯一ID当前支持EIP资源和LB资源,形如'eip-xxxx', 'lb-xxxx'
ResourceIds []*string `json:"ResourceIds,omitempty" name:"ResourceIds" list`
// 带宽包唯一标识ID形如'bwp-xxxx'
BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"`
// 带宽包类型,包括'BGP', 'SINGLEISP', 'ANYCAST'
// 带宽包类型,当前支持'BGP'类型表示内部资源是BGP IP。
NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"`
// 资源类型,包括'Address', 'LoadBalance'
ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"`
// 带宽包协议类型。当前支持'ipv4'和'ipv6'协议类型。
Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
}
func (r *AddBandwidthPackageResourcesRequest) ToJsonString() string {
@ -264,9 +267,10 @@ type AllocateAddressesRequest struct {
AddressType *string `json:"AddressType,omitempty" name:"AddressType"`
// Anycast发布域。
// <ul style="margin:0"><li>已开通Anycast公网加速白名单的用户可选值<ul><li>ANYCAST_ZONE_GLOBAL全球发布域需要额外开通Anycast全球加速白名单</li><li>ANYCAST_ZONE_OVERSEAS境外发布域</li></ul>默认值ANYCAST_ZONE_OVERSEAS。</li></ul>
// <ul style="margin:0"><li>已开通Anycast公网加速白名单的用户可选值<ul><li>ANYCAST_ZONE_GLOBAL全球发布域需要额外开通Anycast全球加速白名单</li><li>ANYCAST_ZONE_OVERSEAS境外发布域</li><li><b>[已废弃]</b> ANYCAST_ZONE_A发布域A已更新为全球发布域</li><li><b>[已废弃]</b> ANYCAST_ZONE_B发布域B已更新为全球发布域</li></ul>默认值ANYCAST_ZONE_OVERSEAS。</li></ul>
AnycastZone *string `json:"AnycastZone,omitempty" name:"AnycastZone"`
// <b>[已废弃]</b> AnycastEIP不再区分是否负载均衡。原参数说明如下
// AnycastEIP是否用于绑定负载均衡。
// <ul style="margin:0"><li>已开通Anycast公网加速白名单的用户可选值<ul><li>TRUEAnycastEIP可绑定对象为负载均衡</li>
// <li>FALSEAnycastEIP可绑定对象为云服务器、NAT网关、高可用虚拟IP等</li></ul>默认值FALSE。</li></ul>
@ -306,6 +310,52 @@ func (r *AllocateAddressesResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type AllocateIp6AddressesBandwidthRequest struct {
*tchttp.BaseRequest
// 需要开通公网访问能力的IPV6地址
Ip6Addresses []*string `json:"Ip6Addresses,omitempty" name:"Ip6Addresses" list`
// 带宽单位Mbps。默认是1Mbps
InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"`
// 网络计费模式。IPV6当前支持"TRAFFIC_POSTPAID_BY_HOUR",默认是"TRAFFIC_POSTPAID_BY_HOUR"。
InternetChargeType *string `json:"InternetChargeType,omitempty" name:"InternetChargeType"`
}
func (r *AllocateIp6AddressesBandwidthRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *AllocateIp6AddressesBandwidthRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type AllocateIp6AddressesBandwidthResponse struct {
*tchttp.BaseResponse
Response *struct {
// 弹性公网 IPV6 的唯一 ID 列表。
AddressSet []*string `json:"AddressSet,omitempty" name:"AddressSet" list`
// 异步任务TaskId。可以使用[DescribeTaskResult](https://cloud.tencent.com/document/api/215/36271)接口查询任务状态。
TaskId *string `json:"TaskId,omitempty" name:"TaskId"`
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
func (r *AllocateIp6AddressesBandwidthResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *AllocateIp6AddressesBandwidthResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type AssignIpv6AddressesRequest struct {
*tchttp.BaseRequest
@ -867,7 +917,7 @@ type CheckNetDetectStateRequest struct {
// DIRECTCONNECT专线网关
// PEERCONNECTION对等连接
// NATNAT网关
// NORMAL_CVM普通云主机
// NORMAL_CVM普通云服务器
NextHopType *string `json:"NextHopType,omitempty" name:"NextHopType"`
// 下一跳目的网关,取值与“下一跳类型”相关:
@ -875,7 +925,7 @@ type CheckNetDetectStateRequest struct {
// 下一跳类型为DIRECTCONNECT取值专线网关ID形如dcg-12345678
// 下一跳类型为PEERCONNECTION取值对等连接ID形如pcx-12345678
// 下一跳类型为NAT取值Nat网关形如nat-12345678
// 下一跳类型为NORMAL_CVM取值云主机IPv4地址形如10.0.0.12
// 下一跳类型为NORMAL_CVM取值云服务器IPv4地址形如10.0.0.12
NextHopDestination *string `json:"NextHopDestination,omitempty" name:"NextHopDestination"`
// 网络探测实例ID。形如netd-12345678。
@ -1027,6 +1077,12 @@ type CreateBandwidthPackageRequest struct {
// 带宽包限速大小。单位Mbps-1表示不限速。
InternetMaxBandwidth *int64 `json:"InternetMaxBandwidth,omitempty" name:"InternetMaxBandwidth"`
// 需要关联的标签列表。
Tags []*Tag `json:"Tags,omitempty" name:"Tags" list`
// 带宽包协议类型。当前支持'ipv4'和'ipv6'协议带宽包,默认值是'ipv4'。
Protocol *string `json:"Protocol,omitempty" name:"Protocol"`
}
func (r *CreateBandwidthPackageRequest) ToJsonString() string {
@ -1042,10 +1098,10 @@ type CreateBandwidthPackageResponse struct {
*tchttp.BaseResponse
Response *struct {
// 带宽包Id
// 带宽包唯一ID
BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"`
// 带宽包Ids(申请数量大于1时有效)
// 带宽包唯一ID列表(申请数量大于1时有效)
BandwidthPackageIds []*string `json:"BandwidthPackageIds,omitempty" name:"BandwidthPackageIds" list`
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@ -1538,7 +1594,7 @@ type CreateNetDetectRequest struct {
// DIRECTCONNECT专线网关
// PEERCONNECTION对等连接
// NATNAT网关
// NORMAL_CVM普通云主机
// NORMAL_CVM普通云服务器
NextHopType *string `json:"NextHopType,omitempty" name:"NextHopType"`
// 下一跳目的网关,取值与“下一跳类型”相关:
@ -1546,7 +1602,7 @@ type CreateNetDetectRequest struct {
// 下一跳类型为DIRECTCONNECT取值专线网关ID形如dcg-12345678
// 下一跳类型为PEERCONNECTION取值对等连接ID形如pcx-12345678
// 下一跳类型为NAT取值Nat网关形如nat-12345678
// 下一跳类型为NORMAL_CVM取值云主机IPv4地址形如10.0.0.12
// 下一跳类型为NORMAL_CVM取值云服务器IPv4地址形如10.0.0.12
NextHopDestination *string `json:"NextHopDestination,omitempty" name:"NextHopDestination"`
// 网络探测描述。
@ -1606,6 +1662,9 @@ type CreateNetworkInterfaceRequest struct {
// 指定的内网IP信息单次最多指定10个。
PrivateIpAddresses []*PrivateIpAddressSpecification `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list`
// 指定绑定的标签列表,例如:[{"Key": "city", "Value": "shanghai"}]
Tags []*Tag `json:"Tags,omitempty" name:"Tags" list`
}
func (r *CreateNetworkInterfaceRequest) ToJsonString() string {
@ -1767,7 +1826,7 @@ type CreateSecurityGroupRequest struct {
// 安全组备注最多100个字符。
GroupDescription *string `json:"GroupDescription,omitempty" name:"GroupDescription"`
// 项目id默认0。可在qcloud控制台项目管理页面查询到。
// 项目ID默认0。可在qcloud控制台项目管理页面查询到。
ProjectId *string `json:"ProjectId,omitempty" name:"ProjectId"`
}
@ -2233,7 +2292,7 @@ func (r *DeleteAddressTemplateResponse) FromJsonString(s string) error {
type DeleteBandwidthPackageRequest struct {
*tchttp.BaseRequest
// 待删除带宽包bwpId
// 待删除带宽包唯一ID
BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"`
}
@ -3234,7 +3293,7 @@ type DescribeBandwidthPackageQuotaResponse struct {
*tchttp.BaseResponse
Response *struct {
// 带宽包配额数据结构
// 带宽包配额详细信息
QuotaSet []*Quota `json:"QuotaSet,omitempty" name:"QuotaSet" list`
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@ -3254,7 +3313,7 @@ func (r *DescribeBandwidthPackageQuotaResponse) FromJsonString(s string) error {
type DescribeBandwidthPackagesRequest struct {
*tchttp.BaseRequest
// 带宽包Id支持批量
// 带宽包唯一ID列表
BandwidthPackageIds []*string `json:"BandwidthPackageIds,omitempty" name:"BandwidthPackageIds" list`
// 每次请求的`Filters`的上限为10。参数不支持同时指定`BandwidthPackageIds`和`Filters`。详细的过滤条件如下:
@ -3526,7 +3585,7 @@ type DescribeClassicLinkInstancesRequest struct {
// 过滤条件。
// <li>vpc-id - String - 过滤条件VPC实例ID。</li>
// <li>vm-ip - String - (过滤条件)基础网络云主机IP。</li>
// <li>vm-ip - String - (过滤条件)基础网络云服务器IP。</li>
Filters []*FilterObject `json:"Filters,omitempty" name:"Filters" list`
// 偏移量
@ -3840,6 +3899,11 @@ type DescribeFlowLogsRequest struct {
// 每页行数默认为10
Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
// 过滤条件参数不支持同时指定FlowLogIds和Filters。
// <li>tag-key - String -是否必填:否- (过滤条件)按照标签键进行过滤。</li>
// <li>tag:tag-key - String - 是否必填:否 - (过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。</li>
Filters *Filter `json:"Filters,omitempty" name:"Filters"`
}
func (r *DescribeFlowLogsRequest) ToJsonString() string {
@ -3993,6 +4057,57 @@ func (r *DescribeHaVipsResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type DescribeIp6AddressesRequest struct {
*tchttp.BaseRequest
// 标识 IPV6 的唯一 ID 列表。IPV6 唯一 ID 形如:`eip-11112222`。参数不支持同时指定`Ip6AddressIds`和`Filters`。
Ip6AddressIds []*string `json:"Ip6AddressIds,omitempty" name:"Ip6AddressIds" list`
// 每次请求的`Filters`的上限为10`Filter.Values`的上限为5。参数不支持同时指定`AddressIds`和`Filters`。详细的过滤条件如下:
// <li> address-ip - String - 是否必填:否 - (过滤条件)按照 EIP 的 IP 地址过滤。</li>
// <li> network-interface-id - String - 是否必填:否 - 过滤条件按照弹性网卡的唯一ID过滤。</li>
Filters []*Filter `json:"Filters,omitempty" name:"Filters" list`
// 偏移量默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/11646)中的相关小节。
Offset *int64 `json:"Offset,omitempty" name:"Offset"`
// 返回数量默认为20最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/11646)中的相关小节。
Limit *int64 `json:"Limit,omitempty" name:"Limit"`
}
func (r *DescribeIp6AddressesRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *DescribeIp6AddressesRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type DescribeIp6AddressesResponse struct {
*tchttp.BaseResponse
Response *struct {
// 符合条件的 IPV6 数量。
TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
// IPV6 详细信息列表。
AddressSet []*Address `json:"AddressSet,omitempty" name:"AddressSet" list`
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
func (r *DescribeIp6AddressesResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *DescribeIp6AddressesResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type DescribeIp6TranslatorQuotaRequest struct {
*tchttp.BaseRequest
@ -4014,7 +4129,7 @@ type DescribeIp6TranslatorQuotaResponse struct {
Response *struct {
// 账户在指定地域的IPV6转换实例及规则配额信息
// QUOTAID属性是TOTAL_TRANSLATOR_QUOTA表示账户在指定地域的IPV6转换实例配额信息QUOTAID属性是IPV6转换实例唯一ID形如ip6-xxxxxxxx表示账户在该转换实例允许创建的转换规则配额
// QUOTAID属性是TOTAL_TRANSLATOR_QUOTA表示账户在指定地域的IPV6转换实例配额信息QUOTAID属性是IPV6转换实例唯一ID形如ip6-xxxxxxxx表示账户在该转换实例允许创建的转换规则配额
QuotaSet []*Quota `json:"QuotaSet,omitempty" name:"QuotaSet" list`
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@ -4323,7 +4438,7 @@ type DescribeNetworkInterfaceLimitResponse struct {
// 弹性网卡配额
EniQuantity *int64 `json:"EniQuantity,omitempty" name:"EniQuantity"`
// 每个弹性网卡可以分配的ip配额
// 每个弹性网卡可以分配的IP配额
EniPrivateIpAddressQuantity *int64 `json:"EniPrivateIpAddressQuantity,omitempty" name:"EniPrivateIpAddressQuantity"`
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@ -4357,6 +4472,7 @@ type DescribeNetworkInterfacesRequest struct {
// <li>address-ip - String - 过滤条件内网IPv4地址。</li>
// <li>tag-key - String -是否必填:否- 过滤条件按照标签键进行过滤。使用请参考示例2</li>
// <li>tag:tag-key - String - 是否必填:否 - (过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。使用请参考示例3。</li>
// <li>is-primary - Boolean - 是否必填:否 - 过滤条件按照是否主网卡进行过滤。值为true时仅过滤主网卡值为false时仅过滤辅助网卡次过滤参数为提供时同时过滤主网卡和辅助网卡。</li>
Filters []*Filter `json:"Filters,omitempty" name:"Filters" list`
// 偏移量默认为0。
@ -4576,7 +4692,7 @@ type DescribeSecurityGroupsRequest struct {
// 过滤条件参数不支持同时指定SecurityGroupIds和Filters。
// <li>security-group-id - String - 过滤条件安全组ID。</li>
// <li>project-id - Integer - (过滤条件)项目id。</li>
// <li>project-id - Integer - (过滤条件)项目ID。</li>
// <li>security-group-name - String - (过滤条件)安全组名称。</li>
// <li>tag-key - String -是否必填:否- 过滤条件按照标签键进行过滤。使用请参考示例2。</li>
// <li>tag:tag-key - String - 是否必填:否 - (过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。使用请参考示例3。</li>
@ -5638,6 +5754,9 @@ type HaVip struct {
// 创建时间。
CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"`
// 使用havip的业务标识。
Business *string `json:"Business,omitempty" name:"Business"`
}
type HaVipAssociateAddressIpRequest struct {
@ -6233,7 +6352,7 @@ func (r *ModifyAddressTemplateGroupAttributeResponse) FromJsonString(s string) e
type ModifyAddressesBandwidthRequest struct {
*tchttp.BaseRequest
// EIP唯一标识id,形如'eip-xxxx'
// EIP唯一标识ID,形如'eip-xxxx'
AddressIds []*string `json:"AddressIds,omitempty" name:"AddressIds" list`
// 调整带宽目标值
@ -6284,6 +6403,9 @@ type ModifyBandwidthPackageAttributeRequest struct {
// 带宽包名称
BandwidthPackageName *string `json:"BandwidthPackageName,omitempty" name:"BandwidthPackageName"`
// 带宽包计费模式
ChargeType *string `json:"ChargeType,omitempty" name:"ChargeType"`
}
func (r *ModifyBandwidthPackageAttributeRequest) ToJsonString() string {
@ -6353,6 +6475,43 @@ func (r *ModifyCcnAttributeResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type ModifyCcnRegionBandwidthLimitsTypeRequest struct {
*tchttp.BaseRequest
// 云联网实例ID。
CcnId *string `json:"CcnId,omitempty" name:"CcnId"`
// 云联网限速类型INTER_REGION_LIMIT地域间限速OUTER_REGION_LIMIT地域出口限速。
BandwidthLimitType *string `json:"BandwidthLimitType,omitempty" name:"BandwidthLimitType"`
}
func (r *ModifyCcnRegionBandwidthLimitsTypeRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *ModifyCcnRegionBandwidthLimitsTypeRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type ModifyCcnRegionBandwidthLimitsTypeResponse struct {
*tchttp.BaseResponse
Response *struct {
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
func (r *ModifyCcnRegionBandwidthLimitsTypeResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *ModifyCcnRegionBandwidthLimitsTypeResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type ModifyCustomerGatewayAttributeRequest struct {
*tchttp.BaseRequest
@ -6510,6 +6669,46 @@ func (r *ModifyHaVipAttributeResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type ModifyIp6AddressesBandwidthRequest struct {
*tchttp.BaseRequest
// 修改的目标带宽单位Mbps
InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"`
// IPV6地址。Ip6Addresses和Ip6AddressId必须且只能传一个
Ip6Addresses []*string `json:"Ip6Addresses,omitempty" name:"Ip6Addresses" list`
// IPV6地址对应的唯一ID形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressId必须且只能传一个
Ip6AddressIds []*string `json:"Ip6AddressIds,omitempty" name:"Ip6AddressIds" list`
}
func (r *ModifyIp6AddressesBandwidthRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *ModifyIp6AddressesBandwidthRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type ModifyIp6AddressesBandwidthResponse struct {
*tchttp.BaseResponse
Response *struct {
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
func (r *ModifyIp6AddressesBandwidthResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *ModifyIp6AddressesBandwidthResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type ModifyIp6RuleRequest struct {
*tchttp.BaseRequest
@ -6727,7 +6926,7 @@ type ModifyNetDetectRequest struct {
// DIRECTCONNECT专线网关
// PEERCONNECTION对等连接
// NATNAT网关
// NORMAL_CVM普通云主机
// NORMAL_CVM普通云服务器
NextHopType *string `json:"NextHopType,omitempty" name:"NextHopType"`
// 下一跳目的网关,取值与“下一跳类型”相关:
@ -6735,7 +6934,7 @@ type ModifyNetDetectRequest struct {
// 下一跳类型为DIRECTCONNECT取值专线网关ID形如dcg-12345678
// 下一跳类型为PEERCONNECTION取值对等连接ID形如pcx-12345678
// 下一跳类型为NAT取值Nat网关形如nat-12345678
// 下一跳类型为NORMAL_CVM取值云主机IPv4地址形如10.0.0.12
// 下一跳类型为NORMAL_CVM取值云服务器IPv4地址形如10.0.0.12
NextHopDestination *string `json:"NextHopDestination,omitempty" name:"NextHopDestination"`
// 网络探测描述。
@ -6934,6 +7133,9 @@ type ModifySecurityGroupPoliciesRequest struct {
// 安全组规则集合。 SecurityGroupPolicySet对象必须同时指定新的出EgressIngress站规则。 SecurityGroupPolicy对象不支持自定义索引PolicyIndex
SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet,omitempty" name:"SecurityGroupPolicySet"`
// 排序安全组标识。值为True时支持安全组排序SortPolicys不存在或SortPolicys为False时为修改安全组规则。
SortPolicys *bool `json:"SortPolicys,omitempty" name:"SortPolicys"`
}
func (r *ModifySecurityGroupPoliciesRequest) ToJsonString() string {
@ -7332,7 +7534,7 @@ type NetDetect struct {
// DIRECTCONNECT专线网关
// PEERCONNECTION对等连接
// NATNAT网关
// NORMAL_CVM普通云主机
// NORMAL_CVM普通云服务器
NextHopType *string `json:"NextHopType,omitempty" name:"NextHopType"`
// 下一跳目的网关,取值与“下一跳类型”相关:
@ -7340,7 +7542,7 @@ type NetDetect struct {
// 下一跳类型为DIRECTCONNECT取值专线网关ID形如dcg-12345678
// 下一跳类型为PEERCONNECTION取值对等连接ID形如pcx-12345678
// 下一跳类型为NAT取值Nat网关形如nat-12345678
// 下一跳类型为NORMAL_CVM取值云主机IPv4地址形如10.0.0.12
// 下一跳类型为NORMAL_CVM取值云服务器IPv4地址形如10.0.0.12
NextHopDestination *string `json:"NextHopDestination,omitempty" name:"NextHopDestination"`
// 下一跳网关名称。
@ -7437,6 +7639,9 @@ type NetworkInterface struct {
// 标签键值对。
TagSet []*Tag `json:"TagSet,omitempty" name:"TagSet" list`
// 网卡类型。0 - 弹性网卡1 - evm弹性网卡。
EniType *uint64 `json:"EniType,omitempty" name:"EniType"`
}
type NetworkInterfaceAttachment struct {
@ -7577,6 +7782,46 @@ func (r *ReleaseAddressesResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type ReleaseIp6AddressesBandwidthRequest struct {
*tchttp.BaseRequest
// IPV6地址。Ip6Addresses和Ip6AddressIds必须且只能传一个
Ip6Addresses []*string `json:"Ip6Addresses,omitempty" name:"Ip6Addresses" list`
// IPV6地址对应的唯一ID形如eip-xxxxxxxx。Ip6Addresses和Ip6AddressIds必须且只能传一个。
Ip6AddressIds []*string `json:"Ip6AddressIds,omitempty" name:"Ip6AddressIds" list`
}
func (r *ReleaseIp6AddressesBandwidthRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *ReleaseIp6AddressesBandwidthRequest) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type ReleaseIp6AddressesBandwidthResponse struct {
*tchttp.BaseResponse
Response *struct {
// 异步任务TaskId。可以使用[DescribeTaskResult](https://cloud.tencent.com/document/api/215/36271)接口查询任务状态。
TaskId *string `json:"TaskId,omitempty" name:"TaskId"`
// 唯一请求 ID每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
} `json:"Response"`
}
func (r *ReleaseIp6AddressesBandwidthResponse) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
func (r *ReleaseIp6AddressesBandwidthResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
type RemoveBandwidthPackageResourcesRequest struct {
*tchttp.BaseRequest
@ -7586,7 +7831,7 @@ type RemoveBandwidthPackageResourcesRequest struct {
// 资源类型包括Address, LoadBalance
ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"`
// 资源Id形如'eip-xxxx', 'lb-xxxx'
// 资源ID可支持资源形如'eip-xxxx', 'lb-xxxx'
ResourceIds []*string `json:"ResourceIds,omitempty" name:"ResourceIds" list`
}
@ -8048,14 +8293,14 @@ type Route struct {
DestinationCidrBlock *string `json:"DestinationCidrBlock,omitempty" name:"DestinationCidrBlock"`
// 下一跳类型,目前我们支持的类型有:
// CVM公网网关类型的云主机
// CVM公网网关类型的云服务器
// VPNVPN网关
// DIRECTCONNECT专线网关
// PEERCONNECTION对等连接
// SSLVPNsslvpn网关
// NATNAT网关;
// NORMAL_CVM普通云主机
// EIP主机的公网IP
// NORMAL_CVM普通云服务器
// EIP服务器的公网IP
// CCN云联网。
GatewayType *string `json:"GatewayType,omitempty" name:"GatewayType"`
@ -8144,6 +8389,9 @@ type SecurityGroup struct {
// 安全组创建时间。
CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"`
// 标签键值对。
TagSet []*Tag `json:"TagSet,omitempty" name:"TagSet" list`
}
type SecurityGroupAssociationStatistics struct {
@ -8151,7 +8399,7 @@ type SecurityGroupAssociationStatistics struct {
// 安全组实例ID。
SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"`
// 云主机实例数。
// 云服务器实例数。
CVM *uint64 `json:"CVM,omitempty" name:"CVM"`
// 数据库实例数。
@ -8720,4 +8968,22 @@ type VpnGateway struct {
// 可用区ap-guangzhou-2
Zone *string `json:"Zone,omitempty" name:"Zone"`
// 网关带宽配额信息
VpnGatewayQuotaSet []*VpnGatewayQuota `json:"VpnGatewayQuotaSet,omitempty" name:"VpnGatewayQuotaSet" list`
// 网关实例版本信息
Version *string `json:"Version,omitempty" name:"Version"`
}
type VpnGatewayQuota struct {
// 带宽配额
Bandwidth *uint64 `json:"Bandwidth,omitempty" name:"Bandwidth"`
// 配额中文名称
Cname *string `json:"Cname,omitempty" name:"Cname"`
// 配额英文名称
Name *string `json:"Name,omitempty" name:"Name"`
}

2
vendor/modules.txt vendored
View File

@ -531,7 +531,7 @@ github.com/stretchr/testify/assert
github.com/stretchr/testify/require
# github.com/temoto/robotstxt v1.1.1
github.com/temoto/robotstxt
# github.com/tencentcloud/tencentcloud-sdk-go v3.0.97+incompatible
# github.com/tencentcloud/tencentcloud-sdk-go v3.0.121+incompatible
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http