From d050bb848c73344d5dfad1deda227987ec773d86 Mon Sep 17 00:00:00 2001
From: SevenEarth <391613297@qq.com>
Date: Mon, 28 Apr 2025 15:26:37 +0800
Subject: [PATCH 1/4] add
---
go.mod | 4 +-
go.sum | 8 +-
.../services/cbs/resource_tc_cbs_storage.go | 27 +-
.../services/cbs/resource_tc_cbs_storage.md | 41 +-
.../tencentcloud/cbs/v20170312/client.go | 588 +++--
.../tencentcloud/cbs/v20170312/errors.go | 3 +
.../tencentcloud/cbs/v20170312/models.go | 2107 ++++++++++-------
.../tencentcloud/common/client.go | 128 +-
.../tencentcloud/common/credentials.go | 21 +-
.../tencentcloud/common/http/request.go | 2 +-
.../common/profile/client_profile.go | 39 +-
.../common/profile/http_profile.go | 43 +-
.../tencentcloud/common/rewindable_body.go | 44 +-
.../tencentcloud/common/types.go | 16 +
vendor/modules.txt | 4 +-
15 files changed, 1996 insertions(+), 1079 deletions(-)
diff --git a/go.mod b/go.mod
index 355c74cf45..dc30c7a97b 100644
--- a/go.mod
+++ b/go.mod
@@ -34,7 +34,7 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/bi v1.0.824
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam v1.0.1071
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.825
- github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591
+ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.1153
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.944
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdn v1.0.1010
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdwch v1.0.1129
@@ -46,7 +46,7 @@ require (
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/clb v1.0.1107
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit v1.0.1033
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1135
- github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1149
+ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1153
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm v1.0.1128
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cwp v1.0.762
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cynosdb v1.0.1111
diff --git a/go.sum b/go.sum
index 169118a52b..d8809bee3e 100644
--- a/go.sum
+++ b/go.sum
@@ -837,6 +837,10 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.825 h1:TgO9L1y
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.825/go.mod h1:1yCKeIioX4D0bcIDHs3JCS5lbyzndXh1E8wHyHaCjxY=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591 h1:TPGLjH6wqkA5Iirl6xCxFkWwrtCZ8ZmeF7ASzqUbsZA=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591/go.mod h1:nCAGfVTXZkVnurkbjF3b0FM6RwGztE9t8D9Ms1unaKo=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.1148 h1:AUppERhfYCUu5ZAN8gbGYfHwPy1uaT7nPmhYGY5JvSY=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.1148/go.mod h1:cfP+nV0uB7FF86XyKF31edBoSJO36WFUsTc0KC80B4I=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.1153 h1:jRsdk2F5QZusPAV5+C/cwmgXoxxomOXH3o9ofeb4dFo=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.1153/go.mod h1:M83IuCDKXMqmpeOMkVtu9cloiJZsylESDjCvF0hzWQg=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.944 h1:+PGoNHlZE/WY6KWWNOByL0sYVv1ZJtSx7yXMUJNYV1Y=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.944/go.mod h1:+VHcZ4Cnzpt6vtCvNROz8xWfNWUkoAZ9UPSonbA3NWM=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdc v1.0.970 h1:0A6PwOaUeLtm4U5TR1uD91ETBgDcnfqFnsG9mwCNvlY=
@@ -945,14 +949,14 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1136/go.mod
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1142/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1145 h1:DETyir/MtG+GLOD0OatzjrQTTXRguFSJo1ZtPXtbIQw=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1145/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
-github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1148 h1:+2jHvXzO0ljzTtqdnZ6ug0wMLYSaMwyr1zJa0z/DqyE=
-github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1148/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1147 h1:6v559jM1v6A4KJinNZ28RqVZs+ipKMzCWtYWcWy+zZ4=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1147/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1148 h1:+2jHvXzO0ljzTtqdnZ6ug0wMLYSaMwyr1zJa0z/DqyE=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1148/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1149 h1:a2N8e9YHftVvJmI6PIVJBLfPuy2dn+jZ92atTsmtJuc=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1149/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1153 h1:g/aw2nrrMfO/+sdBPCFsiq+sgSFNiUK/sAci6PT4O4E=
+github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1153/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993 h1:WlPgXldQCxt7qi5Xrc6j6zTrsXWzN5BcOGs7Irq7fwQ=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/controlcenter v1.0.993/go.mod h1:Z9U8zNtyuyKhjS0698wqsrG/kLx1TQ5CEixXBwVe7xY=
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/csip v1.0.860 h1:F3esKBIT3HW9+7Gt8cVgf8X06VdGIczpgLBUECzSEzU=
diff --git a/tencentcloud/services/cbs/resource_tc_cbs_storage.go b/tencentcloud/services/cbs/resource_tc_cbs_storage.go
index efd78db42c..1165759388 100644
--- a/tencentcloud/services/cbs/resource_tc_cbs_storage.go
+++ b/tencentcloud/services/cbs/resource_tc_cbs_storage.go
@@ -95,11 +95,18 @@ func ResourceTencentCloudCbsStorage() *schema.Resource {
Default: 0,
Description: "ID of the project to which the instance belongs.",
},
+ "kms_key_id": {
+ Type: schema.TypeString,
+ Optional: true,
+ ForceNew: true,
+ Computed: true,
+ Description: "Optional parameters. When purchasing an encryption disk, customize the key. When this parameter is passed in, the `encrypt` parameter need be set.",
+ },
"encrypt": {
Type: schema.TypeBool,
Optional: true,
ForceNew: true,
- Description: "Indicates whether CBS is encrypted.",
+ Description: "Pass in this parameter to create an encrypted cloud disk.",
},
"tags": {
Type: schema.TypeMap,
@@ -156,7 +163,7 @@ func resourceTencentCloudCbsStorageCreate(d *schema.ResourceData, meta interface
Zone: helper.String(d.Get("availability_zone").(string)),
}
- if v, ok := d.GetOk("project_id"); ok {
+ if v, ok := d.GetOkExists("project_id"); ok {
request.Placement.ProjectId = helper.IntUint64(v.(int))
}
@@ -168,11 +175,15 @@ func resourceTencentCloudCbsStorageCreate(d *schema.ResourceData, meta interface
request.SnapshotId = helper.String(v.(string))
}
+ if v, ok := d.GetOk("kms_key_id"); ok {
+ request.KmsKeyId = helper.String(v.(string))
+ }
+
if _, ok := d.GetOk("encrypt"); ok {
request.Encrypt = helper.String("ENCRYPT")
}
- if v, ok := d.GetOk("throughput_performance"); ok {
+ if v, ok := d.GetOkExists("throughput_performance"); ok {
request.ThroughputPerformance = helper.IntUint64(v.(int))
}
@@ -182,7 +193,7 @@ func resourceTencentCloudCbsStorageCreate(d *schema.ResourceData, meta interface
if chargeType == CBS_CHARGE_TYPE_PREPAID {
request.DiskChargePrepaid = &cbs.DiskChargePrepaid{}
- if period, ok := d.GetOk("prepaid_period"); ok {
+ if period, ok := d.GetOkExists("prepaid_period"); ok {
periodInt64 := uint64(period.(int))
request.DiskChargePrepaid.Period = &periodInt64
} else {
@@ -215,6 +226,10 @@ func resourceTencentCloudCbsStorageCreate(d *schema.ResourceData, meta interface
return tccommon.RetryError(e, tccommon.InternalError)
}
+ if response == nil || response.Response == nil {
+ return resource.NonRetryableError(fmt.Errorf("Create cbs failed, Response is nil."))
+ }
+
if len(response.Response.DiskIdSet) < 1 {
return resource.NonRetryableError(fmt.Errorf("storage id is nil"))
}
@@ -310,6 +325,10 @@ func resourceTencentCloudCbsStorageRead(d *schema.ResourceData, meta interface{}
_ = d.Set("prepaid_renew_flag", storage.RenewFlag)
_ = d.Set("throughput_performance", storage.ThroughputPerformance)
+ if storage.KmsKeyId != nil {
+ _ = d.Set("kms_key_id", storage.KmsKeyId)
+ }
+
if *storage.DiskChargeType == CBS_CHARGE_TYPE_PREPAID {
_ = d.Set("prepaid_renew_flag", storage.RenewFlag)
}
diff --git a/tencentcloud/services/cbs/resource_tc_cbs_storage.md b/tencentcloud/services/cbs/resource_tc_cbs_storage.md
index be1731cfbe..fbfbc836ad 100644
--- a/tencentcloud/services/cbs/resource_tc_cbs_storage.md
+++ b/tencentcloud/services/cbs/resource_tc_cbs_storage.md
@@ -1,5 +1,7 @@
Provides a resource to create a CBS storage.
+-> **NOTE:** When creating an encrypted disk, if `kms_key_id` is not entered, the product side will generate a key by default.
+
Example Usage
Create a standard CBS storage
@@ -14,7 +16,42 @@ resource "tencentcloud_cbs_storage" "example" {
encrypt = false
tags = {
- createBy = "terraform"
+ createBy = "Terraform"
+ }
+}
+```
+
+Create an encrypted CBS storage with customize kms_key_id
+
+```hcl
+resource "tencentcloud_cbs_storage" "example" {
+ storage_name = "tf-example"
+ storage_type = "CLOUD_SSD"
+ storage_size = 100
+ availability_zone = "ap-guangzhou-3"
+ project_id = 0
+ kms_key_id = "2e860789-7ef0-11ef-8d1c-5254001955d1"
+ encrypt = true
+
+ tags = {
+ createBy = "Terraform"
+ }
+}
+```
+
+Create an encrypted CBS storage with default generated kms_key_id
+
+```hcl
+resource "tencentcloud_cbs_storage" "example" {
+ storage_name = "tf-example"
+ storage_type = "CLOUD_SSD"
+ storage_size = 100
+ availability_zone = "ap-guangzhou-3"
+ project_id = 0
+ encrypt = true
+
+ tags = {
+ createBy = "Terraform"
}
}
```
@@ -33,7 +70,7 @@ resource "tencentcloud_cbs_storage" "example" {
encrypt = false
tags = {
- createBy = "terraform"
+ createBy = "Terraform"
}
}
```
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/client.go
index 4942df07aa..d59594b8c2 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/client.go
@@ -59,8 +59,9 @@ func NewApplyDiskBackupRequest() (request *ApplyDiskBackupRequest) {
func NewApplyDiskBackupResponse() (response *ApplyDiskBackupResponse) {
response = &ApplyDiskBackupResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ApplyDiskBackup
@@ -141,8 +142,9 @@ func NewApplySnapshotRequest() (request *ApplySnapshotRequest) {
func NewApplySnapshotResponse() (response *ApplySnapshotResponse) {
response = &ApplySnapshotResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ApplySnapshot
@@ -227,6 +229,73 @@ func (c *Client) ApplySnapshotWithContext(ctx context.Context, request *ApplySna
return
}
+func NewApplySnapshotGroupRequest() (request *ApplySnapshotGroupRequest) {
+ request = &ApplySnapshotGroupRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+
+ request.Init().WithApiInfo("cbs", APIVersion, "ApplySnapshotGroup")
+
+
+ return
+}
+
+func NewApplySnapshotGroupResponse() (response *ApplySnapshotGroupResponse) {
+ response = &ApplySnapshotGroupResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+
+}
+
+// ApplySnapshotGroup
+// 本接口(ApplySnapshotGroup)用于回滚快照组,将实例恢复到创建快照组时刻的状态。
+//
+// * 1.可选择快照组全部或部分盘进行回滚;
+//
+// * 2.如果回滚的盘中包含已挂载的盘,要求这些盘必须挂载在同一实例上,且要求该实例已关机才能回滚;
+//
+// * 3.回滚为异步操作,接口返回成功不代表回滚成功,可通过调DescribeSnapshotGroups接口查询快照组的状态。
+//
+// 可能返回的错误码:
+// INVALIDPARAMETER = "InvalidParameter"
+// MISSINGPARAMETER = "MissingParameter"
+// UNSUPPORTEDOPERATION_SNAPSHOTGROUPDISKATTACHMULTIINSTANCE = "UnsupportedOperation.SnapshotGroupDiskAttachMultiInstance"
+// UNSUPPORTEDOPERATION_STATEERROR = "UnsupportedOperation.StateError"
+func (c *Client) ApplySnapshotGroup(request *ApplySnapshotGroupRequest) (response *ApplySnapshotGroupResponse, err error) {
+ return c.ApplySnapshotGroupWithContext(context.Background(), request)
+}
+
+// ApplySnapshotGroup
+// 本接口(ApplySnapshotGroup)用于回滚快照组,将实例恢复到创建快照组时刻的状态。
+//
+// * 1.可选择快照组全部或部分盘进行回滚;
+//
+// * 2.如果回滚的盘中包含已挂载的盘,要求这些盘必须挂载在同一实例上,且要求该实例已关机才能回滚;
+//
+// * 3.回滚为异步操作,接口返回成功不代表回滚成功,可通过调DescribeSnapshotGroups接口查询快照组的状态。
+//
+// 可能返回的错误码:
+// INVALIDPARAMETER = "InvalidParameter"
+// MISSINGPARAMETER = "MissingParameter"
+// UNSUPPORTEDOPERATION_SNAPSHOTGROUPDISKATTACHMULTIINSTANCE = "UnsupportedOperation.SnapshotGroupDiskAttachMultiInstance"
+// UNSUPPORTEDOPERATION_STATEERROR = "UnsupportedOperation.StateError"
+func (c *Client) ApplySnapshotGroupWithContext(ctx context.Context, request *ApplySnapshotGroupRequest) (response *ApplySnapshotGroupResponse, err error) {
+ if request == nil {
+ request = NewApplySnapshotGroupRequest()
+ }
+
+ if c.GetCredential() == nil {
+ return nil, errors.New("ApplySnapshotGroup require credential")
+ }
+
+ request.SetContext(ctx)
+
+ response = NewApplySnapshotGroupResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewAttachDisksRequest() (request *AttachDisksRequest) {
request = &AttachDisksRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -241,8 +310,9 @@ func NewAttachDisksRequest() (request *AttachDisksRequest) {
func NewAttachDisksResponse() (response *AttachDisksResponse) {
response = &AttachDisksResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// AttachDisks
@@ -255,6 +325,7 @@ func NewAttachDisksResponse() (response *AttachDisksResponse) {
// * 本接口为异步接口,当挂载云盘的请求成功返回时,表示后台已发起挂载云盘的操作,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态由“ATTACHING”变为“ATTACHED”,则为挂载成功。
//
// 可能返回的错误码:
+// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
// INTERNALERROR_RESOURCEOPFAILED = "InternalError.ResourceOpFailed"
// INVALIDDISK_NOTPORTABLE = "InvalidDisk.NotPortable"
// INVALIDDISK_NOTSUPPORTED = "InvalidDisk.NotSupported"
@@ -288,6 +359,7 @@ func (c *Client) AttachDisks(request *AttachDisksRequest) (response *AttachDisks
// * 本接口为异步接口,当挂载云盘的请求成功返回时,表示后台已发起挂载云盘的操作,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态由“ATTACHING”变为“ATTACHED”,则为挂载成功。
//
// 可能返回的错误码:
+// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
// INTERNALERROR_RESOURCEOPFAILED = "InternalError.ResourceOpFailed"
// INVALIDDISK_NOTPORTABLE = "InvalidDisk.NotPortable"
// INVALIDDISK_NOTSUPPORTED = "InvalidDisk.NotSupported"
@@ -337,8 +409,9 @@ func NewBindAutoSnapshotPolicyRequest() (request *BindAutoSnapshotPolicyRequest)
func NewBindAutoSnapshotPolicyResponse() (response *BindAutoSnapshotPolicyResponse) {
response = &BindAutoSnapshotPolicyResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// BindAutoSnapshotPolicy
@@ -415,8 +488,9 @@ func NewCopySnapshotCrossRegionsRequest() (request *CopySnapshotCrossRegionsRequ
func NewCopySnapshotCrossRegionsResponse() (response *CopySnapshotCrossRegionsResponse) {
response = &CopySnapshotCrossRegionsResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// CopySnapshotCrossRegions
@@ -491,8 +565,9 @@ func NewCreateAutoSnapshotPolicyRequest() (request *CreateAutoSnapshotPolicyRequ
func NewCreateAutoSnapshotPolicyResponse() (response *CreateAutoSnapshotPolicyResponse) {
response = &CreateAutoSnapshotPolicyResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// CreateAutoSnapshotPolicy
@@ -559,8 +634,9 @@ func NewCreateDiskBackupRequest() (request *CreateDiskBackupRequest) {
func NewCreateDiskBackupResponse() (response *CreateDiskBackupResponse) {
response = &CreateDiskBackupResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// CreateDiskBackup
@@ -570,7 +646,9 @@ func NewCreateDiskBackupResponse() (response *CreateDiskBackupResponse) {
// INVALIDDISK_BUSY = "InvalidDisk.Busy"
// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
// INVALIDPARAMETER = "InvalidParameter"
+// RESOURCEBUSY = "ResourceBusy"
// RESOURCEINUSE = "ResourceInUse"
+// RESOURCEINUSE_DISKROLLBACKING = "ResourceInUse.DiskRollbacking"
// RESOURCEINSUFFICIENT_OVERQUOTA = "ResourceInsufficient.OverQuota"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
@@ -586,7 +664,9 @@ func (c *Client) CreateDiskBackup(request *CreateDiskBackupRequest) (response *C
// INVALIDDISK_BUSY = "InvalidDisk.Busy"
// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
// INVALIDPARAMETER = "InvalidParameter"
+// RESOURCEBUSY = "ResourceBusy"
// RESOURCEINUSE = "ResourceInUse"
+// RESOURCEINUSE_DISKROLLBACKING = "ResourceInUse.DiskRollbacking"
// RESOURCEINSUFFICIENT_OVERQUOTA = "ResourceInsufficient.OverQuota"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
@@ -621,8 +701,9 @@ func NewCreateDisksRequest() (request *CreateDisksRequest) {
func NewCreateDisksResponse() (response *CreateDisksResponse) {
response = &CreateDisksResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// CreateDisks
@@ -639,11 +720,13 @@ func NewCreateDisksResponse() (response *CreateDisksResponse) {
// 可能返回的错误码:
// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
+// INVALIDINSTANCEID_NOTFOUND = "InvalidInstanceId.NotFound"
// INVALIDPARAMETER_DISKCONFIGNOTSUPPORTED = "InvalidParameter.DiskConfigNotSupported"
// INVALIDPARAMETER_PROJECTIDNOTEXIST = "InvalidParameter.ProjectIdNotExist"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
// INVALIDSNAPSHOTID_NOTFOUND = "InvalidSnapshotId.NotFound"
+// LIMITEXCEEDED_INSTANCEATTACHEDDISK = "LimitExceeded.InstanceAttachedDisk"
// MISSINGPARAMETER = "MissingParameter"
// RESOURCEBUSY = "ResourceBusy"
// RESOURCEINSUFFICIENT = "ResourceInsufficient"
@@ -670,11 +753,13 @@ func (c *Client) CreateDisks(request *CreateDisksRequest) (response *CreateDisks
// 可能返回的错误码:
// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
+// INVALIDINSTANCEID_NOTFOUND = "InvalidInstanceId.NotFound"
// INVALIDPARAMETER_DISKCONFIGNOTSUPPORTED = "InvalidParameter.DiskConfigNotSupported"
// INVALIDPARAMETER_PROJECTIDNOTEXIST = "InvalidParameter.ProjectIdNotExist"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
// INVALIDSNAPSHOTID_NOTFOUND = "InvalidSnapshotId.NotFound"
+// LIMITEXCEEDED_INSTANCEATTACHEDDISK = "LimitExceeded.InstanceAttachedDisk"
// MISSINGPARAMETER = "MissingParameter"
// RESOURCEBUSY = "ResourceBusy"
// RESOURCEINSUFFICIENT = "ResourceInsufficient"
@@ -713,8 +798,9 @@ func NewCreateSnapshotRequest() (request *CreateSnapshotRequest) {
func NewCreateSnapshotResponse() (response *CreateSnapshotResponse) {
response = &CreateSnapshotResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// CreateSnapshot
@@ -744,6 +830,7 @@ func NewCreateSnapshotResponse() (response *CreateSnapshotResponse) {
// MISSINGPARAMETER = "MissingParameter"
// RESOURCEBUSY = "ResourceBusy"
// RESOURCEINUSE = "ResourceInUse"
+// RESOURCEINUSE_DISKMIGRATING = "ResourceInUse.DiskMigrating"
// RESOURCEINUSE_DISKROLLBACKING = "ResourceInUse.DiskRollbacking"
// RESOURCEINSUFFICIENT_OVERQUOTA = "ResourceInsufficient.OverQuota"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
@@ -783,6 +870,7 @@ func (c *Client) CreateSnapshot(request *CreateSnapshotRequest) (response *Creat
// MISSINGPARAMETER = "MissingParameter"
// RESOURCEBUSY = "ResourceBusy"
// RESOURCEINUSE = "ResourceInUse"
+// RESOURCEINUSE_DISKMIGRATING = "ResourceInUse.DiskMigrating"
// RESOURCEINUSE_DISKROLLBACKING = "ResourceInUse.DiskRollbacking"
// RESOURCEINSUFFICIENT_OVERQUOTA = "ResourceInsufficient.OverQuota"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
@@ -807,6 +895,91 @@ func (c *Client) CreateSnapshotWithContext(ctx context.Context, request *CreateS
return
}
+func NewCreateSnapshotGroupRequest() (request *CreateSnapshotGroupRequest) {
+ request = &CreateSnapshotGroupRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+
+ request.Init().WithApiInfo("cbs", APIVersion, "CreateSnapshotGroup")
+
+
+ return
+}
+
+func NewCreateSnapshotGroupResponse() (response *CreateSnapshotGroupResponse) {
+ response = &CreateSnapshotGroupResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+
+}
+
+// CreateSnapshotGroup
+// 本接口(CreateSnapshotGroup)用于创建快照组。
+//
+// * 创建快照组的云硬盘列表必须挂载在同一实例上;
+//
+// * 可选择挂载在实例上的全部或部分盘创建快照组。
+//
+// 可能返回的错误码:
+// INSUFFICIENTSNAPSHOTQUOTA = "InsufficientSnapshotQuota"
+// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
+// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
+// INVALIDDISK_NOTSUPPORTED = "InvalidDisk.NotSupported"
+// INVALIDDISK_SNAPSHOTCREATING = "InvalidDisk.SnapshotCreating"
+// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
+// INVALIDPARAMETER = "InvalidParameter"
+// INVALIDPARAMETERVALUE = "InvalidParameterValue"
+// MISSINGPARAMETER = "MissingParameter"
+// RESOURCEINUSE = "ResourceInUse"
+// RESOURCEINUSE_DISKMIGRATING = "ResourceInUse.DiskMigrating"
+// RESOURCEINUSE_DISKROLLBACKING = "ResourceInUse.DiskRollbacking"
+// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
+// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
+// RESOURCEUNAVAILABLE_SNAPSHOTCREATING = "ResourceUnavailable.SnapshotCreating"
+func (c *Client) CreateSnapshotGroup(request *CreateSnapshotGroupRequest) (response *CreateSnapshotGroupResponse, err error) {
+ return c.CreateSnapshotGroupWithContext(context.Background(), request)
+}
+
+// CreateSnapshotGroup
+// 本接口(CreateSnapshotGroup)用于创建快照组。
+//
+// * 创建快照组的云硬盘列表必须挂载在同一实例上;
+//
+// * 可选择挂载在实例上的全部或部分盘创建快照组。
+//
+// 可能返回的错误码:
+// INSUFFICIENTSNAPSHOTQUOTA = "InsufficientSnapshotQuota"
+// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
+// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
+// INVALIDDISK_NOTSUPPORTED = "InvalidDisk.NotSupported"
+// INVALIDDISK_SNAPSHOTCREATING = "InvalidDisk.SnapshotCreating"
+// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
+// INVALIDPARAMETER = "InvalidParameter"
+// INVALIDPARAMETERVALUE = "InvalidParameterValue"
+// MISSINGPARAMETER = "MissingParameter"
+// RESOURCEINUSE = "ResourceInUse"
+// RESOURCEINUSE_DISKMIGRATING = "ResourceInUse.DiskMigrating"
+// RESOURCEINUSE_DISKROLLBACKING = "ResourceInUse.DiskRollbacking"
+// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
+// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
+// RESOURCEUNAVAILABLE_SNAPSHOTCREATING = "ResourceUnavailable.SnapshotCreating"
+func (c *Client) CreateSnapshotGroupWithContext(ctx context.Context, request *CreateSnapshotGroupRequest) (response *CreateSnapshotGroupResponse, err error) {
+ if request == nil {
+ request = NewCreateSnapshotGroupRequest()
+ }
+
+ if c.GetCredential() == nil {
+ return nil, errors.New("CreateSnapshotGroup require credential")
+ }
+
+ request.SetContext(ctx)
+
+ response = NewCreateSnapshotGroupResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDeleteAutoSnapshotPoliciesRequest() (request *DeleteAutoSnapshotPoliciesRequest) {
request = &DeleteAutoSnapshotPoliciesRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -821,8 +994,9 @@ func NewDeleteAutoSnapshotPoliciesRequest() (request *DeleteAutoSnapshotPolicies
func NewDeleteAutoSnapshotPoliciesResponse() (response *DeleteAutoSnapshotPoliciesResponse) {
response = &DeleteAutoSnapshotPoliciesResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DeleteAutoSnapshotPolicies
@@ -833,6 +1007,8 @@ func NewDeleteAutoSnapshotPoliciesResponse() (response *DeleteAutoSnapshotPolici
// * 支持批量操作。如果多个定期快照策略存在无法删除的,则操作不执行,以特定错误码返回。
//
// 可能返回的错误码:
+// AUTHFAILURE = "AuthFailure"
+// INTERNALERROR = "InternalError"
// INVALIDAUTOSNAPSHOTPOLICYID_NOTFOUND = "InvalidAutoSnapshotPolicyId.NotFound"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
@@ -849,6 +1025,8 @@ func (c *Client) DeleteAutoSnapshotPolicies(request *DeleteAutoSnapshotPoliciesR
// * 支持批量操作。如果多个定期快照策略存在无法删除的,则操作不执行,以特定错误码返回。
//
// 可能返回的错误码:
+// AUTHFAILURE = "AuthFailure"
+// INTERNALERROR = "InternalError"
// INVALIDAUTOSNAPSHOTPOLICYID_NOTFOUND = "InvalidAutoSnapshotPolicyId.NotFound"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
@@ -883,8 +1061,9 @@ func NewDeleteDiskBackupsRequest() (request *DeleteDiskBackupsRequest) {
func NewDeleteDiskBackupsResponse() (response *DeleteDiskBackupsResponse) {
response = &DeleteDiskBackupsResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DeleteDiskBackups
@@ -892,6 +1071,7 @@ func NewDeleteDiskBackupsResponse() (response *DeleteDiskBackupsResponse) {
//
// 可能返回的错误码:
// INVALIDPARAMETER = "InvalidParameter"
+// RESOURCEBUSY = "ResourceBusy"
// RESOURCENOTFOUND = "ResourceNotFound"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
func (c *Client) DeleteDiskBackups(request *DeleteDiskBackupsRequest) (response *DeleteDiskBackupsResponse, err error) {
@@ -903,6 +1083,7 @@ func (c *Client) DeleteDiskBackups(request *DeleteDiskBackupsRequest) (response
//
// 可能返回的错误码:
// INVALIDPARAMETER = "InvalidParameter"
+// RESOURCEBUSY = "ResourceBusy"
// RESOURCENOTFOUND = "ResourceNotFound"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
func (c *Client) DeleteDiskBackupsWithContext(ctx context.Context, request *DeleteDiskBackupsRequest) (response *DeleteDiskBackupsResponse, err error) {
@@ -921,6 +1102,71 @@ func (c *Client) DeleteDiskBackupsWithContext(ctx context.Context, request *Dele
return
}
+func NewDeleteSnapshotGroupRequest() (request *DeleteSnapshotGroupRequest) {
+ request = &DeleteSnapshotGroupRequest{
+ BaseRequest: &tchttp.BaseRequest{},
+ }
+
+ request.Init().WithApiInfo("cbs", APIVersion, "DeleteSnapshotGroup")
+
+
+ return
+}
+
+func NewDeleteSnapshotGroupResponse() (response *DeleteSnapshotGroupResponse) {
+ response = &DeleteSnapshotGroupResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+
+}
+
+// DeleteSnapshotGroup
+// 本接口(DeleteSnapshotGroup)用于删除快照组,一次调用仅支持删除一个快照组。
+//
+// * 默认会删除快照组内的所有快照;
+//
+// * 如果快照组内的快照有关联镜像,则删除失败,所有快照均不会删除;如果需要同时删除快照绑定的镜像,可传入参数DeleteBindImages等于true。
+//
+// 可能返回的错误码:
+// INVALIDPARAMETER = "InvalidParameter"
+// INVALIDSNAPSHOTID_NOTFOUND = "InvalidSnapshotId.NotFound"
+// MISSINGPARAMETER = "MissingParameter"
+// UNSUPPORTEDOPERATION_SNAPSHOTHASBINDEDIMAGE = "UnsupportedOperation.SnapshotHasBindedImage"
+// UNSUPPORTEDOPERATION_STATEERROR = "UnsupportedOperation.StateError"
+func (c *Client) DeleteSnapshotGroup(request *DeleteSnapshotGroupRequest) (response *DeleteSnapshotGroupResponse, err error) {
+ return c.DeleteSnapshotGroupWithContext(context.Background(), request)
+}
+
+// DeleteSnapshotGroup
+// 本接口(DeleteSnapshotGroup)用于删除快照组,一次调用仅支持删除一个快照组。
+//
+// * 默认会删除快照组内的所有快照;
+//
+// * 如果快照组内的快照有关联镜像,则删除失败,所有快照均不会删除;如果需要同时删除快照绑定的镜像,可传入参数DeleteBindImages等于true。
+//
+// 可能返回的错误码:
+// INVALIDPARAMETER = "InvalidParameter"
+// INVALIDSNAPSHOTID_NOTFOUND = "InvalidSnapshotId.NotFound"
+// MISSINGPARAMETER = "MissingParameter"
+// UNSUPPORTEDOPERATION_SNAPSHOTHASBINDEDIMAGE = "UnsupportedOperation.SnapshotHasBindedImage"
+// UNSUPPORTEDOPERATION_STATEERROR = "UnsupportedOperation.StateError"
+func (c *Client) DeleteSnapshotGroupWithContext(ctx context.Context, request *DeleteSnapshotGroupRequest) (response *DeleteSnapshotGroupResponse, err error) {
+ if request == nil {
+ request = NewDeleteSnapshotGroupRequest()
+ }
+
+ if c.GetCredential() == nil {
+ return nil, errors.New("DeleteSnapshotGroup require credential")
+ }
+
+ request.SetContext(ctx)
+
+ response = NewDeleteSnapshotGroupResponse()
+ err = c.Send(request, response)
+ return
+}
+
func NewDeleteSnapshotsRequest() (request *DeleteSnapshotsRequest) {
request = &DeleteSnapshotsRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -935,8 +1181,9 @@ func NewDeleteSnapshotsRequest() (request *DeleteSnapshotsRequest) {
func NewDeleteSnapshotsResponse() (response *DeleteSnapshotsResponse) {
response = &DeleteSnapshotsResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DeleteSnapshots
@@ -1013,8 +1260,9 @@ func NewDescribeAutoSnapshotPoliciesRequest() (request *DescribeAutoSnapshotPoli
func NewDescribeAutoSnapshotPoliciesResponse() (response *DescribeAutoSnapshotPoliciesResponse) {
response = &DescribeAutoSnapshotPoliciesResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DescribeAutoSnapshotPolicies
@@ -1079,8 +1327,9 @@ func NewDescribeDiskAssociatedAutoSnapshotPolicyRequest() (request *DescribeDisk
func NewDescribeDiskAssociatedAutoSnapshotPolicyResponse() (response *DescribeDiskAssociatedAutoSnapshotPolicyResponse) {
response = &DescribeDiskAssociatedAutoSnapshotPolicyResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DescribeDiskAssociatedAutoSnapshotPolicy
@@ -1131,8 +1380,9 @@ func NewDescribeDiskBackupsRequest() (request *DescribeDiskBackupsRequest) {
func NewDescribeDiskBackupsResponse() (response *DescribeDiskBackupsResponse) {
response = &DescribeDiskBackupsResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DescribeDiskBackups
@@ -1193,8 +1443,9 @@ func NewDescribeDiskConfigQuotaRequest() (request *DescribeDiskConfigQuotaReques
func NewDescribeDiskConfigQuotaResponse() (response *DescribeDiskConfigQuotaResponse) {
response = &DescribeDiskConfigQuotaResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DescribeDiskConfigQuota
@@ -1231,64 +1482,6 @@ func (c *Client) DescribeDiskConfigQuotaWithContext(ctx context.Context, request
return
}
-func NewDescribeDiskOperationLogsRequest() (request *DescribeDiskOperationLogsRequest) {
- request = &DescribeDiskOperationLogsRequest{
- BaseRequest: &tchttp.BaseRequest{},
- }
-
- request.Init().WithApiInfo("cbs", APIVersion, "DescribeDiskOperationLogs")
-
-
- return
-}
-
-func NewDescribeDiskOperationLogsResponse() (response *DescribeDiskOperationLogsResponse) {
- response = &DescribeDiskOperationLogsResponse{
- BaseResponse: &tchttp.BaseResponse{},
- }
- return
-}
-
-// DescribeDiskOperationLogs
-// 查询云盘操作日志功能已迁移至LookUpEvents接口(https://cloud.tencent.com/document/product/629/12359),本接口(DescribeDiskOperationLogs)即将下线,后续不再提供调用,请知悉。
-//
-// 可能返回的错误码:
-// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
-// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
-// INVALIDPARAMETER = "InvalidParameter"
-// INVALIDPARAMETERVALUE = "InvalidParameterValue"
-// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
-// MISSINGPARAMETER = "MissingParameter"
-func (c *Client) DescribeDiskOperationLogs(request *DescribeDiskOperationLogsRequest) (response *DescribeDiskOperationLogsResponse, err error) {
- return c.DescribeDiskOperationLogsWithContext(context.Background(), request)
-}
-
-// DescribeDiskOperationLogs
-// 查询云盘操作日志功能已迁移至LookUpEvents接口(https://cloud.tencent.com/document/product/629/12359),本接口(DescribeDiskOperationLogs)即将下线,后续不再提供调用,请知悉。
-//
-// 可能返回的错误码:
-// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
-// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
-// INVALIDPARAMETER = "InvalidParameter"
-// INVALIDPARAMETERVALUE = "InvalidParameterValue"
-// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
-// MISSINGPARAMETER = "MissingParameter"
-func (c *Client) DescribeDiskOperationLogsWithContext(ctx context.Context, request *DescribeDiskOperationLogsRequest) (response *DescribeDiskOperationLogsResponse, err error) {
- if request == nil {
- request = NewDescribeDiskOperationLogsRequest()
- }
-
- if c.GetCredential() == nil {
- return nil, errors.New("DescribeDiskOperationLogs require credential")
- }
-
- request.SetContext(ctx)
-
- response = NewDescribeDiskOperationLogsResponse()
- err = c.Send(request, response)
- return
-}
-
func NewDescribeDiskStoragePoolRequest() (request *DescribeDiskStoragePoolRequest) {
request = &DescribeDiskStoragePoolRequest{
BaseRequest: &tchttp.BaseRequest{},
@@ -1303,8 +1496,9 @@ func NewDescribeDiskStoragePoolRequest() (request *DescribeDiskStoragePoolReques
func NewDescribeDiskStoragePoolResponse() (response *DescribeDiskStoragePoolResponse) {
response = &DescribeDiskStoragePoolResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DescribeDiskStoragePool
@@ -1367,8 +1561,9 @@ func NewDescribeDisksRequest() (request *DescribeDisksRequest) {
func NewDescribeDisksResponse() (response *DescribeDisksResponse) {
response = &DescribeDisksResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DescribeDisks
@@ -1433,8 +1628,9 @@ func NewDescribeInstancesDiskNumRequest() (request *DescribeInstancesDiskNumRequ
func NewDescribeInstancesDiskNumResponse() (response *DescribeInstancesDiskNumResponse) {
response = &DescribeInstancesDiskNumResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DescribeInstancesDiskNum
@@ -1481,60 +1677,112 @@ func (c *Client) DescribeInstancesDiskNumWithContext(ctx context.Context, reques
return
}
-func NewDescribeSnapshotOperationLogsRequest() (request *DescribeSnapshotOperationLogsRequest) {
- request = &DescribeSnapshotOperationLogsRequest{
+func NewDescribeSnapshotGroupsRequest() (request *DescribeSnapshotGroupsRequest) {
+ request = &DescribeSnapshotGroupsRequest{
BaseRequest: &tchttp.BaseRequest{},
}
- request.Init().WithApiInfo("cbs", APIVersion, "DescribeSnapshotOperationLogs")
+ request.Init().WithApiInfo("cbs", APIVersion, "DescribeSnapshotGroups")
return
}
-func NewDescribeSnapshotOperationLogsResponse() (response *DescribeSnapshotOperationLogsResponse) {
- response = &DescribeSnapshotOperationLogsResponse{
+func NewDescribeSnapshotGroupsResponse() (response *DescribeSnapshotGroupsResponse) {
+ response = &DescribeSnapshotGroupsResponse{
BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+
+}
+
+// DescribeSnapshotGroups
+// 本接口(DescribeSnapshotGroups)用于查询快照组列表。
+//
+// * 可以根据快照组ID、快照组状态、快照组关联的快照ID等来查询快照组列表,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
+//
+// * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的快照组列表。
+//
+// 可能返回的错误码:
+// INVALIDFILTER = "InvalidFilter"
+// INVALIDPARAMETER = "InvalidParameter"
+func (c *Client) DescribeSnapshotGroups(request *DescribeSnapshotGroupsRequest) (response *DescribeSnapshotGroupsResponse, err error) {
+ return c.DescribeSnapshotGroupsWithContext(context.Background(), request)
+}
+
+// DescribeSnapshotGroups
+// 本接口(DescribeSnapshotGroups)用于查询快照组列表。
+//
+// * 可以根据快照组ID、快照组状态、快照组关联的快照ID等来查询快照组列表,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
+//
+// * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的快照组列表。
+//
+// 可能返回的错误码:
+// INVALIDFILTER = "InvalidFilter"
+// INVALIDPARAMETER = "InvalidParameter"
+func (c *Client) DescribeSnapshotGroupsWithContext(ctx context.Context, request *DescribeSnapshotGroupsRequest) (response *DescribeSnapshotGroupsResponse, err error) {
+ if request == nil {
+ request = NewDescribeSnapshotGroupsRequest()
+ }
+
+ if c.GetCredential() == nil {
+ return nil, errors.New("DescribeSnapshotGroups require credential")
+ }
+
+ request.SetContext(ctx)
+
+ response = NewDescribeSnapshotGroupsResponse()
+ err = c.Send(request, response)
+ return
+}
+
+func NewDescribeSnapshotOverviewRequest() (request *DescribeSnapshotOverviewRequest) {
+ request = &DescribeSnapshotOverviewRequest{
+ BaseRequest: &tchttp.BaseRequest{},
}
+
+ request.Init().WithApiInfo("cbs", APIVersion, "DescribeSnapshotOverview")
+
+
return
}
-// DescribeSnapshotOperationLogs
-// 查询快照操作日志功能已迁移至LookUpEvents接口(https://cloud.tencent.com/document/product/629/12359),本接口(DescribeSnapshotOperationLogs)即将下线,后续不再提供调用,请知悉。
+func NewDescribeSnapshotOverviewResponse() (response *DescribeSnapshotOverviewResponse) {
+ response = &DescribeSnapshotOverviewResponse{
+ BaseResponse: &tchttp.BaseResponse{},
+ }
+ return
+
+}
+
+// DescribeSnapshotOverview
+// 该接口用于查询用户快照使用概览,包括快照总容量、计费容量等信息。
//
// 可能返回的错误码:
-// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
+// INVALIDFILTER = "InvalidFilter"
// INVALIDPARAMETER = "InvalidParameter"
-// INVALIDPARAMETERVALUE = "InvalidParameterValue"
-// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
-// INVALIDSNAPSHOTID_NOTFOUND = "InvalidSnapshotId.NotFound"
-// MISSINGPARAMETER = "MissingParameter"
-func (c *Client) DescribeSnapshotOperationLogs(request *DescribeSnapshotOperationLogsRequest) (response *DescribeSnapshotOperationLogsResponse, err error) {
- return c.DescribeSnapshotOperationLogsWithContext(context.Background(), request)
+func (c *Client) DescribeSnapshotOverview(request *DescribeSnapshotOverviewRequest) (response *DescribeSnapshotOverviewResponse, err error) {
+ return c.DescribeSnapshotOverviewWithContext(context.Background(), request)
}
-// DescribeSnapshotOperationLogs
-// 查询快照操作日志功能已迁移至LookUpEvents接口(https://cloud.tencent.com/document/product/629/12359),本接口(DescribeSnapshotOperationLogs)即将下线,后续不再提供调用,请知悉。
+// DescribeSnapshotOverview
+// 该接口用于查询用户快照使用概览,包括快照总容量、计费容量等信息。
//
// 可能返回的错误码:
-// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
+// INVALIDFILTER = "InvalidFilter"
// INVALIDPARAMETER = "InvalidParameter"
-// INVALIDPARAMETERVALUE = "InvalidParameterValue"
-// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
-// INVALIDSNAPSHOTID_NOTFOUND = "InvalidSnapshotId.NotFound"
-// MISSINGPARAMETER = "MissingParameter"
-func (c *Client) DescribeSnapshotOperationLogsWithContext(ctx context.Context, request *DescribeSnapshotOperationLogsRequest) (response *DescribeSnapshotOperationLogsResponse, err error) {
+func (c *Client) DescribeSnapshotOverviewWithContext(ctx context.Context, request *DescribeSnapshotOverviewRequest) (response *DescribeSnapshotOverviewResponse, err error) {
if request == nil {
- request = NewDescribeSnapshotOperationLogsRequest()
+ request = NewDescribeSnapshotOverviewRequest()
}
if c.GetCredential() == nil {
- return nil, errors.New("DescribeSnapshotOperationLogs require credential")
+ return nil, errors.New("DescribeSnapshotOverview require credential")
}
request.SetContext(ctx)
- response = NewDescribeSnapshotOperationLogsResponse()
+ response = NewDescribeSnapshotOverviewResponse()
err = c.Send(request, response)
return
}
@@ -1553,8 +1801,9 @@ func NewDescribeSnapshotSharePermissionRequest() (request *DescribeSnapshotShare
func NewDescribeSnapshotSharePermissionResponse() (response *DescribeSnapshotSharePermissionResponse) {
response = &DescribeSnapshotSharePermissionResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DescribeSnapshotSharePermission
@@ -1605,8 +1854,9 @@ func NewDescribeSnapshotsRequest() (request *DescribeSnapshotsRequest) {
func NewDescribeSnapshotsResponse() (response *DescribeSnapshotsResponse) {
response = &DescribeSnapshotsResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DescribeSnapshots
@@ -1671,8 +1921,9 @@ func NewDetachDisksRequest() (request *DetachDisksRequest) {
func NewDetachDisksResponse() (response *DetachDisksResponse) {
response = &DetachDisksResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// DetachDisks
@@ -1685,6 +1936,7 @@ func NewDetachDisksResponse() (response *DetachDisksResponse) {
// * 本接口为异步接口,当请求成功返回时,云盘并未立即从主机卸载,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态由“ATTACHED”变为“UNATTACHED”,则为卸载成功。
//
// 可能返回的错误码:
+// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
// INTERNALERROR_RESOURCEOPFAILED = "InternalError.ResourceOpFailed"
// INVALIDDISK_NOTPORTABLE = "InvalidDisk.NotPortable"
// INVALIDDISK_NOTSUPPORTED = "InvalidDisk.NotSupported"
@@ -1718,6 +1970,7 @@ func (c *Client) DetachDisks(request *DetachDisksRequest) (response *DetachDisks
// * 本接口为异步接口,当请求成功返回时,云盘并未立即从主机卸载,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态由“ATTACHED”变为“UNATTACHED”,则为卸载成功。
//
// 可能返回的错误码:
+// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
// INTERNALERROR_RESOURCEOPFAILED = "InternalError.ResourceOpFailed"
// INVALIDDISK_NOTPORTABLE = "InvalidDisk.NotPortable"
// INVALIDDISK_NOTSUPPORTED = "InvalidDisk.NotSupported"
@@ -1767,11 +2020,16 @@ func NewGetSnapOverviewRequest() (request *GetSnapOverviewRequest) {
func NewGetSnapOverviewResponse() (response *GetSnapOverviewResponse) {
response = &GetSnapOverviewResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// GetSnapOverview
+// 为进一步规范化API命名,该接口决定预下线,新接口命名为:DescribeSnapshotOverview
+//
+//
+//
// 获取快照概览信息
//
// 可能返回的错误码:
@@ -1782,6 +2040,10 @@ func (c *Client) GetSnapOverview(request *GetSnapOverviewRequest) (response *Get
}
// GetSnapOverview
+// 为进一步规范化API命名,该接口决定预下线,新接口命名为:DescribeSnapshotOverview
+//
+//
+//
// 获取快照概览信息
//
// 可能返回的错误码:
@@ -1817,8 +2079,9 @@ func NewInitializeDisksRequest() (request *InitializeDisksRequest) {
func NewInitializeDisksResponse() (response *InitializeDisksResponse) {
response = &InitializeDisksResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// InitializeDisks
@@ -1883,8 +2146,9 @@ func NewInquirePriceModifyDiskBackupQuotaRequest() (request *InquirePriceModifyD
func NewInquirePriceModifyDiskBackupQuotaResponse() (response *InquirePriceModifyDiskBackupQuotaResponse) {
response = &InquirePriceModifyDiskBackupQuotaResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// InquirePriceModifyDiskBackupQuota
@@ -1937,8 +2201,9 @@ func NewInquirePriceModifyDiskExtraPerformanceRequest() (request *InquirePriceMo
func NewInquirePriceModifyDiskExtraPerformanceResponse() (response *InquirePriceModifyDiskExtraPerformanceResponse) {
response = &InquirePriceModifyDiskExtraPerformanceResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// InquirePriceModifyDiskExtraPerformance
@@ -1993,8 +2258,9 @@ func NewInquiryPriceCreateDisksRequest() (request *InquiryPriceCreateDisksReques
func NewInquiryPriceCreateDisksResponse() (response *InquiryPriceCreateDisksResponse) {
response = &InquiryPriceCreateDisksResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// InquiryPriceCreateDisks
@@ -2051,8 +2317,9 @@ func NewInquiryPriceRenewDisksRequest() (request *InquiryPriceRenewDisksRequest)
func NewInquiryPriceRenewDisksResponse() (response *InquiryPriceRenewDisksResponse) {
response = &InquiryPriceRenewDisksResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// InquiryPriceRenewDisks
@@ -2129,17 +2396,14 @@ func NewInquiryPriceResizeDiskRequest() (request *InquiryPriceResizeDiskRequest)
func NewInquiryPriceResizeDiskResponse() (response *InquiryPriceResizeDiskResponse) {
response = &InquiryPriceResizeDiskResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// InquiryPriceResizeDisk
// 本接口(InquiryPriceResizeDisk)用于扩容云硬盘询价。
//
-//
-//
-// * 只支持预付费模式的云硬盘扩容询价。
-//
// 可能返回的错误码:
// INVALIDDISK_EXPIRE = "InvalidDisk.Expire"
// INVALIDDISK_NOTPORTABLE = "InvalidDisk.NotPortable"
@@ -2154,10 +2418,6 @@ func (c *Client) InquiryPriceResizeDisk(request *InquiryPriceResizeDiskRequest)
// InquiryPriceResizeDisk
// 本接口(InquiryPriceResizeDisk)用于扩容云硬盘询价。
//
-//
-//
-// * 只支持预付费模式的云硬盘扩容询价。
-//
// 可能返回的错误码:
// INVALIDDISK_EXPIRE = "InvalidDisk.Expire"
// INVALIDDISK_NOTPORTABLE = "InvalidDisk.NotPortable"
@@ -2195,8 +2455,9 @@ func NewModifyAutoSnapshotPolicyAttributeRequest() (request *ModifyAutoSnapshotP
func NewModifyAutoSnapshotPolicyAttributeResponse() (response *ModifyAutoSnapshotPolicyAttributeResponse) {
response = &ModifyAutoSnapshotPolicyAttributeResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ModifyAutoSnapshotPolicyAttribute
@@ -2263,12 +2524,13 @@ func NewModifyDiskAttributesRequest() (request *ModifyDiskAttributesRequest) {
func NewModifyDiskAttributesResponse() (response *ModifyDiskAttributesResponse) {
response = &ModifyDiskAttributesResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ModifyDiskAttributes
-// * 只支持修改弹性云盘的项目ID。随云主机创建的云硬盘项目ID与云主机联动。可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。
+// * 只支持修改弹性云盘的项目ID。随云主机创建的云硬盘项目ID与云主机联动。是否是弹性云盘可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。
//
// * “云硬盘名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行云盘管理操作的依据。
//
@@ -2279,6 +2541,7 @@ func NewModifyDiskAttributesResponse() (response *ModifyDiskAttributesResponse)
// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
// INVALIDDISK_NOTSUPPORTED = "InvalidDisk.NotSupported"
// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
+// INVALIDINSTANCEID_NOTFOUND = "InvalidInstanceId.NotFound"
// INVALIDPARAMETER_DISKCONFIGNOTSUPPORTED = "InvalidParameter.DiskConfigNotSupported"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
@@ -2287,12 +2550,13 @@ func NewModifyDiskAttributesResponse() (response *ModifyDiskAttributesResponse)
// RESOURCEINSUFFICIENT = "ResourceInsufficient"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
+// TRADEDEALCONFLICT = "TradeDealConflict"
func (c *Client) ModifyDiskAttributes(request *ModifyDiskAttributesRequest) (response *ModifyDiskAttributesResponse, err error) {
return c.ModifyDiskAttributesWithContext(context.Background(), request)
}
// ModifyDiskAttributes
-// * 只支持修改弹性云盘的项目ID。随云主机创建的云硬盘项目ID与云主机联动。可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。
+// * 只支持修改弹性云盘的项目ID。随云主机创建的云硬盘项目ID与云主机联动。是否是弹性云盘可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。
//
// * “云硬盘名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行云盘管理操作的依据。
//
@@ -2303,6 +2567,7 @@ func (c *Client) ModifyDiskAttributes(request *ModifyDiskAttributesRequest) (res
// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
// INVALIDDISK_NOTSUPPORTED = "InvalidDisk.NotSupported"
// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
+// INVALIDINSTANCEID_NOTFOUND = "InvalidInstanceId.NotFound"
// INVALIDPARAMETER_DISKCONFIGNOTSUPPORTED = "InvalidParameter.DiskConfigNotSupported"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
@@ -2311,6 +2576,7 @@ func (c *Client) ModifyDiskAttributes(request *ModifyDiskAttributesRequest) (res
// RESOURCEINSUFFICIENT = "ResourceInsufficient"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
+// TRADEDEALCONFLICT = "TradeDealConflict"
func (c *Client) ModifyDiskAttributesWithContext(ctx context.Context, request *ModifyDiskAttributesRequest) (response *ModifyDiskAttributesResponse, err error) {
if request == nil {
request = NewModifyDiskAttributesRequest()
@@ -2341,16 +2607,20 @@ func NewModifyDiskBackupQuotaRequest() (request *ModifyDiskBackupQuotaRequest) {
func NewModifyDiskBackupQuotaResponse() (response *ModifyDiskBackupQuotaResponse) {
response = &ModifyDiskBackupQuotaResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ModifyDiskBackupQuota
// 此接口 (ModifyDiskBackupQuota) 用于修改云硬盘备份点配额。
//
// 可能返回的错误码:
+// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
// INVALIDPARAMETER = "InvalidParameter"
+// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
+// RESOURCEUNAVAILABLE_ATTACHED = "ResourceUnavailable.Attached"
// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
// TRADEDEALCONFLICT = "TradeDealConflict"
// UNAUTHORIZEDOPERATION_NOTHAVEPAYMENTRIGHT = "UnauthorizedOperation.NotHavePaymentRight"
@@ -2362,8 +2632,11 @@ func (c *Client) ModifyDiskBackupQuota(request *ModifyDiskBackupQuotaRequest) (r
// 此接口 (ModifyDiskBackupQuota) 用于修改云硬盘备份点配额。
//
// 可能返回的错误码:
+// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
// INVALIDPARAMETER = "InvalidParameter"
+// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
+// RESOURCEUNAVAILABLE_ATTACHED = "ResourceUnavailable.Attached"
// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
// TRADEDEALCONFLICT = "TradeDealConflict"
// UNAUTHORIZEDOPERATION_NOTHAVEPAYMENTRIGHT = "UnauthorizedOperation.NotHavePaymentRight"
@@ -2397,8 +2670,9 @@ func NewModifyDiskExtraPerformanceRequest() (request *ModifyDiskExtraPerformance
func NewModifyDiskExtraPerformanceResponse() (response *ModifyDiskExtraPerformanceResponse) {
response = &ModifyDiskExtraPerformanceResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ModifyDiskExtraPerformance
@@ -2406,7 +2680,7 @@ func NewModifyDiskExtraPerformanceResponse() (response *ModifyDiskExtraPerforman
//
//
//
-// * 目前仅支持极速型SSD云硬盘(CLOUD_TSSD)和高性能SSD云硬盘(CLOUD_HSSD)。
+// * 目前仅支持增强型SSD云硬盘(CLOUD_HSSD)和极速型SSD云硬盘(CLOUD_TSSD)。
//
// 可能返回的错误码:
// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
@@ -2426,7 +2700,7 @@ func (c *Client) ModifyDiskExtraPerformance(request *ModifyDiskExtraPerformanceR
//
//
//
-// * 目前仅支持极速型SSD云硬盘(CLOUD_TSSD)和高性能SSD云硬盘(CLOUD_HSSD)。
+// * 目前仅支持增强型SSD云硬盘(CLOUD_HSSD)和极速型SSD云硬盘(CLOUD_TSSD)。
//
// 可能返回的错误码:
// INVALIDACCOUNT_INSUFFICIENTBALANCE = "InvalidAccount.InsufficientBalance"
@@ -2467,20 +2741,17 @@ func NewModifyDisksChargeTypeRequest() (request *ModifyDisksChargeTypeRequest) {
func NewModifyDisksChargeTypeResponse() (response *ModifyDisksChargeTypeResponse) {
response = &ModifyDisksChargeTypeResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ModifyDisksChargeType
-// 接口请求域名: cbs.tencentcloudapi.com 。
-//
-//
-//
-// 本接口 (ModifyDisksChargeType) 用于切换云盘的计费模式。
+// 本接口 (ModifyDisksChargeType) 用于切换云硬盘的计费模式。
//
//
//
-// 非弹性云盘不支持此接口,请通过修改实例计费模式接口将实例连同非弹性云盘一起转换。
+// 非弹性云硬盘不支持此接口,请通过修改实例计费模式接口将实例连同非弹性云硬盘一起转换。
//
// 默认接口请求频率限制:10次/秒。
//
@@ -2503,15 +2774,11 @@ func (c *Client) ModifyDisksChargeType(request *ModifyDisksChargeTypeRequest) (r
}
// ModifyDisksChargeType
-// 接口请求域名: cbs.tencentcloudapi.com 。
+// 本接口 (ModifyDisksChargeType) 用于切换云硬盘的计费模式。
//
//
//
-// 本接口 (ModifyDisksChargeType) 用于切换云盘的计费模式。
-//
-//
-//
-// 非弹性云盘不支持此接口,请通过修改实例计费模式接口将实例连同非弹性云盘一起转换。
+// 非弹性云硬盘不支持此接口,请通过修改实例计费模式接口将实例连同非弹性云硬盘一起转换。
//
// 默认接口请求频率限制:10次/秒。
//
@@ -2559,8 +2826,9 @@ func NewModifyDisksRenewFlagRequest() (request *ModifyDisksRenewFlagRequest) {
func NewModifyDisksRenewFlagResponse() (response *ModifyDisksRenewFlagResponse) {
response = &ModifyDisksRenewFlagResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ModifyDisksRenewFlag
@@ -2569,6 +2837,7 @@ func NewModifyDisksRenewFlagResponse() (response *ModifyDisksRenewFlagResponse)
// 可能返回的错误码:
// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
+// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
// MISSINGPARAMETER = "MissingParameter"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
// UNAUTHORIZEDOPERATION_MFAEXPIRED = "UnauthorizedOperation.MFAExpired"
@@ -2582,6 +2851,7 @@ func (c *Client) ModifyDisksRenewFlag(request *ModifyDisksRenewFlagRequest) (res
// 可能返回的错误码:
// INVALIDDISKID_NOTFOUND = "InvalidDiskId.NotFound"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
+// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
// MISSINGPARAMETER = "MissingParameter"
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
// UNAUTHORIZEDOPERATION_MFAEXPIRED = "UnauthorizedOperation.MFAExpired"
@@ -2615,8 +2885,9 @@ func NewModifySnapshotAttributeRequest() (request *ModifySnapshotAttributeReques
func NewModifySnapshotAttributeResponse() (response *ModifySnapshotAttributeResponse) {
response = &ModifySnapshotAttributeResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ModifySnapshotAttribute
@@ -2624,9 +2895,9 @@ func NewModifySnapshotAttributeResponse() (response *ModifySnapshotAttributeResp
//
//
//
-// * 当前仅支持修改快照名称及将非永久快照修改为永久快照。
+// * 本接口支持修改快照名称及到期时间,以及将非永久快照修改为永久快照。
//
-// * “快照名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行快照管理操作的依据。
+// * “快照名称”仅为方便用户管理之用,腾讯云并不以此名称作为提交工单或是进行快照管理操作的依据。
//
// 可能返回的错误码:
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
@@ -2644,9 +2915,9 @@ func (c *Client) ModifySnapshotAttribute(request *ModifySnapshotAttributeRequest
//
//
//
-// * 当前仅支持修改快照名称及将非永久快照修改为永久快照。
+// * 本接口支持修改快照名称及到期时间,以及将非永久快照修改为永久快照。
//
-// * “快照名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行快照管理操作的依据。
+// * “快照名称”仅为方便用户管理之用,腾讯云并不以此名称作为提交工单或是进行快照管理操作的依据。
//
// 可能返回的错误码:
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
@@ -2685,8 +2956,9 @@ func NewModifySnapshotsSharePermissionRequest() (request *ModifySnapshotsSharePe
func NewModifySnapshotsSharePermissionResponse() (response *ModifySnapshotsSharePermissionResponse) {
response = &ModifySnapshotsSharePermissionResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ModifySnapshotsSharePermission
@@ -2765,8 +3037,9 @@ func NewRenewDiskRequest() (request *RenewDiskRequest) {
func NewRenewDiskResponse() (response *RenewDiskResponse) {
response = &RenewDiskResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// RenewDisk
@@ -2851,8 +3124,9 @@ func NewResizeDiskRequest() (request *ResizeDiskRequest) {
func NewResizeDiskResponse() (response *ResizeDiskResponse) {
response = &ResizeDiskResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// ResizeDisk
@@ -2862,7 +3136,7 @@ func NewResizeDiskResponse() (response *ResizeDiskResponse) {
//
// * 只支持扩容弹性云盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。非弹性云硬盘需通过[ResizeInstanceDisks](/document/product/213/15731)接口扩容。
//
-// * 本接口为异步接口,接口成功返回时,云盘并未立即扩容到指定大小,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态为“EXPANDING”,表示正在扩容中。
+// * 本接口为异步接口,接口成功返回时,云盘并未立即扩容到指定大小,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态为“EXPANDING”,表示正在扩容中。
//
// 可能返回的错误码:
// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
@@ -2878,6 +3152,7 @@ func NewResizeDiskResponse() (response *ResizeDiskResponse) {
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
// RESOURCEUNAVAILABLE_EXPIRE = "ResourceUnavailable.Expire"
// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
+// RESOURCEUNAVAILABLE_SNAPSHOTCREATING = "ResourceUnavailable.SnapshotCreating"
// TRADEDEALCONFLICT = "TradeDealConflict"
// UNAUTHORIZEDOPERATION_NOTHAVEPAYMENTRIGHT = "UnauthorizedOperation.NotHavePaymentRight"
// UNSUPPORTEDOPERATION_INSTANCENOTSTOPPED = "UnsupportedOperation.InstanceNotStopped"
@@ -2892,7 +3167,7 @@ func (c *Client) ResizeDisk(request *ResizeDiskRequest) (response *ResizeDiskRes
//
// * 只支持扩容弹性云盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。非弹性云硬盘需通过[ResizeInstanceDisks](/document/product/213/15731)接口扩容。
//
-// * 本接口为异步接口,接口成功返回时,云盘并未立即扩容到指定大小,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态为“EXPANDING”,表示正在扩容中。
+// * 本接口为异步接口,接口成功返回时,云盘并未立即扩容到指定大小,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态为“EXPANDING”,表示正在扩容中。
//
// 可能返回的错误码:
// INTERNALERROR_COMPONENTERROR = "InternalError.ComponentError"
@@ -2908,6 +3183,7 @@ func (c *Client) ResizeDisk(request *ResizeDiskRequest) (response *ResizeDiskRes
// RESOURCENOTFOUND_NOTFOUND = "ResourceNotFound.NotFound"
// RESOURCEUNAVAILABLE_EXPIRE = "ResourceUnavailable.Expire"
// RESOURCEUNAVAILABLE_NOTSUPPORTED = "ResourceUnavailable.NotSupported"
+// RESOURCEUNAVAILABLE_SNAPSHOTCREATING = "ResourceUnavailable.SnapshotCreating"
// TRADEDEALCONFLICT = "TradeDealConflict"
// UNAUTHORIZEDOPERATION_NOTHAVEPAYMENTRIGHT = "UnauthorizedOperation.NotHavePaymentRight"
// UNSUPPORTEDOPERATION_INSTANCENOTSTOPPED = "UnsupportedOperation.InstanceNotStopped"
@@ -2941,8 +3217,9 @@ func NewTerminateDisksRequest() (request *TerminateDisksRequest) {
func NewTerminateDisksResponse() (response *TerminateDisksResponse) {
response = &TerminateDisksResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// TerminateDisks
@@ -2961,6 +3238,7 @@ func NewTerminateDisksResponse() (response *TerminateDisksResponse) {
// INTERNALERROR_FAILQUERYRESOURCE = "InternalError.FailQueryResource"
// INVALIDDISK_EXPIRE = "InvalidDisk.Expire"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
+// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
// MISSINGPARAMETER = "MissingParameter"
// RESOURCEBUSY = "ResourceBusy"
// RESOURCEINSUFFICIENT_OVERREFUNDQUOTA = "ResourceInsufficient.OverRefundQuota"
@@ -2990,6 +3268,7 @@ func (c *Client) TerminateDisks(request *TerminateDisksRequest) (response *Termi
// INTERNALERROR_FAILQUERYRESOURCE = "InternalError.FailQueryResource"
// INVALIDDISK_EXPIRE = "InvalidDisk.Expire"
// INVALIDPARAMETERVALUE = "InvalidParameterValue"
+// INVALIDPARAMETERVALUE_LIMITEXCEEDED = "InvalidParameterValue.LimitExceeded"
// MISSINGPARAMETER = "MissingParameter"
// RESOURCEBUSY = "ResourceBusy"
// RESOURCEINSUFFICIENT_OVERREFUNDQUOTA = "ResourceInsufficient.OverRefundQuota"
@@ -3029,8 +3308,9 @@ func NewUnbindAutoSnapshotPolicyRequest() (request *UnbindAutoSnapshotPolicyRequ
func NewUnbindAutoSnapshotPolicyResponse() (response *UnbindAutoSnapshotPolicyResponse) {
response = &UnbindAutoSnapshotPolicyResponse{
BaseResponse: &tchttp.BaseResponse{},
- }
+ }
return
+
}
// UnbindAutoSnapshotPolicy
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/errors.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/errors.go
index 06c76099f1..222a08028c 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/errors.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/errors.go
@@ -218,6 +218,9 @@ const (
// 该快照已经共享,请先解除共享。
UNSUPPORTEDOPERATION_SNAPHASSHARED = "UnsupportedOperation.SnapHasShared"
+ // 快照组关联快照的原云硬盘未挂载在同一实例上。
+ UNSUPPORTEDOPERATION_SNAPSHOTGROUPDISKATTACHMULTIINSTANCE = "UnsupportedOperation.SnapshotGroupDiskAttachMultiInstance"
+
// 该快照创建了自定义快照,请先删除对应镜像。
UNSUPPORTEDOPERATION_SNAPSHOTHASBINDEDIMAGE = "UnsupportedOperation.SnapshotHasBindedImage"
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/models.go
index b6b493f02e..328719733a 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/models.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312/models.go
@@ -15,28 +15,62 @@
package v20170312
import (
- "encoding/json"
tcerr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http"
+ "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/json"
)
+type AdvancedRetentionPolicy struct {
+ // 保留最新快照Days天内的每天最新的一个快照,取值范围:[0, 100]
+ Days *uint64 `json:"Days,omitnil,omitempty" name:"Days"`
+
+ // 保留最新快照Weeks周内的每周最新的一个快照,取值范围:[0, 100]
+ Weeks *uint64 `json:"Weeks,omitnil,omitempty" name:"Weeks"`
+
+ // 保留最新快照Months月内的每月最新的一个快照, 取值范围:[0, 100]
+ Months *uint64 `json:"Months,omitnil,omitempty" name:"Months"`
+
+ // 保留最新快照Years年内的每年最新的一个快照,取值范围:[0, 100]
+ Years *uint64 `json:"Years,omitnil,omitempty" name:"Years"`
+}
+
+type ApplyDisk struct {
+ // 快照组关联的快照ID。
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
+
+ // 快照组关联快照对应的原云硬盘ID。
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
+}
+
// Predefined struct for user
type ApplyDiskBackupRequestParams struct {
// 云硬盘备份点ID,可通过 DescribeDiskBackups 查询。
- DiskBackupId *string `json:"DiskBackupId,omitempty" name:"DiskBackupId"`
+ DiskBackupId *string `json:"DiskBackupId,omitnil,omitempty" name:"DiskBackupId"`
// 云硬盘备份点原云硬盘ID,可通过DescribeDisks接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
+
+ // 回滚云硬盘备份点前是否自动关机,默认为FALSE,表示不自动关机
+ AutoStopInstance *bool `json:"AutoStopInstance,omitnil,omitempty" name:"AutoStopInstance"`
+
+ // 回滚云硬盘备份点完成后是否自动开机,默认为FALSE,表示不自动开机
+ AutoStartInstance *bool `json:"AutoStartInstance,omitnil,omitempty" name:"AutoStartInstance"`
}
type ApplyDiskBackupRequest struct {
*tchttp.BaseRequest
// 云硬盘备份点ID,可通过 DescribeDiskBackups 查询。
- DiskBackupId *string `json:"DiskBackupId,omitempty" name:"DiskBackupId"`
+ DiskBackupId *string `json:"DiskBackupId,omitnil,omitempty" name:"DiskBackupId"`
// 云硬盘备份点原云硬盘ID,可通过DescribeDisks接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
+
+ // 回滚云硬盘备份点前是否自动关机,默认为FALSE,表示不自动关机
+ AutoStopInstance *bool `json:"AutoStopInstance,omitnil,omitempty" name:"AutoStopInstance"`
+
+ // 回滚云硬盘备份点完成后是否自动开机,默认为FALSE,表示不自动开机
+ AutoStartInstance *bool `json:"AutoStartInstance,omitnil,omitempty" name:"AutoStartInstance"`
}
func (r *ApplyDiskBackupRequest) ToJsonString() string {
@@ -53,6 +87,8 @@ func (r *ApplyDiskBackupRequest) FromJsonString(s string) error {
}
delete(f, "DiskBackupId")
delete(f, "DiskId")
+ delete(f, "AutoStopInstance")
+ delete(f, "AutoStartInstance")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ApplyDiskBackupRequest has unknown keys!", "")
}
@@ -61,8 +97,8 @@ func (r *ApplyDiskBackupRequest) FromJsonString(s string) error {
// Predefined struct for user
type ApplyDiskBackupResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ApplyDiskBackupResponse struct {
@@ -81,35 +117,110 @@ func (r *ApplyDiskBackupResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+// Predefined struct for user
+type ApplySnapshotGroupRequestParams struct {
+ // 回滚的快照组ID。
+ SnapshotGroupId *string `json:"SnapshotGroupId,omitnil,omitempty" name:"SnapshotGroupId"`
+
+ // 回滚的快照组关联的快照ID,及快照对应的原云硬盘ID列表。
+ ApplyDisks []*ApplyDisk `json:"ApplyDisks,omitnil,omitempty" name:"ApplyDisks"`
+
+ // 回滚前是否执行自动关机。
+ AutoStopInstance *bool `json:"AutoStopInstance,omitnil,omitempty" name:"AutoStopInstance"`
+
+ // 回滚完成后是否自动开机。
+ AutoStartInstance *bool `json:"AutoStartInstance,omitnil,omitempty" name:"AutoStartInstance"`
+}
+
+type ApplySnapshotGroupRequest struct {
+ *tchttp.BaseRequest
+
+ // 回滚的快照组ID。
+ SnapshotGroupId *string `json:"SnapshotGroupId,omitnil,omitempty" name:"SnapshotGroupId"`
+
+ // 回滚的快照组关联的快照ID,及快照对应的原云硬盘ID列表。
+ ApplyDisks []*ApplyDisk `json:"ApplyDisks,omitnil,omitempty" name:"ApplyDisks"`
+
+ // 回滚前是否执行自动关机。
+ AutoStopInstance *bool `json:"AutoStopInstance,omitnil,omitempty" name:"AutoStopInstance"`
+
+ // 回滚完成后是否自动开机。
+ AutoStartInstance *bool `json:"AutoStartInstance,omitnil,omitempty" name:"AutoStartInstance"`
+}
+
+func (r *ApplySnapshotGroupRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+// FromJsonString It is highly **NOT** recommended to use this function
+// because it has no param check, nor strict type check
+func (r *ApplySnapshotGroupRequest) FromJsonString(s string) error {
+ f := make(map[string]interface{})
+ if err := json.Unmarshal([]byte(s), &f); err != nil {
+ return err
+ }
+ delete(f, "SnapshotGroupId")
+ delete(f, "ApplyDisks")
+ delete(f, "AutoStopInstance")
+ delete(f, "AutoStartInstance")
+ if len(f) > 0 {
+ return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ApplySnapshotGroupRequest has unknown keys!", "")
+ }
+ return json.Unmarshal([]byte(s), &r)
+}
+
+// Predefined struct for user
+type ApplySnapshotGroupResponseParams struct {
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
+}
+
+type ApplySnapshotGroupResponse struct {
+ *tchttp.BaseResponse
+ Response *ApplySnapshotGroupResponseParams `json:"Response"`
+}
+
+func (r *ApplySnapshotGroupResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+// FromJsonString It is highly **NOT** recommended to use this function
+// because it has no param check, nor strict type check
+func (r *ApplySnapshotGroupResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
// Predefined struct for user
type ApplySnapshotRequestParams struct {
// 快照ID, 可通过[DescribeSnapshots](/document/product/362/15647)查询。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 快照原云硬盘ID,可通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 回滚前是否执行自动关机
- AutoStopInstance *bool `json:"AutoStopInstance,omitempty" name:"AutoStopInstance"`
+ AutoStopInstance *bool `json:"AutoStopInstance,omitnil,omitempty" name:"AutoStopInstance"`
// 回滚完成后是否自动开机
- AutoStartInstance *bool `json:"AutoStartInstance,omitempty" name:"AutoStartInstance"`
+ AutoStartInstance *bool `json:"AutoStartInstance,omitnil,omitempty" name:"AutoStartInstance"`
}
type ApplySnapshotRequest struct {
*tchttp.BaseRequest
// 快照ID, 可通过[DescribeSnapshots](/document/product/362/15647)查询。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 快照原云硬盘ID,可通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 回滚前是否执行自动关机
- AutoStopInstance *bool `json:"AutoStopInstance,omitempty" name:"AutoStopInstance"`
+ AutoStopInstance *bool `json:"AutoStopInstance,omitnil,omitempty" name:"AutoStopInstance"`
// 回滚完成后是否自动开机
- AutoStartInstance *bool `json:"AutoStartInstance,omitempty" name:"AutoStartInstance"`
+ AutoStartInstance *bool `json:"AutoStartInstance,omitnil,omitempty" name:"AutoStartInstance"`
}
func (r *ApplySnapshotRequest) ToJsonString() string {
@@ -136,8 +247,8 @@ func (r *ApplySnapshotRequest) FromJsonString(s string) error {
// Predefined struct for user
type ApplySnapshotResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ApplySnapshotResponse struct {
@@ -158,44 +269,44 @@ func (r *ApplySnapshotResponse) FromJsonString(s string) error {
type AttachDetail struct {
// 实例ID。
- InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+ InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
// 实例已挂载数据盘的数量。
- AttachedDiskCount *uint64 `json:"AttachedDiskCount,omitempty" name:"AttachedDiskCount"`
+ AttachedDiskCount *uint64 `json:"AttachedDiskCount,omitnil,omitempty" name:"AttachedDiskCount"`
// 实例最大可挂载数据盘的数量。
- MaxAttachCount *uint64 `json:"MaxAttachCount,omitempty" name:"MaxAttachCount"`
+ MaxAttachCount *uint64 `json:"MaxAttachCount,omitnil,omitempty" name:"MaxAttachCount"`
}
// Predefined struct for user
type AttachDisksRequestParams struct {
// 云服务器实例ID。云盘将被挂载到此云服务器上,通过[DescribeInstances](/document/product/213/15728)接口查询。
- InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+ InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
// 将要被挂载的弹性云盘ID。通过[DescribeDisks](/document/product/362/16315)接口查询。单次最多可挂载10块弹性云盘。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 可选参数,不传该参数则仅执行挂载操作。传入`True`时,会在挂载成功后将云硬盘设置为随云主机销毁模式,仅对按量计费云硬盘有效。
- DeleteWithInstance *bool `json:"DeleteWithInstance,omitempty" name:"DeleteWithInstance"`
+ DeleteWithInstance *bool `json:"DeleteWithInstance,omitnil,omitempty" name:"DeleteWithInstance"`
- // 可选参数,用于控制云盘挂载时使用的挂载模式,目前仅对黑石裸金属机型有效。取值范围:
PF
VF
- AttachMode *string `json:"AttachMode,omitempty" name:"AttachMode"`
+ // 可选参数,用于控制云盘挂载时使用的挂载模式,目前仅对黑石裸金属机型有效。取值范围:
PF
VF
+ AttachMode *string `json:"AttachMode,omitnil,omitempty" name:"AttachMode"`
}
type AttachDisksRequest struct {
*tchttp.BaseRequest
// 云服务器实例ID。云盘将被挂载到此云服务器上,通过[DescribeInstances](/document/product/213/15728)接口查询。
- InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+ InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
// 将要被挂载的弹性云盘ID。通过[DescribeDisks](/document/product/362/16315)接口查询。单次最多可挂载10块弹性云盘。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 可选参数,不传该参数则仅执行挂载操作。传入`True`时,会在挂载成功后将云硬盘设置为随云主机销毁模式,仅对按量计费云硬盘有效。
- DeleteWithInstance *bool `json:"DeleteWithInstance,omitempty" name:"DeleteWithInstance"`
+ DeleteWithInstance *bool `json:"DeleteWithInstance,omitnil,omitempty" name:"DeleteWithInstance"`
- // 可选参数,用于控制云盘挂载时使用的挂载模式,目前仅对黑石裸金属机型有效。取值范围:
PF
VF
- AttachMode *string `json:"AttachMode,omitempty" name:"AttachMode"`
+ // 可选参数,用于控制云盘挂载时使用的挂载模式,目前仅对黑石裸金属机型有效。取值范围:
PF
VF
+ AttachMode *string `json:"AttachMode,omitnil,omitempty" name:"AttachMode"`
}
func (r *AttachDisksRequest) ToJsonString() string {
@@ -222,8 +333,8 @@ func (r *AttachDisksRequest) FromJsonString(s string) error {
// Predefined struct for user
type AttachDisksResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type AttachDisksResponse struct {
@@ -244,76 +355,95 @@ func (r *AttachDisksResponse) FromJsonString(s string) error {
type AutoMountConfiguration struct {
// 要挂载到的实例ID。
- InstanceId []*string `json:"InstanceId,omitempty" name:"InstanceId"`
+ InstanceId []*string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
// 子机内的挂载点。
- MountPoint []*string `json:"MountPoint,omitempty" name:"MountPoint"`
+ MountPoint []*string `json:"MountPoint,omitnil,omitempty" name:"MountPoint"`
// 文件系统类型,支持的有 ext4、xfs。
- FileSystemType *string `json:"FileSystemType,omitempty" name:"FileSystemType"`
+ FileSystemType *string `json:"FileSystemType,omitnil,omitempty" name:"FileSystemType"`
}
type AutoSnapshotPolicy struct {
// 已绑定当前定期快照策略的云盘ID列表。
- DiskIdSet []*string `json:"DiskIdSet,omitempty" name:"DiskIdSet"`
+ DiskIdSet []*string `json:"DiskIdSet,omitnil,omitempty" name:"DiskIdSet"`
// 定期快照策略是否激活。
- IsActivated *bool `json:"IsActivated,omitempty" name:"IsActivated"`
+ IsActivated *bool `json:"IsActivated,omitnil,omitempty" name:"IsActivated"`
- // 定期快照策略的状态。取值范围:
NORMAL:正常
ISOLATED:已隔离。
- AutoSnapshotPolicyState *string `json:"AutoSnapshotPolicyState,omitempty" name:"AutoSnapshotPolicyState"`
+ // 定期快照策略的状态。取值范围:
+ //
+ // - NORMAL:正常
+ // - ISOLATED:已隔离
+ //
+ AutoSnapshotPolicyState *string `json:"AutoSnapshotPolicyState,omitnil,omitempty" name:"AutoSnapshotPolicyState"`
// 是否是跨账号复制快照快照, 1:是, 0: 不是
- // 注意:此字段可能返回 null,表示取不到有效值。
- IsCopyToRemote *uint64 `json:"IsCopyToRemote,omitempty" name:"IsCopyToRemote"`
+ IsCopyToRemote *uint64 `json:"IsCopyToRemote,omitnil,omitempty" name:"IsCopyToRemote"`
// 使用该定期快照策略创建出来的快照是否永久保留。
- IsPermanent *bool `json:"IsPermanent,omitempty" name:"IsPermanent"`
+ IsPermanent *bool `json:"IsPermanent,omitnil,omitempty" name:"IsPermanent"`
// 定期快照下次触发的时间。
- NextTriggerTime *string `json:"NextTriggerTime,omitempty" name:"NextTriggerTime"`
+ NextTriggerTime *string `json:"NextTriggerTime,omitnil,omitempty" name:"NextTriggerTime"`
// 定期快照策略名称。
- AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitempty" name:"AutoSnapshotPolicyName"`
+ AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitnil,omitempty" name:"AutoSnapshotPolicyName"`
// 定期快照策略ID。
- AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitempty" name:"AutoSnapshotPolicyId"`
+ AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
// 定期快照的执行策略。
- Policy []*Policy `json:"Policy,omitempty" name:"Policy"`
+ Policy []*Policy `json:"Policy,omitnil,omitempty" name:"Policy"`
// 定期快照策略的创建时间。
- CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"`
+ CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
// 使用该定期快照策略创建出来的快照保留天数。
- RetentionDays *uint64 `json:"RetentionDays,omitempty" name:"RetentionDays"`
+ RetentionDays *uint64 `json:"RetentionDays,omitnil,omitempty" name:"RetentionDays"`
// 复制的目标账户ID
// 注意:此字段可能返回 null,表示取不到有效值。
- CopyToAccountUin *string `json:"CopyToAccountUin,omitempty" name:"CopyToAccountUin"`
+ CopyToAccountUin *string `json:"CopyToAccountUin,omitnil,omitempty" name:"CopyToAccountUin"`
// 已绑定当前定期快照策略的实例ID列表。
+ InstanceIdSet []*string `json:"InstanceIdSet,omitnil,omitempty" name:"InstanceIdSet"`
+
+ // 该定期快照创建的快照可以保留的月数。
+ RetentionMonths *uint64 `json:"RetentionMonths,omitnil,omitempty" name:"RetentionMonths"`
+
+ // 该定期快照创建的快照最大保留数量。
+ RetentionAmount *uint64 `json:"RetentionAmount,omitnil,omitempty" name:"RetentionAmount"`
+
+ // 定期快照高级保留策略。
// 注意:此字段可能返回 null,表示取不到有效值。
- InstanceIdSet []*string `json:"InstanceIdSet,omitempty" name:"InstanceIdSet"`
+ AdvancedRetentionPolicy *AdvancedRetentionPolicy `json:"AdvancedRetentionPolicy,omitnil,omitempty" name:"AdvancedRetentionPolicy"`
+
+ // 该复制快照策略的源端账户ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ CopyFromAccountUin *string `json:"CopyFromAccountUin,omitnil,omitempty" name:"CopyFromAccountUin"`
+
+ // 标签。
+ Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}
// Predefined struct for user
type BindAutoSnapshotPolicyRequestParams struct {
// 要绑定的定期快照策略ID。
- AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitempty" name:"AutoSnapshotPolicyId"`
+ AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
// 要绑定的云硬盘ID列表,一次请求最多绑定80块云盘。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
}
type BindAutoSnapshotPolicyRequest struct {
*tchttp.BaseRequest
// 要绑定的定期快照策略ID。
- AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitempty" name:"AutoSnapshotPolicyId"`
+ AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
// 要绑定的云硬盘ID列表,一次请求最多绑定80块云盘。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
}
func (r *BindAutoSnapshotPolicyRequest) ToJsonString() string {
@@ -338,8 +468,8 @@ func (r *BindAutoSnapshotPolicyRequest) FromJsonString(s string) error {
// Predefined struct for user
type BindAutoSnapshotPolicyResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type BindAutoSnapshotPolicyResponse struct {
@@ -361,63 +491,67 @@ func (r *BindAutoSnapshotPolicyResponse) FromJsonString(s string) error {
type Cdc struct {
// 独享集群围笼ID。
// 注意:此字段可能返回 null,表示取不到有效值。
- CageId *string `json:"CageId,omitempty" name:"CageId"`
+ CageId *string `json:"CageId,omitnil,omitempty" name:"CageId"`
- // 独享集群状态。取值范围:
NORMAL:正常;
CLOSED:关闭,此时将不可使用该独享集群创建新的云硬盘;
FAULT:独享集群状态异常,此时独享集群将不可操作,腾讯云运维团队将会及时修复该集群;
ISOLATED:因未及时续费导致独享集群被隔离,此时将不可使用该独享集群创建新的云硬盘,对应的云硬盘也将不可操作。
- CdcState *string `json:"CdcState,omitempty" name:"CdcState"`
+ // 独享集群状态。取值范围:
NORMAL:正常;
CLOSED:关闭,此时将不可使用该独享集群创建新的云硬盘;
FAULT:独享集群状态异常,此时独享集群将不可操作,腾讯云运维团队将会及时修复该集群;
ISOLATED:因未及时续费导致独享集群被隔离,此时将不可使用该独享集群创建新的云硬盘,对应的云硬盘也将不可操作。
+ CdcState *string `json:"CdcState,omitnil,omitempty" name:"CdcState"`
// 独享集群所属的[可用区](/document/product/213/15753#ZoneInfo)ID。
- // 注意:此字段可能返回 null,表示取不到有效值。
- Zone *string `json:"Zone,omitempty" name:"Zone"`
+ Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`
// 独享集群实例名称。
- CdcName *string `json:"CdcName,omitempty" name:"CdcName"`
+ CdcName *string `json:"CdcName,omitnil,omitempty" name:"CdcName"`
// 独享集群的资源容量大小。
- // 注意:此字段可能返回 null,表示取不到有效值。
- CdcResource *CdcSize `json:"CdcResource,omitempty" name:"CdcResource"`
+ CdcResource *CdcSize `json:"CdcResource,omitnil,omitempty" name:"CdcResource"`
// 独享集群实例id。
- CdcId *string `json:"CdcId,omitempty" name:"CdcId"`
+ CdcId *string `json:"CdcId,omitnil,omitempty" name:"CdcId"`
- // 独享集群类型。取值范围:
CLOUD_BASIC:表示普通云硬盘集群
CLOUD_PREMIUM:表示高性能云硬盘集群
CLOUD_SSD:SSD表示SSD云硬盘集群。
- DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
+ // 独享集群类型。取值范围:
CLOUD_BASIC:表示普通云硬盘集群
CLOUD_PREMIUM:表示高性能云硬盘集群
CLOUD_SSD:SSD表示SSD云硬盘集群。
+ DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"`
// 独享集群到期时间。
- ExpiredTime *string `json:"ExpiredTime,omitempty" name:"ExpiredTime"`
+ ExpiredTime *string `json:"ExpiredTime,omitnil,omitempty" name:"ExpiredTime"`
+
+ // 存储池创建时间。
+ CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"`
+
+ // 当前集群中已创建的云盘数量。
+ DiskNumber *uint64 `json:"DiskNumber,omitnil,omitempty" name:"DiskNumber"`
}
type CdcSize struct {
- // 独享集群的可用容量大小,单位GiB
- DiskAavilable *uint64 `json:"DiskAavilable,omitempty" name:"DiskAavilable"`
-
// 独享集群的总容量大小,单位GiB
- DiskTotal *uint64 `json:"DiskTotal,omitempty" name:"DiskTotal"`
+ DiskTotal *uint64 `json:"DiskTotal,omitnil,omitempty" name:"DiskTotal"`
+
+ // 独享集群的可用容量大小,单位GiB
+ DiskAvailable *uint64 `json:"DiskAvailable,omitnil,omitempty" name:"DiskAvailable"`
}
// Predefined struct for user
type CopySnapshotCrossRegionsRequestParams struct {
// 快照需要复制到的目标地域,各地域的标准取值可通过接口[DescribeRegions](https://cloud.tencent.com/document/product/213/9456)查询,且只能传入支持快照的地域。
- DestinationRegions []*string `json:"DestinationRegions,omitempty" name:"DestinationRegions"`
+ DestinationRegions []*string `json:"DestinationRegions,omitnil,omitempty" name:"DestinationRegions"`
// 需要跨地域复制的源快照ID,可通过[DescribeSnapshots](/document/product/362/15647)查询。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 新复制快照的名称,如果不传,则默认取值为“Copied 源快照ID from 地域名”。
- SnapshotName *string `json:"SnapshotName,omitempty" name:"SnapshotName"`
+ SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`
}
type CopySnapshotCrossRegionsRequest struct {
*tchttp.BaseRequest
// 快照需要复制到的目标地域,各地域的标准取值可通过接口[DescribeRegions](https://cloud.tencent.com/document/product/213/9456)查询,且只能传入支持快照的地域。
- DestinationRegions []*string `json:"DestinationRegions,omitempty" name:"DestinationRegions"`
+ DestinationRegions []*string `json:"DestinationRegions,omitnil,omitempty" name:"DestinationRegions"`
// 需要跨地域复制的源快照ID,可通过[DescribeSnapshots](/document/product/362/15647)查询。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 新复制快照的名称,如果不传,则默认取值为“Copied 源快照ID from 地域名”。
- SnapshotName *string `json:"SnapshotName,omitempty" name:"SnapshotName"`
+ SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`
}
func (r *CopySnapshotCrossRegionsRequest) ToJsonString() string {
@@ -444,10 +578,10 @@ func (r *CopySnapshotCrossRegionsRequest) FromJsonString(s string) error {
// Predefined struct for user
type CopySnapshotCrossRegionsResponseParams struct {
// 快照跨地域复制的结果,如果请求下发成功,则返回相应地地域的新快照ID,否则返回Error。
- SnapshotCopyResultSet []*SnapshotCopyResult `json:"SnapshotCopyResultSet,omitempty" name:"SnapshotCopyResultSet"`
+ SnapshotCopyResultSet []*SnapshotCopyResult `json:"SnapshotCopyResultSet,omitnil,omitempty" name:"SnapshotCopyResultSet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type CopySnapshotCrossRegionsResponse struct {
@@ -469,44 +603,44 @@ func (r *CopySnapshotCrossRegionsResponse) FromJsonString(s string) error {
// Predefined struct for user
type CreateAutoSnapshotPolicyRequestParams struct {
// 定期快照的执行策略。
- Policy []*Policy `json:"Policy,omitempty" name:"Policy"`
+ Policy []*Policy `json:"Policy,omitnil,omitempty" name:"Policy"`
// 是否创建定期快照的执行策略。TRUE表示只需获取首次开始备份的时间,不实际创建定期快照策略,FALSE表示创建,默认为FALSE。
- DryRun *bool `json:"DryRun,omitempty" name:"DryRun"`
+ DryRun *bool `json:"DryRun,omitnil,omitempty" name:"DryRun"`
// 是否激活定期快照策略,FALSE表示未激活,TRUE表示激活,默认为TRUE。
- IsActivated *bool `json:"IsActivated,omitempty" name:"IsActivated"`
+ IsActivated *bool `json:"IsActivated,omitnil,omitempty" name:"IsActivated"`
// 要创建的定期快照策略名。不传则默认为“未命名”。最大长度不能超60个字节。
- AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitempty" name:"AutoSnapshotPolicyName"`
+ AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitnil,omitempty" name:"AutoSnapshotPolicyName"`
// 通过该定期快照策略创建的快照是否永久保留。FALSE表示非永久保留,TRUE表示永久保留,默认为FALSE。
- IsPermanent *bool `json:"IsPermanent,omitempty" name:"IsPermanent"`
+ IsPermanent *bool `json:"IsPermanent,omitnil,omitempty" name:"IsPermanent"`
// 通过该定期快照策略创建的快照保留天数,默认保留7天。如果指定本参数,则IsPermanent入参不可指定为TRUE,否则会产生冲突。
- RetentionDays *uint64 `json:"RetentionDays,omitempty" name:"RetentionDays"`
+ RetentionDays *uint64 `json:"RetentionDays,omitnil,omitempty" name:"RetentionDays"`
}
type CreateAutoSnapshotPolicyRequest struct {
*tchttp.BaseRequest
// 定期快照的执行策略。
- Policy []*Policy `json:"Policy,omitempty" name:"Policy"`
+ Policy []*Policy `json:"Policy,omitnil,omitempty" name:"Policy"`
// 是否创建定期快照的执行策略。TRUE表示只需获取首次开始备份的时间,不实际创建定期快照策略,FALSE表示创建,默认为FALSE。
- DryRun *bool `json:"DryRun,omitempty" name:"DryRun"`
+ DryRun *bool `json:"DryRun,omitnil,omitempty" name:"DryRun"`
// 是否激活定期快照策略,FALSE表示未激活,TRUE表示激活,默认为TRUE。
- IsActivated *bool `json:"IsActivated,omitempty" name:"IsActivated"`
+ IsActivated *bool `json:"IsActivated,omitnil,omitempty" name:"IsActivated"`
// 要创建的定期快照策略名。不传则默认为“未命名”。最大长度不能超60个字节。
- AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitempty" name:"AutoSnapshotPolicyName"`
+ AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitnil,omitempty" name:"AutoSnapshotPolicyName"`
// 通过该定期快照策略创建的快照是否永久保留。FALSE表示非永久保留,TRUE表示永久保留,默认为FALSE。
- IsPermanent *bool `json:"IsPermanent,omitempty" name:"IsPermanent"`
+ IsPermanent *bool `json:"IsPermanent,omitnil,omitempty" name:"IsPermanent"`
// 通过该定期快照策略创建的快照保留天数,默认保留7天。如果指定本参数,则IsPermanent入参不可指定为TRUE,否则会产生冲突。
- RetentionDays *uint64 `json:"RetentionDays,omitempty" name:"RetentionDays"`
+ RetentionDays *uint64 `json:"RetentionDays,omitnil,omitempty" name:"RetentionDays"`
}
func (r *CreateAutoSnapshotPolicyRequest) ToJsonString() string {
@@ -536,13 +670,13 @@ func (r *CreateAutoSnapshotPolicyRequest) FromJsonString(s string) error {
// Predefined struct for user
type CreateAutoSnapshotPolicyResponseParams struct {
// 新创建的定期快照策略ID。
- AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitempty" name:"AutoSnapshotPolicyId"`
+ AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
// 首次开始备份的时间。
- NextTriggerTime *string `json:"NextTriggerTime,omitempty" name:"NextTriggerTime"`
+ NextTriggerTime *string `json:"NextTriggerTime,omitnil,omitempty" name:"NextTriggerTime"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type CreateAutoSnapshotPolicyResponse struct {
@@ -564,20 +698,20 @@ func (r *CreateAutoSnapshotPolicyResponse) FromJsonString(s string) error {
// Predefined struct for user
type CreateDiskBackupRequestParams struct {
// 要创建备份点的云硬盘名称。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 云硬盘备份点名称。长度不能超过100个字符。
- DiskBackupName *string `json:"DiskBackupName,omitempty" name:"DiskBackupName"`
+ DiskBackupName *string `json:"DiskBackupName,omitnil,omitempty" name:"DiskBackupName"`
}
type CreateDiskBackupRequest struct {
*tchttp.BaseRequest
// 要创建备份点的云硬盘名称。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 云硬盘备份点名称。长度不能超过100个字符。
- DiskBackupName *string `json:"DiskBackupName,omitempty" name:"DiskBackupName"`
+ DiskBackupName *string `json:"DiskBackupName,omitnil,omitempty" name:"DiskBackupName"`
}
func (r *CreateDiskBackupRequest) ToJsonString() string {
@@ -603,10 +737,10 @@ func (r *CreateDiskBackupRequest) FromJsonString(s string) error {
// Predefined struct for user
type CreateDiskBackupResponseParams struct {
// 云硬盘备份点的ID。
- DiskBackupId *string `json:"DiskBackupId,omitempty" name:"DiskBackupId"`
+ DiskBackupId *string `json:"DiskBackupId,omitnil,omitempty" name:"DiskBackupId"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type CreateDiskBackupResponse struct {
@@ -628,104 +762,122 @@ func (r *CreateDiskBackupResponse) FromJsonString(s string) error {
// Predefined struct for user
type CreateDisksRequestParams struct {
// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目。若不指定项目,将在默认项目下进行创建。
- Placement *Placement `json:"Placement,omitempty" name:"Placement"`
+ Placement *Placement `json:"Placement,omitnil,omitempty" name:"Placement"`
- // 云硬盘计费类型。
PREPAID:预付费,即包年包月
POSTPAID_BY_HOUR:按小时后付费
CDCPAID:独享集群付费
各类型价格请参考云硬盘[价格总览](/document/product/362/2413)。
- DiskChargeType *string `json:"DiskChargeType,omitempty" name:"DiskChargeType"`
+ // 云硬盘计费类型。
PREPAID:预付费,即包年包月
POSTPAID_BY_HOUR:按小时后付费
CDCPAID:独享集群付费
各类型价格请参考云硬盘[价格总览](/document/product/362/2413)。
+ DiskChargeType *string `json:"DiskChargeType,omitnil,omitempty" name:"DiskChargeType"`
- // 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_BSSD:表示通用型SSD云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘
CLOUD_TSSD:表示极速型SSD云硬盘。
- DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
+ // 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_BSSD:表示通用型SSD云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘
CLOUD_TSSD:表示极速型SSD云硬盘。
+ DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"`
// 云盘显示名称。不传则默认为“未命名”。最大长度不能超60个字节。
- DiskName *string `json:"DiskName,omitempty" name:"DiskName"`
+ DiskName *string `json:"DiskName,omitnil,omitempty" name:"DiskName"`
// 云盘绑定的标签。
- Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
+ Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
// 快照ID,如果传入则根据此快照创建云硬盘,快照类型必须为数据盘快照,可通过[DescribeSnapshots](/document/product/362/15647)接口查询快照,见输出参数DiskUsage解释。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 创建云硬盘数量,不传则默认为1。单次请求最多可创建的云盘数有限制,具体参见[云硬盘使用限制](https://cloud.tencent.com/doc/product/362/5145)。
- DiskCount *uint64 `json:"DiskCount,omitempty" name:"DiskCount"`
+ DiskCount *uint64 `json:"DiskCount,omitnil,omitempty" name:"DiskCount"`
// 可选参数。使用此参数可给云硬盘购买额外的性能。
当前仅支持极速型云盘(CLOUD_TSSD)和增强型SSD云硬盘(CLOUD_HSSD)
- ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitnil,omitempty" name:"ThroughputPerformance"`
+
+ // 可选参数。购买加密盘时自定义密钥, 当传入该参数时, Encrypt入参不为空
+ KmsKeyId *string `json:"KmsKeyId,omitnil,omitempty" name:"KmsKeyId"`
- // 云硬盘大小,单位为GB。
如果传入`SnapshotId`则可不传`DiskSize`,此时新建云盘的大小为快照大小
如果传入`SnapshotId`同时传入`DiskSize`,则云盘大小必须大于或等于快照大小
云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ // 云硬盘大小,单位为GiB。
如果传入`SnapshotId`则可不传`DiskSize`,此时新建云盘的大小为快照大小
如果传入`SnapshotId`同时传入`DiskSize`,则云盘大小必须大于或等于快照大小
云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
// 可选参数,默认为False。传入True时,云盘将创建为共享型云盘。
- Shareable *bool `json:"Shareable,omitempty" name:"Shareable"`
+ Shareable *bool `json:"Shareable,omitnil,omitempty" name:"Shareable"`
// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
- ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
+ ClientToken *string `json:"ClientToken,omitnil,omitempty" name:"ClientToken"`
// 传入该参数用于创建加密云盘,取值固定为ENCRYPT。
- Encrypt *string `json:"Encrypt,omitempty" name:"Encrypt"`
+ Encrypt *string `json:"Encrypt,omitnil,omitempty" name:"Encrypt"`
// 预付费模式,即包年包月相关参数设置。通过该参数指定包年包月云盘的购买时长、是否设置自动续费等属性。
创建预付费云盘该参数必传,创建按小时后付费云盘无需传该参数。
- DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitempty" name:"DiskChargePrepaid"`
+ DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitnil,omitempty" name:"DiskChargePrepaid"`
// 销毁云盘时删除关联的非永久保留快照。0 表示非永久快照不随云盘销毁而销毁,1表示非永久快照随云盘销毁而销毁,默认取0。快照是否永久保留可以通过DescribeSnapshots接口返回的快照详情的IsPermanent字段来判断,true表示永久快照,false表示非永久快照。
- DeleteSnapshot *int64 `json:"DeleteSnapshot,omitempty" name:"DeleteSnapshot"`
+ DeleteSnapshot *int64 `json:"DeleteSnapshot,omitnil,omitempty" name:"DeleteSnapshot"`
// 创建云盘时指定自动挂载并初始化该数据盘。
- AutoMountConfiguration *AutoMountConfiguration `json:"AutoMountConfiguration,omitempty" name:"AutoMountConfiguration"`
+ AutoMountConfiguration *AutoMountConfiguration `json:"AutoMountConfiguration,omitnil,omitempty" name:"AutoMountConfiguration"`
// 指定云硬盘备份点配额。
- DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitempty" name:"DiskBackupQuota"`
+ DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitnil,omitempty" name:"DiskBackupQuota"`
+
+ // 创建云盘时是否开启性能突发
+ BurstPerformance *bool `json:"BurstPerformance,omitnil,omitempty" name:"BurstPerformance"`
+
+ // 指定云硬盘加密类型,取值为ENCRYPT_V1和ENCRYPT_V2,分别表示第一代和第二代加密技术,两种加密技术互不兼容。推荐优先使用第二代加密技术ENCRYPT_V2,第一代加密技术仅支持在部分老旧机型使用。该参数仅当创建加密云硬盘时有效。
+ EncryptType *string `json:"EncryptType,omitnil,omitempty" name:"EncryptType"`
}
type CreateDisksRequest struct {
*tchttp.BaseRequest
// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目。若不指定项目,将在默认项目下进行创建。
- Placement *Placement `json:"Placement,omitempty" name:"Placement"`
+ Placement *Placement `json:"Placement,omitnil,omitempty" name:"Placement"`
- // 云硬盘计费类型。
PREPAID:预付费,即包年包月
POSTPAID_BY_HOUR:按小时后付费
CDCPAID:独享集群付费
各类型价格请参考云硬盘[价格总览](/document/product/362/2413)。
- DiskChargeType *string `json:"DiskChargeType,omitempty" name:"DiskChargeType"`
+ // 云硬盘计费类型。
PREPAID:预付费,即包年包月
POSTPAID_BY_HOUR:按小时后付费
CDCPAID:独享集群付费
各类型价格请参考云硬盘[价格总览](/document/product/362/2413)。
+ DiskChargeType *string `json:"DiskChargeType,omitnil,omitempty" name:"DiskChargeType"`
- // 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_BSSD:表示通用型SSD云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘
CLOUD_TSSD:表示极速型SSD云硬盘。
- DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
+ // 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_BSSD:表示通用型SSD云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘
CLOUD_TSSD:表示极速型SSD云硬盘。
+ DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"`
// 云盘显示名称。不传则默认为“未命名”。最大长度不能超60个字节。
- DiskName *string `json:"DiskName,omitempty" name:"DiskName"`
+ DiskName *string `json:"DiskName,omitnil,omitempty" name:"DiskName"`
// 云盘绑定的标签。
- Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
+ Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
// 快照ID,如果传入则根据此快照创建云硬盘,快照类型必须为数据盘快照,可通过[DescribeSnapshots](/document/product/362/15647)接口查询快照,见输出参数DiskUsage解释。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 创建云硬盘数量,不传则默认为1。单次请求最多可创建的云盘数有限制,具体参见[云硬盘使用限制](https://cloud.tencent.com/doc/product/362/5145)。
- DiskCount *uint64 `json:"DiskCount,omitempty" name:"DiskCount"`
+ DiskCount *uint64 `json:"DiskCount,omitnil,omitempty" name:"DiskCount"`
// 可选参数。使用此参数可给云硬盘购买额外的性能。
当前仅支持极速型云盘(CLOUD_TSSD)和增强型SSD云硬盘(CLOUD_HSSD)
- ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitnil,omitempty" name:"ThroughputPerformance"`
- // 云硬盘大小,单位为GB。
如果传入`SnapshotId`则可不传`DiskSize`,此时新建云盘的大小为快照大小
如果传入`SnapshotId`同时传入`DiskSize`,则云盘大小必须大于或等于快照大小
云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ // 可选参数。购买加密盘时自定义密钥, 当传入该参数时, Encrypt入参不为空
+ KmsKeyId *string `json:"KmsKeyId,omitnil,omitempty" name:"KmsKeyId"`
+
+ // 云硬盘大小,单位为GiB。
如果传入`SnapshotId`则可不传`DiskSize`,此时新建云盘的大小为快照大小
如果传入`SnapshotId`同时传入`DiskSize`,则云盘大小必须大于或等于快照大小
云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
// 可选参数,默认为False。传入True时,云盘将创建为共享型云盘。
- Shareable *bool `json:"Shareable,omitempty" name:"Shareable"`
+ Shareable *bool `json:"Shareable,omitnil,omitempty" name:"Shareable"`
// 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
- ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"`
+ ClientToken *string `json:"ClientToken,omitnil,omitempty" name:"ClientToken"`
// 传入该参数用于创建加密云盘,取值固定为ENCRYPT。
- Encrypt *string `json:"Encrypt,omitempty" name:"Encrypt"`
+ Encrypt *string `json:"Encrypt,omitnil,omitempty" name:"Encrypt"`
// 预付费模式,即包年包月相关参数设置。通过该参数指定包年包月云盘的购买时长、是否设置自动续费等属性。
创建预付费云盘该参数必传,创建按小时后付费云盘无需传该参数。
- DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitempty" name:"DiskChargePrepaid"`
+ DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitnil,omitempty" name:"DiskChargePrepaid"`
// 销毁云盘时删除关联的非永久保留快照。0 表示非永久快照不随云盘销毁而销毁,1表示非永久快照随云盘销毁而销毁,默认取0。快照是否永久保留可以通过DescribeSnapshots接口返回的快照详情的IsPermanent字段来判断,true表示永久快照,false表示非永久快照。
- DeleteSnapshot *int64 `json:"DeleteSnapshot,omitempty" name:"DeleteSnapshot"`
+ DeleteSnapshot *int64 `json:"DeleteSnapshot,omitnil,omitempty" name:"DeleteSnapshot"`
// 创建云盘时指定自动挂载并初始化该数据盘。
- AutoMountConfiguration *AutoMountConfiguration `json:"AutoMountConfiguration,omitempty" name:"AutoMountConfiguration"`
+ AutoMountConfiguration *AutoMountConfiguration `json:"AutoMountConfiguration,omitnil,omitempty" name:"AutoMountConfiguration"`
// 指定云硬盘备份点配额。
- DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitempty" name:"DiskBackupQuota"`
+ DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitnil,omitempty" name:"DiskBackupQuota"`
+
+ // 创建云盘时是否开启性能突发
+ BurstPerformance *bool `json:"BurstPerformance,omitnil,omitempty" name:"BurstPerformance"`
+
+ // 指定云硬盘加密类型,取值为ENCRYPT_V1和ENCRYPT_V2,分别表示第一代和第二代加密技术,两种加密技术互不兼容。推荐优先使用第二代加密技术ENCRYPT_V2,第一代加密技术仅支持在部分老旧机型使用。该参数仅当创建加密云硬盘时有效。
+ EncryptType *string `json:"EncryptType,omitnil,omitempty" name:"EncryptType"`
}
func (r *CreateDisksRequest) ToJsonString() string {
@@ -748,6 +900,7 @@ func (r *CreateDisksRequest) FromJsonString(s string) error {
delete(f, "SnapshotId")
delete(f, "DiskCount")
delete(f, "ThroughputPerformance")
+ delete(f, "KmsKeyId")
delete(f, "DiskSize")
delete(f, "Shareable")
delete(f, "ClientToken")
@@ -756,6 +909,8 @@ func (r *CreateDisksRequest) FromJsonString(s string) error {
delete(f, "DeleteSnapshot")
delete(f, "AutoMountConfiguration")
delete(f, "DiskBackupQuota")
+ delete(f, "BurstPerformance")
+ delete(f, "EncryptType")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateDisksRequest has unknown keys!", "")
}
@@ -765,10 +920,11 @@ func (r *CreateDisksRequest) FromJsonString(s string) error {
// Predefined struct for user
type CreateDisksResponseParams struct {
// 创建的云硬盘ID列表。
- DiskIdSet []*string `json:"DiskIdSet,omitempty" name:"DiskIdSet"`
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ DiskIdSet []*string `json:"DiskIdSet,omitnil,omitempty" name:"DiskIdSet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type CreateDisksResponse struct {
@@ -787,41 +943,112 @@ func (r *CreateDisksResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+// Predefined struct for user
+type CreateSnapshotGroupRequestParams struct {
+ // 需要创建快照组的云硬盘ID列表,必须选择挂载在同一实例上的盘列表。
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
+
+ // 快照组名称,快照组关联的快照也会继承快照组的名称。例如:快照组名称为testSnapshotGroup,快照组关联两个快照,则两个快照的名称分别为testSnapshotGroup_0,testSnapshotGroup_1。
+ SnapshotGroupName *string `json:"SnapshotGroupName,omitnil,omitempty" name:"SnapshotGroupName"`
+
+ // 快照组需要绑定的标签列表。
+ Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
+}
+
+type CreateSnapshotGroupRequest struct {
+ *tchttp.BaseRequest
+
+ // 需要创建快照组的云硬盘ID列表,必须选择挂载在同一实例上的盘列表。
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
+
+ // 快照组名称,快照组关联的快照也会继承快照组的名称。例如:快照组名称为testSnapshotGroup,快照组关联两个快照,则两个快照的名称分别为testSnapshotGroup_0,testSnapshotGroup_1。
+ SnapshotGroupName *string `json:"SnapshotGroupName,omitnil,omitempty" name:"SnapshotGroupName"`
+
+ // 快照组需要绑定的标签列表。
+ Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
+}
+
+func (r *CreateSnapshotGroupRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+// FromJsonString It is highly **NOT** recommended to use this function
+// because it has no param check, nor strict type check
+func (r *CreateSnapshotGroupRequest) FromJsonString(s string) error {
+ f := make(map[string]interface{})
+ if err := json.Unmarshal([]byte(s), &f); err != nil {
+ return err
+ }
+ delete(f, "DiskIds")
+ delete(f, "SnapshotGroupName")
+ delete(f, "Tags")
+ if len(f) > 0 {
+ return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateSnapshotGroupRequest has unknown keys!", "")
+ }
+ return json.Unmarshal([]byte(s), &r)
+}
+
+// Predefined struct for user
+type CreateSnapshotGroupResponseParams struct {
+ // 创建成功的快照组ID。
+ SnapshotGroupId *string `json:"SnapshotGroupId,omitnil,omitempty" name:"SnapshotGroupId"`
+
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
+}
+
+type CreateSnapshotGroupResponse struct {
+ *tchttp.BaseResponse
+ Response *CreateSnapshotGroupResponseParams `json:"Response"`
+}
+
+func (r *CreateSnapshotGroupResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+// FromJsonString It is highly **NOT** recommended to use this function
+// because it has no param check, nor strict type check
+func (r *CreateSnapshotGroupResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
// Predefined struct for user
type CreateSnapshotRequestParams struct {
// 需要创建快照的云硬盘ID,可通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 快照名称,不传则新快照名称默认为“未命名”。
- SnapshotName *string `json:"SnapshotName,omitempty" name:"SnapshotName"`
+ SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`
- // 快照的到期时间,到期后该快照将会自动删除,需要传入UTC时间下的ISO-8601标准时间格式,例如:2022-01-08T09:47:55+00:00
- Deadline *string `json:"Deadline,omitempty" name:"Deadline"`
+ // 快照的到期时间,到期后该快照将会自动删除,需要传入UTC时间下的ISO-8601标准时间格式,例如:2022-01-08T09:47:55+00:00,。到期时间最小可设置为一天后的当前时间。
+ Deadline *string `json:"Deadline,omitnil,omitempty" name:"Deadline"`
// 云硬盘备份点ID。传入此参数时,将通过备份点创建快照。
- DiskBackupId *string `json:"DiskBackupId,omitempty" name:"DiskBackupId"`
+ DiskBackupId *string `json:"DiskBackupId,omitnil,omitempty" name:"DiskBackupId"`
// 快照绑定的标签。
- Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
+ Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}
type CreateSnapshotRequest struct {
*tchttp.BaseRequest
// 需要创建快照的云硬盘ID,可通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 快照名称,不传则新快照名称默认为“未命名”。
- SnapshotName *string `json:"SnapshotName,omitempty" name:"SnapshotName"`
+ SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`
- // 快照的到期时间,到期后该快照将会自动删除,需要传入UTC时间下的ISO-8601标准时间格式,例如:2022-01-08T09:47:55+00:00
- Deadline *string `json:"Deadline,omitempty" name:"Deadline"`
+ // 快照的到期时间,到期后该快照将会自动删除,需要传入UTC时间下的ISO-8601标准时间格式,例如:2022-01-08T09:47:55+00:00,。到期时间最小可设置为一天后的当前时间。
+ Deadline *string `json:"Deadline,omitnil,omitempty" name:"Deadline"`
// 云硬盘备份点ID。传入此参数时,将通过备份点创建快照。
- DiskBackupId *string `json:"DiskBackupId,omitempty" name:"DiskBackupId"`
+ DiskBackupId *string `json:"DiskBackupId,omitnil,omitempty" name:"DiskBackupId"`
// 快照绑定的标签。
- Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
+ Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}
func (r *CreateSnapshotRequest) ToJsonString() string {
@@ -850,10 +1077,11 @@ func (r *CreateSnapshotRequest) FromJsonString(s string) error {
// Predefined struct for user
type CreateSnapshotResponseParams struct {
// 新创建的快照ID。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type CreateSnapshotResponse struct {
@@ -875,14 +1103,14 @@ func (r *CreateSnapshotResponse) FromJsonString(s string) error {
// Predefined struct for user
type DeleteAutoSnapshotPoliciesRequestParams struct {
// 要删除的定期快照策略ID列表。
- AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitempty" name:"AutoSnapshotPolicyIds"`
+ AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitnil,omitempty" name:"AutoSnapshotPolicyIds"`
}
type DeleteAutoSnapshotPoliciesRequest struct {
*tchttp.BaseRequest
// 要删除的定期快照策略ID列表。
- AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitempty" name:"AutoSnapshotPolicyIds"`
+ AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitnil,omitempty" name:"AutoSnapshotPolicyIds"`
}
func (r *DeleteAutoSnapshotPoliciesRequest) ToJsonString() string {
@@ -906,8 +1134,8 @@ func (r *DeleteAutoSnapshotPoliciesRequest) FromJsonString(s string) error {
// Predefined struct for user
type DeleteAutoSnapshotPoliciesResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DeleteAutoSnapshotPoliciesResponse struct {
@@ -929,14 +1157,14 @@ func (r *DeleteAutoSnapshotPoliciesResponse) FromJsonString(s string) error {
// Predefined struct for user
type DeleteDiskBackupsRequestParams struct {
// 待删除的云硬盘备份点ID。
- DiskBackupIds []*string `json:"DiskBackupIds,omitempty" name:"DiskBackupIds"`
+ DiskBackupIds []*string `json:"DiskBackupIds,omitnil,omitempty" name:"DiskBackupIds"`
}
type DeleteDiskBackupsRequest struct {
*tchttp.BaseRequest
// 待删除的云硬盘备份点ID。
- DiskBackupIds []*string `json:"DiskBackupIds,omitempty" name:"DiskBackupIds"`
+ DiskBackupIds []*string `json:"DiskBackupIds,omitnil,omitempty" name:"DiskBackupIds"`
}
func (r *DeleteDiskBackupsRequest) ToJsonString() string {
@@ -960,8 +1188,8 @@ func (r *DeleteDiskBackupsRequest) FromJsonString(s string) error {
// Predefined struct for user
type DeleteDiskBackupsResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DeleteDiskBackupsResponse struct {
@@ -980,23 +1208,91 @@ func (r *DeleteDiskBackupsResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
+// Predefined struct for user
+type DeleteSnapshotGroupRequestParams struct {
+ // 快照组ID。
+ SnapshotGroupId *string `json:"SnapshotGroupId,omitnil,omitempty" name:"SnapshotGroupId"`
+
+ // 快照组ID 列表。此参数与快照组 ID 至少传 1 个,同时传会与快照组 ID 合并。
+ SnapshotGroupIds []*string `json:"SnapshotGroupIds,omitnil,omitempty" name:"SnapshotGroupIds"`
+
+ // 是否同时删除快照组关联的镜像;取值为false,表示不删除快照组绑定的镜像,此时,如果快照组有绑定的镜像,删除会失败;取值为true,表示同时删除快照组绑定的镜像;默认值为false。
+ DeleteBindImages *bool `json:"DeleteBindImages,omitnil,omitempty" name:"DeleteBindImages"`
+}
+
+type DeleteSnapshotGroupRequest struct {
+ *tchttp.BaseRequest
+
+ // 快照组ID。
+ SnapshotGroupId *string `json:"SnapshotGroupId,omitnil,omitempty" name:"SnapshotGroupId"`
+
+ // 快照组ID 列表。此参数与快照组 ID 至少传 1 个,同时传会与快照组 ID 合并。
+ SnapshotGroupIds []*string `json:"SnapshotGroupIds,omitnil,omitempty" name:"SnapshotGroupIds"`
+
+ // 是否同时删除快照组关联的镜像;取值为false,表示不删除快照组绑定的镜像,此时,如果快照组有绑定的镜像,删除会失败;取值为true,表示同时删除快照组绑定的镜像;默认值为false。
+ DeleteBindImages *bool `json:"DeleteBindImages,omitnil,omitempty" name:"DeleteBindImages"`
+}
+
+func (r *DeleteSnapshotGroupRequest) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+// FromJsonString It is highly **NOT** recommended to use this function
+// because it has no param check, nor strict type check
+func (r *DeleteSnapshotGroupRequest) FromJsonString(s string) error {
+ f := make(map[string]interface{})
+ if err := json.Unmarshal([]byte(s), &f); err != nil {
+ return err
+ }
+ delete(f, "SnapshotGroupId")
+ delete(f, "SnapshotGroupIds")
+ delete(f, "DeleteBindImages")
+ if len(f) > 0 {
+ return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteSnapshotGroupRequest has unknown keys!", "")
+ }
+ return json.Unmarshal([]byte(s), &r)
+}
+
+// Predefined struct for user
+type DeleteSnapshotGroupResponseParams struct {
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
+}
+
+type DeleteSnapshotGroupResponse struct {
+ *tchttp.BaseResponse
+ Response *DeleteSnapshotGroupResponseParams `json:"Response"`
+}
+
+func (r *DeleteSnapshotGroupResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+// FromJsonString It is highly **NOT** recommended to use this function
+// because it has no param check, nor strict type check
+func (r *DeleteSnapshotGroupResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
// Predefined struct for user
type DeleteSnapshotsRequestParams struct {
// 要删除的快照ID列表,可通过[DescribeSnapshots](/document/product/362/15647)查询。
- SnapshotIds []*string `json:"SnapshotIds,omitempty" name:"SnapshotIds"`
+ SnapshotIds []*string `json:"SnapshotIds,omitnil,omitempty" name:"SnapshotIds"`
// 是否强制删除快照关联的镜像
- DeleteBindImages *bool `json:"DeleteBindImages,omitempty" name:"DeleteBindImages"`
+ DeleteBindImages *bool `json:"DeleteBindImages,omitnil,omitempty" name:"DeleteBindImages"`
}
type DeleteSnapshotsRequest struct {
*tchttp.BaseRequest
// 要删除的快照ID列表,可通过[DescribeSnapshots](/document/product/362/15647)查询。
- SnapshotIds []*string `json:"SnapshotIds,omitempty" name:"SnapshotIds"`
+ SnapshotIds []*string `json:"SnapshotIds,omitnil,omitempty" name:"SnapshotIds"`
// 是否强制删除快照关联的镜像
- DeleteBindImages *bool `json:"DeleteBindImages,omitempty" name:"DeleteBindImages"`
+ DeleteBindImages *bool `json:"DeleteBindImages,omitnil,omitempty" name:"DeleteBindImages"`
}
func (r *DeleteSnapshotsRequest) ToJsonString() string {
@@ -1021,8 +1317,8 @@ func (r *DeleteSnapshotsRequest) FromJsonString(s string) error {
// Predefined struct for user
type DeleteSnapshotsResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DeleteSnapshotsResponse struct {
@@ -1044,44 +1340,44 @@ func (r *DeleteSnapshotsResponse) FromJsonString(s string) error {
// Predefined struct for user
type DescribeAutoSnapshotPoliciesRequestParams struct {
// 要查询的定期快照策略ID列表。参数不支持同时指定`AutoSnapshotPolicyIds`和`Filters`。
- AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitempty" name:"AutoSnapshotPolicyIds"`
+ AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitnil,omitempty" name:"AutoSnapshotPolicyIds"`
// 过滤条件。参数不支持同时指定`AutoSnapshotPolicyIds`和`Filters`。
auto-snapshot-policy-id - Array of String - 是否必填:否 -(过滤条件)按定期快照策略ID进行过滤。定期快照策略ID形如:`asp-11112222`。
auto-snapshot-policy-state - Array of String - 是否必填:否 -(过滤条件)按定期快照策略的状态进行过滤。定期快照策略ID形如:`asp-11112222`。(NORMAL:正常 | ISOLATED:已隔离。)
auto-snapshot-policy-name - Array of String - 是否必填:否 -(过滤条件)按定期快照策略名称进行过滤。
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
// 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
// 输出定期快照列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
- Order *string `json:"Order,omitempty" name:"Order"`
+ Order *string `json:"Order,omitnil,omitempty" name:"Order"`
// 定期快照列表排序的依据字段。取值范围:
CREATETIME:依据定期快照的创建时间排序
默认按创建时间排序。
- OrderField *string `json:"OrderField,omitempty" name:"OrderField"`
+ OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`
}
type DescribeAutoSnapshotPoliciesRequest struct {
*tchttp.BaseRequest
// 要查询的定期快照策略ID列表。参数不支持同时指定`AutoSnapshotPolicyIds`和`Filters`。
- AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitempty" name:"AutoSnapshotPolicyIds"`
+ AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitnil,omitempty" name:"AutoSnapshotPolicyIds"`
// 过滤条件。参数不支持同时指定`AutoSnapshotPolicyIds`和`Filters`。
auto-snapshot-policy-id - Array of String - 是否必填:否 -(过滤条件)按定期快照策略ID进行过滤。定期快照策略ID形如:`asp-11112222`。
auto-snapshot-policy-state - Array of String - 是否必填:否 -(过滤条件)按定期快照策略的状态进行过滤。定期快照策略ID形如:`asp-11112222`。(NORMAL:正常 | ISOLATED:已隔离。)
auto-snapshot-policy-name - Array of String - 是否必填:否 -(过滤条件)按定期快照策略名称进行过滤。
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
// 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
// 输出定期快照列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
- Order *string `json:"Order,omitempty" name:"Order"`
+ Order *string `json:"Order,omitnil,omitempty" name:"Order"`
// 定期快照列表排序的依据字段。取值范围:
CREATETIME:依据定期快照的创建时间排序
默认按创建时间排序。
- OrderField *string `json:"OrderField,omitempty" name:"OrderField"`
+ OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`
}
func (r *DescribeAutoSnapshotPoliciesRequest) ToJsonString() string {
@@ -1111,13 +1407,13 @@ func (r *DescribeAutoSnapshotPoliciesRequest) FromJsonString(s string) error {
// Predefined struct for user
type DescribeAutoSnapshotPoliciesResponseParams struct {
// 有效的定期快照策略数量。
- TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+ TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`
// 定期快照策略列表。
- AutoSnapshotPolicySet []*AutoSnapshotPolicy `json:"AutoSnapshotPolicySet,omitempty" name:"AutoSnapshotPolicySet"`
+ AutoSnapshotPolicySet []*AutoSnapshotPolicy `json:"AutoSnapshotPolicySet,omitnil,omitempty" name:"AutoSnapshotPolicySet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DescribeAutoSnapshotPoliciesResponse struct {
@@ -1139,14 +1435,14 @@ func (r *DescribeAutoSnapshotPoliciesResponse) FromJsonString(s string) error {
// Predefined struct for user
type DescribeDiskAssociatedAutoSnapshotPolicyRequestParams struct {
// 要查询的云硬盘ID。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
type DescribeDiskAssociatedAutoSnapshotPolicyRequest struct {
*tchttp.BaseRequest
// 要查询的云硬盘ID。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
func (r *DescribeDiskAssociatedAutoSnapshotPolicyRequest) ToJsonString() string {
@@ -1171,13 +1467,13 @@ func (r *DescribeDiskAssociatedAutoSnapshotPolicyRequest) FromJsonString(s strin
// Predefined struct for user
type DescribeDiskAssociatedAutoSnapshotPolicyResponseParams struct {
// 云盘绑定的定期快照数量。
- TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+ TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`
// 云盘绑定的定期快照列表。
- AutoSnapshotPolicySet []*AutoSnapshotPolicy `json:"AutoSnapshotPolicySet,omitempty" name:"AutoSnapshotPolicySet"`
+ AutoSnapshotPolicySet []*AutoSnapshotPolicy `json:"AutoSnapshotPolicySet,omitnil,omitempty" name:"AutoSnapshotPolicySet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DescribeDiskAssociatedAutoSnapshotPolicyResponse struct {
@@ -1199,48 +1495,44 @@ func (r *DescribeDiskAssociatedAutoSnapshotPolicyResponse) FromJsonString(s stri
// Predefined struct for user
type DescribeDiskBackupsRequestParams struct {
// 要查询备份点的ID列表。参数不支持同时指定 DiskBackupIds 和 Filters。
- DiskBackupIds []*string `json:"DiskBackupIds,omitempty" name:"DiskBackupIds"`
+ DiskBackupIds []*string `json:"DiskBackupIds,omitnil,omitempty" name:"DiskBackupIds"`
- // 过滤条件,参数不支持同时指定 DiskBackupIds 和 Filters。过滤条件:
disk-backup-id - Array of String - 是否必填:否 -(过滤条件)按照备份点的ID过滤。备份点ID形如:dbp-11112222。
- //
disk-id - Array of String - 是否必填:否 -(过滤条件)按照创建备份点的云硬盘ID过滤。
- //
disk-usage - Array of String - 是否必填:否 -(过滤条件)按创建备份点的云硬盘类型过滤。 (SYSTEM_DISK:代表系统盘 | DATA_DISK:代表数据盘。)
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+ // 过滤条件,参数不支持同时指定 DiskBackupIds 和 Filters。过滤条件:
disk-backup-id - Array of String - 是否必填:否 -(过滤条件)按照备份点的ID过滤。备份点ID形如:dbp-11112222。
disk-id - Array of String - 是否必填:否 -(过滤条件)按照创建备份点的云硬盘ID过滤。
disk-usage - Array of String - 是否必填:否 -(过滤条件)按创建备份点的云硬盘类型过滤。 (SYSTEM_DISK:代表系统盘 | DATA_DISK:代表数据盘。)
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
- // 输出云硬盘备份点列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
- Order *string `json:"Order,omitempty" name:"Order"`
+ // 输出云硬盘备份点列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
+ Order *string `json:"Order,omitnil,omitempty" name:"Order"`
- // 云硬盘备份点列表排序的依据字段。取值范围:
CREATE_TIME:依据云硬盘备份点的创建时间排序
默认按创建时间排序。
- OrderField *string `json:"OrderField,omitempty" name:"OrderField"`
+ // 云硬盘备份点列表排序的依据字段。取值范围:
CREATE_TIME:依据云硬盘备份点的创建时间排序
默认按创建时间排序。
+ OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`
}
type DescribeDiskBackupsRequest struct {
*tchttp.BaseRequest
// 要查询备份点的ID列表。参数不支持同时指定 DiskBackupIds 和 Filters。
- DiskBackupIds []*string `json:"DiskBackupIds,omitempty" name:"DiskBackupIds"`
+ DiskBackupIds []*string `json:"DiskBackupIds,omitnil,omitempty" name:"DiskBackupIds"`
- // 过滤条件,参数不支持同时指定 DiskBackupIds 和 Filters。过滤条件:
disk-backup-id - Array of String - 是否必填:否 -(过滤条件)按照备份点的ID过滤。备份点ID形如:dbp-11112222。
- //
disk-id - Array of String - 是否必填:否 -(过滤条件)按照创建备份点的云硬盘ID过滤。
- //
disk-usage - Array of String - 是否必填:否 -(过滤条件)按创建备份点的云硬盘类型过滤。 (SYSTEM_DISK:代表系统盘 | DATA_DISK:代表数据盘。)
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+ // 过滤条件,参数不支持同时指定 DiskBackupIds 和 Filters。过滤条件:
disk-backup-id - Array of String - 是否必填:否 -(过滤条件)按照备份点的ID过滤。备份点ID形如:dbp-11112222。
disk-id - Array of String - 是否必填:否 -(过滤条件)按照创建备份点的云硬盘ID过滤。
disk-usage - Array of String - 是否必填:否 -(过滤条件)按创建备份点的云硬盘类型过滤。 (SYSTEM_DISK:代表系统盘 | DATA_DISK:代表数据盘。)
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
- // 输出云硬盘备份点列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
- Order *string `json:"Order,omitempty" name:"Order"`
+ // 输出云硬盘备份点列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
+ Order *string `json:"Order,omitnil,omitempty" name:"Order"`
- // 云硬盘备份点列表排序的依据字段。取值范围:
CREATE_TIME:依据云硬盘备份点的创建时间排序
默认按创建时间排序。
- OrderField *string `json:"OrderField,omitempty" name:"OrderField"`
+ // 云硬盘备份点列表排序的依据字段。取值范围:
CREATE_TIME:依据云硬盘备份点的创建时间排序
默认按创建时间排序。
+ OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`
}
func (r *DescribeDiskBackupsRequest) ToJsonString() string {
@@ -1270,13 +1562,13 @@ func (r *DescribeDiskBackupsRequest) FromJsonString(s string) error {
// Predefined struct for user
type DescribeDiskBackupsResponseParams struct {
// 符合条件的云硬盘备份点数量。
- TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+ TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`
// 云硬盘备份点的详细信息列表。
- DiskBackupSet []*DiskBackup `json:"DiskBackupSet,omitempty" name:"DiskBackupSet"`
+ DiskBackupSet []*DiskBackup `json:"DiskBackupSet,omitnil,omitempty" name:"DiskBackupSet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DescribeDiskBackupsResponse struct {
@@ -1298,56 +1590,62 @@ func (r *DescribeDiskBackupsResponse) FromJsonString(s string) error {
// Predefined struct for user
type DescribeDiskConfigQuotaRequestParams struct {
// 查询类别,取值范围。
INQUIRY_CBS_CONFIG:查询云盘配置列表
INQUIRY_CVM_CONFIG:查询云盘与实例搭配的配置列表。
- InquiryType *string `json:"InquiryType,omitempty" name:"InquiryType"`
+ InquiryType *string `json:"InquiryType,omitnil,omitempty" name:"InquiryType"`
// 付费模式。取值范围:
PREPAID:预付费
POSTPAID_BY_HOUR:后付费。
- DiskChargeType *string `json:"DiskChargeType,omitempty" name:"DiskChargeType"`
+ DiskChargeType *string `json:"DiskChargeType,omitnil,omitempty" name:"DiskChargeType"`
// 按照实例机型系列过滤。实例机型系列形如:S1、I1、M1等。详见[实例类型](https://cloud.tencent.com/document/product/213/11518)
- InstanceFamilies []*string `json:"InstanceFamilies,omitempty" name:"InstanceFamilies"`
+ InstanceFamilies []*string `json:"InstanceFamilies,omitnil,omitempty" name:"InstanceFamilies"`
// 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘。
- DiskTypes []*string `json:"DiskTypes,omitempty" name:"DiskTypes"`
+ DiskTypes []*string `json:"DiskTypes,omitnil,omitempty" name:"DiskTypes"`
// 查询一个或多个[可用区](/document/product/213/15753#ZoneInfo)下的配置。
- Zones []*string `json:"Zones,omitempty" name:"Zones"`
+ Zones []*string `json:"Zones,omitnil,omitempty" name:"Zones"`
// 实例内存大小。
- Memory *uint64 `json:"Memory,omitempty" name:"Memory"`
+ Memory *uint64 `json:"Memory,omitnil,omitempty" name:"Memory"`
// 系统盘或数据盘。取值范围:
SYSTEM_DISK:表示系统盘
DATA_DISK:表示数据盘。
- DiskUsage *string `json:"DiskUsage,omitempty" name:"DiskUsage"`
+ DiskUsage *string `json:"DiskUsage,omitnil,omitempty" name:"DiskUsage"`
// 实例CPU核数。
- CPU *uint64 `json:"CPU,omitempty" name:"CPU"`
+ CPU *uint64 `json:"CPU,omitnil,omitempty" name:"CPU"`
+
+ // 专用集群ID。
+ DedicatedClusterId *string `json:"DedicatedClusterId,omitnil,omitempty" name:"DedicatedClusterId"`
}
type DescribeDiskConfigQuotaRequest struct {
*tchttp.BaseRequest
// 查询类别,取值范围。
INQUIRY_CBS_CONFIG:查询云盘配置列表
INQUIRY_CVM_CONFIG:查询云盘与实例搭配的配置列表。
- InquiryType *string `json:"InquiryType,omitempty" name:"InquiryType"`
+ InquiryType *string `json:"InquiryType,omitnil,omitempty" name:"InquiryType"`
// 付费模式。取值范围:
PREPAID:预付费
POSTPAID_BY_HOUR:后付费。
- DiskChargeType *string `json:"DiskChargeType,omitempty" name:"DiskChargeType"`
+ DiskChargeType *string `json:"DiskChargeType,omitnil,omitempty" name:"DiskChargeType"`
// 按照实例机型系列过滤。实例机型系列形如:S1、I1、M1等。详见[实例类型](https://cloud.tencent.com/document/product/213/11518)
- InstanceFamilies []*string `json:"InstanceFamilies,omitempty" name:"InstanceFamilies"`
+ InstanceFamilies []*string `json:"InstanceFamilies,omitnil,omitempty" name:"InstanceFamilies"`
// 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘。
- DiskTypes []*string `json:"DiskTypes,omitempty" name:"DiskTypes"`
+ DiskTypes []*string `json:"DiskTypes,omitnil,omitempty" name:"DiskTypes"`
// 查询一个或多个[可用区](/document/product/213/15753#ZoneInfo)下的配置。
- Zones []*string `json:"Zones,omitempty" name:"Zones"`
+ Zones []*string `json:"Zones,omitnil,omitempty" name:"Zones"`
// 实例内存大小。
- Memory *uint64 `json:"Memory,omitempty" name:"Memory"`
+ Memory *uint64 `json:"Memory,omitnil,omitempty" name:"Memory"`
// 系统盘或数据盘。取值范围:
SYSTEM_DISK:表示系统盘
DATA_DISK:表示数据盘。
- DiskUsage *string `json:"DiskUsage,omitempty" name:"DiskUsage"`
+ DiskUsage *string `json:"DiskUsage,omitnil,omitempty" name:"DiskUsage"`
// 实例CPU核数。
- CPU *uint64 `json:"CPU,omitempty" name:"CPU"`
+ CPU *uint64 `json:"CPU,omitnil,omitempty" name:"CPU"`
+
+ // 专用集群ID。
+ DedicatedClusterId *string `json:"DedicatedClusterId,omitnil,omitempty" name:"DedicatedClusterId"`
}
func (r *DescribeDiskConfigQuotaRequest) ToJsonString() string {
@@ -1370,6 +1668,7 @@ func (r *DescribeDiskConfigQuotaRequest) FromJsonString(s string) error {
delete(f, "Memory")
delete(f, "DiskUsage")
delete(f, "CPU")
+ delete(f, "DedicatedClusterId")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDiskConfigQuotaRequest has unknown keys!", "")
}
@@ -1379,10 +1678,10 @@ func (r *DescribeDiskConfigQuotaRequest) FromJsonString(s string) error {
// Predefined struct for user
type DescribeDiskConfigQuotaResponseParams struct {
// 云盘配置列表。
- DiskConfigSet []*DiskConfig `json:"DiskConfigSet,omitempty" name:"DiskConfigSet"`
+ DiskConfigSet []*DiskConfig `json:"DiskConfigSet,omitnil,omitempty" name:"DiskConfigSet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DescribeDiskConfigQuotaResponse struct {
@@ -1401,108 +1700,35 @@ func (r *DescribeDiskConfigQuotaResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-// Predefined struct for user
-type DescribeDiskOperationLogsRequestParams struct {
- // 过滤条件。支持以下条件:
- // disk-id - Array of String - 是否必填:是 - 按云盘ID过滤,每个请求最多可指定10个云盘ID。
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
-
- // 要查询的操作日志的截止时间,例如:“2019-11-22 23:59:59"
- EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
-
- // 要查询的操作日志的起始时间,例如:“2019-11-22 00:00:00"
- BeginTime *string `json:"BeginTime,omitempty" name:"BeginTime"`
-}
-
-type DescribeDiskOperationLogsRequest struct {
- *tchttp.BaseRequest
-
- // 过滤条件。支持以下条件:
- // disk-id - Array of String - 是否必填:是 - 按云盘ID过滤,每个请求最多可指定10个云盘ID。
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
-
- // 要查询的操作日志的截止时间,例如:“2019-11-22 23:59:59"
- EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
-
- // 要查询的操作日志的起始时间,例如:“2019-11-22 00:00:00"
- BeginTime *string `json:"BeginTime,omitempty" name:"BeginTime"`
-}
-
-func (r *DescribeDiskOperationLogsRequest) ToJsonString() string {
- b, _ := json.Marshal(r)
- return string(b)
-}
-
-// FromJsonString It is highly **NOT** recommended to use this function
-// because it has no param check, nor strict type check
-func (r *DescribeDiskOperationLogsRequest) FromJsonString(s string) error {
- f := make(map[string]interface{})
- if err := json.Unmarshal([]byte(s), &f); err != nil {
- return err
- }
- delete(f, "Filters")
- delete(f, "EndTime")
- delete(f, "BeginTime")
- if len(f) > 0 {
- return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeDiskOperationLogsRequest has unknown keys!", "")
- }
- return json.Unmarshal([]byte(s), &r)
-}
-
-// Predefined struct for user
-type DescribeDiskOperationLogsResponseParams struct {
- // 云盘的操作日志列表。
- DiskOperationLogSet []*DiskOperationLog `json:"DiskOperationLogSet,omitempty" name:"DiskOperationLogSet"`
-
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
-}
-
-type DescribeDiskOperationLogsResponse struct {
- *tchttp.BaseResponse
- Response *DescribeDiskOperationLogsResponseParams `json:"Response"`
-}
-
-func (r *DescribeDiskOperationLogsResponse) ToJsonString() string {
- b, _ := json.Marshal(r)
- return string(b)
-}
-
-// FromJsonString It is highly **NOT** recommended to use this function
-// because it has no param check, nor strict type check
-func (r *DescribeDiskOperationLogsResponse) FromJsonString(s string) error {
- return json.Unmarshal([]byte(s), &r)
-}
-
// Predefined struct for user
type DescribeDiskStoragePoolRequestParams struct {
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
// 指定需要查询的独享集群ID列表,该入参不能与Filters一起使用。
- CdcIds []*string `json:"CdcIds,omitempty" name:"CdcIds"`
+ CdcIds []*string `json:"CdcIds,omitnil,omitempty" name:"CdcIds"`
// 过滤条件。参数不支持同时指定`CdcIds`和`Filters`。
cdc-id - Array of String - 是否必填:否 -(过滤条件)按独享集群ID过滤。
zone - Array of String - 是否必填:否 -(过滤条件)按独享集群所在[可用区](/document/product/213/15753#ZoneInfo)过滤。
cage-id - Array of String - 是否必填:否 -(过滤条件)按独享集群所在围笼的ID过滤。
disk-type - Array of String - 是否必填:否 -(过滤条件)按照云盘介质类型过滤。(CLOUD_BASIC:表示普通云硬盘 | CLOUD_PREMIUM:表示高性能云硬盘。| CLOUD_SSD:SSD表示SSD云硬盘。)
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}
type DescribeDiskStoragePoolRequest struct {
*tchttp.BaseRequest
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
// 指定需要查询的独享集群ID列表,该入参不能与Filters一起使用。
- CdcIds []*string `json:"CdcIds,omitempty" name:"CdcIds"`
+ CdcIds []*string `json:"CdcIds,omitnil,omitempty" name:"CdcIds"`
// 过滤条件。参数不支持同时指定`CdcIds`和`Filters`。
cdc-id - Array of String - 是否必填:否 -(过滤条件)按独享集群ID过滤。
zone - Array of String - 是否必填:否 -(过滤条件)按独享集群所在[可用区](/document/product/213/15753#ZoneInfo)过滤。
cage-id - Array of String - 是否必填:否 -(过滤条件)按独享集群所在围笼的ID过滤。
disk-type - Array of String - 是否必填:否 -(过滤条件)按照云盘介质类型过滤。(CLOUD_BASIC:表示普通云硬盘 | CLOUD_PREMIUM:表示高性能云硬盘。| CLOUD_SSD:SSD表示SSD云硬盘。)
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
}
func (r *DescribeDiskStoragePoolRequest) ToJsonString() string {
@@ -1530,13 +1756,16 @@ func (r *DescribeDiskStoragePoolRequest) FromJsonString(s string) error {
// Predefined struct for user
type DescribeDiskStoragePoolResponseParams struct {
// 符合条件的独享集群的数量
- TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+ TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`
+
+ // 独享集群的详细信息列表
+ CdcSet []*Cdc `json:"CdcSet,omitnil,omitempty" name:"CdcSet"`
// 独享集群的详细信息列表
- DiskStoragePoolSet []*Cdc `json:"DiskStoragePoolSet,omitempty" name:"DiskStoragePoolSet"`
+ DiskStoragePoolSet []*Cdc `json:"DiskStoragePoolSet,omitnil,omitempty" name:"DiskStoragePoolSet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DescribeDiskStoragePoolResponse struct {
@@ -1557,51 +1786,51 @@ func (r *DescribeDiskStoragePoolResponse) FromJsonString(s string) error {
// Predefined struct for user
type DescribeDisksRequestParams struct {
- // 过滤条件。参数不支持同时指定`DiskIds`和`Filters`。
disk-usage - Array of String - 是否必填:否 -(过滤条件)按云盘类型过滤。 (SYSTEM_DISK:表示系统盘 | DATA_DISK:表示数据盘)
disk-charge-type - Array of String - 是否必填:否 -(过滤条件)按照云硬盘计费模式过滤。 (PREPAID:表示预付费,即包年包月 | POSTPAID_BY_HOUR:表示后付费,即按量计费。)
portable - Array of String - 是否必填:否 -(过滤条件)按是否为弹性云盘过滤。 (TRUE:表示弹性云盘 | FALSE:表示非弹性云盘。)
project-id - Array of Integer - 是否必填:否 -(过滤条件)按云硬盘所属项目ID过滤。
disk-id - Array of String - 是否必填:否 -(过滤条件)按照云硬盘ID过滤。云盘ID形如:`disk-11112222`。
disk-name - Array of String - 是否必填:否 -(过滤条件)按照云盘名称过滤。
disk-type - Array of String - 是否必填:否 -(过滤条件)按照云盘介质类型过滤。(CLOUD_BASIC:表示普通云硬盘 | CLOUD_PREMIUM:表示高性能云硬盘。| CLOUD_SSD:表示SSD云硬盘 | CLOUD_HSSD:表示增强型SSD云硬盘。| CLOUD_TSSD:表示极速型云硬盘。)
disk-state - Array of String - 是否必填:否 -(过滤条件)按照云盘状态过滤。(UNATTACHED:未挂载 | ATTACHING:挂载中 | ATTACHED:已挂载 | DETACHING:解挂中 | EXPANDING:扩容中 | ROLLBACKING:回滚中 | TORECYCLE:待回收。)
instance-id - Array of String - 是否必填:否 -(过滤条件)按照云盘挂载的云主机实例ID过滤。可根据此参数查询挂载在指定云主机下的云硬盘。
zone - Array of String - 是否必填:否 -(过滤条件)按照[可用区](/document/product/213/15753#ZoneInfo)过滤。
instance-ip-address - Array of String - 是否必填:否 -(过滤条件)按云盘所挂载云主机的内网或外网IP过滤。
instance-name - Array of String - 是否必填:否 -(过滤条件)按云盘所挂载的实例名称过滤。
tag-key - Array of String - 是否必填:否 -(过滤条件)按照标签键进行过滤。
tag-value - Array of String - 是否必填:否 -(过滤条件)照标签值进行过滤。
tag:tag-key - Array of String - 是否必填:否 -(过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+ // 过滤条件。参数不支持同时指定`DiskIds`和`Filters`。
disk-usage - Array of String - 是否必填:否 -(过滤条件)按云盘类型过滤。 (SYSTEM_DISK:表示系统盘 | DATA_DISK:表示数据盘)
disk-charge-type - Array of String - 是否必填:否 -(过滤条件)按照云硬盘计费模式过滤。 (PREPAID:表示预付费,即包年包月 | POSTPAID_BY_HOUR:表示后付费,即按量计费。)
portable - Array of String - 是否必填:否 -(过滤条件)按是否为弹性云盘过滤。 (TRUE:表示弹性云盘 | FALSE:表示非弹性云盘。)
project-id - Array of String - 是否必填:否 -(过滤条件)按云硬盘所属项目ID过滤。
disk-id - Array of String - 是否必填:否 -(过滤条件)按照云硬盘ID过滤。云盘ID形如:`disk-11112222`。
disk-name - Array of String - 是否必填:否 -(过滤条件)按照云盘名称过滤。
disk-type - Array of String - 是否必填:否 -(过滤条件)按照云盘介质类型过滤。(CLOUD_BASIC:表示普通云硬盘 | CLOUD_PREMIUM:表示高性能云硬盘。| CLOUD_SSD:表示SSD云硬盘 | CLOUD_HSSD:表示增强型SSD云硬盘。| CLOUD_TSSD:表示极速型云硬盘。)
disk-state - Array of String - 是否必填:否 -(过滤条件)按照云盘状态过滤。(UNATTACHED:未挂载 | ATTACHING:挂载中 | ATTACHED:已挂载 | DETACHING:解挂中 | EXPANDING:扩容中 | ROLLBACKING:回滚中 | TORECYCLE:待回收 | DUMPING:拷贝硬盘中。)
instance-id - Array of String - 是否必填:否 -(过滤条件)按照云盘挂载的云主机实例ID过滤。可根据此参数查询挂载在指定云主机下的云硬盘。
zone - Array of String - 是否必填:否 -(过滤条件)按照[可用区](/document/product/213/15753#ZoneInfo)过滤。
instance-ip-address - Array of String - 是否必填:否 -(过滤条件)按云盘所挂载云主机的内网或外网IP过滤。
instance-name - Array of String - 是否必填:否 -(过滤条件)按云盘所挂载的实例名称过滤。
tag-key - Array of String - 是否必填:否 -(过滤条件)按照标签键进行过滤。
tag-value - Array of String - 是否必填:否 -(过滤条件)照标签值进行过滤。
tag:tag-key - Array of String - 是否必填:否 -(过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。
dedicated-cluster-id - Array of String - 是否必填:否 -(过滤条件)按照 CDC 独享集群 ID 进行过滤。
cluster-group-id - String - 是否必填:否 -(过滤条件)按照 集群群组 ID 进行过滤。
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
- // 云盘列表排序的依据字段。取值范围:
CREATE_TIME:依据云盘的创建时间排序
DEADLINE:依据云盘的到期时间排序
默认按云盘创建时间排序。
- OrderField *string `json:"OrderField,omitempty" name:"OrderField"`
+ // 云盘列表排序的依据字段。取值范围:
CREATE_TIME:依据云盘的创建时间排序
DEADLINE:依据云盘的到期时间排序
默认按云盘创建时间排序。
+ OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`
// 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
// 云盘详情中是否需要返回云盘绑定的定期快照策略ID,TRUE表示需要返回,FALSE表示不返回。
- ReturnBindAutoSnapshotPolicy *bool `json:"ReturnBindAutoSnapshotPolicy,omitempty" name:"ReturnBindAutoSnapshotPolicy"`
+ ReturnBindAutoSnapshotPolicy *bool `json:"ReturnBindAutoSnapshotPolicy,omitnil,omitempty" name:"ReturnBindAutoSnapshotPolicy"`
// 按照一个或者多个云硬盘ID查询。云硬盘ID形如:`disk-11112222`,此参数的具体格式可参考API[简介](/document/product/362/15633)的ids.N一节)。参数不支持同时指定`DiskIds`和`Filters`。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
- // 输出云盘列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
- Order *string `json:"Order,omitempty" name:"Order"`
+ // 输出云盘列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
+ Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}
type DescribeDisksRequest struct {
*tchttp.BaseRequest
- // 过滤条件。参数不支持同时指定`DiskIds`和`Filters`。
disk-usage - Array of String - 是否必填:否 -(过滤条件)按云盘类型过滤。 (SYSTEM_DISK:表示系统盘 | DATA_DISK:表示数据盘)
disk-charge-type - Array of String - 是否必填:否 -(过滤条件)按照云硬盘计费模式过滤。 (PREPAID:表示预付费,即包年包月 | POSTPAID_BY_HOUR:表示后付费,即按量计费。)
portable - Array of String - 是否必填:否 -(过滤条件)按是否为弹性云盘过滤。 (TRUE:表示弹性云盘 | FALSE:表示非弹性云盘。)
project-id - Array of Integer - 是否必填:否 -(过滤条件)按云硬盘所属项目ID过滤。
disk-id - Array of String - 是否必填:否 -(过滤条件)按照云硬盘ID过滤。云盘ID形如:`disk-11112222`。
disk-name - Array of String - 是否必填:否 -(过滤条件)按照云盘名称过滤。
disk-type - Array of String - 是否必填:否 -(过滤条件)按照云盘介质类型过滤。(CLOUD_BASIC:表示普通云硬盘 | CLOUD_PREMIUM:表示高性能云硬盘。| CLOUD_SSD:表示SSD云硬盘 | CLOUD_HSSD:表示增强型SSD云硬盘。| CLOUD_TSSD:表示极速型云硬盘。)
disk-state - Array of String - 是否必填:否 -(过滤条件)按照云盘状态过滤。(UNATTACHED:未挂载 | ATTACHING:挂载中 | ATTACHED:已挂载 | DETACHING:解挂中 | EXPANDING:扩容中 | ROLLBACKING:回滚中 | TORECYCLE:待回收。)
instance-id - Array of String - 是否必填:否 -(过滤条件)按照云盘挂载的云主机实例ID过滤。可根据此参数查询挂载在指定云主机下的云硬盘。
zone - Array of String - 是否必填:否 -(过滤条件)按照[可用区](/document/product/213/15753#ZoneInfo)过滤。
instance-ip-address - Array of String - 是否必填:否 -(过滤条件)按云盘所挂载云主机的内网或外网IP过滤。
instance-name - Array of String - 是否必填:否 -(过滤条件)按云盘所挂载的实例名称过滤。
tag-key - Array of String - 是否必填:否 -(过滤条件)按照标签键进行过滤。
tag-value - Array of String - 是否必填:否 -(过滤条件)照标签值进行过滤。
tag:tag-key - Array of String - 是否必填:否 -(过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+ // 过滤条件。参数不支持同时指定`DiskIds`和`Filters`。
disk-usage - Array of String - 是否必填:否 -(过滤条件)按云盘类型过滤。 (SYSTEM_DISK:表示系统盘 | DATA_DISK:表示数据盘)
disk-charge-type - Array of String - 是否必填:否 -(过滤条件)按照云硬盘计费模式过滤。 (PREPAID:表示预付费,即包年包月 | POSTPAID_BY_HOUR:表示后付费,即按量计费。)
portable - Array of String - 是否必填:否 -(过滤条件)按是否为弹性云盘过滤。 (TRUE:表示弹性云盘 | FALSE:表示非弹性云盘。)
project-id - Array of String - 是否必填:否 -(过滤条件)按云硬盘所属项目ID过滤。
disk-id - Array of String - 是否必填:否 -(过滤条件)按照云硬盘ID过滤。云盘ID形如:`disk-11112222`。
disk-name - Array of String - 是否必填:否 -(过滤条件)按照云盘名称过滤。
disk-type - Array of String - 是否必填:否 -(过滤条件)按照云盘介质类型过滤。(CLOUD_BASIC:表示普通云硬盘 | CLOUD_PREMIUM:表示高性能云硬盘。| CLOUD_SSD:表示SSD云硬盘 | CLOUD_HSSD:表示增强型SSD云硬盘。| CLOUD_TSSD:表示极速型云硬盘。)
disk-state - Array of String - 是否必填:否 -(过滤条件)按照云盘状态过滤。(UNATTACHED:未挂载 | ATTACHING:挂载中 | ATTACHED:已挂载 | DETACHING:解挂中 | EXPANDING:扩容中 | ROLLBACKING:回滚中 | TORECYCLE:待回收 | DUMPING:拷贝硬盘中。)
instance-id - Array of String - 是否必填:否 -(过滤条件)按照云盘挂载的云主机实例ID过滤。可根据此参数查询挂载在指定云主机下的云硬盘。
zone - Array of String - 是否必填:否 -(过滤条件)按照[可用区](/document/product/213/15753#ZoneInfo)过滤。
instance-ip-address - Array of String - 是否必填:否 -(过滤条件)按云盘所挂载云主机的内网或外网IP过滤。
instance-name - Array of String - 是否必填:否 -(过滤条件)按云盘所挂载的实例名称过滤。
tag-key - Array of String - 是否必填:否 -(过滤条件)按照标签键进行过滤。
tag-value - Array of String - 是否必填:否 -(过滤条件)照标签值进行过滤。
tag:tag-key - Array of String - 是否必填:否 -(过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。
dedicated-cluster-id - Array of String - 是否必填:否 -(过滤条件)按照 CDC 独享集群 ID 进行过滤。
cluster-group-id - String - 是否必填:否 -(过滤条件)按照 集群群组 ID 进行过滤。
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
- // 云盘列表排序的依据字段。取值范围:
CREATE_TIME:依据云盘的创建时间排序
DEADLINE:依据云盘的到期时间排序
默认按云盘创建时间排序。
- OrderField *string `json:"OrderField,omitempty" name:"OrderField"`
+ // 云盘列表排序的依据字段。取值范围:
CREATE_TIME:依据云盘的创建时间排序
DEADLINE:依据云盘的到期时间排序
默认按云盘创建时间排序。
+ OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`
// 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
// 云盘详情中是否需要返回云盘绑定的定期快照策略ID,TRUE表示需要返回,FALSE表示不返回。
- ReturnBindAutoSnapshotPolicy *bool `json:"ReturnBindAutoSnapshotPolicy,omitempty" name:"ReturnBindAutoSnapshotPolicy"`
+ ReturnBindAutoSnapshotPolicy *bool `json:"ReturnBindAutoSnapshotPolicy,omitnil,omitempty" name:"ReturnBindAutoSnapshotPolicy"`
// 按照一个或者多个云硬盘ID查询。云硬盘ID形如:`disk-11112222`,此参数的具体格式可参考API[简介](/document/product/362/15633)的ids.N一节)。参数不支持同时指定`DiskIds`和`Filters`。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
- // 输出云盘列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
- Order *string `json:"Order,omitempty" name:"Order"`
+ // 输出云盘列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
+ Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}
func (r *DescribeDisksRequest) ToJsonString() string {
@@ -1632,13 +1861,13 @@ func (r *DescribeDisksRequest) FromJsonString(s string) error {
// Predefined struct for user
type DescribeDisksResponseParams struct {
// 符合条件的云硬盘数量。
- TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+ TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`
// 云硬盘的详细信息列表。
- DiskSet []*Disk `json:"DiskSet,omitempty" name:"DiskSet"`
+ DiskSet []*Disk `json:"DiskSet,omitnil,omitempty" name:"DiskSet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DescribeDisksResponse struct {
@@ -1660,14 +1889,14 @@ func (r *DescribeDisksResponse) FromJsonString(s string) error {
// Predefined struct for user
type DescribeInstancesDiskNumRequestParams struct {
// 云服务器实例ID,通过[DescribeInstances](/document/product/213/15728)接口查询。
- InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
+ InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`
}
type DescribeInstancesDiskNumRequest struct {
*tchttp.BaseRequest
// 云服务器实例ID,通过[DescribeInstances](/document/product/213/15728)接口查询。
- InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds"`
+ InstanceIds []*string `json:"InstanceIds,omitnil,omitempty" name:"InstanceIds"`
}
func (r *DescribeInstancesDiskNumRequest) ToJsonString() string {
@@ -1692,10 +1921,10 @@ func (r *DescribeInstancesDiskNumRequest) FromJsonString(s string) error {
// Predefined struct for user
type DescribeInstancesDiskNumResponseParams struct {
// 各个云服务器已挂载和可挂载弹性云盘的数量。
- AttachDetail []*AttachDetail `json:"AttachDetail,omitempty" name:"AttachDetail"`
+ AttachDetail []*AttachDetail `json:"AttachDetail,omitnil,omitempty" name:"AttachDetail"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DescribeInstancesDiskNumResponse struct {
@@ -1715,89 +1944,153 @@ func (r *DescribeInstancesDiskNumResponse) FromJsonString(s string) error {
}
// Predefined struct for user
-type DescribeSnapshotOperationLogsRequestParams struct {
- // 过滤条件。支持以下条件:
- // snapshot-id - Array of String - 是否必填:是 - 按快照ID过滤,每个请求最多可指定10个快照ID。
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+type DescribeSnapshotGroupsRequestParams struct {
+ // 过滤条件。
snapshot-group-id - Array of String - 是否必填:否 -(过滤条件)按快照组ID过滤
snapshot-group-state - Array of String - 是否必填:否 -(过滤条件)按快照组状态过滤。(NORMAL: 正常 | CREATING:创建中 | ROLLBACKING:回滚中)
snapshot-group-name - Array of String - 是否必填:否 -(过滤条件)按快照组名称过滤
snapshot-id - Array of String - 是否必填:否 -(过滤条件)按快照组内的快照ID过滤
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
- // 要查询的操作日志的截止时间,例如:“2019-11-22 23:59:59"
- EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
+ // 偏移量,默认为0。
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
- // 要查询的操作日志的起始时间,例如:“2019-11-22 00:00:00"
- BeginTime *string `json:"BeginTime,omitempty" name:"BeginTime"`
+ // 返回数量,默认为20,最大值为100。
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}
-type DescribeSnapshotOperationLogsRequest struct {
+type DescribeSnapshotGroupsRequest struct {
*tchttp.BaseRequest
- // 过滤条件。支持以下条件:
- // snapshot-id - Array of String - 是否必填:是 - 按快照ID过滤,每个请求最多可指定10个快照ID。
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
+ // 过滤条件。
snapshot-group-id - Array of String - 是否必填:否 -(过滤条件)按快照组ID过滤
snapshot-group-state - Array of String - 是否必填:否 -(过滤条件)按快照组状态过滤。(NORMAL: 正常 | CREATING:创建中 | ROLLBACKING:回滚中)
snapshot-group-name - Array of String - 是否必填:否 -(过滤条件)按快照组名称过滤
snapshot-id - Array of String - 是否必填:否 -(过滤条件)按快照组内的快照ID过滤
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
- // 要查询的操作日志的截止时间,例如:“2019-11-22 23:59:59"
- EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
+ // 偏移量,默认为0。
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
- // 要查询的操作日志的起始时间,例如:“2019-11-22 00:00:00"
- BeginTime *string `json:"BeginTime,omitempty" name:"BeginTime"`
+ // 返回数量,默认为20,最大值为100。
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
}
-func (r *DescribeSnapshotOperationLogsRequest) ToJsonString() string {
+func (r *DescribeSnapshotGroupsRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
-func (r *DescribeSnapshotOperationLogsRequest) FromJsonString(s string) error {
+func (r *DescribeSnapshotGroupsRequest) FromJsonString(s string) error {
f := make(map[string]interface{})
if err := json.Unmarshal([]byte(s), &f); err != nil {
return err
}
delete(f, "Filters")
- delete(f, "EndTime")
- delete(f, "BeginTime")
+ delete(f, "Offset")
+ delete(f, "Limit")
if len(f) > 0 {
- return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSnapshotOperationLogsRequest has unknown keys!", "")
+ return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSnapshotGroupsRequest has unknown keys!", "")
}
return json.Unmarshal([]byte(s), &r)
}
// Predefined struct for user
-type DescribeSnapshotOperationLogsResponseParams struct {
- // 快照操作日志列表。
- SnapshotOperationLogSet []*SnapshotOperationLog `json:"SnapshotOperationLogSet,omitempty" name:"SnapshotOperationLogSet"`
+type DescribeSnapshotGroupsResponseParams struct {
+ // 符合条件的总数量。
+ TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`
+
+ // 快照组列表详情。
+ SnapshotGroupSet []*SnapshotGroup `json:"SnapshotGroupSet,omitnil,omitempty" name:"SnapshotGroupSet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
-type DescribeSnapshotOperationLogsResponse struct {
+type DescribeSnapshotGroupsResponse struct {
*tchttp.BaseResponse
- Response *DescribeSnapshotOperationLogsResponseParams `json:"Response"`
+ Response *DescribeSnapshotGroupsResponseParams `json:"Response"`
+}
+
+func (r *DescribeSnapshotGroupsResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+// FromJsonString It is highly **NOT** recommended to use this function
+// because it has no param check, nor strict type check
+func (r *DescribeSnapshotGroupsResponse) FromJsonString(s string) error {
+ return json.Unmarshal([]byte(s), &r)
+}
+
+// Predefined struct for user
+type DescribeSnapshotOverviewRequestParams struct {
+
}
-func (r *DescribeSnapshotOperationLogsResponse) ToJsonString() string {
+type DescribeSnapshotOverviewRequest struct {
+ *tchttp.BaseRequest
+
+}
+
+func (r *DescribeSnapshotOverviewRequest) ToJsonString() string {
b, _ := json.Marshal(r)
return string(b)
}
// FromJsonString It is highly **NOT** recommended to use this function
// because it has no param check, nor strict type check
-func (r *DescribeSnapshotOperationLogsResponse) FromJsonString(s string) error {
+func (r *DescribeSnapshotOverviewRequest) FromJsonString(s string) error {
+ f := make(map[string]interface{})
+ if err := json.Unmarshal([]byte(s), &f); err != nil {
+ return err
+ }
+
+ if len(f) > 0 {
+ return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSnapshotOverviewRequest has unknown keys!", "")
+ }
+ return json.Unmarshal([]byte(s), &r)
+}
+
+// Predefined struct for user
+type DescribeSnapshotOverviewResponseParams struct {
+ // 当前总有效快照数量
+ TotalNums *uint64 `json:"TotalNums,omitnil,omitempty" name:"TotalNums"`
+
+ // 已使用快照总容量大小,容量单位为GiB
+ TotalSize *float64 `json:"TotalSize,omitnil,omitempty" name:"TotalSize"`
+
+ // 快照免费额度大小,额度单位为GiB
+ FreeQuota *float64 `json:"FreeQuota,omitnil,omitempty" name:"FreeQuota"`
+
+ // 快照真实产生计费的总容量大小,单位为GiB
+ RealTradeSize *float64 `json:"RealTradeSize,omitnil,omitempty" name:"RealTradeSize"`
+
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
+}
+
+type DescribeSnapshotOverviewResponse struct {
+ *tchttp.BaseResponse
+ Response *DescribeSnapshotOverviewResponseParams `json:"Response"`
+}
+
+func (r *DescribeSnapshotOverviewResponse) ToJsonString() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+// FromJsonString It is highly **NOT** recommended to use this function
+// because it has no param check, nor strict type check
+func (r *DescribeSnapshotOverviewResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
// Predefined struct for user
type DescribeSnapshotSharePermissionRequestParams struct {
// 要查询快照的ID。可通过[DescribeSnapshots](https://cloud.tencent.com/document/api/362/15647)查询获取。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
}
type DescribeSnapshotSharePermissionRequest struct {
*tchttp.BaseRequest
// 要查询快照的ID。可通过[DescribeSnapshots](https://cloud.tencent.com/document/api/362/15647)查询获取。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
}
func (r *DescribeSnapshotSharePermissionRequest) ToJsonString() string {
@@ -1822,10 +2115,10 @@ func (r *DescribeSnapshotSharePermissionRequest) FromJsonString(s string) error
// Predefined struct for user
type DescribeSnapshotSharePermissionResponseParams struct {
// 快照的分享信息的集合
- SharePermissionSet []*SharePermission `json:"SharePermissionSet,omitempty" name:"SharePermissionSet"`
+ SharePermissionSet []*SharePermission `json:"SharePermissionSet,omitnil,omitempty" name:"SharePermissionSet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DescribeSnapshotSharePermissionResponse struct {
@@ -1847,48 +2140,60 @@ func (r *DescribeSnapshotSharePermissionResponse) FromJsonString(s string) error
// Predefined struct for user
type DescribeSnapshotsRequestParams struct {
// 要查询快照的ID列表。参数不支持同时指定`SnapshotIds`和`Filters`。
- SnapshotIds []*string `json:"SnapshotIds,omitempty" name:"SnapshotIds"`
+ SnapshotIds []*string `json:"SnapshotIds,omitnil,omitempty" name:"SnapshotIds"`
- // 过滤条件。参数不支持同时指定`SnapshotIds`和`Filters`。
snapshot-id - Array of String - 是否必填:否 -(过滤条件)按照快照的ID过滤。快照ID形如:`snap-11112222`。
snapshot-name - Array of String - 是否必填:否 -(过滤条件)按照快照名称过滤。
snapshot-state - Array of String - 是否必填:否 -(过滤条件)按照快照状态过滤。 (NORMAL:正常 | CREATING:创建中 | ROLLBACKING:回滚中。)
disk-usage - Array of String - 是否必填:否 -(过滤条件)按创建快照的云盘类型过滤。 (SYSTEM_DISK:代表系统盘 | DATA_DISK:代表数据盘。)
project-id - Array of String - 是否必填:否 -(过滤条件)按云硬盘所属项目ID过滤。
disk-id - Array of String - 是否必填:否 -(过滤条件)按照创建快照的云硬盘ID过滤。
zone - Array of String - 是否必填:否 -(过滤条件)按照[可用区](/document/product/213/15753#ZoneInfo)过滤。
encrypt - Array of String - 是否必填:否 -(过滤条件)按是否加密盘快照过滤。 (TRUE:表示加密盘快照 | FALSE:表示非加密盘快照。)
- // snapshot-type- Array of String - 是否必填:否 -(过滤条件)根据snapshot-type指定的快照类型查询对应的快照。
- // (SHARED_SNAPSHOT:表示共享过来的快照 | PRIVATE_SNAPSHOT:表示自己私有快照。)
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
-
- // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ // 过滤条件。参数不支持同时指定SnapshotIds和Filters。
- snapshot-id
- 按照云硬盘快照ID进行过滤
- 类型:String
- 必选:否
- snapshot-name
- 按照云硬盘快照名称进行过滤
- 类型:String
- 必选:否
- snapshot-state
- 按照云硬盘快照状态进行过滤
- 类型:String
- 必选:否
- 取值范围:
NORMAL
:正常 CREATING
:创建中 ROLLBACKING
:回滚中 COPYING_FROM_REMOTE
:跨地域复制中 CHECKING_COPIED
:复制校验中TORECYCLE
:待回收
- disk-usage
- 按照云硬盘使用用途进行过滤
- 类型:String
- 必选:否
- 取值范围:
SYSTEM_DISK
:代表系统盘DATA_DISK
:代表数据盘
- project-id
- 按云硬盘所属项目ID过滤
- 类型:String
- 必选:否
- disk-id
- 按照云硬盘ID进行过滤,一次最多只能传入10个值
- 类型:String
- 必选:否
- encrypt
- snapshot-type
- 按快照归属类型查询
- 类型:String
- 必选:否
- 取值范围:
SHARED_SNAPSHOT
:表示共享过来的快照PRIVATE_SNAPSHOT
:表示自己的私有快照
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
+
+ // 快照列表排序的依据字段。取值范围:
+ //
+ // - CREATE_TIME:依据快照的创建时间排序
+ // - 默认按创建时间排序
+ //
+ OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`
- // 输出云盘列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
- Order *string `json:"Order,omitempty" name:"Order"`
+ // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
- // 快照列表排序的依据字段。取值范围:
CREATE_TIME:依据快照的创建时间排序
默认按创建时间排序。
- OrderField *string `json:"OrderField,omitempty" name:"OrderField"`
+ // 输出云盘列表的排列顺序。取值范围:
+ //
+ // - ASC:升序排列
+ // - DESC:降序排列。
+ //
+ Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}
type DescribeSnapshotsRequest struct {
*tchttp.BaseRequest
// 要查询快照的ID列表。参数不支持同时指定`SnapshotIds`和`Filters`。
- SnapshotIds []*string `json:"SnapshotIds,omitempty" name:"SnapshotIds"`
+ SnapshotIds []*string `json:"SnapshotIds,omitnil,omitempty" name:"SnapshotIds"`
- // 过滤条件。参数不支持同时指定`SnapshotIds`和`Filters`。
snapshot-id - Array of String - 是否必填:否 -(过滤条件)按照快照的ID过滤。快照ID形如:`snap-11112222`。
snapshot-name - Array of String - 是否必填:否 -(过滤条件)按照快照名称过滤。
snapshot-state - Array of String - 是否必填:否 -(过滤条件)按照快照状态过滤。 (NORMAL:正常 | CREATING:创建中 | ROLLBACKING:回滚中。)
disk-usage - Array of String - 是否必填:否 -(过滤条件)按创建快照的云盘类型过滤。 (SYSTEM_DISK:代表系统盘 | DATA_DISK:代表数据盘。)
project-id - Array of String - 是否必填:否 -(过滤条件)按云硬盘所属项目ID过滤。
disk-id - Array of String - 是否必填:否 -(过滤条件)按照创建快照的云硬盘ID过滤。
zone - Array of String - 是否必填:否 -(过滤条件)按照[可用区](/document/product/213/15753#ZoneInfo)过滤。
encrypt - Array of String - 是否必填:否 -(过滤条件)按是否加密盘快照过滤。 (TRUE:表示加密盘快照 | FALSE:表示非加密盘快照。)
- // snapshot-type- Array of String - 是否必填:否 -(过滤条件)根据snapshot-type指定的快照类型查询对应的快照。
- // (SHARED_SNAPSHOT:表示共享过来的快照 | PRIVATE_SNAPSHOT:表示自己私有快照。)
- Filters []*Filter `json:"Filters,omitempty" name:"Filters"`
-
- // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
- Offset *uint64 `json:"Offset,omitempty" name:"Offset"`
+ // 过滤条件。参数不支持同时指定SnapshotIds和Filters。
- snapshot-id
- 按照云硬盘快照ID进行过滤
- 类型:String
- 必选:否
- snapshot-name
- 按照云硬盘快照名称进行过滤
- 类型:String
- 必选:否
- snapshot-state
- 按照云硬盘快照状态进行过滤
- 类型:String
- 必选:否
- 取值范围:
NORMAL
:正常 CREATING
:创建中 ROLLBACKING
:回滚中 COPYING_FROM_REMOTE
:跨地域复制中 CHECKING_COPIED
:复制校验中TORECYCLE
:待回收
- disk-usage
- 按照云硬盘使用用途进行过滤
- 类型:String
- 必选:否
- 取值范围:
SYSTEM_DISK
:代表系统盘DATA_DISK
:代表数据盘
- project-id
- 按云硬盘所属项目ID过滤
- 类型:String
- 必选:否
- disk-id
- 按照云硬盘ID进行过滤,一次最多只能传入10个值
- 类型:String
- 必选:否
- encrypt
- snapshot-type
- 按快照归属类型查询
- 类型:String
- 必选:否
- 取值范围:
SHARED_SNAPSHOT
:表示共享过来的快照PRIVATE_SNAPSHOT
:表示自己的私有快照
+ Filters []*Filter `json:"Filters,omitnil,omitempty" name:"Filters"`
// 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](/document/product/362/15633)中的相关小节。
- Limit *uint64 `json:"Limit,omitempty" name:"Limit"`
+ Limit *uint64 `json:"Limit,omitnil,omitempty" name:"Limit"`
+
+ // 快照列表排序的依据字段。取值范围:
+ //
+ // - CREATE_TIME:依据快照的创建时间排序
+ // - 默认按创建时间排序
+ //
+ OrderField *string `json:"OrderField,omitnil,omitempty" name:"OrderField"`
- // 输出云盘列表的排列顺序。取值范围:
ASC:升序排列
DESC:降序排列。
- Order *string `json:"Order,omitempty" name:"Order"`
+ // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考API[简介](/document/product/362/15633)中的相关小节。
+ Offset *uint64 `json:"Offset,omitnil,omitempty" name:"Offset"`
- // 快照列表排序的依据字段。取值范围:
CREATE_TIME:依据快照的创建时间排序
默认按创建时间排序。
- OrderField *string `json:"OrderField,omitempty" name:"OrderField"`
+ // 输出云盘列表的排列顺序。取值范围:
+ //
+ // - ASC:升序排列
+ // - DESC:降序排列。
+ //
+ Order *string `json:"Order,omitnil,omitempty" name:"Order"`
}
func (r *DescribeSnapshotsRequest) ToJsonString() string {
@@ -1905,10 +2210,10 @@ func (r *DescribeSnapshotsRequest) FromJsonString(s string) error {
}
delete(f, "SnapshotIds")
delete(f, "Filters")
- delete(f, "Offset")
delete(f, "Limit")
- delete(f, "Order")
delete(f, "OrderField")
+ delete(f, "Offset")
+ delete(f, "Order")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeSnapshotsRequest has unknown keys!", "")
}
@@ -1918,13 +2223,13 @@ func (r *DescribeSnapshotsRequest) FromJsonString(s string) error {
// Predefined struct for user
type DescribeSnapshotsResponseParams struct {
// 快照的数量。
- TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"`
+ TotalCount *uint64 `json:"TotalCount,omitnil,omitempty" name:"TotalCount"`
// 快照的详情列表。
- SnapshotSet []*Snapshot `json:"SnapshotSet,omitempty" name:"SnapshotSet"`
+ SnapshotSet []*Snapshot `json:"SnapshotSet,omitnil,omitempty" name:"SnapshotSet"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DescribeSnapshotsResponse struct {
@@ -1946,20 +2251,20 @@ func (r *DescribeSnapshotsResponse) FromJsonString(s string) error {
// Predefined struct for user
type DetachDisksRequestParams struct {
// 将要卸载的云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询,单次请求最多可卸载10块弹性云盘。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
- // 对于非共享型云盘,会忽略该参数;对于共享型云盘,该参数表示要从哪个CVM实例上卸载云盘。
- InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+ // 对于非共享型云盘,会根据该参数校验是否与实际挂载的实例一致;对于共享型云盘,该参数表示要从哪个CVM实例上卸载云盘。
+ InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
}
type DetachDisksRequest struct {
*tchttp.BaseRequest
// 将要卸载的云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询,单次请求最多可卸载10块弹性云盘。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
- // 对于非共享型云盘,会忽略该参数;对于共享型云盘,该参数表示要从哪个CVM实例上卸载云盘。
- InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+ // 对于非共享型云盘,会根据该参数校验是否与实际挂载的实例一致;对于共享型云盘,该参数表示要从哪个CVM实例上卸载云盘。
+ InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
}
func (r *DetachDisksRequest) ToJsonString() string {
@@ -1984,8 +2289,8 @@ func (r *DetachDisksRequest) FromJsonString(s string) error {
// Predefined struct for user
type DetachDisksResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type DetachDisksResponse struct {
@@ -2004,255 +2309,275 @@ func (r *DetachDisksResponse) FromJsonString(s string) error {
return json.Unmarshal([]byte(s), &r)
}
-type Disk struct {
- // 云盘是否与挂载的实例一起销毁。
true:销毁实例时会同时销毁云盘,只支持按小时后付费云盘。
false:销毁实例时不销毁云盘。
+type DetailPrice struct {
+ // 描述计费项目名称。
+ PriceTitle *string `json:"PriceTitle,omitnil,omitempty" name:"PriceTitle"`
+
+ // 描述计费项目显示名称,用户控制台展示。
+ PriceName *string `json:"PriceName,omitnil,omitempty" name:"PriceName"`
+
+ // 预付费云盘预支费用的原价,单位:元。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ OriginalPrice *float64 `json:"OriginalPrice,omitnil,omitempty" name:"OriginalPrice"`
+
+ // 预付费云盘预支费用的折扣价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- DeleteWithInstance *bool `json:"DeleteWithInstance,omitempty" name:"DeleteWithInstance"`
+ DiscountPrice *float64 `json:"DiscountPrice,omitnil,omitempty" name:"DiscountPrice"`
- // 自动续费标识。取值范围:
NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费。
+ // 后付费云盘原单价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"`
+ UnitPrice *float64 `json:"UnitPrice,omitnil,omitempty" name:"UnitPrice"`
- // 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_BSSD:表示通用型SSD云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘
CLOUD_TSSD:表示极速型SSD云硬盘。
- DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
+ // 后付费云盘折扣单价,单位:元。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UnitPriceDiscount *float64 `json:"UnitPriceDiscount,omitnil,omitempty" name:"UnitPriceDiscount"`
- // 云盘状态。取值范围:
UNATTACHED:未挂载
ATTACHING:挂载中
ATTACHED:已挂载
DETACHING:解挂中
EXPANDING:扩容中
ROLLBACKING:回滚中
TORECYCLE:待回收
DUMPING:拷贝硬盘中。
- DiskState *string `json:"DiskState,omitempty" name:"DiskState"`
+ // 后付费云盘的计价单元,取值范围:HOUR:表示后付费云盘的计价单元是按小时计算。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ChargeUnit *string `json:"ChargeUnit,omitnil,omitempty" name:"ChargeUnit"`
- // 云盘拥有的快照总数。
- SnapshotCount *int64 `json:"SnapshotCount,omitempty" name:"SnapshotCount"`
+ // 高精度预付费云盘预支费用的原价,单位:元。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ OriginalPriceHigh *string `json:"OriginalPriceHigh,omitnil,omitempty" name:"OriginalPriceHigh"`
- // 云盘已挂载到子机,且子机与云盘都是包年包月。
true:子机设置了自动续费标识,但云盘未设置
false:云盘自动续费标识正常。
+ // 高精度预付费云盘预支费用的折扣价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- AutoRenewFlagError *bool `json:"AutoRenewFlagError,omitempty" name:"AutoRenewFlagError"`
+ DiscountPriceHigh *string `json:"DiscountPriceHigh,omitnil,omitempty" name:"DiscountPriceHigh"`
+
+ // 高精度后付费云盘原单价,单位:元。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UnitPriceHigh *string `json:"UnitPriceHigh,omitnil,omitempty" name:"UnitPriceHigh"`
+
+ // 高精度后付费云盘折扣单价,单位:元。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ UnitPriceDiscountHigh *string `json:"UnitPriceDiscountHigh,omitnil,omitempty" name:"UnitPriceDiscountHigh"`
+}
+
+type Disk struct {
+ // 云盘是否与挂载的实例一起销毁。
true:销毁实例时会同时销毁云盘,只支持按小时后付费云盘。false:销毁实例时不销毁云盘。
+ DeleteWithInstance *bool `json:"DeleteWithInstance,omitnil,omitempty" name:"DeleteWithInstance"`
+
+ // 自动续费标识。取值范围:
NOTIFY_AND_AUTO_RENEW:通知过期且自动续费NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费。
+ RenewFlag *string `json:"RenewFlag,omitnil,omitempty" name:"RenewFlag"`
+
+ // 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘CLOUD_PREMIUM:表示高性能云硬盘CLOUD_BSSD:表示通用型SSD云硬盘CLOUD_SSD:表示SSD云硬盘CLOUD_HSSD:表示增强型SSD云硬盘CLOUD_TSSD:表示极速型SSD云硬盘。
+ DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"`
+
+ // 云盘状态。取值范围:
UNATTACHED:未挂载ATTACHING:挂载中ATTACHED:已挂载DETACHING:解挂中EXPANDING:扩容中ROLLBACKING:回滚中TORECYCLE:待回收DUMPING:拷贝硬盘中。
+ DiskState *string `json:"DiskState,omitnil,omitempty" name:"DiskState"`
+
+ // 云盘拥有的快照总数。
+ SnapshotCount *int64 `json:"SnapshotCount,omitnil,omitempty" name:"SnapshotCount"`
- // 云盘是否处于快照回滚状态。取值范围:
false:表示不处于快照回滚状态
true:表示处于快照回滚状态。
- Rollbacking *bool `json:"Rollbacking,omitempty" name:"Rollbacking"`
+ // 云盘已挂载到子机,且子机与云盘都是包年包月。
true:子机设置了自动续费标识,但云盘未设置false:云盘自动续费标识正常。
+ AutoRenewFlagError *bool `json:"AutoRenewFlagError,omitnil,omitempty" name:"AutoRenewFlagError"`
+
+ // 云盘是否处于快照回滚状态。取值范围:
false:表示不处于快照回滚状态true:表示处于快照回滚状态。
+ Rollbacking *bool `json:"Rollbacking,omitnil,omitempty" name:"Rollbacking"`
// 对于非共享型云盘,该参数为空数组。对于共享型云盘,则表示该云盘当前被挂载到的CVM实例InstanceId
- InstanceIdList []*string `json:"InstanceIdList,omitempty" name:"InstanceIdList"`
+ InstanceIdList []*string `json:"InstanceIdList,omitnil,omitempty" name:"InstanceIdList"`
- // 云盘是否为加密盘。取值范围:
false:表示非加密盘
true:表示加密盘。
- Encrypt *bool `json:"Encrypt,omitempty" name:"Encrypt"`
+ // 云盘是否为加密盘。取值范围:
false:表示非加密盘true:表示加密盘。
+ Encrypt *bool `json:"Encrypt,omitnil,omitempty" name:"Encrypt"`
// 云硬盘名称。
- DiskName *string `json:"DiskName,omitempty" name:"DiskName"`
+ DiskName *string `json:"DiskName,omitnil,omitempty" name:"DiskName"`
// 云硬盘因欠费销毁或者到期销毁时, 是否使用快照备份数据的标识。true表示销毁时创建快照进行数据备份。false表示直接销毁,不进行数据备份。
- BackupDisk *bool `json:"BackupDisk,omitempty" name:"BackupDisk"`
+ BackupDisk *bool `json:"BackupDisk,omitnil,omitempty" name:"BackupDisk"`
// 与云盘绑定的标签,云盘未绑定标签则取值为空。
- // 注意:此字段可能返回 null,表示取不到有效值。
- Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
+ Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
// 云硬盘挂载的云主机ID。
- InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"`
+ InstanceId *string `json:"InstanceId,omitnil,omitempty" name:"InstanceId"`
- // 云盘的挂载类型。取值范围:
PF: PF挂载
VF: VF挂载
- // 注意:此字段可能返回 null,表示取不到有效值。
- AttachMode *string `json:"AttachMode,omitempty" name:"AttachMode"`
+ // 云盘的挂载类型。取值范围:
PF: PF挂载VF: VF挂载
+ AttachMode *string `json:"AttachMode,omitnil,omitempty" name:"AttachMode"`
- // 云盘关联的定期快照ID。只有在调用DescribeDisks接口时,入参ReturnBindAutoSnapshotPolicy取值为TRUE才会返回该参数。
+ // 云盘关联的定期快照ID。只有在调用[DescribeDisks](/document/product/362/16315)接口时,入参ReturnBindAutoSnapshotPolicy取值为TRUE才会返回该参数。
// 注意:此字段可能返回 null,表示取不到有效值。
- AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitempty" name:"AutoSnapshotPolicyIds"`
+ AutoSnapshotPolicyIds []*string `json:"AutoSnapshotPolicyIds,omitnil,omitempty" name:"AutoSnapshotPolicyIds"`
- // 云硬盘额外性能值,单位MB/s。
- // 注意:此字段可能返回 null,表示取不到有效值。
- ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+ // 云硬盘额外性能值,单位MiB/s。
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitnil,omitempty" name:"ThroughputPerformance"`
- // 云盘是否处于类型变更中。取值范围:
false:表示云盘不处于类型变更中
true:表示云盘已发起类型变更,正处于迁移中。
- // 注意:此字段可能返回 null,表示取不到有效值。
- Migrating *bool `json:"Migrating,omitempty" name:"Migrating"`
+ // 云盘是否处于类型变更中。取值范围:
false:表示云盘不处于类型变更中true:表示云盘已发起类型变更,正处于迁移中。
+ Migrating *bool `json:"Migrating,omitnil,omitempty" name:"Migrating"`
// 云硬盘ID。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
- // 云盘拥有的快照总容量,单位为MB。
- SnapshotSize *uint64 `json:"SnapshotSize,omitempty" name:"SnapshotSize"`
+ // 云盘拥有的快照总容量,单位为MiB。
+ SnapshotSize *uint64 `json:"SnapshotSize,omitnil,omitempty" name:"SnapshotSize"`
// 云硬盘所在的位置。
- Placement *Placement `json:"Placement,omitempty" name:"Placement"`
+ Placement *Placement `json:"Placement,omitnil,omitempty" name:"Placement"`
- // 判断预付费的云盘是否支持主动退还。
true:支持主动退还
false:不支持主动退还。
+ // 判断预付费的云盘是否支持主动退还。
true:支持主动退还false:不支持主动退还。
// 注意:此字段可能返回 null,表示取不到有效值。
- IsReturnable *bool `json:"IsReturnable,omitempty" name:"IsReturnable"`
+ IsReturnable *bool `json:"IsReturnable,omitnil,omitempty" name:"IsReturnable"`
// 云硬盘的到期时间。
- DeadlineTime *string `json:"DeadlineTime,omitempty" name:"DeadlineTime"`
+ DeadlineTime *string `json:"DeadlineTime,omitnil,omitempty" name:"DeadlineTime"`
- // 云盘是否挂载到云主机上。取值范围:
false:表示未挂载
true:表示已挂载。
- Attached *bool `json:"Attached,omitempty" name:"Attached"`
+ // 云盘是否挂载到云主机上。取值范围:
false:表示未挂载true:表示已挂载。
+ Attached *bool `json:"Attached,omitnil,omitempty" name:"Attached"`
- // 云硬盘大小,单位GB。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ // 云硬盘大小,单位GiB。
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
// 云盘类型变更的迁移进度,取值0到100。
- // 注意:此字段可能返回 null,表示取不到有效值。
- MigratePercent *uint64 `json:"MigratePercent,omitempty" name:"MigratePercent"`
+ MigratePercent *uint64 `json:"MigratePercent,omitnil,omitempty" name:"MigratePercent"`
- // 云硬盘类型。取值范围:
SYSTEM_DISK:系统盘
DATA_DISK:数据盘。
- DiskUsage *string `json:"DiskUsage,omitempty" name:"DiskUsage"`
+ // 云硬盘类型。取值范围:
SYSTEM_DISK:系统盘DATA_DISK:数据盘。
+ DiskUsage *string `json:"DiskUsage,omitnil,omitempty" name:"DiskUsage"`
- // 付费模式。取值范围:
PREPAID:预付费,即包年包月
POSTPAID_BY_HOUR:后付费,即按量计费。
- DiskChargeType *string `json:"DiskChargeType,omitempty" name:"DiskChargeType"`
+ // 付费模式。取值范围:
PREPAID:预付费,即包年包月POSTPAID_BY_HOUR:后付费,即按量计费。
+ DiskChargeType *string `json:"DiskChargeType,omitnil,omitempty" name:"DiskChargeType"`
// 是否为弹性云盘,false表示非弹性云盘,true表示弹性云盘。
- Portable *bool `json:"Portable,omitempty" name:"Portable"`
+ Portable *bool `json:"Portable,omitnil,omitempty" name:"Portable"`
- // 云盘是否具备创建快照的能力。取值范围:
false表示不具备
true表示具备。
- SnapshotAbility *bool `json:"SnapshotAbility,omitempty" name:"SnapshotAbility"`
+ // 云盘是否具备创建快照的能力。取值范围:
false表示不具备true表示具备。
+ SnapshotAbility *bool `json:"SnapshotAbility,omitnil,omitempty" name:"SnapshotAbility"`
- // 在云盘已挂载到实例,且实例与云盘都是包年包月的条件下,此字段才有意义。
true:云盘到期时间早于实例。
false:云盘到期时间晚于实例。
- // 注意:此字段可能返回 null,表示取不到有效值。
- DeadlineError *bool `json:"DeadlineError,omitempty" name:"DeadlineError"`
+ // 在云盘已挂载到实例,且实例与云盘都是包年包月的条件下,此字段才有意义。
true:云盘到期时间早于实例。false:云盘到期时间晚于实例。
+ DeadlineError *bool `json:"DeadlineError,omitnil,omitempty" name:"DeadlineError"`
// 云盘快照回滚的进度。
- RollbackPercent *uint64 `json:"RollbackPercent,omitempty" name:"RollbackPercent"`
+ RollbackPercent *uint64 `json:"RollbackPercent,omitnil,omitempty" name:"RollbackPercent"`
- // 当前时间距离盘到期的天数(仅对预付费盘有意义)。
+ // 当前时间距离云硬盘到期的天数(仅对预付费云硬盘有意义)
// 注意:此字段可能返回 null,表示取不到有效值。
- DifferDaysOfDeadline *int64 `json:"DifferDaysOfDeadline,omitempty" name:"DifferDaysOfDeadline"`
+ DifferDaysOfDeadline *int64 `json:"DifferDaysOfDeadline,omitnil,omitempty" name:"DifferDaysOfDeadline"`
- // 预付费云盘在不支持主动退还的情况下,该参数表明不支持主动退还的具体原因。取值范围:
1:云硬盘已经退还
2:云硬盘已过期
3:云盘不支持退还
8:超过可退还数量的限制。
- // 注意:此字段可能返回 null,表示取不到有效值。
- ReturnFailCode *int64 `json:"ReturnFailCode,omitempty" name:"ReturnFailCode"`
+ // 预付费云盘在不支持主动退还的情况下,该参数表明不支持主动退还的具体原因。取值范围:
1:云硬盘已经退还2:云硬盘已过期3:云盘不支持退还8:超过可退还数量的限制。10:非弹性云硬盘、系统盘、后付费云硬盘等不支持退还
+ ReturnFailCode *int64 `json:"ReturnFailCode,omitnil,omitempty" name:"ReturnFailCode"`
// 云盘是否为共享型云盘。
- Shareable *bool `json:"Shareable,omitempty" name:"Shareable"`
+ Shareable *bool `json:"Shareable,omitnil,omitempty" name:"Shareable"`
// 云硬盘的创建时间。
- CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"`
+ CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
// 销毁云盘时删除关联的非永久保留快照。0 表示非永久快照不随云盘销毁而销毁,1表示非永久快照随云盘销毁而销毁,默认取0。快照是否永久保留可以通过DescribeSnapshots接口返回的快照详情的IsPermanent字段来判断,true表示永久快照,false表示非永久快照。
- DeleteSnapshot *int64 `json:"DeleteSnapshot,omitempty" name:"DeleteSnapshot"`
+ DeleteSnapshot *int64 `json:"DeleteSnapshot,omitnil,omitempty" name:"DeleteSnapshot"`
// 云硬盘备份点配额。表示最大可以保留的备份点数量。
- DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitempty" name:"DiskBackupQuota"`
+ DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitnil,omitempty" name:"DiskBackupQuota"`
// 云硬盘备份点已使用的数量。
- DiskBackupCount *uint64 `json:"DiskBackupCount,omitempty" name:"DiskBackupCount"`
+ DiskBackupCount *uint64 `json:"DiskBackupCount,omitnil,omitempty" name:"DiskBackupCount"`
+
+ // 云硬盘挂载实例的类型。取值范围:
CVMEKS
+ InstanceType *string `json:"InstanceType,omitnil,omitempty" name:"InstanceType"`
- // 云硬盘挂载实例的类型。取值范围:
CVM
EKS
- InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"`
+ // 云硬盘最后一次挂载的实例ID
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ LastAttachInsId *string `json:"LastAttachInsId,omitnil,omitempty" name:"LastAttachInsId"`
+
+ // 云硬盘最后一次操作错误提示
+ ErrorPrompt *string `json:"ErrorPrompt,omitnil,omitempty" name:"ErrorPrompt"`
+
+ // 云盘是否开启性能突发
+ BurstPerformance *bool `json:"BurstPerformance,omitnil,omitempty" name:"BurstPerformance"`
+
+ // 云硬盘加密类型,值为ENCRYPT_V1和ENCRYPT_V2,分别表示第一代和第二代加密技术,两种加密技术互不兼容
+ EncryptType *string `json:"EncryptType,omitnil,omitempty" name:"EncryptType"`
+
+ // 加密盘密钥ID
+ KmsKeyId *string `json:"KmsKeyId,omitnil,omitempty" name:"KmsKeyId"`
}
type DiskBackup struct {
// 云硬盘备份点的ID。
- DiskBackupId *string `json:"DiskBackupId,omitempty" name:"DiskBackupId"`
+ DiskBackupId *string `json:"DiskBackupId,omitnil,omitempty" name:"DiskBackupId"`
// 云硬盘备份点关联的云硬盘ID。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 云硬盘大小,单位GB。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
// 云硬盘类型。取值范围:
SYSTEM_DISK:系统盘
DATA_DISK:数据盘。
- DiskUsage *string `json:"DiskUsage,omitempty" name:"DiskUsage"`
+ DiskUsage *string `json:"DiskUsage,omitnil,omitempty" name:"DiskUsage"`
// 备份点名称。
- DiskBackupName *string `json:"DiskBackupName,omitempty" name:"DiskBackupName"`
+ DiskBackupName *string `json:"DiskBackupName,omitnil,omitempty" name:"DiskBackupName"`
// 云硬盘备份点状态。取值范围:
NORMAL:正常
CREATING:创建中
ROLLBACKING:回滚中
- DiskBackupState *string `json:"DiskBackupState,omitempty" name:"DiskBackupState"`
+ DiskBackupState *string `json:"DiskBackupState,omitnil,omitempty" name:"DiskBackupState"`
// 云硬盘创建进度百分比。
- Percent *uint64 `json:"Percent,omitempty" name:"Percent"`
+ Percent *uint64 `json:"Percent,omitnil,omitempty" name:"Percent"`
// 云硬盘备份点的创建时间。
- CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"`
+ CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
// 云盘是否为加密盘。取值范围:
false:表示非加密盘
true:表示加密盘。
- Encrypt *bool `json:"Encrypt,omitempty" name:"Encrypt"`
+ Encrypt *bool `json:"Encrypt,omitnil,omitempty" name:"Encrypt"`
}
type DiskChargePrepaid struct {
// 购买云盘的时长,默认单位为月,取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36。
- Period *uint64 `json:"Period,omitempty" name:"Period"`
+ Period *uint64 `json:"Period,omitnil,omitempty" name:"Period"`
// 自动续费标识。取值范围:
NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费
默认取值:NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费。
- RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"`
+ RenewFlag *string `json:"RenewFlag,omitnil,omitempty" name:"RenewFlag"`
// 需要将云盘的到期时间与挂载的子机对齐时,可传入该参数。该参数表示子机当前的到期时间,此时Period如果传入,则表示子机需要续费的时长,云盘会自动按对齐到子机续费后的到期时间续费,示例取值:2018-03-30 20:15:03。
- CurInstanceDeadline *string `json:"CurInstanceDeadline,omitempty" name:"CurInstanceDeadline"`
+ CurInstanceDeadline *string `json:"CurInstanceDeadline,omitnil,omitempty" name:"CurInstanceDeadline"`
}
type DiskConfig struct {
// 配置是否可用。
- Available *bool `json:"Available,omitempty" name:"Available"`
+ Available *bool `json:"Available,omitnil,omitempty" name:"Available"`
- // 付费模式。取值范围:
PREPAID:表示预付费,即包年包月
POSTPAID_BY_HOUR:表示后付费,即按量计费。
- DiskChargeType *string `json:"DiskChargeType,omitempty" name:"DiskChargeType"`
+ // 付费模式。取值范围:
PREPAID:表示预付费,即包年包月
POSTPAID_BY_HOUR:表示后付费,即按量计费。
+ DiskChargeType *string `json:"DiskChargeType,omitnil,omitempty" name:"DiskChargeType"`
// 云硬盘所属的[可用区](/document/product/213/15753#ZoneInfo)。
- Zone *string `json:"Zone,omitempty" name:"Zone"`
+ Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`
// 实例机型系列。详见[实例类型](https://cloud.tencent.com/document/product/213/11518)
// 注意:此字段可能返回 null,表示取不到有效值。
- InstanceFamily *string `json:"InstanceFamily,omitempty" name:"InstanceFamily"`
+ InstanceFamily *string `json:"InstanceFamily,omitnil,omitempty" name:"InstanceFamily"`
- // 云盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:SSD表示SSD云硬盘。
- DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
+ // 云盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:SSD表示SSD云硬盘。
+ DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"`
// 云盘大小变化的最小步长,单位GB。
- // 注意:此字段可能返回 null,表示取不到有效值。
- StepSize *uint64 `json:"StepSize,omitempty" name:"StepSize"`
+ StepSize *uint64 `json:"StepSize,omitnil,omitempty" name:"StepSize"`
// 额外的性能区间。
// 注意:此字段可能返回 null,表示取不到有效值。
- ExtraPerformanceRange []*int64 `json:"ExtraPerformanceRange,omitempty" name:"ExtraPerformanceRange"`
+ ExtraPerformanceRange []*int64 `json:"ExtraPerformanceRange,omitnil,omitempty" name:"ExtraPerformanceRange"`
// 实例机型。
// 注意:此字段可能返回 null,表示取不到有效值。
- DeviceClass *string `json:"DeviceClass,omitempty" name:"DeviceClass"`
+ DeviceClass *string `json:"DeviceClass,omitnil,omitempty" name:"DeviceClass"`
- // 云盘类型。取值范围:
SYSTEM_DISK:表示系统盘
DATA_DISK:表示数据盘。
- DiskUsage *string `json:"DiskUsage,omitempty" name:"DiskUsage"`
+ // 云盘类型。取值范围:
SYSTEM_DISK:表示系统盘
DATA_DISK:表示数据盘。
+ DiskUsage *string `json:"DiskUsage,omitnil,omitempty" name:"DiskUsage"`
// 最小可配置云盘大小,单位GB。
- MinDiskSize *uint64 `json:"MinDiskSize,omitempty" name:"MinDiskSize"`
+ MinDiskSize *uint64 `json:"MinDiskSize,omitnil,omitempty" name:"MinDiskSize"`
// 最大可配置云盘大小,单位GB。
- MaxDiskSize *uint64 `json:"MaxDiskSize,omitempty" name:"MaxDiskSize"`
-}
+ MaxDiskSize *uint64 `json:"MaxDiskSize,omitnil,omitempty" name:"MaxDiskSize"`
-type DiskOperationLog struct {
- // 操作的状态。取值范围:
- // SUCCESS :表示操作成功
- // FAILED :表示操作失败
- // PROCESSING :表示操作中。
- OperationState *string `json:"OperationState,omitempty" name:"OperationState"`
-
- // 开始时间。
- StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
-
- // 操作者的UIN。
- Operator *string `json:"Operator,omitempty" name:"Operator"`
-
- // 操作类型。取值范围:
- // CBS_OPERATION_ATTACH:挂载云硬盘
- // CBS_OPERATION_DETACH:解挂云硬盘
- // CBS_OPERATION_RENEW:续费
- // CBS_OPERATION_EXPAND:扩容
- // CBS_OPERATION_CREATE:创建
- // CBS_OPERATION_ISOLATE:隔离
- // CBS_OPERATION_MODIFY:修改云硬盘属性
- // ASP_OPERATION_BIND:关联定期快照策略
- // ASP_OPERATION_UNBIND:取消关联定期快照策略
- Operation *string `json:"Operation,omitempty" name:"Operation"`
-
- // 结束时间。
- EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
-
- // 操作的云盘ID。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ // 描述预付费或后付费云盘的价格。
+ Price *Price `json:"Price,omitnil,omitempty" name:"Price"`
}
type Filter struct {
- // 一个或者多个过滤值。
- Values []*string `json:"Values,omitempty" name:"Values"`
+ // 过滤键的名称
+ Name *string `json:"Name,omitnil,omitempty" name:"Name"`
- // 过滤键的名称。
- Name *string `json:"Name,omitempty" name:"Name"`
+ // 一个或者多个过滤值
+ Values []*string `json:"Values,omitnil,omitempty" name:"Values"`
}
// Predefined struct for user
@@ -2287,19 +2612,19 @@ func (r *GetSnapOverviewRequest) FromJsonString(s string) error {
// Predefined struct for user
type GetSnapOverviewResponseParams struct {
// 用户快照总大小
- TotalSize *float64 `json:"TotalSize,omitempty" name:"TotalSize"`
+ TotalSize *float64 `json:"TotalSize,omitnil,omitempty" name:"TotalSize"`
// 用户快照总大小(用于计费)
- RealTradeSize *float64 `json:"RealTradeSize,omitempty" name:"RealTradeSize"`
+ RealTradeSize *float64 `json:"RealTradeSize,omitnil,omitempty" name:"RealTradeSize"`
// 快照免费额度
- FreeQuota *float64 `json:"FreeQuota,omitempty" name:"FreeQuota"`
+ FreeQuota *float64 `json:"FreeQuota,omitnil,omitempty" name:"FreeQuota"`
// 快照总个数
- TotalNums *int64 `json:"TotalNums,omitempty" name:"TotalNums"`
+ TotalNums *int64 `json:"TotalNums,omitnil,omitempty" name:"TotalNums"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type GetSnapOverviewResponse struct {
@@ -2320,23 +2645,23 @@ func (r *GetSnapOverviewResponse) FromJsonString(s string) error {
type Image struct {
// 镜像名称。
- ImageName *string `json:"ImageName,omitempty" name:"ImageName"`
+ ImageName *string `json:"ImageName,omitnil,omitempty" name:"ImageName"`
// 镜像实例ID。
- ImageId *string `json:"ImageId,omitempty" name:"ImageId"`
+ ImageId *string `json:"ImageId,omitnil,omitempty" name:"ImageId"`
}
// Predefined struct for user
type InitializeDisksRequestParams struct {
- // 待重新初始化的云硬盘ID列表, 单次初始化限制20块以内
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ // 待重新初始化的云硬盘ID列表,可以通过[DescribeDisks](/document/product/362/16315)接口查询, 单次初始化限制20块以内
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
}
type InitializeDisksRequest struct {
*tchttp.BaseRequest
- // 待重新初始化的云硬盘ID列表, 单次初始化限制20块以内
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ // 待重新初始化的云硬盘ID列表,可以通过[DescribeDisks](/document/product/362/16315)接口查询, 单次初始化限制20块以内
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
}
func (r *InitializeDisksRequest) ToJsonString() string {
@@ -2360,8 +2685,8 @@ func (r *InitializeDisksRequest) FromJsonString(s string) error {
// Predefined struct for user
type InitializeDisksResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type InitializeDisksResponse struct {
@@ -2383,20 +2708,20 @@ func (r *InitializeDisksResponse) FromJsonString(s string) error {
// Predefined struct for user
type InquirePriceModifyDiskBackupQuotaRequestParams struct {
// 云硬盘ID, 通过DescribeDisks(查询云硬盘信息)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 修改后的云硬盘备份点配额,即云盘可以拥有的备份点数量,单位为个。
- DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitempty" name:"DiskBackupQuota"`
+ DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitnil,omitempty" name:"DiskBackupQuota"`
}
type InquirePriceModifyDiskBackupQuotaRequest struct {
*tchttp.BaseRequest
// 云硬盘ID, 通过DescribeDisks(查询云硬盘信息)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 修改后的云硬盘备份点配额,即云盘可以拥有的备份点数量,单位为个。
- DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitempty" name:"DiskBackupQuota"`
+ DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitnil,omitempty" name:"DiskBackupQuota"`
}
func (r *InquirePriceModifyDiskBackupQuotaRequest) ToJsonString() string {
@@ -2422,10 +2747,10 @@ func (r *InquirePriceModifyDiskBackupQuotaRequest) FromJsonString(s string) erro
// Predefined struct for user
type InquirePriceModifyDiskBackupQuotaResponseParams struct {
// 描述了修改云硬盘备份点之后的云盘价格。
- DiskPrice *Price `json:"DiskPrice,omitempty" name:"DiskPrice"`
+ DiskPrice *Price `json:"DiskPrice,omitnil,omitempty" name:"DiskPrice"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type InquirePriceModifyDiskBackupQuotaResponse struct {
@@ -2446,21 +2771,21 @@ func (r *InquirePriceModifyDiskBackupQuotaResponse) FromJsonString(s string) err
// Predefined struct for user
type InquirePriceModifyDiskExtraPerformanceRequestParams struct {
- // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
-
// 额外购买的云硬盘性能值,单位MB/s。
- ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitnil,omitempty" name:"ThroughputPerformance"`
+
+ // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
type InquirePriceModifyDiskExtraPerformanceRequest struct {
*tchttp.BaseRequest
- // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
-
// 额外购买的云硬盘性能值,单位MB/s。
- ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitnil,omitempty" name:"ThroughputPerformance"`
+
+ // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
func (r *InquirePriceModifyDiskExtraPerformanceRequest) ToJsonString() string {
@@ -2475,8 +2800,8 @@ func (r *InquirePriceModifyDiskExtraPerformanceRequest) FromJsonString(s string)
if err := json.Unmarshal([]byte(s), &f); err != nil {
return err
}
- delete(f, "DiskId")
delete(f, "ThroughputPerformance")
+ delete(f, "DiskId")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquirePriceModifyDiskExtraPerformanceRequest has unknown keys!", "")
}
@@ -2486,10 +2811,10 @@ func (r *InquirePriceModifyDiskExtraPerformanceRequest) FromJsonString(s string)
// Predefined struct for user
type InquirePriceModifyDiskExtraPerformanceResponseParams struct {
// 描述了调整云盘额外性能时对应的价格。
- DiskPrice *Price `json:"DiskPrice,omitempty" name:"DiskPrice"`
+ DiskPrice *Price `json:"DiskPrice,omitnil,omitempty" name:"DiskPrice"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type InquirePriceModifyDiskExtraPerformanceResponse struct {
@@ -2511,56 +2836,56 @@ func (r *InquirePriceModifyDiskExtraPerformanceResponse) FromJsonString(s string
// Predefined struct for user
type InquiryPriceCreateDisksRequestParams struct {
// 云硬盘计费类型。
PREPAID:预付费,即包年包月
POSTPAID_BY_HOUR:按小时后付费
- DiskChargeType *string `json:"DiskChargeType,omitempty" name:"DiskChargeType"`
+ DiskChargeType *string `json:"DiskChargeType,omitnil,omitempty" name:"DiskChargeType"`
// 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘
CLOUD_TSSD:表示极速型SSD云硬盘。
- DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
+ DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"`
// 云硬盘大小,单位为GB。云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
// 云盘所属项目ID。
- ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`
// 购买云盘的数量。不填则默认为1。
- DiskCount *uint64 `json:"DiskCount,omitempty" name:"DiskCount"`
+ DiskCount *uint64 `json:"DiskCount,omitnil,omitempty" name:"DiskCount"`
// 额外购买的云硬盘性能值,单位MB/s。
目前仅支持增强型SSD云硬盘(CLOUD_HSSD)和极速型SSD云硬盘(CLOUD_TSSD)
- ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitnil,omitempty" name:"ThroughputPerformance"`
// 预付费模式,即包年包月相关参数设置。通过该参数指定包年包月云盘的购买时长、是否设置自动续费等属性。
创建预付费云盘该参数必传,创建按小时后付费云盘无需传该参数。
- DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitempty" name:"DiskChargePrepaid"`
+ DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitnil,omitempty" name:"DiskChargePrepaid"`
// 指定云硬盘备份点配额。
- DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitempty" name:"DiskBackupQuota"`
+ DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitnil,omitempty" name:"DiskBackupQuota"`
}
type InquiryPriceCreateDisksRequest struct {
*tchttp.BaseRequest
// 云硬盘计费类型。
PREPAID:预付费,即包年包月
POSTPAID_BY_HOUR:按小时后付费
- DiskChargeType *string `json:"DiskChargeType,omitempty" name:"DiskChargeType"`
+ DiskChargeType *string `json:"DiskChargeType,omitnil,omitempty" name:"DiskChargeType"`
// 硬盘介质类型。取值范围:
CLOUD_BASIC:表示普通云硬盘
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:表示SSD云硬盘
CLOUD_HSSD:表示增强型SSD云硬盘
CLOUD_TSSD:表示极速型SSD云硬盘。
- DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
+ DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"`
// 云硬盘大小,单位为GB。云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
// 云盘所属项目ID。
- ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`
// 购买云盘的数量。不填则默认为1。
- DiskCount *uint64 `json:"DiskCount,omitempty" name:"DiskCount"`
+ DiskCount *uint64 `json:"DiskCount,omitnil,omitempty" name:"DiskCount"`
// 额外购买的云硬盘性能值,单位MB/s。
目前仅支持增强型SSD云硬盘(CLOUD_HSSD)和极速型SSD云硬盘(CLOUD_TSSD)
- ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitnil,omitempty" name:"ThroughputPerformance"`
// 预付费模式,即包年包月相关参数设置。通过该参数指定包年包月云盘的购买时长、是否设置自动续费等属性。
创建预付费云盘该参数必传,创建按小时后付费云盘无需传该参数。
- DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitempty" name:"DiskChargePrepaid"`
+ DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitnil,omitempty" name:"DiskChargePrepaid"`
// 指定云硬盘备份点配额。
- DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitempty" name:"DiskBackupQuota"`
+ DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitnil,omitempty" name:"DiskBackupQuota"`
}
func (r *InquiryPriceCreateDisksRequest) ToJsonString() string {
@@ -2592,10 +2917,10 @@ func (r *InquiryPriceCreateDisksRequest) FromJsonString(s string) error {
// Predefined struct for user
type InquiryPriceCreateDisksResponseParams struct {
// 描述了新购云盘的价格。
- DiskPrice *Price `json:"DiskPrice,omitempty" name:"DiskPrice"`
+ DiskPrice *Price `json:"DiskPrice,omitnil,omitempty" name:"DiskPrice"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type InquiryPriceCreateDisksResponse struct {
@@ -2617,32 +2942,32 @@ func (r *InquiryPriceCreateDisksResponse) FromJsonString(s string) error {
// Predefined struct for user
type InquiryPriceRenewDisksRequestParams struct {
// 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月云盘的购买时长。如果在该参数中指定CurInstanceDeadline,则会按对齐到子机到期时间来续费。如果是批量续费询价,该参数与Disks参数一一对应,元素数量需保持一致。
- DiskChargePrepaids []*DiskChargePrepaid `json:"DiskChargePrepaids,omitempty" name:"DiskChargePrepaids"`
+ DiskChargePrepaids []*DiskChargePrepaid `json:"DiskChargePrepaids,omitnil,omitempty" name:"DiskChargePrepaids"`
// 指定云盘新的到期时间,形式如:2017-12-17 00:00:00。参数`NewDeadline`和`DiskChargePrepaids`是两种指定询价时长的方式,两者必传一个。
- NewDeadline *string `json:"NewDeadline,omitempty" name:"NewDeadline"`
+ NewDeadline *string `json:"NewDeadline,omitnil,omitempty" name:"NewDeadline"`
// 云盘所属项目ID。 如传入则仅用于鉴权。
- ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`
}
type InquiryPriceRenewDisksRequest struct {
*tchttp.BaseRequest
// 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月云盘的购买时长。如果在该参数中指定CurInstanceDeadline,则会按对齐到子机到期时间来续费。如果是批量续费询价,该参数与Disks参数一一对应,元素数量需保持一致。
- DiskChargePrepaids []*DiskChargePrepaid `json:"DiskChargePrepaids,omitempty" name:"DiskChargePrepaids"`
+ DiskChargePrepaids []*DiskChargePrepaid `json:"DiskChargePrepaids,omitnil,omitempty" name:"DiskChargePrepaids"`
// 指定云盘新的到期时间,形式如:2017-12-17 00:00:00。参数`NewDeadline`和`DiskChargePrepaids`是两种指定询价时长的方式,两者必传一个。
- NewDeadline *string `json:"NewDeadline,omitempty" name:"NewDeadline"`
+ NewDeadline *string `json:"NewDeadline,omitnil,omitempty" name:"NewDeadline"`
// 云盘所属项目ID。 如传入则仅用于鉴权。
- ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`
}
func (r *InquiryPriceRenewDisksRequest) ToJsonString() string {
@@ -2670,10 +2995,10 @@ func (r *InquiryPriceRenewDisksRequest) FromJsonString(s string) error {
// Predefined struct for user
type InquiryPriceRenewDisksResponseParams struct {
// 描述了续费云盘的价格。
- DiskPrice *PrepayPrice `json:"DiskPrice,omitempty" name:"DiskPrice"`
+ DiskPrice *PrepayPrice `json:"DiskPrice,omitnil,omitempty" name:"DiskPrice"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type InquiryPriceRenewDisksResponse struct {
@@ -2694,27 +3019,27 @@ func (r *InquiryPriceRenewDisksResponse) FromJsonString(s string) error {
// Predefined struct for user
type InquiryPriceResizeDiskRequestParams struct {
- // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
-
// 云硬盘扩容后的大小,单位为GB,不得小于当前云硬盘大小。云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
+
+ // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 云盘所属项目ID。 如传入则仅用于鉴权。
- ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`
}
type InquiryPriceResizeDiskRequest struct {
*tchttp.BaseRequest
- // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
-
// 云硬盘扩容后的大小,单位为GB,不得小于当前云硬盘大小。云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
+
+ // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 云盘所属项目ID。 如传入则仅用于鉴权。
- ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`
}
func (r *InquiryPriceResizeDiskRequest) ToJsonString() string {
@@ -2729,8 +3054,8 @@ func (r *InquiryPriceResizeDiskRequest) FromJsonString(s string) error {
if err := json.Unmarshal([]byte(s), &f); err != nil {
return err
}
- delete(f, "DiskId")
delete(f, "DiskSize")
+ delete(f, "DiskId")
delete(f, "ProjectId")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquiryPriceResizeDiskRequest has unknown keys!", "")
@@ -2741,10 +3066,10 @@ func (r *InquiryPriceResizeDiskRequest) FromJsonString(s string) error {
// Predefined struct for user
type InquiryPriceResizeDiskResponseParams struct {
// 描述了扩容云盘的价格。
- DiskPrice *PrepayPrice `json:"DiskPrice,omitempty" name:"DiskPrice"`
+ DiskPrice *PrepayPrice `json:"DiskPrice,omitnil,omitempty" name:"DiskPrice"`
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type InquiryPriceResizeDiskResponse struct {
@@ -2765,45 +3090,45 @@ func (r *InquiryPriceResizeDiskResponse) FromJsonString(s string) error {
// Predefined struct for user
type ModifyAutoSnapshotPolicyAttributeRequestParams struct {
- // 定期快照策略ID。
- AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitempty" name:"AutoSnapshotPolicyId"`
+ // 定期快照策略ID。可以通过[查询定期快照策略](https://cloud.tencent.com/document/product/362/33556)API查询。
+ AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
// 是否激活定期快照策略,FALSE表示未激活,TRUE表示激活,默认为TRUE。
- IsActivated *bool `json:"IsActivated,omitempty" name:"IsActivated"`
+ IsActivated *bool `json:"IsActivated,omitnil,omitempty" name:"IsActivated"`
// 通过该定期快照策略创建的快照是否永久保留。FALSE表示非永久保留,TRUE表示永久保留,默认为FALSE。
- IsPermanent *bool `json:"IsPermanent,omitempty" name:"IsPermanent"`
+ IsPermanent *bool `json:"IsPermanent,omitnil,omitempty" name:"IsPermanent"`
// 要创建的定期快照策略名。不传则默认为“未命名”。最大长度不能超60个字节。
- AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitempty" name:"AutoSnapshotPolicyName"`
+ AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitnil,omitempty" name:"AutoSnapshotPolicyName"`
// 定期快照的执行策略。
- Policy []*Policy `json:"Policy,omitempty" name:"Policy"`
+ Policy []*Policy `json:"Policy,omitnil,omitempty" name:"Policy"`
// 通过该定期快照策略创建的快照保留天数。如果指定本参数,则IsPermanent入参不可指定为TRUE,否则会产生冲突。
- RetentionDays *uint64 `json:"RetentionDays,omitempty" name:"RetentionDays"`
+ RetentionDays *uint64 `json:"RetentionDays,omitnil,omitempty" name:"RetentionDays"`
}
type ModifyAutoSnapshotPolicyAttributeRequest struct {
*tchttp.BaseRequest
- // 定期快照策略ID。
- AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitempty" name:"AutoSnapshotPolicyId"`
+ // 定期快照策略ID。可以通过[查询定期快照策略](https://cloud.tencent.com/document/product/362/33556)API查询。
+ AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
// 是否激活定期快照策略,FALSE表示未激活,TRUE表示激活,默认为TRUE。
- IsActivated *bool `json:"IsActivated,omitempty" name:"IsActivated"`
+ IsActivated *bool `json:"IsActivated,omitnil,omitempty" name:"IsActivated"`
// 通过该定期快照策略创建的快照是否永久保留。FALSE表示非永久保留,TRUE表示永久保留,默认为FALSE。
- IsPermanent *bool `json:"IsPermanent,omitempty" name:"IsPermanent"`
+ IsPermanent *bool `json:"IsPermanent,omitnil,omitempty" name:"IsPermanent"`
// 要创建的定期快照策略名。不传则默认为“未命名”。最大长度不能超60个字节。
- AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitempty" name:"AutoSnapshotPolicyName"`
+ AutoSnapshotPolicyName *string `json:"AutoSnapshotPolicyName,omitnil,omitempty" name:"AutoSnapshotPolicyName"`
// 定期快照的执行策略。
- Policy []*Policy `json:"Policy,omitempty" name:"Policy"`
+ Policy []*Policy `json:"Policy,omitnil,omitempty" name:"Policy"`
// 通过该定期快照策略创建的快照保留天数。如果指定本参数,则IsPermanent入参不可指定为TRUE,否则会产生冲突。
- RetentionDays *uint64 `json:"RetentionDays,omitempty" name:"RetentionDays"`
+ RetentionDays *uint64 `json:"RetentionDays,omitnil,omitempty" name:"RetentionDays"`
}
func (r *ModifyAutoSnapshotPolicyAttributeRequest) ToJsonString() string {
@@ -2832,8 +3157,8 @@ func (r *ModifyAutoSnapshotPolicyAttributeRequest) FromJsonString(s string) erro
// Predefined struct for user
type ModifyAutoSnapshotPolicyAttributeResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ModifyAutoSnapshotPolicyAttributeResponse struct {
@@ -2854,45 +3179,57 @@ func (r *ModifyAutoSnapshotPolicyAttributeResponse) FromJsonString(s string) err
// Predefined struct for user
type ModifyDiskAttributesRequestParams struct {
- // 一个或多个待操作的云硬盘ID。如果传入多个云盘ID,仅支持所有云盘修改为同一属性。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ // 一个或多个待操作的云硬盘ID,可以通过[DescribeDisks](/document/product/362/16315)接口查询。如果传入多个云盘ID,仅支持将所有云盘修改为同一属性。
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 新的云硬盘名称。
- DiskName *string `json:"DiskName,omitempty" name:"DiskName"`
+ DiskName *string `json:"DiskName,omitnil,omitempty" name:"DiskName"`
// 是否为弹性云盘,FALSE表示非弹性云盘,TRUE表示弹性云盘。仅支持非弹性云盘修改为弹性云盘。
- Portable *bool `json:"Portable,omitempty" name:"Portable"`
+ Portable *bool `json:"Portable,omitnil,omitempty" name:"Portable"`
// 新的云硬盘项目ID,只支持修改弹性云盘的项目ID。通过[DescribeProject](/document/api/378/4400)接口查询可用项目及其ID。
- ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`
// 成功挂载到云主机后该云硬盘是否随云主机销毁,TRUE表示随云主机销毁,FALSE表示不随云主机销毁。仅支持按量计费云硬盘数据盘。
- DeleteWithInstance *bool `json:"DeleteWithInstance,omitempty" name:"DeleteWithInstance"`
+ DeleteWithInstance *bool `json:"DeleteWithInstance,omitnil,omitempty" name:"DeleteWithInstance"`
+
+ // 变更云盘类型时,可传入该参数,表示变更的目标类型,取值范围:
CLOUD_PREMIUM:表示高性能云硬盘CLOUD_SSD:表示SSD云硬盘。当前不支持批量变更类型,即传入DiskType时,DiskIds仅支持传入一块云盘;
变更云盘类型时不支持同时变更其他属性。
+ // 具体说明请参考[调整云硬盘类型](https://cloud.tencent.com/document/product/362/32540)
+ DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"`
- // 变更云盘类型时,可传入该参数,表示变更的目标类型,取值范围:
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:表示SSD云硬盘。
当前不支持批量变更类型,即传入DiskType时,DiskIds仅支持传入一块云盘;
变更云盘类型时不支持同时变更其他属性。
- DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
+ // 开启/关闭云盘性能突发功能,取值范围:
+ // CREATE:开启
+ // CANCEL:关闭
+ BurstPerformanceOperation *string `json:"BurstPerformanceOperation,omitnil,omitempty" name:"BurstPerformanceOperation"`
}
type ModifyDiskAttributesRequest struct {
*tchttp.BaseRequest
- // 一个或多个待操作的云硬盘ID。如果传入多个云盘ID,仅支持所有云盘修改为同一属性。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ // 一个或多个待操作的云硬盘ID,可以通过[DescribeDisks](/document/product/362/16315)接口查询。如果传入多个云盘ID,仅支持将所有云盘修改为同一属性。
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 新的云硬盘名称。
- DiskName *string `json:"DiskName,omitempty" name:"DiskName"`
+ DiskName *string `json:"DiskName,omitnil,omitempty" name:"DiskName"`
// 是否为弹性云盘,FALSE表示非弹性云盘,TRUE表示弹性云盘。仅支持非弹性云盘修改为弹性云盘。
- Portable *bool `json:"Portable,omitempty" name:"Portable"`
+ Portable *bool `json:"Portable,omitnil,omitempty" name:"Portable"`
// 新的云硬盘项目ID,只支持修改弹性云盘的项目ID。通过[DescribeProject](/document/api/378/4400)接口查询可用项目及其ID。
- ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`
// 成功挂载到云主机后该云硬盘是否随云主机销毁,TRUE表示随云主机销毁,FALSE表示不随云主机销毁。仅支持按量计费云硬盘数据盘。
- DeleteWithInstance *bool `json:"DeleteWithInstance,omitempty" name:"DeleteWithInstance"`
+ DeleteWithInstance *bool `json:"DeleteWithInstance,omitnil,omitempty" name:"DeleteWithInstance"`
- // 变更云盘类型时,可传入该参数,表示变更的目标类型,取值范围:
CLOUD_PREMIUM:表示高性能云硬盘
CLOUD_SSD:表示SSD云硬盘。
当前不支持批量变更类型,即传入DiskType时,DiskIds仅支持传入一块云盘;
变更云盘类型时不支持同时变更其他属性。
- DiskType *string `json:"DiskType,omitempty" name:"DiskType"`
+ // 变更云盘类型时,可传入该参数,表示变更的目标类型,取值范围:
CLOUD_PREMIUM:表示高性能云硬盘CLOUD_SSD:表示SSD云硬盘。当前不支持批量变更类型,即传入DiskType时,DiskIds仅支持传入一块云盘;
变更云盘类型时不支持同时变更其他属性。
+ // 具体说明请参考[调整云硬盘类型](https://cloud.tencent.com/document/product/362/32540)
+ DiskType *string `json:"DiskType,omitnil,omitempty" name:"DiskType"`
+
+ // 开启/关闭云盘性能突发功能,取值范围:
+ // CREATE:开启
+ // CANCEL:关闭
+ BurstPerformanceOperation *string `json:"BurstPerformanceOperation,omitnil,omitempty" name:"BurstPerformanceOperation"`
}
func (r *ModifyDiskAttributesRequest) ToJsonString() string {
@@ -2913,6 +3250,7 @@ func (r *ModifyDiskAttributesRequest) FromJsonString(s string) error {
delete(f, "ProjectId")
delete(f, "DeleteWithInstance")
delete(f, "DiskType")
+ delete(f, "BurstPerformanceOperation")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDiskAttributesRequest has unknown keys!", "")
}
@@ -2921,8 +3259,8 @@ func (r *ModifyDiskAttributesRequest) FromJsonString(s string) error {
// Predefined struct for user
type ModifyDiskAttributesResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ModifyDiskAttributesResponse struct {
@@ -2944,20 +3282,20 @@ func (r *ModifyDiskAttributesResponse) FromJsonString(s string) error {
// Predefined struct for user
type ModifyDiskBackupQuotaRequestParams struct {
// 云硬盘ID。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 调整之后的云硬盘备份点配额。
- DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitempty" name:"DiskBackupQuota"`
+ DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitnil,omitempty" name:"DiskBackupQuota"`
}
type ModifyDiskBackupQuotaRequest struct {
*tchttp.BaseRequest
// 云硬盘ID。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 调整之后的云硬盘备份点配额。
- DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitempty" name:"DiskBackupQuota"`
+ DiskBackupQuota *uint64 `json:"DiskBackupQuota,omitnil,omitempty" name:"DiskBackupQuota"`
}
func (r *ModifyDiskBackupQuotaRequest) ToJsonString() string {
@@ -2982,8 +3320,8 @@ func (r *ModifyDiskBackupQuotaRequest) FromJsonString(s string) error {
// Predefined struct for user
type ModifyDiskBackupQuotaResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ModifyDiskBackupQuotaResponse struct {
@@ -3004,21 +3342,21 @@ func (r *ModifyDiskBackupQuotaResponse) FromJsonString(s string) error {
// Predefined struct for user
type ModifyDiskExtraPerformanceRequestParams struct {
- // 需要创建快照的云硬盘ID,可通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
-
// 额外购买的云硬盘性能值,单位MB/s。
- ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitnil,omitempty" name:"ThroughputPerformance"`
+
+ // 需要创建快照的云硬盘ID,可通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
type ModifyDiskExtraPerformanceRequest struct {
*tchttp.BaseRequest
- // 需要创建快照的云硬盘ID,可通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
-
// 额外购买的云硬盘性能值,单位MB/s。
- ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitempty" name:"ThroughputPerformance"`
+ ThroughputPerformance *uint64 `json:"ThroughputPerformance,omitnil,omitempty" name:"ThroughputPerformance"`
+
+ // 需要创建快照的云硬盘ID,可通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
func (r *ModifyDiskExtraPerformanceRequest) ToJsonString() string {
@@ -3033,8 +3371,8 @@ func (r *ModifyDiskExtraPerformanceRequest) FromJsonString(s string) error {
if err := json.Unmarshal([]byte(s), &f); err != nil {
return err
}
- delete(f, "DiskId")
delete(f, "ThroughputPerformance")
+ delete(f, "DiskId")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDiskExtraPerformanceRequest has unknown keys!", "")
}
@@ -3043,8 +3381,8 @@ func (r *ModifyDiskExtraPerformanceRequest) FromJsonString(s string) error {
// Predefined struct for user
type ModifyDiskExtraPerformanceResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ModifyDiskExtraPerformanceResponse struct {
@@ -3065,27 +3403,27 @@ func (r *ModifyDiskExtraPerformanceResponse) FromJsonString(s string) error {
// Predefined struct for user
type ModifyDisksChargeTypeRequestParams struct {
- // 一个或多个待操作的云硬盘ID。每次请求批量云盘上限为100。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ // 一个或多个待操作的云硬盘ID。每次请求批量云硬盘上限为100。
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 设置为预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。
- DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitempty" name:"DiskChargePrepaid"`
+ DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitnil,omitempty" name:"DiskChargePrepaid"`
// 设置为后付费模式
- DiskChargePostpaid *bool `json:"DiskChargePostpaid,omitempty" name:"DiskChargePostpaid"`
+ DiskChargePostpaid *bool `json:"DiskChargePostpaid,omitnil,omitempty" name:"DiskChargePostpaid"`
}
type ModifyDisksChargeTypeRequest struct {
*tchttp.BaseRequest
- // 一个或多个待操作的云硬盘ID。每次请求批量云盘上限为100。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ // 一个或多个待操作的云硬盘ID。每次请求批量云硬盘上限为100。
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 设置为预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。
- DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitempty" name:"DiskChargePrepaid"`
+ DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitnil,omitempty" name:"DiskChargePrepaid"`
// 设置为后付费模式
- DiskChargePostpaid *bool `json:"DiskChargePostpaid,omitempty" name:"DiskChargePostpaid"`
+ DiskChargePostpaid *bool `json:"DiskChargePostpaid,omitnil,omitempty" name:"DiskChargePostpaid"`
}
func (r *ModifyDisksChargeTypeRequest) ToJsonString() string {
@@ -3111,8 +3449,8 @@ func (r *ModifyDisksChargeTypeRequest) FromJsonString(s string) error {
// Predefined struct for user
type ModifyDisksChargeTypeResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ModifyDisksChargeTypeResponse struct {
@@ -3134,20 +3472,26 @@ func (r *ModifyDisksChargeTypeResponse) FromJsonString(s string) error {
// Predefined struct for user
type ModifyDisksRenewFlagRequestParams struct {
// 一个或多个待操作的云硬盘ID。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
+
+ // 云硬盘的自动续费标识。取值范围:- NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
- NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
- DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费
+ RenewFlag *string `json:"RenewFlag,omitnil,omitempty" name:"RenewFlag"`
- // 云盘的续费标识。取值范围:
NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费。
- RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"`
+ // 该参数支持设置云硬盘的自动续费周期,单位为月。
+ AutoRenewPeriod *uint64 `json:"AutoRenewPeriod,omitnil,omitempty" name:"AutoRenewPeriod"`
}
type ModifyDisksRenewFlagRequest struct {
*tchttp.BaseRequest
// 一个或多个待操作的云硬盘ID。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
+
+ // 云硬盘的自动续费标识。取值范围:- NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
- NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
- DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费
+ RenewFlag *string `json:"RenewFlag,omitnil,omitempty" name:"RenewFlag"`
- // 云盘的续费标识。取值范围:
NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费。
- RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"`
+ // 该参数支持设置云硬盘的自动续费周期,单位为月。
+ AutoRenewPeriod *uint64 `json:"AutoRenewPeriod,omitnil,omitempty" name:"AutoRenewPeriod"`
}
func (r *ModifyDisksRenewFlagRequest) ToJsonString() string {
@@ -3164,6 +3508,7 @@ func (r *ModifyDisksRenewFlagRequest) FromJsonString(s string) error {
}
delete(f, "DiskIds")
delete(f, "RenewFlag")
+ delete(f, "AutoRenewPeriod")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifyDisksRenewFlagRequest has unknown keys!", "")
}
@@ -3172,8 +3517,8 @@ func (r *ModifyDisksRenewFlagRequest) FromJsonString(s string) error {
// Predefined struct for user
type ModifyDisksRenewFlagResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ModifyDisksRenewFlagResponse struct {
@@ -3195,32 +3540,32 @@ func (r *ModifyDisksRenewFlagResponse) FromJsonString(s string) error {
// Predefined struct for user
type ModifySnapshotAttributeRequestParams struct {
// 快照ID, 可通过[DescribeSnapshots](/document/product/362/15647)查询。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
-
- // 新的快照名称。最长为60个字符。
- SnapshotName *string `json:"SnapshotName,omitempty" name:"SnapshotName"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 快照的保留方式,FALSE表示非永久保留,TRUE表示永久保留。
- IsPermanent *bool `json:"IsPermanent,omitempty" name:"IsPermanent"`
+ IsPermanent *bool `json:"IsPermanent,omitnil,omitempty" name:"IsPermanent"`
+
+ // 新的快照名称。最长为60个字符。
+ SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`
// 快照的到期时间;设置好快照将会被同时设置为非永久保留方式;超过到期时间后快照将会被自动删除。
- Deadline *string `json:"Deadline,omitempty" name:"Deadline"`
+ Deadline *string `json:"Deadline,omitnil,omitempty" name:"Deadline"`
}
type ModifySnapshotAttributeRequest struct {
*tchttp.BaseRequest
// 快照ID, 可通过[DescribeSnapshots](/document/product/362/15647)查询。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
-
- // 新的快照名称。最长为60个字符。
- SnapshotName *string `json:"SnapshotName,omitempty" name:"SnapshotName"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 快照的保留方式,FALSE表示非永久保留,TRUE表示永久保留。
- IsPermanent *bool `json:"IsPermanent,omitempty" name:"IsPermanent"`
+ IsPermanent *bool `json:"IsPermanent,omitnil,omitempty" name:"IsPermanent"`
+
+ // 新的快照名称。最长为60个字符。
+ SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`
// 快照的到期时间;设置好快照将会被同时设置为非永久保留方式;超过到期时间后快照将会被自动删除。
- Deadline *string `json:"Deadline,omitempty" name:"Deadline"`
+ Deadline *string `json:"Deadline,omitnil,omitempty" name:"Deadline"`
}
func (r *ModifySnapshotAttributeRequest) ToJsonString() string {
@@ -3236,8 +3581,8 @@ func (r *ModifySnapshotAttributeRequest) FromJsonString(s string) error {
return err
}
delete(f, "SnapshotId")
- delete(f, "SnapshotName")
delete(f, "IsPermanent")
+ delete(f, "SnapshotName")
delete(f, "Deadline")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySnapshotAttributeRequest has unknown keys!", "")
@@ -3247,8 +3592,8 @@ func (r *ModifySnapshotAttributeRequest) FromJsonString(s string) error {
// Predefined struct for user
type ModifySnapshotAttributeResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ModifySnapshotAttributeResponse struct {
@@ -3269,27 +3614,27 @@ func (r *ModifySnapshotAttributeResponse) FromJsonString(s string) error {
// Predefined struct for user
type ModifySnapshotsSharePermissionRequestParams struct {
- // 接收分享快照的账号Id列表,array型参数的格式可以参考[API简介](https://cloud.tencent.com/document/api/213/568)。帐号ID不同于QQ号,查询用户帐号ID请查看[帐号信息](https://console.cloud.tencent.com/developer)中的帐号ID栏。
- AccountIds []*string `json:"AccountIds,omitempty" name:"AccountIds"`
+ // 快照ID, 可通过[DescribeSnapshots](https://cloud.tencent.com/document/api/362/15647)查询获取。
+ SnapshotIds []*string `json:"SnapshotIds,omitnil,omitempty" name:"SnapshotIds"`
- // 操作,包括 SHARE,CANCEL。其中SHARE代表分享操作,CANCEL代表取消分享操作。
- Permission *string `json:"Permission,omitempty" name:"Permission"`
+ // 接收分享快照的账号Id列表,array型参数的格式可以参考[API简介](https://cloud.tencent.com/document/api/213/568)。账号ID不同于QQ号,查询用户账号ID请查看[账号信息](https://console.cloud.tencent.com/developer)中的账号ID栏。
+ AccountIds []*string `json:"AccountIds,omitnil,omitempty" name:"AccountIds"`
- // 快照ID, 可通过[DescribeSnapshots](https://cloud.tencent.com/document/api/362/15647)查询获取。
- SnapshotIds []*string `json:"SnapshotIds,omitempty" name:"SnapshotIds"`
+ // 操作,包括 SHARE,CANCEL。其中SHARE代表分享操作,CANCEL代表取消分享操作。
+ Permission *string `json:"Permission,omitnil,omitempty" name:"Permission"`
}
type ModifySnapshotsSharePermissionRequest struct {
*tchttp.BaseRequest
- // 接收分享快照的账号Id列表,array型参数的格式可以参考[API简介](https://cloud.tencent.com/document/api/213/568)。帐号ID不同于QQ号,查询用户帐号ID请查看[帐号信息](https://console.cloud.tencent.com/developer)中的帐号ID栏。
- AccountIds []*string `json:"AccountIds,omitempty" name:"AccountIds"`
+ // 快照ID, 可通过[DescribeSnapshots](https://cloud.tencent.com/document/api/362/15647)查询获取。
+ SnapshotIds []*string `json:"SnapshotIds,omitnil,omitempty" name:"SnapshotIds"`
- // 操作,包括 SHARE,CANCEL。其中SHARE代表分享操作,CANCEL代表取消分享操作。
- Permission *string `json:"Permission,omitempty" name:"Permission"`
+ // 接收分享快照的账号Id列表,array型参数的格式可以参考[API简介](https://cloud.tencent.com/document/api/213/568)。账号ID不同于QQ号,查询用户账号ID请查看[账号信息](https://console.cloud.tencent.com/developer)中的账号ID栏。
+ AccountIds []*string `json:"AccountIds,omitnil,omitempty" name:"AccountIds"`
- // 快照ID, 可通过[DescribeSnapshots](https://cloud.tencent.com/document/api/362/15647)查询获取。
- SnapshotIds []*string `json:"SnapshotIds,omitempty" name:"SnapshotIds"`
+ // 操作,包括 SHARE,CANCEL。其中SHARE代表分享操作,CANCEL代表取消分享操作。
+ Permission *string `json:"Permission,omitnil,omitempty" name:"Permission"`
}
func (r *ModifySnapshotsSharePermissionRequest) ToJsonString() string {
@@ -3304,9 +3649,9 @@ func (r *ModifySnapshotsSharePermissionRequest) FromJsonString(s string) error {
if err := json.Unmarshal([]byte(s), &f); err != nil {
return err
}
+ delete(f, "SnapshotIds")
delete(f, "AccountIds")
delete(f, "Permission")
- delete(f, "SnapshotIds")
if len(f) > 0 {
return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ModifySnapshotsSharePermissionRequest has unknown keys!", "")
}
@@ -3315,8 +3660,8 @@ func (r *ModifySnapshotsSharePermissionRequest) FromJsonString(s string) error {
// Predefined struct for user
type ModifySnapshotsSharePermissionResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ModifySnapshotsSharePermissionResponse struct {
@@ -3337,128 +3682,141 @@ func (r *ModifySnapshotsSharePermissionResponse) FromJsonString(s string) error
type Placement struct {
// 云硬盘所属的[可用区](/document/product/213/15753#ZoneInfo)。该参数也可以通过调用 [DescribeZones](/document/product/213/15707) 的返回值中的Zone字段来获取。
- Zone *string `json:"Zone,omitempty" name:"Zone"`
+ Zone *string `json:"Zone,omitnil,omitempty" name:"Zone"`
// 围笼Id。作为入参时,表示对指定的CageId的资源进行操作,可为空。 作为出参时,表示资源所属围笼ID,可为空。
// 注意:此字段可能返回 null,表示取不到有效值。
- CageId *string `json:"CageId,omitempty" name:"CageId"`
+ CageId *string `json:"CageId,omitnil,omitempty" name:"CageId"`
+
+ // 实例所属项目ID。不填为默认项目。
+ ProjectId *uint64 `json:"ProjectId,omitnil,omitempty" name:"ProjectId"`
- // 实例所属项目ID。该参数可以通过调用 [DescribeProject](/document/api/378/4400) 的返回值中的 projectId 字段来获取。不填为默认项目。
- ProjectId *uint64 `json:"ProjectId,omitempty" name:"ProjectId"`
+ // 实例所属项目名称。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ ProjectName *string `json:"ProjectName,omitnil,omitempty" name:"ProjectName"`
// 独享集群名字。作为入参时,忽略。作为出参时,表示云硬盘所属的独享集群名,可为空。
// 注意:此字段可能返回 null,表示取不到有效值。
- CdcName *string `json:"CdcName,omitempty" name:"CdcName"`
+ CdcName *string `json:"CdcName,omitnil,omitempty" name:"CdcName"`
// 实例所属的独享集群ID。作为入参时,表示对指定的CdcId独享集群的资源进行操作,可为空。 作为出参时,表示资源所属的独享集群的ID,可为空。
// 注意:此字段可能返回 null,表示取不到有效值。
- CdcId *string `json:"CdcId,omitempty" name:"CdcId"`
+ CdcId *string `json:"CdcId,omitnil,omitempty" name:"CdcId"`
// 独享集群id。
- DedicatedClusterId *string `json:"DedicatedClusterId,omitempty" name:"DedicatedClusterId"`
+ DedicatedClusterId *string `json:"DedicatedClusterId,omitnil,omitempty" name:"DedicatedClusterId"`
}
type Policy struct {
// 指定定期快照策略的触发时间。单位为小时,取值范围:[0, 23]。00:00 ~ 23:00 共 24 个时间点可选,1表示 01:00,依此类推。
- Hour []*uint64 `json:"Hour,omitempty" name:"Hour"`
+ Hour []*uint64 `json:"Hour,omitnil,omitempty" name:"Hour"`
// 指定每周从周一到周日需要触发定期快照的日期,取值范围:[0, 6]。0表示周日触发,1-6分别表示周一至周六。
- DayOfWeek []*uint64 `json:"DayOfWeek,omitempty" name:"DayOfWeek"`
+ DayOfWeek []*uint64 `json:"DayOfWeek,omitnil,omitempty" name:"DayOfWeek"`
+
+ // 指定每月从月初到月底需要触发定期快照的日期,取值范围:[1, 31],1-31分别表示每月的具体日期,比如5表示每月的5号。注:若设置29、30、31等部分月份不存在的日期,则对应不存在日期的月份会跳过不打定期快照。
+ DayOfMonth []*uint64 `json:"DayOfMonth,omitnil,omitempty" name:"DayOfMonth"`
+
+ // 指定创建定期快照的间隔天数,取值范围:[1, 365],例如设置为5,则间隔5天即触发定期快照创建。注:当选择按天备份时,理论上第一次备份的时间为备份策略创建当天。如果当天备份策略创建的时间已经晚于设置的备份时间,那么将会等到第二个备份周期再进行第一次备份。
+ IntervalDays *uint64 `json:"IntervalDays,omitnil,omitempty" name:"IntervalDays"`
}
type PrepayPrice struct {
// 预付费云盘或快照预支费用的折扣价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- DiscountPrice *float64 `json:"DiscountPrice,omitempty" name:"DiscountPrice"`
+ DiscountPrice *float64 `json:"DiscountPrice,omitnil,omitempty" name:"DiscountPrice"`
- // 后付费云盘的计价单元,取值范围:
HOUR:表示后付费云盘的计价单元是按小时计算。
+ // 后付费云盘的计价单元,取值范围:
HOUR:表示后付费云盘的计价单元是按小时计算。
// 注意:此字段可能返回 null,表示取不到有效值。
- ChargeUnit *string `json:"ChargeUnit,omitempty" name:"ChargeUnit"`
+ ChargeUnit *string `json:"ChargeUnit,omitnil,omitempty" name:"ChargeUnit"`
// 高精度后付费云盘原单价, 单位:元
// 注意:此字段可能返回 null,表示取不到有效值。
- UnitPriceHigh *string `json:"UnitPriceHigh,omitempty" name:"UnitPriceHigh"`
+ UnitPriceHigh *string `json:"UnitPriceHigh,omitnil,omitempty" name:"UnitPriceHigh"`
// 高精度预付费云盘或快照预支费用的原价,单位:元
// 注意:此字段可能返回 null,表示取不到有效值。
- OriginalPriceHigh *string `json:"OriginalPriceHigh,omitempty" name:"OriginalPriceHigh"`
+ OriginalPriceHigh *string `json:"OriginalPriceHigh,omitnil,omitempty" name:"OriginalPriceHigh"`
// 预付费云盘或快照预支费用的原价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- OriginalPrice *float64 `json:"OriginalPrice,omitempty" name:"OriginalPrice"`
+ OriginalPrice *float64 `json:"OriginalPrice,omitnil,omitempty" name:"OriginalPrice"`
// 后付费云盘折扣单价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- UnitPriceDiscount *float64 `json:"UnitPriceDiscount,omitempty" name:"UnitPriceDiscount"`
+ UnitPriceDiscount *float64 `json:"UnitPriceDiscount,omitnil,omitempty" name:"UnitPriceDiscount"`
// 高精度后付费云盘折扣单价, 单位:元
// 注意:此字段可能返回 null,表示取不到有效值。
- UnitPriceDiscountHigh *string `json:"UnitPriceDiscountHigh,omitempty" name:"UnitPriceDiscountHigh"`
+ UnitPriceDiscountHigh *string `json:"UnitPriceDiscountHigh,omitnil,omitempty" name:"UnitPriceDiscountHigh"`
// 高精度预付费云盘或快照预支费用的折扣价,单位:元
// 注意:此字段可能返回 null,表示取不到有效值。
- DiscountPriceHigh *string `json:"DiscountPriceHigh,omitempty" name:"DiscountPriceHigh"`
+ DiscountPriceHigh *string `json:"DiscountPriceHigh,omitnil,omitempty" name:"DiscountPriceHigh"`
// 后付费云盘原单价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- UnitPrice *float64 `json:"UnitPrice,omitempty" name:"UnitPrice"`
+ UnitPrice *float64 `json:"UnitPrice,omitnil,omitempty" name:"UnitPrice"`
+
+ // 计费项目明细列表。
+ DetailPrices []*DetailPrice `json:"DetailPrices,omitnil,omitempty" name:"DetailPrices"`
}
type Price struct {
// 后付费云盘折扣单价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- UnitPriceDiscount *float64 `json:"UnitPriceDiscount,omitempty" name:"UnitPriceDiscount"`
+ UnitPriceDiscount *float64 `json:"UnitPriceDiscount,omitnil,omitempty" name:"UnitPriceDiscount"`
// 预付费云盘预支费用的折扣价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- DiscountPrice *float64 `json:"DiscountPrice,omitempty" name:"DiscountPrice"`
+ DiscountPrice *float64 `json:"DiscountPrice,omitnil,omitempty" name:"DiscountPrice"`
// 后付费云盘原单价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- UnitPrice *float64 `json:"UnitPrice,omitempty" name:"UnitPrice"`
+ UnitPrice *float64 `json:"UnitPrice,omitnil,omitempty" name:"UnitPrice"`
// 高精度后付费云盘原单价, 单位:元
// 注意:此字段可能返回 null,表示取不到有效值。
- UnitPriceHigh *string `json:"UnitPriceHigh,omitempty" name:"UnitPriceHigh"`
+ UnitPriceHigh *string `json:"UnitPriceHigh,omitnil,omitempty" name:"UnitPriceHigh"`
// 高精度预付费云盘预支费用的原价, 单位:元 。
// 注意:此字段可能返回 null,表示取不到有效值。
- OriginalPriceHigh *string `json:"OriginalPriceHigh,omitempty" name:"OriginalPriceHigh"`
+ OriginalPriceHigh *string `json:"OriginalPriceHigh,omitnil,omitempty" name:"OriginalPriceHigh"`
// 预付费云盘预支费用的原价,单位:元。
// 注意:此字段可能返回 null,表示取不到有效值。
- OriginalPrice *float64 `json:"OriginalPrice,omitempty" name:"OriginalPrice"`
+ OriginalPrice *float64 `json:"OriginalPrice,omitnil,omitempty" name:"OriginalPrice"`
// 高精度预付费云盘预支费用的折扣价, 单位:元
// 注意:此字段可能返回 null,表示取不到有效值。
- DiscountPriceHigh *string `json:"DiscountPriceHigh,omitempty" name:"DiscountPriceHigh"`
+ DiscountPriceHigh *string `json:"DiscountPriceHigh,omitnil,omitempty" name:"DiscountPriceHigh"`
// 高精度后付费云盘折扣单价, 单位:元
// 注意:此字段可能返回 null,表示取不到有效值。
- UnitPriceDiscountHigh *string `json:"UnitPriceDiscountHigh,omitempty" name:"UnitPriceDiscountHigh"`
+ UnitPriceDiscountHigh *string `json:"UnitPriceDiscountHigh,omitnil,omitempty" name:"UnitPriceDiscountHigh"`
- // 后付费云盘的计价单元,取值范围:
HOUR:表示后付费云盘的计价单元是按小时计算。
+ // 后付费云盘的计价单元,取值范围:
HOUR:表示后付费云盘的计价单元是按小时计算。
// 注意:此字段可能返回 null,表示取不到有效值。
- ChargeUnit *string `json:"ChargeUnit,omitempty" name:"ChargeUnit"`
+ ChargeUnit *string `json:"ChargeUnit,omitnil,omitempty" name:"ChargeUnit"`
}
// Predefined struct for user
type RenewDiskRequestParams struct {
- // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月云盘的续费时长。
在云盘与挂载的实例一起续费的场景下,可以指定参数CurInstanceDeadline,此时云盘会按对齐到实例续费后的到期时间来续费。
- DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitempty" name:"DiskChargePrepaid"`
+ // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月云硬盘的续费时长。
在云硬盘与挂载的实例一起续费的场景下,可以指定参数CurInstanceDeadline,此时云硬盘会按对齐到实例续费后的到期时间来续费。
+ DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitnil,omitempty" name:"DiskChargePrepaid"`
// 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
type RenewDiskRequest struct {
*tchttp.BaseRequest
- // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月云盘的续费时长。
在云盘与挂载的实例一起续费的场景下,可以指定参数CurInstanceDeadline,此时云盘会按对齐到实例续费后的到期时间来续费。
- DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitempty" name:"DiskChargePrepaid"`
+ // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月云硬盘的续费时长。
在云硬盘与挂载的实例一起续费的场景下,可以指定参数CurInstanceDeadline,此时云硬盘会按对齐到实例续费后的到期时间来续费。
+ DiskChargePrepaid *DiskChargePrepaid `json:"DiskChargePrepaid,omitnil,omitempty" name:"DiskChargePrepaid"`
// 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
func (r *RenewDiskRequest) ToJsonString() string {
@@ -3483,8 +3841,8 @@ func (r *RenewDiskRequest) FromJsonString(s string) error {
// Predefined struct for user
type RenewDiskResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type RenewDiskResponse struct {
@@ -3506,20 +3864,20 @@ func (r *RenewDiskResponse) FromJsonString(s string) error {
// Predefined struct for user
type ResizeDiskRequestParams struct {
// 云硬盘扩容后的大小,单位为GB,必须大于当前云硬盘大小。云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
- // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。该字段仅供单块云硬盘扩容时传入。
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
type ResizeDiskRequest struct {
*tchttp.BaseRequest
// 云硬盘扩容后的大小,单位为GB,必须大于当前云硬盘大小。云盘大小取值范围参见云硬盘[产品分类](/document/product/362/2353)的说明。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
- // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ // 云硬盘ID, 通过[DescribeDisks](/document/product/362/16315)接口查询。该字段仅供单块云硬盘扩容时传入。
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
}
func (r *ResizeDiskRequest) ToJsonString() string {
@@ -3544,8 +3902,8 @@ func (r *ResizeDiskRequest) FromJsonString(s string) error {
// Predefined struct for user
type ResizeDiskResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type ResizeDiskResponse struct {
@@ -3566,144 +3924,179 @@ func (r *ResizeDiskResponse) FromJsonString(s string) error {
type SharePermission struct {
// 快照分享的时间
- CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"`
+ CreatedTime *string `json:"CreatedTime,omitnil,omitempty" name:"CreatedTime"`
// 分享的账号Id
- AccountId *string `json:"AccountId,omitempty" name:"AccountId"`
+ AccountId *string `json:"AccountId,omitnil,omitempty" name:"AccountId"`
}
type Snapshot struct {
// 快照所在的位置。
- Placement *Placement `json:"Placement,omitempty" name:"Placement"`
-
- // 是否为跨地域复制的快照。取值范围:
true:表示为跨地域复制的快照。
false:本地域的快照。
- CopyFromRemote *bool `json:"CopyFromRemote,omitempty" name:"CopyFromRemote"`
-
- // 快照的状态。取值范围:
NORMAL:正常
CREATING:创建中
ROLLBACKING:回滚中
COPYING_FROM_REMOTE:跨地域复制中
CHECKING_COPIED:复制校验中
TORECYCLE:待回收。
- SnapshotState *string `json:"SnapshotState,omitempty" name:"SnapshotState"`
-
- // 是否为永久快照。取值范围:
true:永久快照
false:非永久快照。
- IsPermanent *bool `json:"IsPermanent,omitempty" name:"IsPermanent"`
+ Placement *Placement `json:"Placement,omitnil,omitempty" name:"Placement"`
+
+ // 是否为跨地域复制的快照。取值范围:
+ //
+ // - true:表示为跨地域复制的快照。
+ // - false:本地域的快照。
+ //
+ CopyFromRemote *bool `json:"CopyFromRemote,omitnil,omitempty" name:"CopyFromRemote"`
+
+ // 快照的状态。取值范围:
+ //
+ // - NORMAL:正常
+ // - CREATING:创建中
+ // - ROLLBACKING:回滚中
+ // - COPYING_FROM_REMOTE:跨地域复制中
+ // - CHECKING_COPIED:复制校验中
+ // - TORECYCLE:待回收
+ //
+ SnapshotState *string `json:"SnapshotState,omitnil,omitempty" name:"SnapshotState"`
+
+ // 是否为永久快照。取值范围:
+ //
+ // - true:永久快照
+ // - false:非永久快照
+ //
+ IsPermanent *bool `json:"IsPermanent,omitnil,omitempty" name:"IsPermanent"`
// 快照名称,用户自定义的快照别名。调用[ModifySnapshotAttribute](/document/product/362/15650)可修改此字段。
- SnapshotName *string `json:"SnapshotName,omitempty" name:"SnapshotName"`
+ SnapshotName *string `json:"SnapshotName,omitnil,omitempty" name:"SnapshotName"`
// 快照到期时间。如果快照为永久保留,此字段为空。
- DeadlineTime *string `json:"DeadlineTime,omitempty" name:"DeadlineTime"`
+ DeadlineTime *string `json:"DeadlineTime,omitnil,omitempty" name:"DeadlineTime"`
// 快照创建进度百分比,快照创建成功后此字段恒为100。
- Percent *uint64 `json:"Percent,omitempty" name:"Percent"`
+ Percent *uint64 `json:"Percent,omitnil,omitempty" name:"Percent"`
// 快照关联的镜像列表。
- Images []*Image `json:"Images,omitempty" name:"Images"`
+ Images []*Image `json:"Images,omitnil,omitempty" name:"Images"`
// 快照当前被共享数。
- ShareReference *uint64 `json:"ShareReference,omitempty" name:"ShareReference"`
+ ShareReference *uint64 `json:"ShareReference,omitnil,omitempty" name:"ShareReference"`
// 快照类型,目前该项取值可以为PRIVATE_SNAPSHOT或者SHARED_SNAPSHOT
- SnapshotType *string `json:"SnapshotType,omitempty" name:"SnapshotType"`
+ SnapshotType *string `json:"SnapshotType,omitnil,omitempty" name:"SnapshotType"`
// 创建此快照的云硬盘大小,单位GB。
- DiskSize *uint64 `json:"DiskSize,omitempty" name:"DiskSize"`
+ DiskSize *uint64 `json:"DiskSize,omitnil,omitempty" name:"DiskSize"`
// 创建此快照的云硬盘ID。
- DiskId *string `json:"DiskId,omitempty" name:"DiskId"`
+ DiskId *string `json:"DiskId,omitnil,omitempty" name:"DiskId"`
// 快照正在跨地域复制的目的地域,默认取值为[]。
- CopyingToRegions []*string `json:"CopyingToRegions,omitempty" name:"CopyingToRegions"`
+ CopyingToRegions []*string `json:"CopyingToRegions,omitnil,omitempty" name:"CopyingToRegions"`
- // 是否为加密盘创建的快照。取值范围:
true:该快照为加密盘创建的
false:非加密盘创建的快照。
- Encrypt *bool `json:"Encrypt,omitempty" name:"Encrypt"`
+ // 是否为加密盘创建的快照。取值范围:
+ //
+ // - true:该快照为加密盘创建的
+ // - false:非加密盘创建的快照
+ //
+ Encrypt *bool `json:"Encrypt,omitnil,omitempty" name:"Encrypt"`
// 快照的创建时间。
- CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"`
+ CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
// 快照关联的镜像个数。
- ImageCount *uint64 `json:"ImageCount,omitempty" name:"ImageCount"`
+ ImageCount *uint64 `json:"ImageCount,omitnil,omitempty" name:"ImageCount"`
- // 创建此快照的云硬盘类型。取值范围:
SYSTEM_DISK:系统盘
DATA_DISK:数据盘。
- DiskUsage *string `json:"DiskUsage,omitempty" name:"DiskUsage"`
+ // 创建此快照的云硬盘类型。取值范围:
+ //
+ // - SYSTEM_DISK:系统盘
+ // - DATA_DISK:数据盘
+ //
+ DiskUsage *string `json:"DiskUsage,omitnil,omitempty" name:"DiskUsage"`
// 快照ID。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 快照开始共享的时间。
- TimeStartShare *string `json:"TimeStartShare,omitempty" name:"TimeStartShare"`
+ TimeStartShare *string `json:"TimeStartShare,omitnil,omitempty" name:"TimeStartShare"`
// 快照绑定的标签列表。
- Tags []*Tag `json:"Tags,omitempty" name:"Tags"`
+ Tags []*Tag `json:"Tags,omitnil,omitempty" name:"Tags"`
}
type SnapshotCopyResult struct {
// 复制到目标地域的新快照ID。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ SnapshotId *string `json:"SnapshotId,omitnil,omitempty" name:"SnapshotId"`
// 指示具体错误信息,成功时为空字符串。
- Message *string `json:"Message,omitempty" name:"Message"`
+ Message *string `json:"Message,omitnil,omitempty" name:"Message"`
// 错误码,成功时取值为“Success”。
- Code *string `json:"Code,omitempty" name:"Code"`
+ Code *string `json:"Code,omitnil,omitempty" name:"Code"`
// 跨地复制的目标地域。
- DestinationRegion *string `json:"DestinationRegion,omitempty" name:"DestinationRegion"`
+ DestinationRegion *string `json:"DestinationRegion,omitnil,omitempty" name:"DestinationRegion"`
}
-type SnapshotOperationLog struct {
- // 操作的状态。取值范围:
- // SUCCESS :表示操作成功
- // FAILED :表示操作失败
- // PROCESSING :表示操作中。
- OperationState *string `json:"OperationState,omitempty" name:"OperationState"`
+type SnapshotGroup struct {
+ // 快照组ID。
+ SnapshotGroupId *string `json:"SnapshotGroupId,omitnil,omitempty" name:"SnapshotGroupId"`
- // 开始时间。
- StartTime *string `json:"StartTime,omitempty" name:"StartTime"`
+ // 快照组类型。NORMAL: 普通快照组,非一致性快照。
+ SnapshotGroupType *string `json:"SnapshotGroupType,omitnil,omitempty" name:"SnapshotGroupType"`
- // 操作者的UIN。
- // 注意:此字段可能返回 null,表示取不到有效值。
- Operator *string `json:"Operator,omitempty" name:"Operator"`
+ // 快照组是否包含系统盘快照。
+ ContainRootSnapshot *bool `json:"ContainRootSnapshot,omitnil,omitempty" name:"ContainRootSnapshot"`
+
+ // 快照组包含的快照ID列表。
+ SnapshotIdSet []*string `json:"SnapshotIdSet,omitnil,omitempty" name:"SnapshotIdSet"`
+
+ // 快照组状态。
NORMAL: 正常
CREATING:创建中
ROLLBACKING:回滚中
+ SnapshotGroupState *string `json:"SnapshotGroupState,omitnil,omitempty" name:"SnapshotGroupState"`
- // 操作的快照ID。
- SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"`
+ // 快照组创建进度。
+ Percent *uint64 `json:"Percent,omitnil,omitempty" name:"Percent"`
- // 操作类型。取值范围:
- // SNAP_OPERATION_DELETE:删除快照
- // SNAP_OPERATION_ROLLBACK:回滚快照
- // SNAP_OPERATION_MODIFY:修改快照属性
- // SNAP_OPERATION_CREATE:创建快照
- // SNAP_OPERATION_COPY:跨地域复制快照
- // ASP_OPERATION_CREATE_SNAP:由定期快照策略创建快照
- // ASP_OPERATION_DELETE_SNAP:由定期快照策略删除快照
- Operation *string `json:"Operation,omitempty" name:"Operation"`
+ // 快照组创建时间。
+ CreateTime *string `json:"CreateTime,omitnil,omitempty" name:"CreateTime"`
- // 结束时间。
- EndTime *string `json:"EndTime,omitempty" name:"EndTime"`
+ // 快照组最新修改时间
+ ModifyTime *string `json:"ModifyTime,omitnil,omitempty" name:"ModifyTime"`
+
+ // 快照组关联的镜像列表。
+ Images []*Image `json:"Images,omitnil,omitempty" name:"Images"`
+
+ // 快照组名称。
+ SnapshotGroupName *string `json:"SnapshotGroupName,omitnil,omitempty" name:"SnapshotGroupName"`
+
+ // 快照组关联的镜像数量。
+ ImageCount *uint64 `json:"ImageCount,omitnil,omitempty" name:"ImageCount"`
+
+ // 快照组是否永久保留
+ IsPermanent *bool `json:"IsPermanent,omitnil,omitempty" name:"IsPermanent"`
+
+ // 快照组到期时间。
+ // 注意:此字段可能返回 null,表示取不到有效值。
+ DeadlineTime *string `json:"DeadlineTime,omitnil,omitempty" name:"DeadlineTime"`
}
type Tag struct {
// 标签健。
- Key *string `json:"Key,omitempty" name:"Key"`
+ Key *string `json:"Key,omitnil,omitempty" name:"Key"`
// 标签值。
- Value *string `json:"Value,omitempty" name:"Value"`
+ Value *string `json:"Value,omitnil,omitempty" name:"Value"`
}
// Predefined struct for user
type TerminateDisksRequestParams struct {
- // 需退还的云盘ID列表。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ // 需退还的云盘ID列表,通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 销毁云盘时删除关联的非永久保留快照。0 表示非永久快照不随云盘销毁而销毁,1表示非永久快照随云盘销毁而销毁,默认取0。快照是否永久保留可以通过DescribeSnapshots接口返回的快照详情的IsPermanent字段来判断,true表示永久快照,false表示非永久快照。
- DeleteSnapshot *int64 `json:"DeleteSnapshot,omitempty" name:"DeleteSnapshot"`
+ DeleteSnapshot *int64 `json:"DeleteSnapshot,omitnil,omitempty" name:"DeleteSnapshot"`
}
type TerminateDisksRequest struct {
*tchttp.BaseRequest
- // 需退还的云盘ID列表。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ // 需退还的云盘ID列表,通过[DescribeDisks](/document/product/362/16315)接口查询。
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
// 销毁云盘时删除关联的非永久保留快照。0 表示非永久快照不随云盘销毁而销毁,1表示非永久快照随云盘销毁而销毁,默认取0。快照是否永久保留可以通过DescribeSnapshots接口返回的快照详情的IsPermanent字段来判断,true表示永久快照,false表示非永久快照。
- DeleteSnapshot *int64 `json:"DeleteSnapshot,omitempty" name:"DeleteSnapshot"`
+ DeleteSnapshot *int64 `json:"DeleteSnapshot,omitnil,omitempty" name:"DeleteSnapshot"`
}
func (r *TerminateDisksRequest) ToJsonString() string {
@@ -3728,8 +4121,8 @@ func (r *TerminateDisksRequest) FromJsonString(s string) error {
// Predefined struct for user
type TerminateDisksResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type TerminateDisksResponse struct {
@@ -3751,20 +4144,20 @@ func (r *TerminateDisksResponse) FromJsonString(s string) error {
// Predefined struct for user
type UnbindAutoSnapshotPolicyRequestParams struct {
// 要解绑的定期快照策略ID。
- AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitempty" name:"AutoSnapshotPolicyId"`
+ AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
// 要解绑定期快照策略的云盘ID列表。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
}
type UnbindAutoSnapshotPolicyRequest struct {
*tchttp.BaseRequest
// 要解绑的定期快照策略ID。
- AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitempty" name:"AutoSnapshotPolicyId"`
+ AutoSnapshotPolicyId *string `json:"AutoSnapshotPolicyId,omitnil,omitempty" name:"AutoSnapshotPolicyId"`
// 要解绑定期快照策略的云盘ID列表。
- DiskIds []*string `json:"DiskIds,omitempty" name:"DiskIds"`
+ DiskIds []*string `json:"DiskIds,omitnil,omitempty" name:"DiskIds"`
}
func (r *UnbindAutoSnapshotPolicyRequest) ToJsonString() string {
@@ -3789,8 +4182,8 @@ func (r *UnbindAutoSnapshotPolicyRequest) FromJsonString(s string) error {
// Predefined struct for user
type UnbindAutoSnapshotPolicyResponseParams struct {
- // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
- RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
+ // 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
+ RequestId *string `json:"RequestId,omitnil,omitempty" name:"RequestId"`
}
type UnbindAutoSnapshotPolicyResponse struct {
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/client.go
index f4b8e19fbf..78456cd7e7 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/client.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/client.go
@@ -24,22 +24,48 @@ const (
octetStream = "application/octet-stream"
)
+// DefaultHttpClient is the default HTTP client used by the SDK.
+// It can be overridden for custom HTTP client configurations.
var DefaultHttpClient *http.Client
+// Client encapsulates the core functionalities for interacting with Tencent Cloud services.
type Client struct {
- region string
- httpClient *http.Client
- httpProfile *profile.HttpProfile
- profile *profile.ClientProfile
- credential CredentialIface
- signMethod string
+ // The region to which the client is connected.
+ region string
+
+ // The HTTP client used for making requests.
+ httpClient *http.Client
+
+ // The HTTP profile containing endpoint and method settings.
+ httpProfile *profile.HttpProfile
+
+ // The client profile containing retry and sign method settings.
+ profile *profile.ClientProfile
+
+ // The credential used for authentication.
+ credential CredentialIface
+
+ // The signature method used for signing requests (e.g., HmacSHA256, HmacSHA1).
+ signMethod string
+
+ // Indicates whether the payload should be unsigned.
unsignedPayload bool
- debug bool
- rb *circuitBreaker
- logger Logger
- requestClient string
+
+ // Enables debug logging.
+ debug bool
+
+ // The circuit breaker for handling service unavailability.
+ rb *circuitBreaker
+
+ // The logger for logging messages.
+ logger Logger
+
+ // The client identifier sent in the request header.
+ requestClient string
}
+// Send sends the request and parses the response.
+// It handles request completion, signature, and circuit breaking.
func (c *Client) Send(request tchttp.Request, response tchttp.Response) (err error) {
c.completeRequest(request)
@@ -51,7 +77,7 @@ func (c *Client) Send(request tchttp.Request, response tchttp.Response) (err err
}
if request.GetSkipSign() {
- // Some APIs can skip signature.
+ // Some APIs allow skipping the signature process.
return c.sendWithoutSignature(request, response)
} else if c.profile.DisableRegionBreaker == true || c.rb == nil {
return c.sendWithSignature(request, response)
@@ -60,6 +86,8 @@ func (c *Client) Send(request tchttp.Request, response tchttp.Response) (err err
}
}
+// completeRequest fills in any missing request parameters with default values
+// from the client's configuration.
func (c *Client) completeRequest(request tchttp.Request) {
if request.GetScheme() == "" {
request.SetScheme(c.httpProfile.Scheme)
@@ -81,6 +109,7 @@ func (c *Client) completeRequest(request tchttp.Request) {
request.SetHttpMethod(c.httpProfile.ReqMethod)
}
+ // Add idempotency key for unsafe retries.
if c.profile.UnsafeRetryOnConnectionFailure {
header := request.GetHeader()
if header == nil {
@@ -280,6 +309,8 @@ func (c *Client) sendWithSignatureV1(request tchttp.Request, response tchttp.Res
}
func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Response) (err error) {
+ // Prepare the headers for the request, including essential information
+ // and the necessary components for Signature Version 3 authentication.
headers := map[string]string{
"Host": request.GetDomain(),
"X-TC-Action": request.GetAction(),
@@ -288,18 +319,26 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
"X-TC-RequestClient": request.GetParams()["RequestClient"],
"X-TC-Language": c.profile.Language,
}
+
+ // Include the region if specified.
if c.region != "" {
headers["X-TC-Region"] = c.region
}
+
+ // Retrieve the secret ID, secret key, and security token from the credentials.
secId, secKey, token := c.credential.GetCredential()
if token != "" {
headers["X-TC-Token"] = token
}
+
+ // Set the Content-Type header based on the HTTP method.
if request.GetHttpMethod() == "GET" {
headers["Content-Type"] = "application/x-www-form-urlencoded"
} else {
headers["Content-Type"] = "application/json"
}
+
+ // Handle octet-stream (binary data) requests.
isOctetStream := false
cr := &tchttp.CommonRequest{}
ok := false
@@ -316,6 +355,8 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
}
}
+ // Merge any additional headers from the request, but skip built-in headers
+ // to prevent them from being overridden.
for k, v := range request.GetHeader() {
switch k {
case "X-TC-Action", "X-TC-Version", "X-TC-Timestamp", "X-TC-RequestClient",
@@ -326,6 +367,8 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
}
}
+ // Handle the case where the request content type is explicitly set to octet-stream,
+ // but it's not already handled as an OctetStream CommonRequest.
if !isOctetStream && request.GetContentType() == octetStream {
isOctetStream = true
b, _ := json.Marshal(request)
@@ -339,11 +382,17 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
headers["Content-Type"] = octetStream
octetStreamBody = request.GetBody()
}
- // start signature v3 process
+ // --- Begin Signature Version 3 (TC3-HMAC-SHA256) Signing Process ---
- // build canonical request string
+ // 1. Construct the Canonical Request
+
+ // HTTP Method (e.g., "GET", "POST").
httpRequestMethod := request.GetHttpMethod()
+
+ // Canonical URI (always "/").
canonicalURI := "/"
+
+ // Canonical Query String (for GET requests).
canonicalQueryString := ""
if httpRequestMethod == "GET" {
err = tchttp.ConstructParams(request)
@@ -354,6 +403,7 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
for key, value := range request.GetParams() {
params[key] = value
}
+ // Remove standard parameters that are not part of the canonical query string.
delete(params, "Action")
delete(params, "Version")
delete(params, "Nonce")
@@ -362,8 +412,14 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
delete(params, "Timestamp")
canonicalQueryString = tchttp.GetUrlQueriesEncoded(params)
}
+
+ // Canonical Headers (sorted and formatted).
canonicalHeaders := fmt.Sprintf("content-type:%s\nhost:%s\n", headers["Content-Type"], headers["Host"])
+
+ // Signed Headers (list of headers included in the signature).
signedHeaders := "content-type;host"
+
+ // Request Payload (for POST requests).
requestPayload := ""
if httpRequestMethod == "POST" {
if isOctetStream {
@@ -377,6 +433,8 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
requestPayload = string(b)
}
}
+
+ // Hashed Request Payload.
hashedRequestPayload := ""
if c.unsignedPayload {
hashedRequestPayload = sha256hex("UNSIGNED-PAYLOAD")
@@ -384,6 +442,8 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
} else {
hashedRequestPayload = sha256hex(requestPayload)
}
+
+ // Construct the complete Canonical Request String.
canonicalRequest := fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n%s",
httpRequestMethod,
canonicalURI,
@@ -393,15 +453,25 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
hashedRequestPayload)
//log.Println("canonicalRequest:", canonicalRequest)
- // build string to sign
+ // 2. Construct the String to Sign
+
+ // Algorithm.
algorithm := "TC3-HMAC-SHA256"
+
+ // Request Timestamp.
requestTimestamp := headers["X-TC-Timestamp"]
+
+ // Credential Scope.
timestamp, _ := strconv.ParseInt(requestTimestamp, 10, 64)
t := time.Unix(timestamp, 0).UTC()
// must be the format 2006-01-02, ref to package time for more info
date := t.Format("2006-01-02")
credentialScope := fmt.Sprintf("%s/%s/tc3_request", date, request.GetService())
+
+ // Hashed Canonical Request.
hashedCanonicalRequest := sha256hex(canonicalRequest)
+
+ // Construct the String to Sign.
string2sign := fmt.Sprintf("%s\n%s\n%s\n%s",
algorithm,
requestTimestamp,
@@ -409,14 +479,24 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
hashedCanonicalRequest)
//log.Println("string2sign", string2sign)
- // sign string
+ // 3. Calculate the Signature
+
+ // Secret Date.
secretDate := hmacsha256(date, "TC3"+secKey)
+
+ // Secret Service.
secretService := hmacsha256(request.GetService(), secretDate)
+
+ // Secret Key.
secretKey := hmacsha256("tc3_request", secretService)
+
+ // Signature.
signature := hex.EncodeToString([]byte(hmacsha256(string2sign, secretKey)))
//log.Println("signature", signature)
- // build authorization
+ // 4. Construct the Authorization Header
+
+ // Authorization Header.
authorization := fmt.Sprintf("%s Credential=%s/%s, SignedHeaders=%s, Signature=%s",
algorithm,
secId,
@@ -425,25 +505,37 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res
signature)
//log.Println("authorization", authorization)
+ // Add the Authorization header to the request headers.
headers["Authorization"] = authorization
+
+ // --- End Signature Version 3 Signing Process ---
+
+ // Construct the full URL.
url := request.GetScheme() + "://" + request.GetDomain() + request.GetPath()
if canonicalQueryString != "" {
url = url + "?" + canonicalQueryString
}
+
+ // Create the HTTP request.
httpRequest, err := http.NewRequest(httpRequestMethod, url, strings.NewReader(requestPayload))
if err != nil {
return err
}
httpRequest = httpRequest.WithContext(request.GetContext())
+
+ // Set all the headers on the request.
for k, v := range headers {
httpRequest.Header[k] = []string{v}
}
+
+ // Send the HTTP request with rate limit retry logic.
httpResponse, err := c.sendWithRateLimitRetry(httpRequest, isRetryable(request))
if err != nil {
return err
}
- err = tchttp.ParseFromHttpResponse(httpResponse, response)
- return err
+
+ // Parse the HTTP response into the specified response object.
+ return tchttp.ParseFromHttpResponse(httpResponse, response)
}
// send http request
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/credentials.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/credentials.go
index c8fab3ee58..2e6694f19e 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/credentials.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/credentials.go
@@ -4,17 +4,28 @@ var creErr = "ClientError.CredentialError"
type CredentialIface interface {
GetSecretId() string
+
GetToken() string
+
GetSecretKey() string
+
+ // GetCredential retrieves all credential components (SecretId, SecretKey, Token) as a tuple.
+ // This method is designed to fetch all three credential values (SecretId, SecretKey, Token) at once.
+ // This is beneficial for atomic operations, preventing potential issues that could arise from
+ // separate calls where one credential element might be updated while others are not, leading to inconsistency.
GetCredential() (string, string, string)
+
// needRefresh() bool
// refresh()
}
+// Credential is a basic implementation of the CredentialIface.
+// It stores the SecretId, SecretKey, and Token directly.
+// This struct is suitable for simple cases where credentials are known beforehand.
type Credential struct {
- SecretId string
- SecretKey string
- Token string
+ SecretId string // The SecretId for authentication.
+ SecretKey string // The SecretKey for signing requests.
+ Token string // The security token (optional).
}
func (c *Credential) needRefresh() bool {
@@ -24,6 +35,8 @@ func (c *Credential) needRefresh() bool {
func (c *Credential) refresh() {
}
+// NewCredential creates a new Credential instance with the given SecretId and SecretKey.
+// This constructor is used when you don't have a security token.
func NewCredential(secretId, secretKey string) *Credential {
return &Credential{
SecretId: secretId,
@@ -31,6 +44,8 @@ func NewCredential(secretId, secretKey string) *Credential {
}
}
+// NewTokenCredential creates a new Credential instance with the given SecretId, SecretKey, and Token.
+// This constructor is used when you have a security token.
func NewTokenCredential(secretId, secretKey, token string) *Credential {
return &Credential{
SecretId: secretId,
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go
index 310b73ac5d..68d1ebeb2a 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/request.go
@@ -265,7 +265,7 @@ func CompleteCommonParams(request Request, region string, requestClient string)
params["Action"] = request.GetAction()
params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10)
params["Nonce"] = strconv.Itoa(rand.Int())
- params["RequestClient"] = "SDK_GO_1.0.1149"
+ params["RequestClient"] = "SDK_GO_1.0.1153"
if requestClient != "" {
params["RequestClient"] += ": " + requestClient
}
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/client_profile.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/client_profile.go
index 087244052b..dadea70184 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/client_profile.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/client_profile.go
@@ -20,25 +20,40 @@ func ExponentialBackoff(index int) time.Duration {
type ClientProfile struct {
HttpProfile *HttpProfile
- // Valid choices: HmacSHA1, HmacSHA256, TC3-HMAC-SHA256.
- // Default value is TC3-HMAC-SHA256.
- SignMethod string
+ // SignMethod specifies the signing algorithm used for request signatures.
+ // Valid options: "HmacSHA1", "HmacSHA256", "TC3-HMAC-SHA256".
+ // Default value is "TC3-HMAC-SHA256".
+ SignMethod string
+
+ // UnsignedPayload indicates whether the payload is unsigned.
UnsignedPayload bool
- // Valid choices: zh-CN, en-US.
- // Default value is zh-CN.
+
+ // Language specifies the language of the client profile.
+ // Valid options: "zh-CN" (Chinese), "en-US" (English).
+ // Default value is "zh-CN".
Language string
- Debug bool
- // define Whether to enable Regional auto switch
+
+ // Debug enables or disables debug output for client operations.
+ Debug bool
+
+ // DisableRegionBreaker determines whether to enable the Regional auto switch.
+ // The SDK uses ap-guangzhou.tencentcloudapi.com as the default backup endpoint.
+ // You can override this by specifying the BackupEndpoint.
DisableRegionBreaker bool
- // Deprecated. Use BackupEndpoint instead.
+ // BackupEndPoint specifies an alternative endpoint to use by region breaker.
+ // Deprecated: Use BackupEndpoint instead.
BackupEndPoint string
BackupEndpoint string
- // define how to retry request
- NetworkFailureMaxRetries int
- NetworkFailureRetryDuration DurationFunc
- RateLimitExceededMaxRetries int
+ // NetworkFailureMaxRetries defines the maximum number of retries when a network failure occurs.
+ NetworkFailureMaxRetries int
+ // NetworkFailureRetryDuration is a function that determines the retry duration between network failure retries.
+ NetworkFailureRetryDuration DurationFunc
+
+ // RateLimitExceededMaxRetries defines the maximum number of retries when rate limit is exceeded.
+ RateLimitExceededMaxRetries int
+ // RateLimitExceededRetryDuration is a function that determines the retry duration between rate limit exceeded retries.
RateLimitExceededRetryDuration DurationFunc
// Configure this client to retry or not when a connectivity problem is encountered.
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/http_profile.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/http_profile.go
index 610abb63ee..f75ec5edc8 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/http_profile.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/http_profile.go
@@ -1,17 +1,44 @@
package profile
+// HttpProfile encapsulates the configuration for HTTP requests.
+// It defines settings such as the request method, timeout, scheme, and endpoints.
type HttpProfile struct {
- ReqMethod string
- ReqTimeout int
- Scheme string
- RootDomain string
- Endpoint string
- ApigwEndpoint string
- // Deprecated, use Scheme instead
+ // ReqMethod specifies the HTTP request method (e.g., "GET", "POST").
+ // Default: "POST".
+ ReqMethod string
+
+ // ReqTimeout defines the request timeout in seconds.
+ // This determines how long the client will wait for a response before timing out.
+ // Default: 60 seconds.
+ ReqTimeout int
+
+ // Deprecated: Use Scheme instead.
Protocol string
- Proxy string
+ // Scheme specifies the protocol scheme to use for the request (e.g., "HTTP", "HTTPS").
+ // Default: "HTTPS".
+ Scheme string
+
+ // RootDomain specifies the root domain for the API request.
+ // This is often used as a base for constructing the full API endpoint.
+ // Default: "".
+ RootDomain string
+
+ // Endpoint specifies the specific API endpoint to which the request is sent.
+ // This can be a full URL or a domain name, depending on the service.
+ // Default: "".
+ Endpoint string
+
+ ApigwEndpoint string
+
+ // Proxy specifies the URL of a proxy server to use for the requests.
+ // If set, all requests will be routed through this proxy.
+ // Default: "".
+ Proxy string
}
+// NewHttpProfile creates and initializes a new HttpProfile with default values.
+// This function provides a convenient way to obtain a HttpProfile instance
+// with sensible defaults, which can then be customized as needed.
func NewHttpProfile() *HttpProfile {
return &HttpProfile{
ReqMethod: "POST",
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/rewindable_body.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/rewindable_body.go
index be1c88be62..85aa390303 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/rewindable_body.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/rewindable_body.go
@@ -6,62 +6,78 @@ import (
"net/http"
)
+// newRequestRetryer creates a function to reset the request body for retries.
+// It handles cases where the request body needs to be read multiple times.
func newRequestRetryer(r *http.Request) func() error {
+ // If the request doesn't have a GetBody function, we need to add one.
if r.GetBody == nil {
+ // Wrap the original body in a rewindableBody to allow reading it multiple times.
rb := &rewindableBody{body: r.Body}
r.Body = rb
+ // Set GetBody to a function that rewinds the rewindableBody.
r.GetBody = func() (io.ReadCloser, error) {
- err := rb.Rewind()
+ err := rb.Rewind() // Prepare the body for reading again.
return rb, err
}
}
+ // Return a closure that resets the request's Body to a new reader.
return func() error {
- bodyCopy, err := r.GetBody()
+ bodyCopy, err := r.GetBody() // Get a new ReadCloser for the body.
if err != nil {
return err
}
- r.Body = bodyCopy
+ r.Body = bodyCopy // Set the request's Body to the new reader.
return nil
}
}
+// rewindableBody allows an io.ReadCloser to be read multiple times.
+// It buffers the body content to enable rewinding.
type rewindableBody struct {
- body io.ReadCloser
- buf []byte
- r bytes.Reader
- rewind bool
+ body io.ReadCloser // The original request body.
+ buf []byte // Buffer to store the body content.
+ r bytes.Reader // Reader to read from the buffer.
+ rewind bool // Flag indicating if the body has been rewound.
}
+// Read implements the io.Reader interface.
+// If rewind is true, it reads from the buffer; otherwise, it reads from the original body
+// and buffers the data.
func (r *rewindableBody) Read(p []byte) (int, error) {
if r.rewind {
- return r.r.Read(p)
+ return r.r.Read(p) // Read from the buffer.
}
- nr, err := r.body.Read(p)
+ nr, err := r.body.Read(p) // Read from the original body.
if nr > 0 {
- r.buf = append(r.buf, p[:nr]...)
+ r.buf = append(r.buf, p[:nr]...) // Buffer the read data.
}
return nr, err
}
+// Close implements the io.Closer interface.
+// It closes the original request body.
func (r *rewindableBody) Close() error {
return r.body.Close()
}
+// Rewind prepares the body for rereading.
+// If the body has not been rewound, it drains and buffers the original body.
+// It then resets the buffer reader and sets the rewind flag.
func (r *rewindableBody) Rewind() error {
if !r.rewind {
- // drain body
+ // Drain and buffer the original body.
buf := bytes.NewBuffer(r.buf)
_, err := io.Copy(buf, r.body)
if err != nil {
return err
}
- r.buf = buf.Bytes()
+ r.buf = buf.Bytes() // Store the buffered data.
}
- r.r.Reset(r.buf)
- r.rewind = true
+ r.r.Reset(r.buf) // Reset the buffer reader.
+ r.rewind = true // Set the rewind flag.
return nil
}
diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/types.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/types.go
index 6da779da99..c16b85f7c9 100644
--- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/types.go
+++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/types.go
@@ -1,33 +1,42 @@
package common
+// IntPtr returns a pointer to the int value passed.
func IntPtr(v int) *int {
return &v
}
+// Int64Ptr returns a pointer to the int64 value passed.
func Int64Ptr(v int64) *int64 {
return &v
}
+// UintPtr returns a pointer to the uint value passed.
func UintPtr(v uint) *uint {
return &v
}
+// Uint64Ptr returns a pointer to the uint64 value passed.
func Uint64Ptr(v uint64) *uint64 {
return &v
}
+// Float64Ptr returns a pointer to the float64 value passed.
func Float64Ptr(v float64) *float64 {
return &v
}
+// BoolPtr returns a pointer to the bool value passed.
func BoolPtr(v bool) *bool {
return &v
}
+// StringPtr returns a pointer to the string value passed.
func StringPtr(v string) *string {
return &v
}
+// StringValues converts a slice of string pointers to a slice of strings.
+// Nil pointers are converted to empty strings.
func StringValues(ptrs []*string) []string {
values := make([]string, len(ptrs))
for i := 0; i < len(ptrs); i++ {
@@ -38,6 +47,7 @@ func StringValues(ptrs []*string) []string {
return values
}
+// IntPtrs converts a slice of ints to a slice of int pointers.
func IntPtrs(vals []int) []*int {
ptrs := make([]*int, len(vals))
for i := 0; i < len(vals); i++ {
@@ -46,6 +56,7 @@ func IntPtrs(vals []int) []*int {
return ptrs
}
+// Int64Ptrs converts a slice of int64s to a slice of int64 pointers.
func Int64Ptrs(vals []int64) []*int64 {
ptrs := make([]*int64, len(vals))
for i := 0; i < len(vals); i++ {
@@ -54,6 +65,7 @@ func Int64Ptrs(vals []int64) []*int64 {
return ptrs
}
+// UintPtrs converts a slice of uints to a slice of uint pointers.
func UintPtrs(vals []uint) []*uint {
ptrs := make([]*uint, len(vals))
for i := 0; i < len(vals); i++ {
@@ -62,6 +74,7 @@ func UintPtrs(vals []uint) []*uint {
return ptrs
}
+// Uint64Ptrs converts a slice of uint64s to a slice of uint64 pointers.
func Uint64Ptrs(vals []uint64) []*uint64 {
ptrs := make([]*uint64, len(vals))
for i := 0; i < len(vals); i++ {
@@ -70,6 +83,7 @@ func Uint64Ptrs(vals []uint64) []*uint64 {
return ptrs
}
+// Float64Ptrs converts a slice of float64s to a slice of float64 pointers.
func Float64Ptrs(vals []float64) []*float64 {
ptrs := make([]*float64, len(vals))
for i := 0; i < len(vals); i++ {
@@ -78,6 +92,7 @@ func Float64Ptrs(vals []float64) []*float64 {
return ptrs
}
+// BoolPtrs converts a slice of bools to a slice of bool pointers.
func BoolPtrs(vals []bool) []*bool {
ptrs := make([]*bool, len(vals))
for i := 0; i < len(vals); i++ {
@@ -86,6 +101,7 @@ func BoolPtrs(vals []bool) []*bool {
return ptrs
}
+// StringPtrs converts a slice of strings to a slice of string pointers.
func StringPtrs(vals []string) []*string {
ptrs := make([]*string, len(vals))
for i := 0; i < len(vals); i++ {
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 42376fb31b..8582e9d7fc 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1121,7 +1121,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cam/v20190116
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat v1.0.825
## explicit; go 1.14
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cat/v20180409
-# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.591
+# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs v1.0.1153
## explicit; go 1.14
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cdb v1.0.944
@@ -1166,7 +1166,7 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cloudaudit/v20190319
# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls v1.0.1135
## explicit; go 1.14
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cls/v20201016
-# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1149
+# github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1153
## explicit; go 1.11
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors
From 34f5fd8a1b59315b12ea3e949c5a28cf846624a4 Mon Sep 17 00:00:00 2001
From: SevenEarth <391613297@qq.com>
Date: Mon, 28 Apr 2025 15:28:53 +0800
Subject: [PATCH 2/4] add
---
.changelog/3334.txt | 3 +++
1 file changed, 3 insertions(+)
create mode 100644 .changelog/3334.txt
diff --git a/.changelog/3334.txt b/.changelog/3334.txt
new file mode 100644
index 0000000000..f890f25c19
--- /dev/null
+++ b/.changelog/3334.txt
@@ -0,0 +1,3 @@
+```release-note:enhancement
+resource/tencentcloud_cbs_storage: support `kms_key_id`
+```
From 338c9f0f4ce5287620b5712892eb6f77df4b65c5 Mon Sep 17 00:00:00 2001
From: SevenEarth <391613297@qq.com>
Date: Mon, 28 Apr 2025 15:41:56 +0800
Subject: [PATCH 3/4] add
---
.changelog/3334.txt | 12 +++++
.../cbs/data_source_tc_cbs_storages.go | 6 +++
.../cbs/data_source_tc_cbs_storages.md | 4 +-
.../cbs/data_source_tc_cbs_storages_set.go | 6 +++
.../cbs/resource_tc_cbs_storage_set.go | 15 +++++++
.../cbs/resource_tc_cbs_storage_set.md | 31 +++++++++++++
website/docs/d/cbs_storages.html.markdown | 3 +-
website/docs/d/cbs_storages_set.html.markdown | 1 +
website/docs/r/cbs_storage.html.markdown | 44 +++++++++++++++++--
website/docs/r/cbs_storage_set.html.markdown | 32 ++++++++++++++
10 files changed, 149 insertions(+), 5 deletions(-)
diff --git a/.changelog/3334.txt b/.changelog/3334.txt
index f890f25c19..0652f8e231 100644
--- a/.changelog/3334.txt
+++ b/.changelog/3334.txt
@@ -1,3 +1,15 @@
```release-note:enhancement
resource/tencentcloud_cbs_storage: support `kms_key_id`
```
+
+```release-note:enhancement
+resource/tencentcloud_cbs_storage_set: support `kms_key_id`
+```
+
+```release-note:enhancement
+datasource/tencentcloud_cbs_storages: add return value `kms_key_id`
+```
+
+```release-note:enhancement
+datasource/tencentcloud_cbs_storages_set: add return value `kms_key_id`
+```
diff --git a/tencentcloud/services/cbs/data_source_tc_cbs_storages.go b/tencentcloud/services/cbs/data_source_tc_cbs_storages.go
index f171261fda..db32fde151 100644
--- a/tencentcloud/services/cbs/data_source_tc_cbs_storages.go
+++ b/tencentcloud/services/cbs/data_source_tc_cbs_storages.go
@@ -156,6 +156,11 @@ func DataSourceTencentCloudCbsStorages() *schema.Resource {
Computed: true,
Description: "ID of the CVM instance that be mounted by this CBS.",
},
+ "kms_key_id": {
+ Type: schema.TypeString,
+ Computed: true,
+ Description: "Kms key ID.",
+ },
"encrypt": {
Type: schema.TypeBool,
Computed: true,
@@ -288,6 +293,7 @@ func dataSourceTencentCloudCbsStoragesRead(d *schema.ResourceData, meta interfac
"storage_size": storage.DiskSize,
"attached": storage.Attached,
"instance_id": storage.InstanceId,
+ "kms_key_id": storage.KmsKeyId,
"encrypt": storage.Encrypt,
"create_time": storage.CreateTime,
"status": storage.DiskState,
diff --git a/tencentcloud/services/cbs/data_source_tc_cbs_storages.md b/tencentcloud/services/cbs/data_source_tc_cbs_storages.md
index ceea1c2d36..d0afdebed4 100644
--- a/tencentcloud/services/cbs/data_source_tc_cbs_storages.md
+++ b/tencentcloud/services/cbs/data_source_tc_cbs_storages.md
@@ -3,6 +3,7 @@ Use this data source to query detailed information of CBS storages.
Example Usage
Query all CBS storages
+
```hcl
data "tencentcloud_cbs_storages" "example" {}
```
@@ -17,6 +18,7 @@ data "tencentcloud_cbs_storages" "example" {
```
Query CBS by dedicated cluster id
+
```hcl
data "tencentcloud_cbs_storages" "example" {
dedicated_cluster_id = "cluster-262n63e8"
@@ -26,7 +28,7 @@ data "tencentcloud_cbs_storages" "example" {
The following snippet shows the new supported query params
```hcl
-data "tencentcloud_cbs_storages" "whats_new" {
+data "tencentcloud_cbs_storages" "example" {
charge_type = ["POSTPAID_BY_HOUR", "PREPAID", "CDCPAID", "DEDICATED_CLUSTER_PAID"]
storage_state = ["ATTACHED"]
instance_ips = ["10.0.0.2"]
diff --git a/tencentcloud/services/cbs/data_source_tc_cbs_storages_set.go b/tencentcloud/services/cbs/data_source_tc_cbs_storages_set.go
index d3e18b9b5f..39c8d3ef25 100644
--- a/tencentcloud/services/cbs/data_source_tc_cbs_storages_set.go
+++ b/tencentcloud/services/cbs/data_source_tc_cbs_storages_set.go
@@ -155,6 +155,11 @@ func DataSourceTencentCloudCbsStoragesSet() *schema.Resource {
Computed: true,
Description: "ID of the CVM instance that be mounted by this CBS.",
},
+ "kms_key_id": {
+ Type: schema.TypeString,
+ Computed: true,
+ Description: "Kms key ID.",
+ },
"encrypt": {
Type: schema.TypeBool,
Computed: true,
@@ -286,6 +291,7 @@ func dataSourceTencentCloudCbsStoragesSetRead(d *schema.ResourceData, meta inter
"storage_size": storage.DiskSize,
"attached": storage.Attached,
"instance_id": storage.InstanceId,
+ "kms_key_id": storage.KmsKeyId,
"encrypt": storage.Encrypt,
"create_time": storage.CreateTime,
"status": storage.DiskState,
diff --git a/tencentcloud/services/cbs/resource_tc_cbs_storage_set.go b/tencentcloud/services/cbs/resource_tc_cbs_storage_set.go
index cdce25f0d6..7afba572ce 100644
--- a/tencentcloud/services/cbs/resource_tc_cbs_storage_set.go
+++ b/tencentcloud/services/cbs/resource_tc_cbs_storage_set.go
@@ -80,6 +80,13 @@ func ResourceTencentCloudCbsStorageSet() *schema.Resource {
Default: 0,
Description: "ID of the project to which the instance belongs.",
},
+ "kms_key_id": {
+ Type: schema.TypeString,
+ Optional: true,
+ ForceNew: true,
+ Computed: true,
+ Description: "Optional parameters. When purchasing an encryption disk, customize the key. When this parameter is passed in, the `encrypt` parameter need be set.",
+ },
"encrypt": {
Type: schema.TypeBool,
Optional: true,
@@ -148,6 +155,10 @@ func resourceTencentCloudCbsStorageSetCreate(d *schema.ResourceData, meta interf
request.SnapshotId = helper.String(v.(string))
}
+ if v, ok := d.GetOk("kms_key_id"); ok {
+ request.KmsKeyId = helper.String(v.(string))
+ }
+
if _, ok := d.GetOk("encrypt"); ok {
request.Encrypt = helper.String("ENCRYPT")
}
@@ -234,6 +245,10 @@ func resourceTencentCloudCbsStorageSetRead(d *schema.ResourceData, meta interfac
_ = d.Set("charge_type", storage.DiskChargeType)
_ = d.Set("throughput_performance", storage.ThroughputPerformance)
+ if storage.KmsKeyId != nil {
+ _ = d.Set("kms_key_id", storage.KmsKeyId)
+ }
+
return nil
}
diff --git a/tencentcloud/services/cbs/resource_tc_cbs_storage_set.md b/tencentcloud/services/cbs/resource_tc_cbs_storage_set.md
index 68bd226c29..a9f7fd8f6e 100644
--- a/tencentcloud/services/cbs/resource_tc_cbs_storage_set.md
+++ b/tencentcloud/services/cbs/resource_tc_cbs_storage_set.md
@@ -1,5 +1,7 @@
Provides a resource to create CBS set.
+-> **NOTE:** When creating encrypted disks, if `kms_key_id` is not entered, the product side will generate a key by default.
+
Example Usage
Create 3 standard CBS storages
@@ -16,6 +18,35 @@ resource "tencentcloud_cbs_storage_set" "example" {
}
```
+Create 3 standard CBS storages with customize kms_key_id
+
+```hcl
+resource "tencentcloud_cbs_storage_set" "example" {
+ disk_count = 3
+ storage_name = "tf-example"
+ storage_type = "CLOUD_SSD"
+ storage_size = 100
+ availability_zone = "ap-guangzhou-3"
+ project_id = 0
+ kms_key_id = "b60b328d-7ed5-11ef-8836-5254009ad364"
+ encrypt = true
+}
+```
+
+Create 3 encrypted CBS storage with default generated kms_key_id
+
+```hcl
+resource "tencentcloud_cbs_storage_set" "example" {
+ disk_count = 3
+ storage_name = "tf-example"
+ storage_type = "CLOUD_SSD"
+ storage_size = 100
+ availability_zone = "ap-guangzhou-3"
+ project_id = 0
+ encrypt = true
+}
+```
+
Create 3 dedicated cluster CBS storages
```hcl
diff --git a/website/docs/d/cbs_storages.html.markdown b/website/docs/d/cbs_storages.html.markdown
index 4fe4bddcd5..1056e98ab2 100644
--- a/website/docs/d/cbs_storages.html.markdown
+++ b/website/docs/d/cbs_storages.html.markdown
@@ -39,7 +39,7 @@ data "tencentcloud_cbs_storages" "example" {
### The following snippet shows the new supported query params
```hcl
-data "tencentcloud_cbs_storages" "whats_new" {
+data "tencentcloud_cbs_storages" "example" {
charge_type = ["POSTPAID_BY_HOUR", "PREPAID", "CDCPAID", "DEDICATED_CLUSTER_PAID"]
storage_state = ["ATTACHED"]
instance_ips = ["10.0.0.2"]
@@ -82,6 +82,7 @@ In addition to all arguments above, the following attributes are exported:
* `dedicated_cluster_id` - Exclusive cluster id.
* `encrypt` - Indicates whether CBS is encrypted.
* `instance_id` - ID of the CVM instance that be mounted by this CBS.
+ * `kms_key_id` - Kms key ID.
* `prepaid_renew_flag` - The way that CBS instance will be renew automatically or not when it reach the end of the prepaid tenancy.
* `project_id` - ID of the project.
* `status` - Status of CBS.
diff --git a/website/docs/d/cbs_storages_set.html.markdown b/website/docs/d/cbs_storages_set.html.markdown
index 1d897b23a7..1680da1550 100644
--- a/website/docs/d/cbs_storages_set.html.markdown
+++ b/website/docs/d/cbs_storages_set.html.markdown
@@ -53,6 +53,7 @@ In addition to all arguments above, the following attributes are exported:
* `dedicated_cluster_id` - Exclusive cluster id.
* `encrypt` - Indicates whether CBS is encrypted.
* `instance_id` - ID of the CVM instance that be mounted by this CBS.
+ * `kms_key_id` - Kms key ID.
* `prepaid_renew_flag` - The way that CBS instance will be renew automatically or not when it reach the end of the prepaid tenancy.
* `project_id` - ID of the project.
* `status` - Status of CBS.
diff --git a/website/docs/r/cbs_storage.html.markdown b/website/docs/r/cbs_storage.html.markdown
index 2f860a0205..5060b9017c 100644
--- a/website/docs/r/cbs_storage.html.markdown
+++ b/website/docs/r/cbs_storage.html.markdown
@@ -11,6 +11,8 @@ description: |-
Provides a resource to create a CBS storage.
+-> **NOTE:** When creating an encrypted disk, if `kms_key_id` is not entered, the product side will generate a key by default.
+
## Example Usage
### Create a standard CBS storage
@@ -25,7 +27,42 @@ resource "tencentcloud_cbs_storage" "example" {
encrypt = false
tags = {
- createBy = "terraform"
+ createBy = "Terraform"
+ }
+}
+```
+
+### Create an encrypted CBS storage with customize kms_key_id
+
+```hcl
+resource "tencentcloud_cbs_storage" "example" {
+ storage_name = "tf-example"
+ storage_type = "CLOUD_SSD"
+ storage_size = 100
+ availability_zone = "ap-guangzhou-3"
+ project_id = 0
+ kms_key_id = "2e860789-7ef0-11ef-8d1c-5254001955d1"
+ encrypt = true
+
+ tags = {
+ createBy = "Terraform"
+ }
+}
+```
+
+### Create an encrypted CBS storage with default generated kms_key_id
+
+```hcl
+resource "tencentcloud_cbs_storage" "example" {
+ storage_name = "tf-example"
+ storage_type = "CLOUD_SSD"
+ storage_size = 100
+ availability_zone = "ap-guangzhou-3"
+ project_id = 0
+ encrypt = true
+
+ tags = {
+ createBy = "Terraform"
}
}
```
@@ -44,7 +81,7 @@ resource "tencentcloud_cbs_storage" "example" {
encrypt = false
tags = {
- createBy = "terraform"
+ createBy = "Terraform"
}
}
```
@@ -60,8 +97,9 @@ The following arguments are supported:
* `charge_type` - (Optional, String) The charge type of CBS instance. Valid values are `PREPAID`, `POSTPAID_BY_HOUR`, `CDCPAID` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`.
* `dedicated_cluster_id` - (Optional, String, ForceNew) Exclusive cluster id.
* `disk_backup_quota` - (Optional, Int) The quota of backup points of cloud disk.
-* `encrypt` - (Optional, Bool, ForceNew) Indicates whether CBS is encrypted.
+* `encrypt` - (Optional, Bool, ForceNew) Pass in this parameter to create an encrypted cloud disk.
* `force_delete` - (Optional, Bool) Indicate whether to delete CBS instance directly or not. Default is false. If set true, the instance will be deleted instead of staying recycle bin.
+* `kms_key_id` - (Optional, String, ForceNew) Optional parameters. When purchasing an encryption disk, customize the key. When this parameter is passed in, the `encrypt` parameter need be set.
* `period` - (Optional, Int, **Deprecated**) It has been deprecated from version 1.33.0. Set `prepaid_period` instead. The purchased usage period of CBS. Valid values: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36].
* `prepaid_period` - (Optional, Int) The tenancy (time unit is month) of the prepaid instance, NOTE: it only works when charge_type is set to `PREPAID`. Valid values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36.
* `prepaid_renew_flag` - (Optional, String) Auto Renewal flag. Value range: `NOTIFY_AND_AUTO_RENEW`: Notify expiry and renew automatically, `NOTIFY_AND_MANUAL_RENEW`: Notify expiry but do not renew automatically, `DISABLE_NOTIFY_AND_MANUAL_RENEW`: Neither notify expiry nor renew automatically. Default value range: `NOTIFY_AND_MANUAL_RENEW`: Notify expiry but do not renew automatically. NOTE: it only works when charge_type is set to `PREPAID`.
diff --git a/website/docs/r/cbs_storage_set.html.markdown b/website/docs/r/cbs_storage_set.html.markdown
index 8cac214c27..6adb0644bd 100644
--- a/website/docs/r/cbs_storage_set.html.markdown
+++ b/website/docs/r/cbs_storage_set.html.markdown
@@ -11,6 +11,8 @@ description: |-
Provides a resource to create CBS set.
+-> **NOTE:** When creating encrypted disks, if `kms_key_id` is not entered, the product side will generate a key by default.
+
## Example Usage
### Create 3 standard CBS storages
@@ -27,6 +29,35 @@ resource "tencentcloud_cbs_storage_set" "example" {
}
```
+### Create 3 standard CBS storages with customize kms_key_id
+
+```hcl
+resource "tencentcloud_cbs_storage_set" "example" {
+ disk_count = 3
+ storage_name = "tf-example"
+ storage_type = "CLOUD_SSD"
+ storage_size = 100
+ availability_zone = "ap-guangzhou-3"
+ project_id = 0
+ kms_key_id = "b60b328d-7ed5-11ef-8836-5254009ad364"
+ encrypt = true
+}
+```
+
+### Create 3 encrypted CBS storage with default generated kms_key_id
+
+```hcl
+resource "tencentcloud_cbs_storage_set" "example" {
+ disk_count = 3
+ storage_name = "tf-example"
+ storage_type = "CLOUD_SSD"
+ storage_size = 100
+ availability_zone = "ap-guangzhou-3"
+ project_id = 0
+ encrypt = true
+}
+```
+
### Create 3 dedicated cluster CBS storages
```hcl
@@ -55,6 +86,7 @@ The following arguments are supported:
* `dedicated_cluster_id` - (Optional, String, ForceNew) Exclusive cluster id.
* `disk_count` - (Optional, Int, ForceNew) The number of disks to be purchased. Default 1.
* `encrypt` - (Optional, Bool, ForceNew) Indicates whether CBS is encrypted.
+* `kms_key_id` - (Optional, String, ForceNew) Optional parameters. When purchasing an encryption disk, customize the key. When this parameter is passed in, the `encrypt` parameter need be set.
* `project_id` - (Optional, Int) ID of the project to which the instance belongs.
* `snapshot_id` - (Optional, String) ID of the snapshot. If specified, created the CBS by this snapshot.
* `throughput_performance` - (Optional, Int) Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`.
From fade20acb7e7b774c7ab97b343dfb8d25a796d96 Mon Sep 17 00:00:00 2001
From: SevenEarth <391613297@qq.com>
Date: Mon, 28 Apr 2025 19:54:46 +0800
Subject: [PATCH 4/4] add
---
tencentcloud/services/cbs/resource_tc_cbs_storage.md | 2 ++
tencentcloud/services/cbs/resource_tc_cbs_storage_set.md | 2 ++
website/docs/r/cbs_storage.html.markdown | 2 ++
website/docs/r/cbs_storage_set.html.markdown | 2 ++
4 files changed, 8 insertions(+)
diff --git a/tencentcloud/services/cbs/resource_tc_cbs_storage.md b/tencentcloud/services/cbs/resource_tc_cbs_storage.md
index fbfbc836ad..386e061275 100644
--- a/tencentcloud/services/cbs/resource_tc_cbs_storage.md
+++ b/tencentcloud/services/cbs/resource_tc_cbs_storage.md
@@ -2,6 +2,8 @@ Provides a resource to create a CBS storage.
-> **NOTE:** When creating an encrypted disk, if `kms_key_id` is not entered, the product side will generate a key by default.
+-> **NOTE:** When using CBS encrypted disk, it is necessary to add `CVM_QcsRole` role and `QcloudKMSAccessForCVMRole` strategy to the account.
+
Example Usage
Create a standard CBS storage
diff --git a/tencentcloud/services/cbs/resource_tc_cbs_storage_set.md b/tencentcloud/services/cbs/resource_tc_cbs_storage_set.md
index a9f7fd8f6e..8a8f9bae52 100644
--- a/tencentcloud/services/cbs/resource_tc_cbs_storage_set.md
+++ b/tencentcloud/services/cbs/resource_tc_cbs_storage_set.md
@@ -2,6 +2,8 @@ Provides a resource to create CBS set.
-> **NOTE:** When creating encrypted disks, if `kms_key_id` is not entered, the product side will generate a key by default.
+-> **NOTE:** When using CBS encrypted disk, it is necessary to add `CVM_QcsRole` role and `QcloudKMSAccessForCVMRole` strategy to the account.
+
Example Usage
Create 3 standard CBS storages
diff --git a/website/docs/r/cbs_storage.html.markdown b/website/docs/r/cbs_storage.html.markdown
index 5060b9017c..d37936bb98 100644
--- a/website/docs/r/cbs_storage.html.markdown
+++ b/website/docs/r/cbs_storage.html.markdown
@@ -13,6 +13,8 @@ Provides a resource to create a CBS storage.
-> **NOTE:** When creating an encrypted disk, if `kms_key_id` is not entered, the product side will generate a key by default.
+-> **NOTE:** When using CBS encrypted disk, it is necessary to add `CVM_QcsRole` role and `QcloudKMSAccessForCVMRole` strategy to the account.
+
## Example Usage
### Create a standard CBS storage
diff --git a/website/docs/r/cbs_storage_set.html.markdown b/website/docs/r/cbs_storage_set.html.markdown
index 6adb0644bd..8a7e44e2a9 100644
--- a/website/docs/r/cbs_storage_set.html.markdown
+++ b/website/docs/r/cbs_storage_set.html.markdown
@@ -13,6 +13,8 @@ Provides a resource to create CBS set.
-> **NOTE:** When creating encrypted disks, if `kms_key_id` is not entered, the product side will generate a key by default.
+-> **NOTE:** When using CBS encrypted disk, it is necessary to add `CVM_QcsRole` role and `QcloudKMSAccessForCVMRole` strategy to the account.
+
## Example Usage
### Create 3 standard CBS storages