From 7235a4a775bb9c8fe00eb1686018b59d751b334b Mon Sep 17 00:00:00 2001 From: ZhiQiang Fan Date: Wed, 19 Jun 2019 17:17:19 +0800 Subject: [PATCH] feature: support data disks for tencentcloud builder Data disk is an important feature for instances and images, this patch implements the basic functionality of it. More work needs to be done to make it friendly to users. Docs has pointed out current limitation. Also update dependencies because this feature requires new code in tencentcloud go sdk. --- builder/tencentcloud/cvm/builder.go | 1 + builder/tencentcloud/cvm/run_config.go | 49 +- builder/tencentcloud/cvm/step_create_image.go | 9 + builder/tencentcloud/cvm/step_run_instance.go | 37 + .../tencentcloud/basic-with-data-disk.json | 34 + go.mod | 2 +- go.sum | 4 +- .../tencentcloud/common/client.go | 165 +- .../tencentcloud/common/http/request.go | 18 +- .../tencentcloud/common/http/response.go | 5 +- .../common/profile/client_profile.go | 10 +- .../tencentcloud/common/sign.go | 12 + .../tencentcloud/cvm/v20170312/client.go | 37 +- .../tencentcloud/cvm/v20170312/models.go | 1086 +++--- .../tencentcloud/vpc/v20170312/client.go | 670 +++- .../tencentcloud/vpc/v20170312/models.go | 2954 ++++++++++++----- vendor/modules.txt | 2 +- .../docs/builders/tencentcloud-cvm.html.md | 10 + 18 files changed, 3734 insertions(+), 1371 deletions(-) create mode 100644 examples/tencentcloud/basic-with-data-disk.json diff --git a/builder/tencentcloud/cvm/builder.go b/builder/tencentcloud/cvm/builder.go index 8fb894b0a..9b05846b3 100644 --- a/builder/tencentcloud/cvm/builder.go +++ b/builder/tencentcloud/cvm/builder.go @@ -104,6 +104,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack InstanceName: b.config.InstanceName, DiskType: b.config.DiskType, DiskSize: b.config.DiskSize, + DataDisks: b.config.DataDisks, HostName: b.config.HostName, InternetMaxBandwidthOut: b.config.InternetMaxBandwidthOut, AssociatePublicIpAddress: b.config.AssociatePublicIpAddress, diff --git a/builder/tencentcloud/cvm/run_config.go b/builder/tencentcloud/cvm/run_config.go index 182ee9938..ee44cce12 100644 --- a/builder/tencentcloud/cvm/run_config.go +++ b/builder/tencentcloud/cvm/run_config.go @@ -10,28 +10,35 @@ import ( "github.com/pkg/errors" ) +type tencentCloudDataDisk struct { + DiskType string `mapstructure:"disk_type"` + DiskSize int64 `mapstructure:"disk_size"` + SnapshotId string `mapstructure:"disk_snapshot_id"` +} + type TencentCloudRunConfig struct { - AssociatePublicIpAddress bool `mapstructure:"associate_public_ip_address"` - SourceImageId string `mapstructure:"source_image_id"` - InstanceType string `mapstructure:"instance_type"` - InstanceName string `mapstructure:"instance_name"` - DiskType string `mapstructure:"disk_type"` - DiskSize int64 `mapstructure:"disk_size"` - VpcId string `mapstructure:"vpc_id"` - VpcName string `mapstructure:"vpc_name"` - VpcIp string `mapstructure:"vpc_ip"` - SubnetId string `mapstructure:"subnet_id"` - SubnetName string `mapstructure:"subnet_name"` - CidrBlock string `mapstructure:"cidr_block"` // 10.0.0.0/16(default), 172.16.0.0/12, 192.168.0.0/16 - SubnectCidrBlock string `mapstructure:"subnect_cidr_block"` - InternetChargeType string `mapstructure:"internet_charge_type"` - InternetMaxBandwidthOut int64 `mapstructure:"internet_max_bandwidth_out"` - SecurityGroupId string `mapstructure:"security_group_id"` - SecurityGroupName string `mapstructure:"security_group_name"` - UserData string `mapstructure:"user_data"` - UserDataFile string `mapstructure:"user_data_file"` - HostName string `mapstructure:"host_name"` - RunTags map[string]string `mapstructure:"run_tags"` + AssociatePublicIpAddress bool `mapstructure:"associate_public_ip_address"` + SourceImageId string `mapstructure:"source_image_id"` + InstanceType string `mapstructure:"instance_type"` + InstanceName string `mapstructure:"instance_name"` + DiskType string `mapstructure:"disk_type"` + DiskSize int64 `mapstructure:"disk_size"` + DataDisks []tencentCloudDataDisk `mapstructure:"data_disks"` + VpcId string `mapstructure:"vpc_id"` + VpcName string `mapstructure:"vpc_name"` + VpcIp string `mapstructure:"vpc_ip"` + SubnetId string `mapstructure:"subnet_id"` + SubnetName string `mapstructure:"subnet_name"` + CidrBlock string `mapstructure:"cidr_block"` // 10.0.0.0/16(default), 172.16.0.0/12, 192.168.0.0/16 + SubnectCidrBlock string `mapstructure:"subnect_cidr_block"` + InternetChargeType string `mapstructure:"internet_charge_type"` + InternetMaxBandwidthOut int64 `mapstructure:"internet_max_bandwidth_out"` + SecurityGroupId string `mapstructure:"security_group_id"` + SecurityGroupName string `mapstructure:"security_group_name"` + UserData string `mapstructure:"user_data"` + UserDataFile string `mapstructure:"user_data_file"` + HostName string `mapstructure:"host_name"` + RunTags map[string]string `mapstructure:"run_tags"` // Communicator settings Comm communicator.Config `mapstructure:",squash"` diff --git a/builder/tencentcloud/cvm/step_create_image.go b/builder/tencentcloud/cvm/step_create_image.go index 85defb37d..1d162fa36 100644 --- a/builder/tencentcloud/cvm/step_create_image.go +++ b/builder/tencentcloud/cvm/step_create_image.go @@ -28,6 +28,15 @@ func (s *stepCreateImage) Run(ctx context.Context, state multistep.StateBag) mul req.ImageName = &config.ImageName req.ImageDescription = &config.ImageDescription req.InstanceId = instance.InstanceId + // TODO: We should allow user to specify which data disk should be + // included into created image. + var dataDiskIds []*string + for _, disk := range instance.DataDisks { + dataDiskIds = append(dataDiskIds, disk.DiskId) + } + if len(dataDiskIds) > 0 { + req.DataDiskIds = dataDiskIds + } True := "True" False := "False" diff --git a/builder/tencentcloud/cvm/step_run_instance.go b/builder/tencentcloud/cvm/step_run_instance.go index 9654b35e9..224a62425 100644 --- a/builder/tencentcloud/cvm/step_run_instance.go +++ b/builder/tencentcloud/cvm/step_run_instance.go @@ -27,6 +27,7 @@ type stepRunInstance struct { InternetMaxBandwidthOut int64 AssociatePublicIpAddress bool Tags map[string]string + DataDisks []tencentCloudDataDisk } func (s *stepRunInstance) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction { @@ -62,10 +63,46 @@ func (s *stepRunInstance) Run(ctx context.Context, state multistep.StateBag) mul req.ImageId = source_image.ImageId req.InstanceChargeType = &POSTPAID_BY_HOUR req.InstanceType = &s.InstanceType + // TODO: Add check for system disk size, it should be larger than image system disk size. req.SystemDisk = &cvm.SystemDisk{ DiskType: &s.DiskType, DiskSize: &s.DiskSize, } + // System disk snapshot is mandatory, so if there are additional data disks, + // length will be larger than 1. + if source_image.SnapshotSet != nil && len(source_image.SnapshotSet) > 1 { + ui.Say("Use source image snapshot data disks, ignore user data disk settings.") + var dataDisks []*cvm.DataDisk + for _, snapshot := range source_image.SnapshotSet { + if *snapshot.DiskUsage == "DATA_DISK" { + var dataDisk cvm.DataDisk + // FIXME: Currently we have no way to get original disk type + // from data disk snapshots, and we don't allow user to overwrite + // snapshot settings, and we cannot guarantee a certain hard-coded type + // is not sold out, so here we use system disk type as a workaround. + // + // Eventually, we need to allow user to overwrite snapshot disk + // settings. + dataDisk.DiskType = &s.DiskType + dataDisk.DiskSize = snapshot.DiskSize + dataDisk.SnapshotId = snapshot.SnapshotId + dataDisks = append(dataDisks, &dataDisk) + } + } + req.DataDisks = dataDisks + } else { + var dataDisks []*cvm.DataDisk + for _, disk := range s.DataDisks { + var dataDisk cvm.DataDisk + dataDisk.DiskType = &disk.DiskType + dataDisk.DiskSize = &disk.DiskSize + if disk.SnapshotId != "" { + dataDisk.SnapshotId = &disk.SnapshotId + } + dataDisks = append(dataDisks, &dataDisk) + } + req.DataDisks = dataDisks + } req.VirtualPrivateCloud = &cvm.VirtualPrivateCloud{ VpcId: &vpc_id, SubnetId: &subnet_id, diff --git a/examples/tencentcloud/basic-with-data-disk.json b/examples/tencentcloud/basic-with-data-disk.json new file mode 100644 index 000000000..695a68014 --- /dev/null +++ b/examples/tencentcloud/basic-with-data-disk.json @@ -0,0 +1,34 @@ +{ + "variables": { + "secret_id": "{{env `TENCENTCLOUD_ACCESS_KEY`}}", + "secret_key": "{{env `TENCENTCLOUD_SECRET_KEY`}}" + }, + "builders": [{ + "type": "tencentcloud-cvm", + "secret_id": "{{user `secret_id`}}", + "secret_key": "{{user `secret_key`}}", + "region": "ap-guangzhou", + "zone": "ap-guangzhou-4", + "instance_type": "S4.SMALL1", + "source_image_id": "img-oikl1tzv", + "ssh_username" : "root", + "image_name": "PackerTest", + "disk_type": "CLOUD_PREMIUM", + "packer_debug": true, + "associate_public_ip_address": true, + "run_tags": { + "good": "luck" + }, + "data_disks": [{ + "disk_type": "CLOUD_PREMIUM", + "disk_size": 50 + }] + }], + "provisioners": [{ + "type": "shell", + "inline": [ + "sleep 30", + "yum install redis.x86_64 -y" + ] + }] +} diff --git a/go.mod b/go.mod index 83b13b892..40b905983 100644 --- a/go.mod +++ b/go.mod @@ -109,7 +109,7 @@ require ( github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d // indirect github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c // indirect github.com/stretchr/testify v1.3.0 - github.com/tencentcloud/tencentcloud-sdk-go v0.0.0-20181220135002-f1744d40d346 + github.com/tencentcloud/tencentcloud-sdk-go v3.0.71+incompatible github.com/ucloud/ucloud-sdk-go v0.8.7 github.com/ugorji/go v0.0.0-20151218193438-646ae4a518c1 github.com/ulikunitz/xz v0.5.5 diff --git a/go.sum b/go.sum index ac5b2ac3e..9c07a6e8b 100644 --- a/go.sum +++ b/go.sum @@ -425,8 +425,8 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA= -github.com/tencentcloud/tencentcloud-sdk-go v0.0.0-20181220135002-f1744d40d346 h1:a014AaXz7AISMePv8xKRffUZZkr5z2XmSDf41gRV3+A= -github.com/tencentcloud/tencentcloud-sdk-go v0.0.0-20181220135002-f1744d40d346/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4= +github.com/tencentcloud/tencentcloud-sdk-go v3.0.71+incompatible h1:9sIWfe6ZC7xoSlshYWNGicPqomK7N+CsHMa1YFWBCWU= +github.com/tencentcloud/tencentcloud-sdk-go v3.0.71+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4= github.com/ucloud/ucloud-sdk-go v0.8.7 h1:BmXOb5RivI0Uu4oZRpjI6SQ9/y7n/H9wxTGR1txIE8o= github.com/ucloud/ucloud-sdk-go v0.8.7/go.mod h1:lM6fpI8y6iwACtlbHUav823/uKPdXsNBlnBpRF2fj3c= github.com/ugorji/go v0.0.0-20151218193438-646ae4a518c1 h1:U6ufy3mLDgg9RYupntOvAF7xCmNNquyKaYaaVHo1Nnk= 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 48bc5bcb5..599bbe9b3 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 @@ -1,8 +1,13 @@ package common import ( + "encoding/hex" + "encoding/json" + "fmt" "log" "net/http" + "strconv" + "strings" "time" tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http" @@ -10,12 +15,13 @@ import ( ) type Client struct { - region string - httpClient *http.Client - httpProfile *profile.HttpProfile - credential *Credential - signMethod string - debug bool + region string + httpClient *http.Client + httpProfile *profile.HttpProfile + credential *Credential + signMethod string + unsignedPayload bool + debug bool } func (c *Client) Send(request tchttp.Request, response tchttp.Response) (err error) { @@ -31,18 +37,27 @@ func (c *Client) Send(request tchttp.Request, response tchttp.Response) (err err request.SetHttpMethod(c.httpProfile.ReqMethod) } + tchttp.CompleteCommonParams(request, c.GetRegion()) + + if c.signMethod == "HmacSHA1" || c.signMethod == "HmacSHA256" { + return c.sendWithSignatureV1(request, response) + } else { + return c.sendWithSignatureV3(request, response) + } +} + +func (c *Client) sendWithSignatureV1(request tchttp.Request, response tchttp.Response) (err error) { err = tchttp.ConstructParams(request) if err != nil { - return + return err } - tchttp.CompleteCommonParams(request, c.GetRegion()) err = signRequest(request, c.credential, c.signMethod) if err != nil { - return + return err } httpRequest, err := http.NewRequest(request.GetHttpMethod(), request.GetUrl(), request.GetBodyReader()) if err != nil { - return + return err } if request.GetHttpMethod() == "POST" { httpRequest.Header["Content-Type"] = []string{"application/x-www-form-urlencoded"} @@ -53,7 +68,129 @@ func (c *Client) Send(request tchttp.Request, response tchttp.Response) (err err return err } err = tchttp.ParseFromHttpResponse(httpResponse, response) - return + return err +} + +func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Response) (err error) { + headers := map[string]string{ + "Host": request.GetDomain(), + "X-TC-Action": request.GetAction(), + "X-TC-Version": request.GetVersion(), + "X-TC-Timestamp": request.GetParams()["Timestamp"], + "X-TC-RequestClient": request.GetParams()["RequestClient"], + } + if c.region != "" { + headers["X-TC-Region"] = c.region + } + if c.credential.Token != "" { + headers["X-TC-Token"] = c.credential.Token + } + if request.GetHttpMethod() == "GET" { + headers["Content-Type"] = "application/x-www-form-urlencoded" + } else { + headers["Content-Type"] = "application/json" + } + + // start signature v3 process + + // build canonical request string + httpRequestMethod := request.GetHttpMethod() + canonicalURI := "/" + canonicalQueryString := "" + if httpRequestMethod == "GET" { + err = tchttp.ConstructParams(request) + if err != nil { + return err + } + params := make(map[string]string) + for key, value := range request.GetParams() { + params[key] = value + } + delete(params, "Action") + delete(params, "Version") + delete(params, "Nonce") + delete(params, "Region") + delete(params, "RequestClient") + delete(params, "Timestamp") + canonicalQueryString = tchttp.GetUrlQueriesEncoded(params) + } + canonicalHeaders := fmt.Sprintf("content-type:%s\nhost:%s\n", headers["Content-Type"], headers["Host"]) + signedHeaders := "content-type;host" + requestPayload := "" + if httpRequestMethod == "POST" { + b, err := json.Marshal(request) + if err != nil { + return err + } + requestPayload = string(b) + } + hashedRequestPayload := "" + if c.unsignedPayload { + hashedRequestPayload = sha256hex("UNSIGNED-PAYLOAD") + headers["X-TC-Content-SHA256"] = "UNSIGNED-PAYLOAD" + } else { + hashedRequestPayload = sha256hex(requestPayload) + } + canonicalRequest := fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n%s", + httpRequestMethod, + canonicalURI, + canonicalQueryString, + canonicalHeaders, + signedHeaders, + hashedRequestPayload) + //log.Println("canonicalRequest:", canonicalRequest) + + // build string to sign + algorithm := "TC3-HMAC-SHA256" + requestTimestamp := headers["X-TC-Timestamp"] + 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()) + hashedCanonicalRequest := sha256hex(canonicalRequest) + string2sign := fmt.Sprintf("%s\n%s\n%s\n%s", + algorithm, + requestTimestamp, + credentialScope, + hashedCanonicalRequest) + //log.Println("string2sign", string2sign) + + // sign string + secretDate := hmacsha256(date, "TC3"+c.credential.SecretKey) + secretService := hmacsha256(request.GetService(), secretDate) + secretKey := hmacsha256("tc3_request", secretService) + signature := hex.EncodeToString([]byte(hmacsha256(string2sign, secretKey))) + //log.Println("signature", signature) + + // build authorization + authorization := fmt.Sprintf("%s Credential=%s/%s, SignedHeaders=%s, Signature=%s", + algorithm, + c.credential.SecretId, + credentialScope, + signedHeaders, + signature) + //log.Println("authorization", authorization) + + headers["Authorization"] = authorization + url := "https://" + request.GetDomain() + request.GetPath() + if canonicalQueryString != "" { + url = url + "?" + canonicalQueryString + } + httpRequest, err := http.NewRequest(httpRequestMethod, url, strings.NewReader(requestPayload)) + if err != nil { + return err + } + for k, v := range headers { + httpRequest.Header[k] = []string{v} + } + //log.Printf("[DEBUG] http request=%v, body=%v", httpRequest, requestPayload) + httpResponse, err := c.httpClient.Do(httpRequest) + if err != nil { + return err + } + err = tchttp.ParseFromHttpResponse(httpResponse, response) + return err } func (c *Client) GetRegion() string { @@ -81,6 +218,7 @@ func (c *Client) WithCredential(cred *Credential) *Client { func (c *Client) WithProfile(clientProfile *profile.ClientProfile) *Client { c.signMethod = clientProfile.SignMethod + c.unsignedPayload = clientProfile.UnsignedPayload c.httpProfile = clientProfile.HttpProfile c.httpClient.Timeout = time.Duration(c.httpProfile.ReqTimeout) * time.Second return c @@ -91,6 +229,11 @@ func (c *Client) WithSignatureMethod(method string) *Client { return c } +func (c *Client) WithHttpTransport(transport http.RoundTripper) *Client { + c.httpClient.Transport = transport + return c +} + func NewClientWithSecretId(secretId, secretKey, region string) (client *Client, err error) { client = &Client{} client.Init(region).WithSecretId(secretId, secretKey) 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 160cfe162..4774013fa 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 @@ -92,7 +92,7 @@ func (r *BaseRequest) GetService() string { func (r *BaseRequest) GetUrl() string { if r.httpMethod == GET { - return "https://" + r.domain + r.path + "?" + getUrlQueriesEncoded(r.params) + return "https://" + r.domain + r.path + "?" + GetUrlQueriesEncoded(r.params) } else if r.httpMethod == POST { return "https://" + r.domain + r.path } else { @@ -104,7 +104,7 @@ func (r *BaseRequest) GetVersion() string { return r.version } -func getUrlQueriesEncoded(params map[string]string) string { +func GetUrlQueriesEncoded(params map[string]string) string { values := url.Values{} for key, value := range params { if value != "" { @@ -116,8 +116,7 @@ func getUrlQueriesEncoded(params map[string]string) string { func (r *BaseRequest) GetBodyReader() io.Reader { if r.httpMethod == POST { - s := getUrlQueriesEncoded(r.params) - //log.Printf("[DEBUG] body: %s", s) + s := GetUrlQueriesEncoded(r.params) return strings.NewReader(s) } else { return strings.NewReader("") @@ -153,7 +152,7 @@ func CompleteCommonParams(request Request, region string) { params["Action"] = request.GetAction() params["Timestamp"] = strconv.FormatInt(time.Now().Unix(), 10) params["Nonce"] = strconv.Itoa(rand.Int()) - params["RequestClient"] = "SDK_GO_3.0.42" + params["RequestClient"] = "SDK_GO_3.0.71" } func ConstructParams(req Request) (err error) { @@ -196,9 +195,8 @@ func flatStructure(value reflect.Value, request Request, prefix string) (err err } else if kind == reflect.Float64 { request.GetParams()[key] = strconv.FormatFloat(field.Float(), 'f', -1, 64) } else if kind == reflect.Slice { - list := value.Field(i) - for j := 0; j < list.Len(); j++ { - vj := list.Index(j) + for j := 0; j < field.Len(); j++ { + vj := field.Index(j) key := prefix + nameTag + "." + strconv.Itoa(j) kind = vj.Kind() if kind == reflect.Ptr && vj.IsNil() { @@ -219,11 +217,11 @@ func flatStructure(value reflect.Value, request Request, prefix string) (err err } else if kind == reflect.Float64 { request.GetParams()[key] = strconv.FormatFloat(vj.Float(), 'f', -1, 64) } else { - flatStructure(vj, request, key+".") + return flatStructure(vj, request, key+".") } } } else { - flatStructure(reflect.ValueOf(field.Interface()), request, prefix+nameTag+".") + return flatStructure(reflect.ValueOf(field.Interface()), request, prefix+nameTag+".") } } return diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/response.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/response.go index 8b9282a10..c8e27f7f5 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/response.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http/response.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" "io/ioutil" - //"log" + "log" "net/http" "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" @@ -69,5 +69,8 @@ func ParseFromHttpResponse(hr *http.Response, response Response) (err error) { return } err = json.Unmarshal(body, &response) + if err != nil { + log.Printf("Unexpected Error occurs when parsing API response\n%s\n", string(body[:])) + } return } 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 94c63b2f0..0fc71750b 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 @@ -1,13 +1,15 @@ package profile type ClientProfile struct { - HttpProfile *HttpProfile - SignMethod string + HttpProfile *HttpProfile + SignMethod string + UnsignedPayload bool } func NewClientProfile() *ClientProfile { return &ClientProfile{ - HttpProfile: NewHttpProfile(), - SignMethod: "HmacSHA256", + HttpProfile: NewHttpProfile(), + SignMethod: "TC3-HMAC-SHA256", + UnsignedPayload: false, } } diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/sign.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/sign.go index 450fe2ccd..63efd9227 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/sign.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/sign.go @@ -5,6 +5,7 @@ import ( "crypto/sha1" "crypto/sha256" "encoding/base64" + "encoding/hex" "fmt" "sort" "strings" @@ -27,6 +28,17 @@ func Sign(s, secretKey, method string) string { return base64.StdEncoding.EncodeToString(hashed.Sum(nil)) } +func sha256hex(s string) string { + b := sha256.Sum256([]byte(s)) + return hex.EncodeToString(b[:]) +} + +func hmacsha256(s, key string) string { + hashed := hmac.New(sha256.New, []byte(key)) + hashed.Write([]byte(s)) + return string(hashed.Sum(nil)) +} + func signRequest(request tchttp.Request, credential *Credential, method string) (err error) { if method != SHA256 { method = SHA1 diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/client.go index 8ec7096b1..3305127e1 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/client.go @@ -611,6 +611,33 @@ func (c *Client) DescribeInstances(request *DescribeInstancesRequest) (response return } +func NewDescribeInstancesOperationLimitRequest() (request *DescribeInstancesOperationLimitRequest) { + request = &DescribeInstancesOperationLimitRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("cvm", APIVersion, "DescribeInstancesOperationLimit") + return +} + +func NewDescribeInstancesOperationLimitResponse() (response *DescribeInstancesOperationLimitResponse) { + response = &DescribeInstancesOperationLimitResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeInstancesOperationLimit)用于查询实例操作限制。 +// +// * 目前支持调整配置操作限制次数查询。 +func (c *Client) DescribeInstancesOperationLimit(request *DescribeInstancesOperationLimitRequest) (response *DescribeInstancesOperationLimitResponse, err error) { + if request == nil { + request = NewDescribeInstancesOperationLimitRequest() + } + response = NewDescribeInstancesOperationLimitResponse() + err = c.Send(request, response) + return +} + func NewDescribeInstancesStatusRequest() (request *DescribeInstancesStatusRequest) { request = &DescribeInstancesStatusRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -785,7 +812,7 @@ func NewDisassociateInstancesKeyPairsResponse() (response *DisassociateInstances // // * 只支持[`STOPPED`](https://cloud.tencent.com/document/api/213/9452#INSTANCE_STATE)状态的`Linux`操作系统的实例。 // * 解绑密钥后,实例可以通过原来设置的密码登录。 -// * 如果原来没有设置密码,解绑后将无法使用 `SSH` 登录。可以调用 [ResetInstancesPassword](https://cloud.tencent.com/document/api/213/9397) 接口来设置登陆密码。 +// * 如果原来没有设置密码,解绑后将无法使用 `SSH` 登录。可以调用 [ResetInstancesPassword](https://cloud.tencent.com/document/api/213/15736) 接口来设置登录密码。 // * 支持批量操作。每次请求批量实例的上限为100。如果批量实例存在不允许操作的实例,操作会以特定错误码返回。 func (c *Client) DisassociateInstancesKeyPairs(request *DisassociateInstancesKeyPairsRequest) (response *DisassociateInstancesKeyPairsResponse, err error) { if request == nil { @@ -1006,7 +1033,6 @@ func NewInquiryPriceResetInstancesTypeResponse() (response *InquiryPriceResetIns // // * 目前只支持[系统盘类型](https://cloud.tencent.com/document/api/213/9452#block_device)是`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`类型的实例使用该接口进行调整机型询价。 // * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口调整机型询价。 -// * 目前不支持跨机型系统来调整机型,即使用该接口时指定的`InstanceType`和实例原来的机型需要属于同一系列。 // * 对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。 func (c *Client) InquiryPriceResetInstancesType(request *InquiryPriceResetInstancesTypeRequest) (response *InquiryPriceResetInstancesTypeResponse, err error) { if request == nil { @@ -1034,7 +1060,7 @@ func NewInquiryPriceResizeInstanceDisksResponse() (response *InquiryPriceResizeI // 本接口 (InquiryPriceResizeInstanceDisks) 用于扩容实例的数据盘询价。 // -// * 目前只支持扩容随实例购买的数据盘询价,且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。 +// * 目前只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性)询价,且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。 // * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口扩容数据盘询价。* 仅支持包年包月实例随机器购买的数据盘。* 目前只支持扩容一块数据盘询价。 func (c *Client) InquiryPriceResizeInstanceDisks(request *InquiryPriceResizeInstanceDisksRequest) (response *InquiryPriceResizeInstanceDisksResponse, err error) { if request == nil { @@ -1544,7 +1570,7 @@ func NewResetInstancesTypeResponse() (response *ResetInstancesTypeResponse) { // 本接口 (ResetInstancesType) 用于调整实例的机型。 // * 目前只支持[系统盘类型](/document/api/213/9452#block_device)是`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`类型的实例使用该接口进行机型调整。 -// * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口调整机型。* 目前不支持跨机型系统来调整机型,即使用该接口时指定的`InstanceType`和实例原来的机型需要属于同一系列。* 对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。 +// * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口调整机型。对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。 func (c *Client) ResetInstancesType(request *ResetInstancesTypeRequest) (response *ResetInstancesTypeResponse, err error) { if request == nil { request = NewResetInstancesTypeRequest() @@ -1571,7 +1597,8 @@ func NewResizeInstanceDisksResponse() (response *ResizeInstanceDisksResponse) { // 本接口 (ResizeInstanceDisks) 用于扩容实例的数据盘。 // -// * 目前只支持扩容随实例购买的数据盘,且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。* 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口扩容数据盘。 +// * 目前只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性),且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。 +// * 目前不支持[CDH](https://cloud.tencent.com/document/product/416)实例使用该接口扩容数据盘。 // * 对于包年包月实例,使用该接口会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/378/4397)接口查询账户余额。 // * 目前只支持扩容一块数据盘。 func (c *Client) ResizeInstanceDisks(request *ResizeInstanceDisksRequest) (response *ResizeInstanceDisksResponse, err error) { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/models.go index 5c0b9e030..aef3f7b30 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312/models.go @@ -23,35 +23,38 @@ import ( type ActionTimer struct { // 扩展数据 - Externals *Externals `json:"Externals" name:"Externals"` + Externals *Externals `json:"Externals,omitempty" name:"Externals"` // 定时器名称,目前仅支持销毁一个值:TerminateInstances。 - TimerAction *string `json:"TimerAction" name:"TimerAction"` + TimerAction *string `json:"TimerAction,omitempty" name:"TimerAction"` // 执行时间,格式形如:2018-5-29 11:26:40,执行时间必须大于当前时间5分钟。 - ActionTime *string `json:"ActionTime" name:"ActionTime"` + ActionTime *string `json:"ActionTime,omitempty" name:"ActionTime"` } type AllocateHostsRequest struct { *tchttp.BaseRequest // 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。 - Placement *Placement `json:"Placement" name:"Placement"` + Placement *Placement `json:"Placement,omitempty" name:"Placement"` // 用于保证请求幂等性的字符串。 - ClientToken *string `json:"ClientToken" name:"ClientToken"` + ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - HostChargePrepaid *ChargePrepaid `json:"HostChargePrepaid" name:"HostChargePrepaid"` + HostChargePrepaid *ChargePrepaid `json:"HostChargePrepaid,omitempty" name:"HostChargePrepaid"` // 实例计费类型。目前仅支持:PREPAID(预付费,即包年包月模式)。 - HostChargeType *string `json:"HostChargeType" name:"HostChargeType"` + HostChargeType *string `json:"HostChargeType,omitempty" name:"HostChargeType"` // CDH实例机型,默认为:'HS1'。 - HostType *string `json:"HostType" name:"HostType"` + HostType *string `json:"HostType,omitempty" name:"HostType"` // 购买CDH实例数量。 - HostCount *uint64 `json:"HostCount" name:"HostCount"` + HostCount *uint64 `json:"HostCount,omitempty" name:"HostCount"` + + // 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例。 + TagSpecification []*TagSpecification `json:"TagSpecification,omitempty" name:"TagSpecification" list` } func (r *AllocateHostsRequest) ToJsonString() string { @@ -68,10 +71,10 @@ type AllocateHostsResponse struct { Response *struct { // 新创建云子机的实例id列表。 - HostIdSet []*string `json:"HostIdSet" name:"HostIdSet" list` + HostIdSet []*string `json:"HostIdSet,omitempty" name:"HostIdSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -88,13 +91,13 @@ type AssociateInstancesKeyPairsRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID,每次请求批量实例的上限为100。
可以通过以下方式获取可用的实例ID:
  • 通过登录[控制台](https://console.cloud.tencent.com/cvm/index)查询实例ID。
  • 通过调用接口 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728) ,取返回信息中的`InstanceId`获取实例ID。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 一个或多个待操作的密钥对ID,每次请求批量密钥对的上限为100。密钥对ID形如:`skey-3glfot13`。
    可以通过以下方式获取可用的密钥ID:
  • 通过登录[控制台](https://console.cloud.tencent.com/cvm/sshkey)查询密钥ID。
  • 通过调用接口 [DescribeKeyPairs](https://cloud.tencent.com/document/api/213/15699) ,取返回信息中的`KeyId`获取密钥对ID。 - KeyIds []*string `json:"KeyIds" name:"KeyIds" list` + KeyIds []*string `json:"KeyIds,omitempty" name:"KeyIds" list` // 是否对运行中的实例选择强制关机。建议对运行中的实例先手动关机,然后再绑定密钥。取值范围:
  • TRUE:表示在正常关机失败后进行强制关机。
  • FALSE:表示在正常关机失败后不进行强制关机。
    默认取值:FALSE。 - ForceStop *bool `json:"ForceStop" name:"ForceStop"` + ForceStop *bool `json:"ForceStop,omitempty" name:"ForceStop"` } func (r *AssociateInstancesKeyPairsRequest) ToJsonString() string { @@ -111,7 +114,7 @@ type AssociateInstancesKeyPairsResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -128,10 +131,10 @@ type AssociateSecurityGroupsRequest struct { *tchttp.BaseRequest // 要绑定的`安全组ID`,类似sg-efil73jd,只支持绑定单个安全组。 - SecurityGroupIds []*string `json:"SecurityGroupIds" name:"SecurityGroupIds" list` + SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list` // 被绑定的`实例ID`,类似ins-lesecurk,支持指定多个实例。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` } func (r *AssociateSecurityGroupsRequest) ToJsonString() string { @@ -148,7 +151,7 @@ type AssociateSecurityGroupsResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -164,23 +167,23 @@ func (r *AssociateSecurityGroupsResponse) FromJsonString(s string) error { type ChargePrepaid struct { // 购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36。 - Period *uint64 `json:"Period" name:"Period"` + Period *uint64 `json:"Period,omitempty" name:"Period"` // 自动续费标识。取值范围:
  • NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
  • NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
  • DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费

    默认取值:NOTIFY_AND_AUTO_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。 - RenewFlag *string `json:"RenewFlag" name:"RenewFlag"` + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` } type CreateDisasterRecoverGroupRequest struct { *tchttp.BaseRequest // 分散置放群组名称,长度1-60个字符,支持中、英文。 - Name *string `json:"Name" name:"Name"` + Name *string `json:"Name,omitempty" name:"Name"` // 分散置放群组类型,取值范围:
  • HOST:物理机
  • SW:交换机
  • RACK:机架 - Type *string `json:"Type" name:"Type"` + Type *string `json:"Type,omitempty" name:"Type"` // 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
    更多详细信息请参阅:如何保证幂等性。 - ClientToken *string `json:"ClientToken" name:"ClientToken"` + ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"` } func (r *CreateDisasterRecoverGroupRequest) ToJsonString() string { @@ -197,25 +200,25 @@ type CreateDisasterRecoverGroupResponse struct { Response *struct { // 分散置放群组ID列表。 - DisasterRecoverGroupId *string `json:"DisasterRecoverGroupId" name:"DisasterRecoverGroupId"` + DisasterRecoverGroupId *string `json:"DisasterRecoverGroupId,omitempty" name:"DisasterRecoverGroupId"` // 分散置放群组类型,取值范围:
  • HOST:物理机
  • SW:交换机
  • RACK:机架 - Type *string `json:"Type" name:"Type"` + Type *string `json:"Type,omitempty" name:"Type"` // 分散置放群组名称,长度1-60个字符,支持中、英文。 - Name *string `json:"Name" name:"Name"` + Name *string `json:"Name,omitempty" name:"Name"` // 置放群组内可容纳的云主机数量。 - CvmQuotaTotal *int64 `json:"CvmQuotaTotal" name:"CvmQuotaTotal"` + CvmQuotaTotal *int64 `json:"CvmQuotaTotal,omitempty" name:"CvmQuotaTotal"` // 置放群组内已有的云主机数量。 - CurrentNum *int64 `json:"CurrentNum" name:"CurrentNum"` + CurrentNum *int64 `json:"CurrentNum,omitempty" name:"CurrentNum"` // 置放群组创建时间。 - CreateTime *string `json:"CreateTime" name:"CreateTime"` + CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -232,31 +235,31 @@ type CreateImageRequest struct { *tchttp.BaseRequest // 镜像名称 - ImageName *string `json:"ImageName" name:"ImageName"` + ImageName *string `json:"ImageName,omitempty" name:"ImageName"` // 需要制作镜像的实例ID - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 镜像描述 - ImageDescription *string `json:"ImageDescription" name:"ImageDescription"` + ImageDescription *string `json:"ImageDescription,omitempty" name:"ImageDescription"` // 软关机失败时是否执行强制关机以制作镜像 - ForcePoweroff *string `json:"ForcePoweroff" name:"ForcePoweroff"` + ForcePoweroff *string `json:"ForcePoweroff,omitempty" name:"ForcePoweroff"` // 创建Windows镜像时是否启用Sysprep - Sysprep *string `json:"Sysprep" name:"Sysprep"` + Sysprep *string `json:"Sysprep,omitempty" name:"Sysprep"` // 实例处于运行中时,是否允许关机执行制作镜像任务。 - Reboot *string `json:"Reboot" name:"Reboot"` + Reboot *string `json:"Reboot,omitempty" name:"Reboot"` // 实例需要制作镜像的数据盘Id - DataDiskIds []*string `json:"DataDiskIds" name:"DataDiskIds" list` + DataDiskIds []*string `json:"DataDiskIds,omitempty" name:"DataDiskIds" list` // 需要制作镜像的快照Id,必须包含一个系统盘快照 - SnapshotIds []*string `json:"SnapshotIds" name:"SnapshotIds" list` + SnapshotIds []*string `json:"SnapshotIds,omitempty" name:"SnapshotIds" list` - // DryRun - DryRun *bool `json:"DryRun" name:"DryRun"` + // 检测请求的合法性,但不会对操作的资源产生任何影响 + DryRun *bool `json:"DryRun,omitempty" name:"DryRun"` } func (r *CreateImageRequest) ToJsonString() string { @@ -273,7 +276,7 @@ type CreateImageResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -290,13 +293,13 @@ type CreateKeyPairRequest struct { *tchttp.BaseRequest // 密钥对名称,可由数字,字母和下划线组成,长度不超过25个字符。 - KeyName *string `json:"KeyName" name:"KeyName"` + KeyName *string `json:"KeyName,omitempty" name:"KeyName"` // 密钥对创建后所属的项目ID。 // 可以通过以下方式获取项目ID: //
  • 通过项目列表查询项目ID。 //
  • 通过调用接口DescribeProject,取返回信息中的`projectId `获取项目ID。 - ProjectId *int64 `json:"ProjectId" name:"ProjectId"` + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` } func (r *CreateKeyPairRequest) ToJsonString() string { @@ -313,10 +316,10 @@ type CreateKeyPairResponse struct { Response *struct { // 密钥对信息。 - KeyPair *KeyPair `json:"KeyPair" name:"KeyPair"` + KeyPair *KeyPair `json:"KeyPair,omitempty" name:"KeyPair"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -332,27 +335,32 @@ func (r *CreateKeyPairResponse) FromJsonString(s string) error { type DataDisk struct { // 数据盘大小,单位:GB。最小调整步长为10G,不同数据盘类型取值范围不同,具体限制详见:[CVM实例配置](/document/product/213/2177)。默认值为0,表示不购买数据盘。更多限制详见产品文档。 - DiskSize *int64 `json:"DiskSize" name:"DiskSize"` + DiskSize *int64 `json:"DiskSize,omitempty" name:"DiskSize"` // 数据盘类型。数据盘类型限制详见[CVM实例配置](/document/product/213/2177)。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_PREMIUM:高性能云硬盘
  • CLOUD_SSD:SSD云硬盘

    默认取值:LOCAL_BASIC。

    该参数对`ResizeInstanceDisk`接口无效。 - DiskType *string `json:"DiskType" name:"DiskType"` + DiskType *string `json:"DiskType,omitempty" name:"DiskType"` // 数据盘ID。LOCAL_BASIC 和 LOCAL_SSD 类型没有ID。暂时不支持该参数。 - DiskId *string `json:"DiskId" name:"DiskId"` + DiskId *string `json:"DiskId,omitempty" name:"DiskId"` // 数据盘是否随子机销毁。取值范围: - //
  • TRUE:子机销毁时,销毁数据盘 + //
  • TRUE:子机销毁时,销毁数据盘,只支持按小时后付费云盘 //
  • FALSE:子机销毁时,保留数据盘
    // 默认取值:TRUE
    // 该参数目前仅用于 `RunInstances` 接口。 - DeleteWithInstance *bool `json:"DeleteWithInstance" name:"DeleteWithInstance"` + // 注意:此字段可能返回 null,表示取不到有效值。 + DeleteWithInstance *bool `json:"DeleteWithInstance,omitempty" name:"DeleteWithInstance"` + + // 数据盘快照ID。选择的数据盘快照大小需小于数据盘大小。 + // 注意:此字段可能返回 null,表示取不到有效值。 + SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"` } type DeleteDisasterRecoverGroupsRequest struct { *tchttp.BaseRequest // 分散置放群组ID列表,可通过[DescribeDisasterRecoverGroups](https://cloud.tencent.com/document/api/213/17810)接口获取。 - DisasterRecoverGroupIds []*string `json:"DisasterRecoverGroupIds" name:"DisasterRecoverGroupIds" list` + DisasterRecoverGroupIds []*string `json:"DisasterRecoverGroupIds,omitempty" name:"DisasterRecoverGroupIds" list` } func (r *DeleteDisasterRecoverGroupsRequest) ToJsonString() string { @@ -369,7 +377,7 @@ type DeleteDisasterRecoverGroupsResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -386,7 +394,7 @@ type DeleteImagesRequest struct { *tchttp.BaseRequest // 准备删除的镜像Id列表 - ImageIds []*string `json:"ImageIds" name:"ImageIds" list` + ImageIds []*string `json:"ImageIds,omitempty" name:"ImageIds" list` } func (r *DeleteImagesRequest) ToJsonString() string { @@ -403,7 +411,7 @@ type DeleteImagesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -420,7 +428,7 @@ type DeleteKeyPairsRequest struct { *tchttp.BaseRequest // 一个或多个待操作的密钥对ID。每次请求批量密钥对的上限为100。
    可以通过以下方式获取可用的密钥ID:
  • 通过登录[控制台](https://console.cloud.tencent.com/cvm/sshkey)查询密钥ID。
  • 通过调用接口 [DescribeKeyPairs](https://cloud.tencent.com/document/api/213/15699) ,取返回信息中的 `KeyId` 获取密钥对ID。 - KeyIds []*string `json:"KeyIds" name:"KeyIds" list` + KeyIds []*string `json:"KeyIds,omitempty" name:"KeyIds" list` } func (r *DeleteKeyPairsRequest) ToJsonString() string { @@ -437,7 +445,7 @@ type DeleteKeyPairsResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -468,22 +476,22 @@ type DescribeDisasterRecoverGroupQuotaResponse struct { Response *struct { // 可创建置放群组数量的上限。 - GroupQuota *int64 `json:"GroupQuota" name:"GroupQuota"` + GroupQuota *int64 `json:"GroupQuota,omitempty" name:"GroupQuota"` // 当前用户已经创建的置放群组数量。 - CurrentNum *int64 `json:"CurrentNum" name:"CurrentNum"` + CurrentNum *int64 `json:"CurrentNum,omitempty" name:"CurrentNum"` // 物理机类型容灾组内实例的配额数。 - CvmInHostGroupQuota *int64 `json:"CvmInHostGroupQuota" name:"CvmInHostGroupQuota"` + CvmInHostGroupQuota *int64 `json:"CvmInHostGroupQuota,omitempty" name:"CvmInHostGroupQuota"` // 交换机类型容灾组内实例的配额数。 - CvmInSwGroupQuota *int64 `json:"CvmInSwGroupQuota" name:"CvmInSwGroupQuota"` + CvmInSwGroupQuota *int64 `json:"CvmInSwGroupQuota,omitempty" name:"CvmInSwGroupQuota"` // 机架类型容灾组内实例的配额数。 - CvmInRackGroupQuota *int64 `json:"CvmInRackGroupQuota" name:"CvmInRackGroupQuota"` + CvmInRackGroupQuota *int64 `json:"CvmInRackGroupQuota,omitempty" name:"CvmInRackGroupQuota"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -500,16 +508,16 @@ type DescribeDisasterRecoverGroupsRequest struct { *tchttp.BaseRequest // 分散置放群组ID列表。 - DisasterRecoverGroupIds []*string `json:"DisasterRecoverGroupIds" name:"DisasterRecoverGroupIds" list` + DisasterRecoverGroupIds []*string `json:"DisasterRecoverGroupIds,omitempty" name:"DisasterRecoverGroupIds" list` // 分散置放群组名称,支持模糊匹配。 - Name *string `json:"Name" name:"Name"` + Name *string `json:"Name,omitempty" name:"Name"` // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 - Offset *int64 `json:"Offset" name:"Offset"` + Offset *int64 `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 - Limit *int64 `json:"Limit" name:"Limit"` + Limit *int64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeDisasterRecoverGroupsRequest) ToJsonString() string { @@ -526,13 +534,13 @@ type DescribeDisasterRecoverGroupsResponse struct { Response *struct { // 分散置放群组信息列表。 - DisasterRecoverGroupSet []*DisasterRecoverGroup `json:"DisasterRecoverGroupSet" name:"DisasterRecoverGroupSet" list` + DisasterRecoverGroupSet []*DisasterRecoverGroup `json:"DisasterRecoverGroupSet,omitempty" name:"DisasterRecoverGroupSet" list` // 用户置放群组总量。 - TotalCount *int64 `json:"TotalCount" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -554,13 +562,13 @@ type DescribeHostsRequest struct { //
  • host-id - String - 是否必填:否 - (过滤条件)按照CDH ID过滤。CDH ID形如:host-11112222。
  • //
  • host-name - String - 是否必填:否 - (过滤条件)按照CDH实例名称过滤。
  • //
  • host-state - String - 是否必填:否 - (过滤条件)按照CDH实例状态进行过滤。(PENDING:创建中|LAUNCH_FAILURE:创建失败|RUNNING:运行中|EXPIRED:已过期)
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeHostsRequest) ToJsonString() string { @@ -577,13 +585,13 @@ type DescribeHostsResponse struct { Response *struct { // 符合查询条件的cdh实例总数 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // cdh实例详细信息列表 - HostSet []*HostItem `json:"HostSet" name:"HostSet" list` + HostSet []*HostItem `json:"HostSet,omitempty" name:"HostSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -614,10 +622,10 @@ type DescribeImageQuotaResponse struct { Response *struct { // 账户的镜像配额 - ImageNumQuota *int64 `json:"ImageNumQuota" name:"ImageNumQuota"` + ImageNumQuota *int64 `json:"ImageNumQuota,omitempty" name:"ImageNumQuota"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -634,7 +642,7 @@ type DescribeImageSharePermissionRequest struct { *tchttp.BaseRequest // 需要共享的镜像Id - ImageId *string `json:"ImageId" name:"ImageId"` + ImageId *string `json:"ImageId,omitempty" name:"ImageId"` } func (r *DescribeImageSharePermissionRequest) ToJsonString() string { @@ -651,10 +659,10 @@ type DescribeImageSharePermissionResponse struct { Response *struct { // 镜像共享信息 - SharePermissionSet []*SharePermission `json:"SharePermissionSet" name:"SharePermissionSet" list` + SharePermissionSet []*SharePermission `json:"SharePermissionSet,omitempty" name:"SharePermissionSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -671,22 +679,22 @@ type DescribeImagesRequest struct { *tchttp.BaseRequest // 镜像ID列表 。镜像ID如:`img-gvbnzy6f`。array型参数的格式可以参考[API简介](https://cloud.tencent.com/document/api/213/15688)。镜像ID可以通过如下方式获取:
  • 通过[DescribeImages](https://cloud.tencent.com/document/api/213/15715)接口返回的`ImageId`获取。
  • 通过[镜像控制台](https://console.cloud.tencent.com/cvm/image)获取。 - ImageIds []*string `json:"ImageIds" name:"ImageIds" list` + ImageIds []*string `json:"ImageIds,omitempty" name:"ImageIds" list` // 过滤条件,每次请求的`Filters`的上限为0,`Filters.Values`的上限为5。参数不可以同时指定`ImageIds`和`Filters`。详细的过滤条件如下: //
  • image-id - String - 是否必填: 否 - (过滤条件)按照镜像ID进行过滤
  • //
  • image-type - String - 是否必填: 否 - (过滤条件)按照镜像类型进行过滤。取值范围:详见[镜像类型](https://cloud.tencent.com/document/product/213/9452#image_type)。
  • //
  • image-state - String - 是否必填: 否 - (过滤条件)按照镜像状态进行过滤。取值范围:详见[镜像状态](https://cloud.tencent.com/document/product/213/9452#image_state)。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。关于Offset详见[API简介](/document/api/213/568#.E8.BE.93.E5.85.A5.E5.8F.82.E6.95.B0.E4.B8.8E.E8.BF.94.E5.9B.9E.E5.8F.82.E6.95.B0.E9.87.8A.E4.B9.89)。 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 数量限制,默认为20,最大值为100。关于Limit详见[API简介](/document/api/213/568#.E8.BE.93.E5.85.A5.E5.8F.82.E6.95.B0.E4.B8.8E.E8.BF.94.E5.9B.9E.E5.8F.82.E6.95.B0.E9.87.8A.E4.B9.89)。 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` // 实例类型,如 `S1.SMALL1` - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` } func (r *DescribeImagesRequest) ToJsonString() string { @@ -703,13 +711,13 @@ type DescribeImagesResponse struct { Response *struct { // 一个关于镜像详细信息的结构体,主要包括镜像的主要状态与属性。 - ImageSet []*Image `json:"ImageSet" name:"ImageSet" list` + ImageSet []*Image `json:"ImageSet,omitempty" name:"ImageSet" list` // 符合要求的镜像数量。 - TotalCount *int64 `json:"TotalCount" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -740,13 +748,13 @@ type DescribeImportImageOsResponse struct { Response *struct { // 支持的导入镜像的操作系统类型。 - ImportImageOsListSupported *ImageOsList `json:"ImportImageOsListSupported" name:"ImportImageOsListSupported"` + ImportImageOsListSupported *ImageOsList `json:"ImportImageOsListSupported,omitempty" name:"ImportImageOsListSupported"` // 支持的导入镜像的操作系统版本。 - ImportImageOsVersionSet []*OsVersion `json:"ImportImageOsVersionSet" name:"ImportImageOsVersionSet" list` + ImportImageOsVersionSet []*OsVersion `json:"ImportImageOsVersionSet,omitempty" name:"ImportImageOsVersionSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -777,10 +785,10 @@ type DescribeInstanceFamilyConfigsResponse struct { Response *struct { // 实例机型组配置的列表信息 - InstanceFamilyConfigSet []*InstanceFamilyConfig `json:"InstanceFamilyConfigSet" name:"InstanceFamilyConfigSet" list` + InstanceFamilyConfigSet []*InstanceFamilyConfig `json:"InstanceFamilyConfigSet,omitempty" name:"InstanceFamilyConfigSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -797,7 +805,7 @@ type DescribeInstanceInternetBandwidthConfigsRequest struct { *tchttp.BaseRequest // 待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } func (r *DescribeInstanceInternetBandwidthConfigsRequest) ToJsonString() string { @@ -814,10 +822,10 @@ type DescribeInstanceInternetBandwidthConfigsResponse struct { Response *struct { // 带宽配置信息列表。 - InternetBandwidthConfigSet []*InternetBandwidthConfig `json:"InternetBandwidthConfigSet" name:"InternetBandwidthConfigSet" list` + InternetBandwidthConfigSet []*InternetBandwidthConfig `json:"InternetBandwidthConfigSet,omitempty" name:"InternetBandwidthConfigSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -837,7 +845,7 @@ type DescribeInstanceTypeConfigsRequest struct { //
  • zone - String - 是否必填:否 -(过滤条件)按照[可用区](https://cloud.tencent.com/document/api/213/9452#zone)过滤。
  • //
  • instance-family - String - 是否必填:否 -(过滤条件)按照实例机型系列过滤。实例机型系列形如:S1、I1、M1等。
  • // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为1。 - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` } func (r *DescribeInstanceTypeConfigsRequest) ToJsonString() string { @@ -854,10 +862,10 @@ type DescribeInstanceTypeConfigsResponse struct { Response *struct { // 实例机型配置列表。 - InstanceTypeConfigSet []*InstanceTypeConfig `json:"InstanceTypeConfigSet" name:"InstanceTypeConfigSet" list` + InstanceTypeConfigSet []*InstanceTypeConfig `json:"InstanceTypeConfigSet,omitempty" name:"InstanceTypeConfigSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -874,7 +882,7 @@ type DescribeInstanceVncUrlRequest struct { *tchttp.BaseRequest // 一个操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728) API返回值中的`InstanceId`获取。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } func (r *DescribeInstanceVncUrlRequest) ToJsonString() string { @@ -891,10 +899,10 @@ type DescribeInstanceVncUrlResponse struct { Response *struct { // 实例的管理终端地址。 - InstanceVncUrl *string `json:"InstanceVncUrl" name:"InstanceVncUrl"` + InstanceVncUrl *string `json:"InstanceVncUrl,omitempty" name:"InstanceVncUrl"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -907,11 +915,52 @@ func (r *DescribeInstanceVncUrlResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DescribeInstancesOperationLimitRequest struct { + *tchttp.BaseRequest + + // 按照一个或者多个实例ID查询,可通过[DescribeInstances](https://cloud.tencent.com/document/api/213/9388)API返回值中的InstanceId获取。实例ID形如:ins-xxxxxxxx。(此参数的具体格式可参考API[简介](https://cloud.tencent.com/document/api/213/15688)的id.N一节)。每次请求的实例的上限为100。 + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` + + // 实例操作。 + //
  • INSTANCE_DEGRADE:实例降配操作
  • + Operation *string `json:"Operation,omitempty" name:"Operation"` +} + +func (r *DescribeInstancesOperationLimitRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeInstancesOperationLimitRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeInstancesOperationLimitResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 该参数表示调整配置操作(降配)限制次数查询。 + InstanceOperationLimitSet []*OperationCountLimit `json:"InstanceOperationLimitSet,omitempty" name:"InstanceOperationLimitSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeInstancesOperationLimitResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeInstancesOperationLimitResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DescribeInstancesRequest struct { *tchttp.BaseRequest // 按照一个或者多个实例ID查询。实例ID形如:`ins-xxxxxxxx`。(此参数的具体格式可参考API[简介](https://cloud.tencent.com/document/api/213/15688)的`id.N`一节)。每次请求的实例的上限为100。参数不支持同时指定`InstanceIds`和`Filters`。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 过滤条件。 //
  • zone - String - 是否必填:否 -(过滤条件)按照可用区过滤。
  • @@ -929,13 +978,13 @@ type DescribeInstancesRequest struct { //
  • tag-value - String - 是否必填:否 - (过滤条件)按照标签值进行过滤。
  • //
  • tag:tag-key - String - 是否必填:否 - (过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。使用请参考示例2。
  • // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`InstanceIds`和`Filters`。 - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 - Offset *int64 `json:"Offset" name:"Offset"` + Offset *int64 `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 - Limit *int64 `json:"Limit" name:"Limit"` + Limit *int64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeInstancesRequest) ToJsonString() string { @@ -952,13 +1001,13 @@ type DescribeInstancesResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *int64 `json:"TotalCount" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` // 实例详细信息列表。 - InstanceSet []*Instance `json:"InstanceSet" name:"InstanceSet" list` + InstanceSet []*Instance `json:"InstanceSet,omitempty" name:"InstanceSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -975,13 +1024,13 @@ type DescribeInstancesStatusRequest struct { *tchttp.BaseRequest // 按照一个或者多个实例ID查询。实例ID形如:`ins-11112222`。此参数的具体格式可参考API[简介](https://cloud.tencent.com/document/api/213/15688)的`id.N`一节)。每次请求的实例的上限为100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 - Offset *int64 `json:"Offset" name:"Offset"` + Offset *int64 `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 - Limit *int64 `json:"Limit" name:"Limit"` + Limit *int64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeInstancesStatusRequest) ToJsonString() string { @@ -998,13 +1047,13 @@ type DescribeInstancesStatusResponse struct { Response *struct { // 符合条件的实例状态数量。 - TotalCount *int64 `json:"TotalCount" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` // [实例状态](https://cloud.tencent.com/document/api/213/15738) 列表。 - InstanceStatusSet []*InstanceStatus `json:"InstanceStatusSet" name:"InstanceStatusSet" list` + InstanceStatusSet []*InstanceStatus `json:"InstanceStatusSet,omitempty" name:"InstanceStatusSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1035,10 +1084,10 @@ type DescribeInternetChargeTypeConfigsResponse struct { Response *struct { // 网络计费类型配置。 - InternetChargeTypeConfigSet []*InternetChargeTypeConfig `json:"InternetChargeTypeConfigSet" name:"InternetChargeTypeConfigSet" list` + InternetChargeTypeConfigSet []*InternetChargeTypeConfig `json:"InternetChargeTypeConfigSet,omitempty" name:"InternetChargeTypeConfigSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1055,18 +1104,18 @@ type DescribeKeyPairsRequest struct { *tchttp.BaseRequest // 密钥对ID,密钥对ID形如:`skey-11112222`(此接口支持同时传入多个ID进行过滤。此参数的具体格式可参考 API [简介](https://cloud.tencent.com/document/api/213/15688)的 `id.N` 一节)。参数不支持同时指定 `KeyIds` 和 `Filters`。密钥对ID可以通过登录[控制台](https://console.cloud.tencent.com/cvm/index)查询。 - KeyIds []*string `json:"KeyIds" name:"KeyIds" list` + KeyIds []*string `json:"KeyIds,omitempty" name:"KeyIds" list` // 过滤条件。 //
  • project-id - Integer - 是否必填:否 -(过滤条件)按照项目ID过滤。可以通过[项目列表](https://console.cloud.tencent.com/project)查询项目ID,或者调用接口 [DescribeProject](https://cloud.tencent.com/document/api/378/4400),取返回信息中的projectId获取项目ID。
  • //
  • key-name - String - 是否必填:否 -(过滤条件)按照密钥对名称过滤。
  • 参数不支持同时指定 `KeyIds` 和 `Filters`。 - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。关于 `Offset` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。返回数量,默认为20,最大值为100。关于 `Limit` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 - Offset *int64 `json:"Offset" name:"Offset"` + Offset *int64 `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。关于 `Limit` 的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/15688)中的相关小节。 - Limit *int64 `json:"Limit" name:"Limit"` + Limit *int64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeKeyPairsRequest) ToJsonString() string { @@ -1083,13 +1132,13 @@ type DescribeKeyPairsResponse struct { Response *struct { // 符合条件的密钥对数量。 - TotalCount *int64 `json:"TotalCount" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` // 密钥对详细信息列表。 - KeyPairSet []*KeyPair `json:"KeyPairSet" name:"KeyPairSet" list` + KeyPairSet []*KeyPair `json:"KeyPairSet,omitempty" name:"KeyPairSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1120,13 +1169,13 @@ type DescribeRegionsResponse struct { Response *struct { // 地域数量 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 地域列表信息 - RegionSet []*RegionInfo `json:"RegionSet" name:"RegionSet" list` + RegionSet []*RegionInfo `json:"RegionSet,omitempty" name:"RegionSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1151,7 +1200,7 @@ type DescribeZoneInstanceConfigInfosRequest struct { //
  • instance-type - String - 是否必填:否 - (过滤条件)按照机型过滤。按照实例机型过滤。不同实例机型指定了不同的资源规格,具体取值可通过调用接口 DescribeInstanceTypeConfigs 来获得最新的规格表或参见实例类型描述。若不指定该参数,则默认机型为S1.SMALL1。
  • // //
  • instance-charge-type - String - 是否必填:否 -(过滤条件)按照实例计费模式过滤。 (PREPAID:表示预付费,即包年包月 | POSTPAID_BY_HOUR:表示后付费,即按量计费 | CDHPAID:表示CDH付费,即只对CDH计费,不对CDH上的实例计费。 )
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` } func (r *DescribeZoneInstanceConfigInfosRequest) ToJsonString() string { @@ -1168,10 +1217,10 @@ type DescribeZoneInstanceConfigInfosResponse struct { Response *struct { // 可用区机型配置列表。 - InstanceTypeQuotaSet []*InstanceTypeQuotaItem `json:"InstanceTypeQuotaSet" name:"InstanceTypeQuotaSet" list` + InstanceTypeQuotaSet []*InstanceTypeQuotaItem `json:"InstanceTypeQuotaSet,omitempty" name:"InstanceTypeQuotaSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1202,13 +1251,13 @@ type DescribeZonesResponse struct { Response *struct { // 可用区数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 可用区列表信息。 - ZoneSet []*ZoneInfo `json:"ZoneSet" name:"ZoneSet" list` + ZoneSet []*ZoneInfo `json:"ZoneSet,omitempty" name:"ZoneSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1225,13 +1274,13 @@ type DisassociateInstancesKeyPairsRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID,每次请求批量实例的上限为100。

    可以通过以下方式获取可用的实例ID:
  • 通过登录[控制台](https://console.cloud.tencent.com/cvm/index)查询实例ID。
  • 通过调用接口 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728) ,取返回信息中的 `InstanceId` 获取实例ID。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 密钥对ID列表,每次请求批量密钥对的上限为100。密钥对ID形如:`skey-11112222`。

    可以通过以下方式获取可用的密钥ID:
  • 通过登录[控制台](https://console.cloud.tencent.com/cvm/sshkey)查询密钥ID。
  • 通过调用接口 [DescribeKeyPairs](https://cloud.tencent.com/document/api/213/15699) ,取返回信息中的 `KeyId` 获取密钥对ID。 - KeyIds []*string `json:"KeyIds" name:"KeyIds" list` + KeyIds []*string `json:"KeyIds,omitempty" name:"KeyIds" list` // 是否对运行中的实例选择强制关机。建议对运行中的实例先手动关机,然后再解绑密钥。取值范围:
  • TRUE:表示在正常关机失败后进行强制关机。
  • FALSE:表示在正常关机失败后不进行强制关机。

    默认取值:FALSE。 - ForceStop *bool `json:"ForceStop" name:"ForceStop"` + ForceStop *bool `json:"ForceStop,omitempty" name:"ForceStop"` } func (r *DisassociateInstancesKeyPairsRequest) ToJsonString() string { @@ -1248,7 +1297,7 @@ type DisassociateInstancesKeyPairsResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1265,10 +1314,10 @@ type DisassociateSecurityGroupsRequest struct { *tchttp.BaseRequest // 要解绑的`安全组ID`,类似sg-efil73jd,只支持解绑单个安全组。 - SecurityGroupIds []*string `json:"SecurityGroupIds" name:"SecurityGroupIds" list` + SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list` // 被解绑的`实例ID`,类似ins-lesecurk,支持指定多个实例 。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` } func (r *DisassociateSecurityGroupsRequest) ToJsonString() string { @@ -1285,7 +1334,7 @@ type DisassociateSecurityGroupsResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1301,197 +1350,214 @@ func (r *DisassociateSecurityGroupsResponse) FromJsonString(s string) error { type DisasterRecoverGroup struct { // 分散置放群组id。 - DisasterRecoverGroupId *string `json:"DisasterRecoverGroupId" name:"DisasterRecoverGroupId"` + DisasterRecoverGroupId *string `json:"DisasterRecoverGroupId,omitempty" name:"DisasterRecoverGroupId"` // 分散置放群组名称,长度1-60个字符。 - Name *string `json:"Name" name:"Name"` + Name *string `json:"Name,omitempty" name:"Name"` // 分散置放群组类型,取值范围:
  • HOST:物理机
  • SW:交换机
  • RACK:机架 - Type *string `json:"Type" name:"Type"` + Type *string `json:"Type,omitempty" name:"Type"` // 分散置放群组内最大容纳云主机数量。 - CvmQuotaTotal *int64 `json:"CvmQuotaTotal" name:"CvmQuotaTotal"` + CvmQuotaTotal *int64 `json:"CvmQuotaTotal,omitempty" name:"CvmQuotaTotal"` // 分散置放群组内云主机当前数量。 - CurrentNum *int64 `json:"CurrentNum" name:"CurrentNum"` + CurrentNum *int64 `json:"CurrentNum,omitempty" name:"CurrentNum"` // 分散置放群组内,云主机id列表。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 分散置放群组创建时间。 - CreateTime *string `json:"CreateTime" name:"CreateTime"` + // 注意:此字段可能返回 null,表示取不到有效值。 + CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` } type EnhancedService struct { // 开启云安全服务。若不指定该参数,则默认开启云安全服务。 - SecurityService *RunSecurityServiceEnabled `json:"SecurityService" name:"SecurityService"` + SecurityService *RunSecurityServiceEnabled `json:"SecurityService,omitempty" name:"SecurityService"` // 开启云监控服务。若不指定该参数,则默认开启云监控服务。 - MonitorService *RunMonitorServiceEnabled `json:"MonitorService" name:"MonitorService"` + MonitorService *RunMonitorServiceEnabled `json:"MonitorService,omitempty" name:"MonitorService"` } type Externals struct { // 释放地址 - ReleaseAddress *bool `json:"ReleaseAddress" name:"ReleaseAddress"` + // 注意:此字段可能返回 null,表示取不到有效值。 + ReleaseAddress *bool `json:"ReleaseAddress,omitempty" name:"ReleaseAddress"` // 不支持的网络类型 - UnsupportNetworks []*string `json:"UnsupportNetworks" name:"UnsupportNetworks" list` + // 注意:此字段可能返回 null,表示取不到有效值。 + UnsupportNetworks []*string `json:"UnsupportNetworks,omitempty" name:"UnsupportNetworks" list` // HDD本地存储属性 - StorageBlockAttr *StorageBlock `json:"StorageBlockAttr" name:"StorageBlockAttr"` + // 注意:此字段可能返回 null,表示取不到有效值。 + StorageBlockAttr *StorageBlock `json:"StorageBlockAttr,omitempty" name:"StorageBlockAttr"` } type Filter struct { // 需要过滤的字段。 - Name *string `json:"Name" name:"Name"` + Name *string `json:"Name,omitempty" name:"Name"` // 字段的过滤值。 - Values []*string `json:"Values" name:"Values" list` + Values []*string `json:"Values,omitempty" name:"Values" list` } type HostItem struct { // cdh实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。 - Placement *Placement `json:"Placement" name:"Placement"` + Placement *Placement `json:"Placement,omitempty" name:"Placement"` // cdh实例id - HostId *string `json:"HostId" name:"HostId"` + HostId *string `json:"HostId,omitempty" name:"HostId"` // cdh实例类型 - HostType *string `json:"HostType" name:"HostType"` + HostType *string `json:"HostType,omitempty" name:"HostType"` // cdh实例名称 - HostName *string `json:"HostName" name:"HostName"` + HostName *string `json:"HostName,omitempty" name:"HostName"` // cdh实例付费模式 - HostChargeType *string `json:"HostChargeType" name:"HostChargeType"` + HostChargeType *string `json:"HostChargeType,omitempty" name:"HostChargeType"` // cdh实例自动续费标记 - RenewFlag *string `json:"RenewFlag" name:"RenewFlag"` + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` // cdh实例创建时间 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` // cdh实例过期时间 - ExpiredTime *string `json:"ExpiredTime" name:"ExpiredTime"` + ExpiredTime *string `json:"ExpiredTime,omitempty" name:"ExpiredTime"` // cdh实例上已创建云子机的实例id列表 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // cdh实例状态 - HostState *string `json:"HostState" name:"HostState"` + HostState *string `json:"HostState,omitempty" name:"HostState"` // cdh实例ip - HostIp *string `json:"HostIp" name:"HostIp"` + HostIp *string `json:"HostIp,omitempty" name:"HostIp"` // cdh实例资源信息 - HostResource *HostResource `json:"HostResource" name:"HostResource"` + HostResource *HostResource `json:"HostResource,omitempty" name:"HostResource"` + + // 专用宿主机所属的围笼ID。该字段仅对金融专区围笼内的专用宿主机有效。 + // 注意:此字段可能返回 null,表示取不到有效值。 + CageId *string `json:"CageId,omitempty" name:"CageId"` } type HostResource struct { // cdh实例总cpu核数 - CpuTotal *uint64 `json:"CpuTotal" name:"CpuTotal"` + CpuTotal *uint64 `json:"CpuTotal,omitempty" name:"CpuTotal"` // cdh实例可用cpu核数 - CpuAvailable *uint64 `json:"CpuAvailable" name:"CpuAvailable"` + CpuAvailable *uint64 `json:"CpuAvailable,omitempty" name:"CpuAvailable"` // cdh实例总内存大小(单位为:GiB) - MemTotal *float64 `json:"MemTotal" name:"MemTotal"` + MemTotal *float64 `json:"MemTotal,omitempty" name:"MemTotal"` // cdh实例可用内存大小(单位为:GiB) - MemAvailable *float64 `json:"MemAvailable" name:"MemAvailable"` + MemAvailable *float64 `json:"MemAvailable,omitempty" name:"MemAvailable"` // cdh实例总磁盘大小(单位为:GiB) - DiskTotal *uint64 `json:"DiskTotal" name:"DiskTotal"` + DiskTotal *uint64 `json:"DiskTotal,omitempty" name:"DiskTotal"` // cdh实例可用磁盘大小(单位为:GiB) - DiskAvailable *uint64 `json:"DiskAvailable" name:"DiskAvailable"` + DiskAvailable *uint64 `json:"DiskAvailable,omitempty" name:"DiskAvailable"` } type Image struct { // 镜像ID - ImageId *string `json:"ImageId" name:"ImageId"` + ImageId *string `json:"ImageId,omitempty" name:"ImageId"` // 镜像操作系统 - OsName *string `json:"OsName" name:"OsName"` + OsName *string `json:"OsName,omitempty" name:"OsName"` // 镜像类型 - ImageType *string `json:"ImageType" name:"ImageType"` + ImageType *string `json:"ImageType,omitempty" name:"ImageType"` // 镜像创建时间 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` // 镜像名称 - ImageName *string `json:"ImageName" name:"ImageName"` + ImageName *string `json:"ImageName,omitempty" name:"ImageName"` // 镜像描述 - ImageDescription *string `json:"ImageDescription" name:"ImageDescription"` + ImageDescription *string `json:"ImageDescription,omitempty" name:"ImageDescription"` // 镜像大小 - ImageSize *int64 `json:"ImageSize" name:"ImageSize"` + ImageSize *int64 `json:"ImageSize,omitempty" name:"ImageSize"` // 镜像架构 - Architecture *string `json:"Architecture" name:"Architecture"` + Architecture *string `json:"Architecture,omitempty" name:"Architecture"` // 镜像状态 - ImageState *string `json:"ImageState" name:"ImageState"` + ImageState *string `json:"ImageState,omitempty" name:"ImageState"` // 镜像来源平台 - Platform *string `json:"Platform" name:"Platform"` + Platform *string `json:"Platform,omitempty" name:"Platform"` // 镜像创建者 - ImageCreator *string `json:"ImageCreator" name:"ImageCreator"` + ImageCreator *string `json:"ImageCreator,omitempty" name:"ImageCreator"` // 镜像来源 - ImageSource *string `json:"ImageSource" name:"ImageSource"` + ImageSource *string `json:"ImageSource,omitempty" name:"ImageSource"` // 同步百分比 - SyncPercent *int64 `json:"SyncPercent" name:"SyncPercent"` + // 注意:此字段可能返回 null,表示取不到有效值。 + SyncPercent *int64 `json:"SyncPercent,omitempty" name:"SyncPercent"` // 镜像是否支持cloud-init - IsSupportCloudinit *bool `json:"IsSupportCloudinit" name:"IsSupportCloudinit"` + // 注意:此字段可能返回 null,表示取不到有效值。 + IsSupportCloudinit *bool `json:"IsSupportCloudinit,omitempty" name:"IsSupportCloudinit"` + + // 镜像关联的快照信息 + // 注意:此字段可能返回 null,表示取不到有效值。 + SnapshotSet []*Snapshot `json:"SnapshotSet,omitempty" name:"SnapshotSet" list` } type ImageOsList struct { // 支持的windows操作系统。 - Windows []*string `json:"Windows" name:"Windows" list` + // 注意:此字段可能返回 null,表示取不到有效值。 + Windows []*string `json:"Windows,omitempty" name:"Windows" list` // 支持的linux操作系统 - Linux []*string `json:"Linux" name:"Linux" list` + // 注意:此字段可能返回 null,表示取不到有效值。 + Linux []*string `json:"Linux,omitempty" name:"Linux" list` } type ImportImageRequest struct { *tchttp.BaseRequest // 导入镜像的操作系统架构,`x86_64` 或 `i386` - Architecture *string `json:"Architecture" name:"Architecture"` + Architecture *string `json:"Architecture,omitempty" name:"Architecture"` // 导入镜像的操作系统类型,通过`DescribeImportImageOs`获取 - OsType *string `json:"OsType" name:"OsType"` + OsType *string `json:"OsType,omitempty" name:"OsType"` // 导入镜像的操作系统版本,通过`DescribeImportImageOs`获取 - OsVersion *string `json:"OsVersion" name:"OsVersion"` + OsVersion *string `json:"OsVersion,omitempty" name:"OsVersion"` // 导入镜像存放的cos地址 - ImageUrl *string `json:"ImageUrl" name:"ImageUrl"` + ImageUrl *string `json:"ImageUrl,omitempty" name:"ImageUrl"` // 镜像名称 - ImageName *string `json:"ImageName" name:"ImageName"` + ImageName *string `json:"ImageName,omitempty" name:"ImageName"` // 镜像描述 - ImageDescription *string `json:"ImageDescription" name:"ImageDescription"` + ImageDescription *string `json:"ImageDescription,omitempty" name:"ImageDescription"` // 只检查参数,不执行任务 - DryRun *bool `json:"DryRun" name:"DryRun"` + DryRun *bool `json:"DryRun,omitempty" name:"DryRun"` // 是否强制导入,参考[强制导入镜像](https://cloud.tencent.com/document/product/213/12849) - Force *bool `json:"Force" name:"Force"` + Force *bool `json:"Force,omitempty" name:"Force"` } func (r *ImportImageRequest) ToJsonString() string { @@ -1508,7 +1574,7 @@ type ImportImageResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1525,15 +1591,15 @@ type ImportKeyPairRequest struct { *tchttp.BaseRequest // 密钥对名称,可由数字,字母和下划线组成,长度不超过25个字符。 - KeyName *string `json:"KeyName" name:"KeyName"` + KeyName *string `json:"KeyName,omitempty" name:"KeyName"` // 密钥对创建后所属的[项目](/document/product/378/10863)ID。

    可以通过以下方式获取项目ID:
  • 通过[项目列表](https://console.cloud.tencent.com/project)查询项目ID。
  • 通过调用接口 [DescribeProject](https://cloud.tencent.com/document/api/378/4400),取返回信息中的 `projectId ` 获取项目ID。 // // 如果是默认项目,直接填0就可以。 - ProjectId *int64 `json:"ProjectId" name:"ProjectId"` + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` // 密钥对的公钥内容,`OpenSSH RSA` 格式。 - PublicKey *string `json:"PublicKey" name:"PublicKey"` + PublicKey *string `json:"PublicKey,omitempty" name:"PublicKey"` } func (r *ImportKeyPairRequest) ToJsonString() string { @@ -1550,10 +1616,10 @@ type ImportKeyPairResponse struct { Response *struct { // 密钥对ID。 - KeyId *string `json:"KeyId" name:"KeyId"` + KeyId *string `json:"KeyId,omitempty" name:"KeyId"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1570,13 +1636,13 @@ type InquiryPriceModifyInstancesChargeTypeRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 实例[计费类型](https://cloud.tencent.com/document/product/213/2180)。
  • PREPAID:预付费,即包年包月。 - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的续费时长、是否设置自动续费等属性。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` } func (r *InquiryPriceModifyInstancesChargeTypeRequest) ToJsonString() string { @@ -1593,10 +1659,10 @@ type InquiryPriceModifyInstancesChargeTypeResponse struct { Response *struct { // 该参数表示对应配置实例转换计费模式的价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1613,16 +1679,16 @@ type InquiryPriceRenewInstancesRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的续费时长、是否设置自动续费等属性。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` // 试运行。 - DryRun *bool `json:"DryRun" name:"DryRun"` + DryRun *bool `json:"DryRun,omitempty" name:"DryRun"` // 是否续费弹性数据盘。取值范围:
  • TRUE:表示续费包年包月实例同时续费其挂载的弹性数据盘
  • FALSE:表示续费包年包月实例同时不再续费其挂载的弹性数据盘

    默认取值:TRUE。 - RenewPortableDataDisk *bool `json:"RenewPortableDataDisk" name:"RenewPortableDataDisk"` + RenewPortableDataDisk *bool `json:"RenewPortableDataDisk,omitempty" name:"RenewPortableDataDisk"` } func (r *InquiryPriceRenewInstancesRequest) ToJsonString() string { @@ -1639,10 +1705,10 @@ type InquiryPriceRenewInstancesResponse struct { Response *struct { // 该参数表示对应配置实例的价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1659,19 +1725,19 @@ type InquiryPriceResetInstanceRequest struct { *tchttp.BaseRequest // 实例ID。可通过 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728) API返回值中的`InstanceId`获取。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 指定有效的[镜像](/document/product/213/4940)ID,格式形如`img-xxx`。镜像类型分为四种:
  • 公共镜像
  • 自定义镜像
  • 共享镜像
  • 服务市场镜像

  • 可通过以下方式获取可用的镜像ID:
  • `公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。
  • 通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。
  • - ImageId *string `json:"ImageId" name:"ImageId"` + ImageId *string `json:"ImageId,omitempty" name:"ImageId"` // 实例系统盘配置信息。系统盘为云盘的实例可以通过该参数指定重装后的系统盘大小来实现对系统盘的扩容操作,若不指定则默认系统盘大小保持不变。系统盘大小只支持扩容不支持缩容;重装只支持修改系统盘的大小,不能修改系统盘的类型。 - SystemDisk *SystemDisk `json:"SystemDisk" name:"SystemDisk"` + SystemDisk *SystemDisk `json:"SystemDisk,omitempty" name:"SystemDisk"` // 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。 - LoginSettings *LoginSettings `json:"LoginSettings" name:"LoginSettings"` + LoginSettings *LoginSettings `json:"LoginSettings,omitempty" name:"LoginSettings"` // 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。 - EnhancedService *EnhancedService `json:"EnhancedService" name:"EnhancedService"` + EnhancedService *EnhancedService `json:"EnhancedService,omitempty" name:"EnhancedService"` } func (r *InquiryPriceResetInstanceRequest) ToJsonString() string { @@ -1688,10 +1754,10 @@ type InquiryPriceResetInstanceResponse struct { Response *struct { // 该参数表示重装成对应配置实例的价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1708,16 +1774,16 @@ type InquiryPriceResetInstancesInternetMaxBandwidthRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为100。当调整 `BANDWIDTH_PREPAID` 和 `BANDWIDTH_POSTPAID_BY_HOUR` 计费方式的带宽时,只支持一个实例。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 公网出带宽配置。不同机型带宽上限范围不一致,具体限制详见带宽限制对账表。暂时只支持`InternetMaxBandwidthOut`参数。 - InternetAccessible *InternetAccessible `json:"InternetAccessible" name:"InternetAccessible"` + InternetAccessible *InternetAccessible `json:"InternetAccessible,omitempty" name:"InternetAccessible"` // 带宽生效的起始时间。格式:`YYYY-MM-DD`,例如:`2016-10-30`。起始时间不能早于当前时间。如果起始时间是今天则新设置的带宽立即生效。该参数只对包年包月带宽有效,其他模式带宽不支持该参数,否则接口会以相应错误码返回。 - StartTime *string `json:"StartTime" name:"StartTime"` + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` // 带宽生效的终止时间。格式:`YYYY-MM-DD`,例如:`2016-10-30`。新设置的带宽的有效期包含终止时间此日期。终止时间不能晚于包年包月实例的到期时间。实例的到期时间可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`ExpiredTime`获取。该参数只对包年包月带宽有效,其他模式带宽不支持该参数,否则接口会以相应错误码返回。 - EndTime *string `json:"EndTime" name:"EndTime"` + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` } func (r *InquiryPriceResetInstancesInternetMaxBandwidthRequest) ToJsonString() string { @@ -1734,10 +1800,10 @@ type InquiryPriceResetInstancesInternetMaxBandwidthResponse struct { Response *struct { // 该参数表示带宽调整为对应大小之后的价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1754,13 +1820,10 @@ type InquiryPriceResetInstancesTypeRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为1。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 实例机型。不同实例机型指定了不同的资源规格,具体取值可参见附表实例资源规格对照表,也可以调用查询实例资源规格列表接口获得最新的规格表。 - InstanceType *string `json:"InstanceType" name:"InstanceType"` - - // 是否对运行中的实例选择强制关机。建议对运行中的实例先手动关机,然后再重置用户密码。取值范围:
  • TRUE:表示在正常关机失败后进行强制关机
  • FALSE:表示在正常关机失败后不进行强制关机

    默认取值:FALSE。

    强制关机的效果等同于关闭物理计算机的电源开关。强制关机可能会导致数据丢失或文件系统损坏,请仅在服务器不能正常关机时使用。 - ForceStop *bool `json:"ForceStop" name:"ForceStop"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` } func (r *InquiryPriceResetInstancesTypeRequest) ToJsonString() string { @@ -1777,10 +1840,10 @@ type InquiryPriceResetInstancesTypeResponse struct { Response *struct { // 该参数表示调整成对应机型实例的价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1797,13 +1860,13 @@ type InquiryPriceResizeInstanceDisksRequest struct { *tchttp.BaseRequest // 待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 待扩容的数据盘配置信息。只支持扩容随实例购买的数据盘,且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。数据盘容量单位:GB。最小扩容步长:10G。关于数据盘类型的选择请参考硬盘产品简介。可选数据盘类型受到实例类型`InstanceType`限制。另外允许扩容的最大容量也因数据盘类型的不同而有所差异。 - DataDisks []*DataDisk `json:"DataDisks" name:"DataDisks" list` + // 待扩容的数据盘配置信息。只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性),且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。数据盘容量单位:GB。最小扩容步长:10G。关于数据盘类型的选择请参考硬盘产品简介。可选数据盘类型受到实例类型`InstanceType`限制。另外允许扩容的最大容量也因数据盘类型的不同而有所差异。 + DataDisks []*DataDisk `json:"DataDisks,omitempty" name:"DataDisks" list` // 是否对运行中的实例选择强制关机。建议对运行中的实例先手动关机,然后再重置用户密码。取值范围:
  • TRUE:表示在正常关机失败后进行强制关机
  • FALSE:表示在正常关机失败后不进行强制关机

    默认取值:FALSE。

    强制关机的效果等同于关闭物理计算机的电源开关。强制关机可能会导致数据丢失或文件系统损坏,请仅在服务器不能正常关机时使用。 - ForceStop *bool `json:"ForceStop" name:"ForceStop"` + ForceStop *bool `json:"ForceStop,omitempty" name:"ForceStop"` } func (r *InquiryPriceResizeInstanceDisksRequest) ToJsonString() string { @@ -1820,10 +1883,10 @@ type InquiryPriceResizeInstanceDisksResponse struct { Response *struct { // 该参数表示磁盘扩容成对应配置的价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1840,58 +1903,58 @@ type InquiryPriceRunInstancesRequest struct { *tchttp.BaseRequest // 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。 - Placement *Placement `json:"Placement" name:"Placement"` + Placement *Placement `json:"Placement,omitempty" name:"Placement"` // 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。镜像类型分为四种:
  • 公共镜像
  • 自定义镜像
  • 共享镜像
  • 服务市场镜像

  • 可通过以下方式获取可用的镜像ID:
  • `公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。
  • 通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。
  • - ImageId *string `json:"ImageId" name:"ImageId"` + ImageId *string `json:"ImageId,omitempty" name:"ImageId"` // 实例[计费类型](https://cloud.tencent.com/document/product/213/2180)。
  • PREPAID:预付费,即包年包月
  • POSTPAID_BY_HOUR:按小时后付费
    默认值:POSTPAID_BY_HOUR。 - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` // 实例机型。不同实例机型指定了不同的资源规格,具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[CVM实例配置](https://cloud.tencent.com/document/product/213/2177)描述。若不指定该参数,则默认机型为S1.SMALL1。 - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` // 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 - SystemDisk *SystemDisk `json:"SystemDisk" name:"SystemDisk"` + SystemDisk *SystemDisk `json:"SystemDisk,omitempty" name:"SystemDisk"` // 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定11块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含10块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。 - DataDisks []*DataDisk `json:"DataDisks" name:"DataDisks" list` + DataDisks []*DataDisk `json:"DataDisks,omitempty" name:"DataDisks" list` // 私有网络相关信息配置。通过该参数可以指定私有网络的ID,子网ID等信息。若不指定该参数,则默认使用基础网络。若在此参数中指定了私有网络ip,那么InstanceCount参数只能为1。 - VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud" name:"VirtualPrivateCloud"` + VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud,omitempty" name:"VirtualPrivateCloud"` // 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 - InternetAccessible *InternetAccessible `json:"InternetAccessible" name:"InternetAccessible"` + InternetAccessible *InternetAccessible `json:"InternetAccessible,omitempty" name:"InternetAccessible"` // 购买实例数量。取值范围:[1,100]。默认取值:1。指定购买实例的数量不能超过用户所能购买的剩余配额数量,具体配额相关限制详见[CVM实例购买限制](https://cloud.tencent.com/document/product/213/2664)。 - InstanceCount *int64 `json:"InstanceCount" name:"InstanceCount"` + InstanceCount *int64 `json:"InstanceCount,omitempty" name:"InstanceCount"` // 实例显示名称。
  • 不指定实例显示名称则默认显示‘未命名’。
  • 购买多台实例,如果指定模式串`{R:x}`,表示生成数字`[x, x+n-1]`,其中`n`表示购买实例的数量,例如`server_{R:3}`,购买1台时,实例显示名称为`server_3`;购买2台时,实例显示名称分别为`server_3`,`server_4`。支持指定多个模式串`{R:x}`。
  • 购买多台实例,如果不指定模式串,则在实例显示名称添加后缀`1、2...n`,其中`n`表示购买实例的数量,例如`server_`,购买2台时,实例显示名称分别为`server_1`,`server_2`。 - InstanceName *string `json:"InstanceName" name:"InstanceName"` + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` // 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。 - LoginSettings *LoginSettings `json:"LoginSettings" name:"LoginSettings"` + LoginSettings *LoginSettings `json:"LoginSettings,omitempty" name:"LoginSettings"` // 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。若不指定该参数,则默认不绑定安全组。 - SecurityGroupIds []*string `json:"SecurityGroupIds" name:"SecurityGroupIds" list` + SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list` // 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。 - EnhancedService *EnhancedService `json:"EnhancedService" name:"EnhancedService"` + EnhancedService *EnhancedService `json:"EnhancedService,omitempty" name:"EnhancedService"` // 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
    更多详细信息请参阅:如何保证幂等性。 - ClientToken *string `json:"ClientToken" name:"ClientToken"` + ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"` // 云服务器的主机名。
  • 点号(.)和短横线(-)不能作为 HostName 的首尾字符,不能连续使用。
  • Windows 实例:名字符长度为[2, 15],允许字母(不限制大小写)、数字和短横线(-)组成,不支持点号(.),不能全是数字。
  • 其他类型(Linux 等)实例:字符长度为[2, 30],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。 - HostName *string `json:"HostName" name:"HostName"` + HostName *string `json:"HostName,omitempty" name:"HostName"` // 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云主机实例。 - TagSpecification []*TagSpecification `json:"TagSpecification" name:"TagSpecification" list` + TagSpecification []*TagSpecification `json:"TagSpecification,omitempty" name:"TagSpecification" list` // 实例的市场相关选项,如竞价实例相关参数 - InstanceMarketOptions *InstanceMarketOptionsRequest `json:"InstanceMarketOptions" name:"InstanceMarketOptions"` + InstanceMarketOptions *InstanceMarketOptionsRequest `json:"InstanceMarketOptions,omitempty" name:"InstanceMarketOptions"` } func (r *InquiryPriceRunInstancesRequest) ToJsonString() string { @@ -1908,10 +1971,10 @@ type InquiryPriceRunInstancesResponse struct { Response *struct { // 该参数表示对应配置实例的价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1927,105 +1990,106 @@ func (r *InquiryPriceRunInstancesResponse) FromJsonString(s string) error { type Instance struct { // 实例所在的位置。 - Placement *Placement `json:"Placement" name:"Placement"` + Placement *Placement `json:"Placement,omitempty" name:"Placement"` // 实例`ID`。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 实例机型。 - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` // 实例的CPU核数,单位:核。 - CPU *int64 `json:"CPU" name:"CPU"` + CPU *int64 `json:"CPU,omitempty" name:"CPU"` // 实例内存容量,单位:`GB`。 - Memory *int64 `json:"Memory" name:"Memory"` + Memory *int64 `json:"Memory,omitempty" name:"Memory"` // 实例业务状态。取值范围:
  • NORMAL:表示正常状态的实例
  • EXPIRED:表示过期的实例
  • PROTECTIVELY_ISOLATED:表示被安全隔离的实例。 - RestrictState *string `json:"RestrictState" name:"RestrictState"` + RestrictState *string `json:"RestrictState,omitempty" name:"RestrictState"` // 实例名称。 - InstanceName *string `json:"InstanceName" name:"InstanceName"` + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` // 实例计费模式。取值范围:
  • `PREPAID`:表示预付费,即包年包月
  • `POSTPAID_BY_HOUR`:表示后付费,即按量计费
  • `CDHPAID`:`CDH`付费,即只对`CDH`计费,不对`CDH`上的实例计费。 - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` // 实例系统盘信息。 - SystemDisk *SystemDisk `json:"SystemDisk" name:"SystemDisk"` + SystemDisk *SystemDisk `json:"SystemDisk,omitempty" name:"SystemDisk"` // 实例数据盘信息。只包含随实例购买的数据盘。 - DataDisks []*DataDisk `json:"DataDisks" name:"DataDisks" list` + DataDisks []*DataDisk `json:"DataDisks,omitempty" name:"DataDisks" list` // 实例主网卡的内网`IP`列表。 - PrivateIpAddresses []*string `json:"PrivateIpAddresses" name:"PrivateIpAddresses" list` + PrivateIpAddresses []*string `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list` // 实例主网卡的公网`IP`列表。 - PublicIpAddresses []*string `json:"PublicIpAddresses" name:"PublicIpAddresses" list` + // 注意:此字段可能返回 null,表示取不到有效值。 + PublicIpAddresses []*string `json:"PublicIpAddresses,omitempty" name:"PublicIpAddresses" list` // 实例带宽信息。 - InternetAccessible *InternetAccessible `json:"InternetAccessible" name:"InternetAccessible"` + InternetAccessible *InternetAccessible `json:"InternetAccessible,omitempty" name:"InternetAccessible"` // 实例所属虚拟私有网络信息。 - VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud" name:"VirtualPrivateCloud"` + VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud,omitempty" name:"VirtualPrivateCloud"` // 生产实例所使用的镜像`ID`。 - ImageId *string `json:"ImageId" name:"ImageId"` + ImageId *string `json:"ImageId,omitempty" name:"ImageId"` // 自动续费标识。取值范围:
  • `NOTIFY_AND_MANUAL_RENEW`:表示通知即将过期,但不自动续费
  • `NOTIFY_AND_AUTO_RENEW`:表示通知即将过期,而且自动续费
  • `DISABLE_NOTIFY_AND_MANUAL_RENEW`:表示不通知即将过期,也不自动续费。 - RenewFlag *string `json:"RenewFlag" name:"RenewFlag"` + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` // 创建时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` // 到期时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。 - ExpiredTime *string `json:"ExpiredTime" name:"ExpiredTime"` + ExpiredTime *string `json:"ExpiredTime,omitempty" name:"ExpiredTime"` // 操作系统名称。 - OsName *string `json:"OsName" name:"OsName"` + OsName *string `json:"OsName,omitempty" name:"OsName"` // 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。 - SecurityGroupIds []*string `json:"SecurityGroupIds" name:"SecurityGroupIds" list` + SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list` // 实例登录设置。目前只返回实例所关联的密钥。 - LoginSettings *LoginSettings `json:"LoginSettings" name:"LoginSettings"` + LoginSettings *LoginSettings `json:"LoginSettings,omitempty" name:"LoginSettings"` // 实例状态。取值范围:
  • PENDING:表示创建中
  • LAUNCH_FAILED:表示创建失败
  • RUNNING:表示运行中
  • STOPPED:表示关机
  • STARTING:表示开机中
  • STOPPING:表示关机中
  • REBOOTING:表示重启中
  • SHUTDOWN:表示停止待销毁
  • TERMINATING:表示销毁中。
  • - InstanceState *string `json:"InstanceState" name:"InstanceState"` + InstanceState *string `json:"InstanceState,omitempty" name:"InstanceState"` // 实例关联的标签列表。 - Tags []*Tag `json:"Tags" name:"Tags" list` + Tags []*Tag `json:"Tags,omitempty" name:"Tags" list` // 实例的关机计费模式。 // 取值范围:
  • KEEP_CHARGING:关机继续收费
  • STOP_CHARGING:关机停止收费
  • NOT_APPLICABLE:实例处于非关机状态或者不适用关机停止计费的条件
    - StopChargingMode *string `json:"StopChargingMode" name:"StopChargingMode"` + StopChargingMode *string `json:"StopChargingMode,omitempty" name:"StopChargingMode"` } type InstanceChargePrepaid struct { // 购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36。 - Period *int64 `json:"Period" name:"Period"` + Period *int64 `json:"Period,omitempty" name:"Period"` // 自动续费标识。取值范围:
  • NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
  • NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
  • DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费

    默认取值:NOTIFY_AND_MANUAL_RENEW。若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。 - RenewFlag *string `json:"RenewFlag" name:"RenewFlag"` + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` } type InstanceFamilyConfig struct { // 机型族名称的中文全称。 - InstanceFamilyName *string `json:"InstanceFamilyName" name:"InstanceFamilyName"` + InstanceFamilyName *string `json:"InstanceFamilyName,omitempty" name:"InstanceFamilyName"` // 机型族名称的英文简称。 - InstanceFamily *string `json:"InstanceFamily" name:"InstanceFamily"` + InstanceFamily *string `json:"InstanceFamily,omitempty" name:"InstanceFamily"` } type InstanceMarketOptionsRequest struct { *tchttp.BaseRequest - // 市场选项类型,当前只支持取值:spot - MarketType *string `json:"MarketType" name:"MarketType"` - // 竞价相关选项 - SpotOptions *SpotMarketOptions `json:"SpotOptions" name:"SpotOptions"` + SpotOptions *SpotMarketOptions `json:"SpotOptions,omitempty" name:"SpotOptions"` + + // 市场选项类型,当前只支持取值:spot + MarketType *string `json:"MarketType,omitempty" name:"MarketType"` } func (r *InstanceMarketOptionsRequest) ToJsonString() string { @@ -2040,182 +2104,193 @@ func (r *InstanceMarketOptionsRequest) FromJsonString(s string) error { type InstanceStatus struct { // 实例`ID`。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // [实例状态](/document/api/213/9452#INSTANCE_STATE)。 - InstanceState *string `json:"InstanceState" name:"InstanceState"` + InstanceState *string `json:"InstanceState,omitempty" name:"InstanceState"` } type InstanceTypeConfig struct { // 可用区。 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` // 实例机型。 - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` // 实例机型系列。 - InstanceFamily *string `json:"InstanceFamily" name:"InstanceFamily"` + InstanceFamily *string `json:"InstanceFamily,omitempty" name:"InstanceFamily"` // GPU核数,单位:核。 - GPU *int64 `json:"GPU" name:"GPU"` + GPU *int64 `json:"GPU,omitempty" name:"GPU"` // CPU核数,单位:核。 - CPU *int64 `json:"CPU" name:"CPU"` + CPU *int64 `json:"CPU,omitempty" name:"CPU"` // 内存容量,单位:`GB`。 - Memory *int64 `json:"Memory" name:"Memory"` + Memory *int64 `json:"Memory,omitempty" name:"Memory"` } type InstanceTypeQuotaItem struct { // 可用区。 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` // 实例机型。 - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` // 实例计费模式。取值范围:
  • PREPAID:表示预付费,即包年包月
  • POSTPAID_BY_HOUR:表示后付费,即按量计费
  • CDHPAID:表示[CDH](https://cloud.tencent.com/document/product/416)付费,即只对CDH计费,不对CDH上的实例计费。 - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` // 网卡类型,例如:25代表25G网卡 - NetworkCard *int64 `json:"NetworkCard" name:"NetworkCard"` + NetworkCard *int64 `json:"NetworkCard,omitempty" name:"NetworkCard"` // 扩展属性。 - Externals *Externals `json:"Externals" name:"Externals"` + // 注意:此字段可能返回 null,表示取不到有效值。 + Externals *Externals `json:"Externals,omitempty" name:"Externals"` // 实例的CPU核数,单位:核。 - Cpu *int64 `json:"Cpu" name:"Cpu"` + Cpu *int64 `json:"Cpu,omitempty" name:"Cpu"` // 实例内存容量,单位:`GB`。 - Memory *int64 `json:"Memory" name:"Memory"` + Memory *int64 `json:"Memory,omitempty" name:"Memory"` // 实例机型系列。 - InstanceFamily *string `json:"InstanceFamily" name:"InstanceFamily"` + InstanceFamily *string `json:"InstanceFamily,omitempty" name:"InstanceFamily"` // 机型名称。 - TypeName *string `json:"TypeName" name:"TypeName"` + TypeName *string `json:"TypeName,omitempty" name:"TypeName"` - // 本地磁盘规格列表。 - LocalDiskTypeList []*LocalDiskType `json:"LocalDiskTypeList" name:"LocalDiskTypeList" list` + // 本地磁盘规格列表。当该参数返回为空值时,表示当前情况下无法创建本地盘。 + LocalDiskTypeList []*LocalDiskType `json:"LocalDiskTypeList,omitempty" name:"LocalDiskTypeList" list` // 实例是否售卖。取值范围:
  • SELL:表示实例可购买
  • SOLD_OUT:表示实例已售罄。 - Status *string `json:"Status" name:"Status"` + Status *string `json:"Status,omitempty" name:"Status"` // 实例的售卖价格。 - Price *ItemPrice `json:"Price" name:"Price"` + Price *ItemPrice `json:"Price,omitempty" name:"Price"` } type InternetAccessible struct { // 网络计费类型。取值范围:
  • BANDWIDTH_PREPAID:预付费按带宽结算
  • TRAFFIC_POSTPAID_BY_HOUR:流量按小时后付费
  • BANDWIDTH_POSTPAID_BY_HOUR:带宽按小时后付费
  • BANDWIDTH_PACKAGE:带宽包用户
    默认取值:非带宽包用户默认与子机付费类型保持一致。 - InternetChargeType *string `json:"InternetChargeType" name:"InternetChargeType"` + InternetChargeType *string `json:"InternetChargeType,omitempty" name:"InternetChargeType"` // 公网出带宽上限,单位:Mbps。默认值:0Mbps。不同机型带宽上限范围不一致,具体限制详见[购买网络带宽](/document/product/213/509)。 - InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut" name:"InternetMaxBandwidthOut"` + InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"` // 是否分配公网IP。取值范围:
  • TRUE:表示分配公网IP
  • FALSE:表示不分配公网IP

    当公网带宽大于0Mbps时,可自由选择开通与否,默认开通公网IP;当公网带宽为0,则不允许分配公网IP。 - PublicIpAssigned *bool `json:"PublicIpAssigned" name:"PublicIpAssigned"` + PublicIpAssigned *bool `json:"PublicIpAssigned,omitempty" name:"PublicIpAssigned"` + + // 带宽包ID。可通过[`DescribeBandwidthPackages`](https://cloud.tencent.com/document/api/215/19209)接口返回值中的`BandwidthPackageId`获取。 + BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"` } type InternetBandwidthConfig struct { // 开始时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。 - StartTime *string `json:"StartTime" name:"StartTime"` + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` // 结束时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。 - EndTime *string `json:"EndTime" name:"EndTime"` + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` // 实例带宽信息。 - InternetAccessible *InternetAccessible `json:"InternetAccessible" name:"InternetAccessible"` + InternetAccessible *InternetAccessible `json:"InternetAccessible,omitempty" name:"InternetAccessible"` } type InternetChargeTypeConfig struct { // 网络计费模式。 - InternetChargeType *string `json:"InternetChargeType" name:"InternetChargeType"` + InternetChargeType *string `json:"InternetChargeType,omitempty" name:"InternetChargeType"` // 网络计费模式描述信息。 - Description *string `json:"Description" name:"Description"` + Description *string `json:"Description,omitempty" name:"Description"` } type ItemPrice struct { // 后续单价,单位:元。 - UnitPrice *float64 `json:"UnitPrice" name:"UnitPrice"` + // 注意:此字段可能返回 null,表示取不到有效值。 + UnitPrice *float64 `json:"UnitPrice,omitempty" name:"UnitPrice"` // 后续计价单元,可取值范围:
  • HOUR:表示计价单元是按每小时来计算。当前涉及该计价单元的场景有:实例按小时后付费(POSTPAID_BY_HOUR)、带宽按小时后付费(BANDWIDTH_POSTPAID_BY_HOUR):
  • GB:表示计价单元是按每GB来计算。当前涉及该计价单元的场景有:流量按小时后付费(TRAFFIC_POSTPAID_BY_HOUR)。 - ChargeUnit *string `json:"ChargeUnit" name:"ChargeUnit"` + // 注意:此字段可能返回 null,表示取不到有效值。 + ChargeUnit *string `json:"ChargeUnit,omitempty" name:"ChargeUnit"` // 预支费用的原价,单位:元。 - OriginalPrice *float64 `json:"OriginalPrice" name:"OriginalPrice"` + // 注意:此字段可能返回 null,表示取不到有效值。 + OriginalPrice *float64 `json:"OriginalPrice,omitempty" name:"OriginalPrice"` // 预支费用的折扣价,单位:元。 - DiscountPrice *float64 `json:"DiscountPrice" name:"DiscountPrice"` + // 注意:此字段可能返回 null,表示取不到有效值。 + DiscountPrice *float64 `json:"DiscountPrice,omitempty" name:"DiscountPrice"` } type KeyPair struct { // 密钥对的`ID`,是密钥对的唯一标识。 - KeyId *string `json:"KeyId" name:"KeyId"` + KeyId *string `json:"KeyId,omitempty" name:"KeyId"` // 密钥对名称。 - KeyName *string `json:"KeyName" name:"KeyName"` + KeyName *string `json:"KeyName,omitempty" name:"KeyName"` // 密钥对所属的项目`ID`。 - ProjectId *int64 `json:"ProjectId" name:"ProjectId"` + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` // 密钥对描述信息。 - Description *string `json:"Description" name:"Description"` + Description *string `json:"Description,omitempty" name:"Description"` // 密钥对的纯文本公钥。 - PublicKey *string `json:"PublicKey" name:"PublicKey"` + PublicKey *string `json:"PublicKey,omitempty" name:"PublicKey"` // 密钥对的纯文本私钥。腾讯云不会保管私钥,请用户自行妥善保存。 - PrivateKey *string `json:"PrivateKey" name:"PrivateKey"` + PrivateKey *string `json:"PrivateKey,omitempty" name:"PrivateKey"` // 密钥关联的实例`ID`列表。 - AssociatedInstanceIds []*string `json:"AssociatedInstanceIds" name:"AssociatedInstanceIds" list` + AssociatedInstanceIds []*string `json:"AssociatedInstanceIds,omitempty" name:"AssociatedInstanceIds" list` // 创建时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type LocalDiskType struct { // 本地磁盘类型。 - Type *string `json:"Type" name:"Type"` + Type *string `json:"Type,omitempty" name:"Type"` // 本地磁盘属性。 - PartitionType *string `json:"PartitionType" name:"PartitionType"` + PartitionType *string `json:"PartitionType,omitempty" name:"PartitionType"` // 本地磁盘最小值。 - MinSize *int64 `json:"MinSize" name:"MinSize"` + MinSize *int64 `json:"MinSize,omitempty" name:"MinSize"` // 本地磁盘最大值。 - MaxSize *int64 `json:"MaxSize" name:"MaxSize"` + MaxSize *int64 `json:"MaxSize,omitempty" name:"MaxSize"` } type LoginSettings struct { // 实例登录密码。不同操作系统类型密码复杂度限制不一样,具体如下:
  • Linux实例密码必须8到16位,至少包括两项[a-z,A-Z]、[0-9] 和 [( ) ` ~ ! @ # $ % ^ & * - + = | { } [ ] : ; ' , . ? / ]中的特殊符号。
  • Windows实例密码必须12到16位,至少包括三项[a-z],[A-Z],[0-9] 和 [( ) ` ~ ! @ # $ % ^ & * - + = { } [ ] : ; ' , . ? /]中的特殊符号。

    若不指定该参数,则由系统随机生成密码,并通过站内信方式通知到用户。 - Password *string `json:"Password" name:"Password"` + // 注意:此字段可能返回 null,表示取不到有效值。 + Password *string `json:"Password,omitempty" name:"Password"` // 密钥ID列表。关联密钥后,就可以通过对应的私钥来访问实例;KeyId可通过接口DescribeKeyPairs获取,密钥与密码不能同时指定,同时Windows操作系统不支持指定密钥。当前仅支持购买的时候指定一个密钥。 - KeyIds []*string `json:"KeyIds" name:"KeyIds" list` + // 注意:此字段可能返回 null,表示取不到有效值。 + KeyIds []*string `json:"KeyIds,omitempty" name:"KeyIds" list` // 保持镜像的原始设置。该参数与Password或KeyIds.N不能同时指定。只有使用自定义镜像、共享镜像或外部导入镜像创建实例时才能指定该参数为TRUE。取值范围:
  • TRUE:表示保持镜像的登录设置
  • FALSE:表示不保持镜像的登录设置

    默认取值:FALSE。 - KeepImageLogin *string `json:"KeepImageLogin" name:"KeepImageLogin"` + // 注意:此字段可能返回 null,表示取不到有效值。 + KeepImageLogin *string `json:"KeepImageLogin,omitempty" name:"KeepImageLogin"` } type ModifyDisasterRecoverGroupAttributeRequest struct { *tchttp.BaseRequest // 分散置放群组ID,可使用[DescribeDisasterRecoverGroups](https://cloud.tencent.com/document/api/213/17810)接口获取。 - DisasterRecoverGroupId *string `json:"DisasterRecoverGroupId" name:"DisasterRecoverGroupId"` + DisasterRecoverGroupId *string `json:"DisasterRecoverGroupId,omitempty" name:"DisasterRecoverGroupId"` // 分散置放群组名称,长度1-60个字符,支持中、英文。 - Name *string `json:"Name" name:"Name"` + Name *string `json:"Name,omitempty" name:"Name"` } func (r *ModifyDisasterRecoverGroupAttributeRequest) ToJsonString() string { @@ -2232,7 +2307,7 @@ type ModifyDisasterRecoverGroupAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2249,13 +2324,13 @@ type ModifyHostsAttributeRequest struct { *tchttp.BaseRequest // 一个或多个待操作的CDH实例ID。 - HostIds []*string `json:"HostIds" name:"HostIds" list` + HostIds []*string `json:"HostIds,omitempty" name:"HostIds" list` // CDH实例显示名称。可任意命名,但不得超过60个字符。 - HostName *string `json:"HostName" name:"HostName"` + HostName *string `json:"HostName,omitempty" name:"HostName"` // 自动续费标识。取值范围:
  • NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
  • NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
  • DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费

    若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。 - RenewFlag *string `json:"RenewFlag" name:"RenewFlag"` + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` } func (r *ModifyHostsAttributeRequest) ToJsonString() string { @@ -2272,7 +2347,7 @@ type ModifyHostsAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2289,13 +2364,13 @@ type ModifyImageAttributeRequest struct { *tchttp.BaseRequest // 镜像ID,形如`img-gvbnzy6f`。镜像ID可以通过如下方式获取:
  • 通过[DescribeImages](https://cloud.tencent.com/document/api/213/15715)接口返回的`ImageId`获取。
  • 通过[镜像控制台](https://console.cloud.tencent.com/cvm/image)获取。 - ImageId *string `json:"ImageId" name:"ImageId"` + ImageId *string `json:"ImageId,omitempty" name:"ImageId"` // 设置新的镜像名称;必须满足下列限制:
  • 不得超过20个字符。
  • 镜像名称不能与已有镜像重复。 - ImageName *string `json:"ImageName" name:"ImageName"` + ImageName *string `json:"ImageName,omitempty" name:"ImageName"` // 设置新的镜像描述;必须满足下列限制:
  • 不得超过60个字符。 - ImageDescription *string `json:"ImageDescription" name:"ImageDescription"` + ImageDescription *string `json:"ImageDescription,omitempty" name:"ImageDescription"` } func (r *ModifyImageAttributeRequest) ToJsonString() string { @@ -2312,7 +2387,7 @@ type ModifyImageAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2329,13 +2404,13 @@ type ModifyImageSharePermissionRequest struct { *tchttp.BaseRequest // 镜像ID,形如`img-gvbnzy6f`。镜像Id可以通过如下方式获取:
  • 通过[DescribeImages](https://cloud.tencent.com/document/api/213/15715)接口返回的`ImageId`获取。
  • 通过[镜像控制台](https://console.cloud.tencent.com/cvm/image)获取。
    镜像ID必须指定为状态为`NORMAL`的镜像。镜像状态请参考[镜像数据表](/document/api/213/9452#image_state)。 - ImageId *string `json:"ImageId" name:"ImageId"` + ImageId *string `json:"ImageId,omitempty" name:"ImageId"` // 接收分享镜像的账号Id列表,array型参数的格式可以参考[API简介](/document/api/213/568)。帐号ID不同于QQ号,查询用户帐号ID请查看[帐号信息](https://console.cloud.tencent.com/developer)中的帐号ID栏。 - AccountIds []*string `json:"AccountIds" name:"AccountIds" list` + AccountIds []*string `json:"AccountIds,omitempty" name:"AccountIds" list` // 操作,包括 `SHARE`,`CANCEL`。其中`SHARE`代表分享操作,`CANCEL`代表取消分享操作。 - Permission *string `json:"Permission" name:"Permission"` + Permission *string `json:"Permission,omitempty" name:"Permission"` } func (r *ModifyImageSharePermissionRequest) ToJsonString() string { @@ -2352,7 +2427,7 @@ type ModifyImageSharePermissionResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2369,13 +2444,13 @@ type ModifyInstancesAttributeRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/9388) API返回值中的`InstanceId`获取。每次请求允许操作的实例数量上限是100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 实例名称。可任意命名,但不得超过60个字符。 - InstanceName *string `json:"InstanceName" name:"InstanceName"` + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` // 指定实例的安全组Id列表,子机将重新关联指定列表的安全组,原本关联的安全组会被解绑。 - SecurityGroups []*string `json:"SecurityGroups" name:"SecurityGroups" list` + SecurityGroups []*string `json:"SecurityGroups,omitempty" name:"SecurityGroups" list` } func (r *ModifyInstancesAttributeRequest) ToJsonString() string { @@ -2392,7 +2467,7 @@ type ModifyInstancesAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2409,13 +2484,13 @@ type ModifyInstancesChargeTypeRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/9388)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 实例[计费类型](https://cloud.tencent.com/document/product/213/2180)。
  • PREPAID:预付费,即包年包月。 - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` } func (r *ModifyInstancesChargeTypeRequest) ToJsonString() string { @@ -2432,7 +2507,7 @@ type ModifyInstancesChargeTypeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2449,10 +2524,10 @@ type ModifyInstancesProjectRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/9388) API返回值中的`InstanceId`获取。每次请求允许操作的实例数量上限是100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 项目ID。项目可以使用[AddProject](https://cloud.tencent.com/doc/api/403/4398)接口创建。后续使用[DescribeInstances](https://cloud.tencent.com/document/api/213/9388)接口查询实例时,项目ID可用于过滤结果。 - ProjectId *int64 `json:"ProjectId" name:"ProjectId"` + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` } func (r *ModifyInstancesProjectRequest) ToJsonString() string { @@ -2469,7 +2544,7 @@ type ModifyInstancesProjectResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2486,10 +2561,10 @@ type ModifyInstancesRenewFlagRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/9388) API返回值中的`InstanceId`获取。每次请求允许操作的实例数量上限是100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 自动续费标识。取值范围:
  • NOTIFY_AND_AUTO_RENEW:通知过期且自动续费
  • NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费
  • DISABLE_NOTIFY_AND_MANUAL_RENEW:不通知过期不自动续费

    若该参数指定为NOTIFY_AND_AUTO_RENEW,在账户余额充足的情况下,实例到期后将按月自动续费。 - RenewFlag *string `json:"RenewFlag" name:"RenewFlag"` + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` } func (r *ModifyInstancesRenewFlagRequest) ToJsonString() string { @@ -2506,7 +2581,7 @@ type ModifyInstancesRenewFlagResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2522,14 +2597,17 @@ func (r *ModifyInstancesRenewFlagResponse) FromJsonString(s string) error { type ModifyInstancesVpcAttributeRequest struct { *tchttp.BaseRequest - // 待操作的实例ID数组。可通过[`DescribeInstances`](document/api/213/15728)接口返回值中的`InstanceId`获取。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + // 待操作的实例ID数组。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。 + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 私有网络相关信息配置。通过该参数指定私有网络的ID,子网ID,私有网络ip等信息。当指定私有网络ID和子网ID(子网必须在实例所在的可用区)与指定实例所在私有网络不一致时,会将实例迁移至指定的私有网络的子网下。可通过`PrivateIpAddresses`指定私有网络子网IP,若需指定则所有已指定的实例均需要指定子网IP,此时`InstanceIds`与`PrivateIpAddresses`一一对应。不指定`PrivateIpAddresses`时随机分配私有网络子网IP。 - VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud" name:"VirtualPrivateCloud"` + VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud,omitempty" name:"VirtualPrivateCloud"` // 是否对运行中的实例选择强制关机。默认为TRUE。 - ForceStop *bool `json:"ForceStop" name:"ForceStop"` + ForceStop *bool `json:"ForceStop,omitempty" name:"ForceStop"` + + // 是否保留主机名。默认为FALSE。 + ReserveHostName *bool `json:"ReserveHostName,omitempty" name:"ReserveHostName"` } func (r *ModifyInstancesVpcAttributeRequest) ToJsonString() string { @@ -2546,7 +2624,7 @@ type ModifyInstancesVpcAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2563,13 +2641,13 @@ type ModifyKeyPairAttributeRequest struct { *tchttp.BaseRequest // 密钥对ID,密钥对ID形如:`skey-xxxxxxxx`。

    可以通过以下方式获取可用的密钥 ID:
  • 通过登录[控制台](https://console.cloud.tencent.com/cvm/sshkey)查询密钥 ID。
  • 通过调用接口 [DescribeKeyPairs](https://cloud.tencent.com/document/api/213/9403) ,取返回信息中的 `KeyId` 获取密钥对 ID。 - KeyId *string `json:"KeyId" name:"KeyId"` + KeyId *string `json:"KeyId,omitempty" name:"KeyId"` // 修改后的密钥对名称,可由数字,字母和下划线组成,长度不超过25个字符。 - KeyName *string `json:"KeyName" name:"KeyName"` + KeyName *string `json:"KeyName,omitempty" name:"KeyName"` // 修改后的密钥对描述信息。可任意命名,但不得超过60个字符。 - Description *string `json:"Description" name:"Description"` + Description *string `json:"Description,omitempty" name:"Description"` } func (r *ModifyKeyPairAttributeRequest) ToJsonString() string { @@ -2586,7 +2664,7 @@ type ModifyKeyPairAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2599,47 +2677,62 @@ func (r *ModifyKeyPairAttributeResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type OperationCountLimit struct { + + // 实例操作。 + Operation *string `json:"Operation,omitempty" name:"Operation"` + + // 实例ID。 + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 当前已使用次数,如果返回值为-1表示该操作无次数限制。 + CurrentCount *int64 `json:"CurrentCount,omitempty" name:"CurrentCount"` + + // 操作次数最高额度,如果返回值为-1表示该操作无次数限制,如果返回值为0表示不支持调整配置。 + LimitCount *int64 `json:"LimitCount,omitempty" name:"LimitCount"` +} + type OsVersion struct { // 操作系统类型 - OsName *string `json:"OsName" name:"OsName"` + OsName *string `json:"OsName,omitempty" name:"OsName"` // 支持的操作系统版本 - OsVersions []*string `json:"OsVersions" name:"OsVersions" list` + OsVersions []*string `json:"OsVersions,omitempty" name:"OsVersions" list` // 支持的操作系统架构 - Architecture []*string `json:"Architecture" name:"Architecture" list` + Architecture []*string `json:"Architecture,omitempty" name:"Architecture" list` } type Placement struct { // 实例所属的[可用区](/document/product/213/9452#zone)ID。该参数也可以通过调用 [DescribeZones](/document/api/213/9455) 的返回值中的Zone字段来获取。 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` // 实例所属项目ID。该参数可以通过调用 [DescribeProject](/document/api/378/4400) 的返回值中的 projectId 字段来获取。不填为默认项目。 - ProjectId *int64 `json:"ProjectId" name:"ProjectId"` + ProjectId *int64 `json:"ProjectId,omitempty" name:"ProjectId"` // 实例所属的专用宿主机ID列表。如果您有购买专用宿主机并且指定了该参数,则您购买的实例就会随机的部署在这些专用宿主机上。 - HostIds []*string `json:"HostIds" name:"HostIds" list` + HostIds []*string `json:"HostIds,omitempty" name:"HostIds" list` } type Price struct { // 描述了实例价格。 - InstancePrice *ItemPrice `json:"InstancePrice" name:"InstancePrice"` + InstancePrice *ItemPrice `json:"InstancePrice,omitempty" name:"InstancePrice"` // 描述了网络价格。 - BandwidthPrice *ItemPrice `json:"BandwidthPrice" name:"BandwidthPrice"` + BandwidthPrice *ItemPrice `json:"BandwidthPrice,omitempty" name:"BandwidthPrice"` } type RebootInstancesRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/9388)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 是否在正常重启失败后选择强制重启实例。取值范围:
  • TRUE:表示在正常重启失败后进行强制重启
  • FALSE:表示在正常重启失败后不进行强制重启

    默认取值:FALSE。 - ForceReboot *bool `json:"ForceReboot" name:"ForceReboot"` + ForceReboot *bool `json:"ForceReboot,omitempty" name:"ForceReboot"` } func (r *RebootInstancesRequest) ToJsonString() string { @@ -2656,7 +2749,7 @@ type RebootInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2672,23 +2765,23 @@ func (r *RebootInstancesResponse) FromJsonString(s string) error { type RegionInfo struct { // 地域名称,例如,ap-guangzhou - Region *string `json:"Region" name:"Region"` + Region *string `json:"Region,omitempty" name:"Region"` // 地域描述,例如,华南地区(广州) - RegionName *string `json:"RegionName" name:"RegionName"` + RegionName *string `json:"RegionName,omitempty" name:"RegionName"` // 地域是否可用状态 - RegionState *string `json:"RegionState" name:"RegionState"` + RegionState *string `json:"RegionState,omitempty" name:"RegionState"` } type RenewHostsRequest struct { *tchttp.BaseRequest // 一个或多个待操作的CDH实例ID。 - HostIds []*string `json:"HostIds" name:"HostIds" list` + HostIds []*string `json:"HostIds,omitempty" name:"HostIds" list` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - HostChargePrepaid *ChargePrepaid `json:"HostChargePrepaid" name:"HostChargePrepaid"` + HostChargePrepaid *ChargePrepaid `json:"HostChargePrepaid,omitempty" name:"HostChargePrepaid"` } func (r *RenewHostsRequest) ToJsonString() string { @@ -2705,7 +2798,7 @@ type RenewHostsResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2722,13 +2815,13 @@ type RenewInstancesRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/9388)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` - // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的续费时长、是否设置自动续费等属性。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的续费时长、是否设置自动续费等属性。包年包月实例该参数为必传参数。 + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` // 是否续费弹性数据盘。取值范围:
  • TRUE:表示续费包年包月实例同时续费其挂载的弹性数据盘
  • FALSE:表示续费包年包月实例同时不再续费其挂载的弹性数据盘

    默认取值:TRUE。 - RenewPortableDataDisk *bool `json:"RenewPortableDataDisk" name:"RenewPortableDataDisk"` + RenewPortableDataDisk *bool `json:"RenewPortableDataDisk,omitempty" name:"RenewPortableDataDisk"` } func (r *RenewInstancesRequest) ToJsonString() string { @@ -2745,7 +2838,7 @@ type RenewInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2762,19 +2855,23 @@ type ResetInstanceRequest struct { *tchttp.BaseRequest // 实例ID。可通过 [DescribeInstances](https://cloud.tencent.com/document/api/213/9388) API返回值中的`InstanceId`获取。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。镜像类型分为四种:
  • 公共镜像
  • 自定义镜像
  • 共享镜像
  • 服务市场镜像

  • 可通过以下方式获取可用的镜像ID:
  • `公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。
  • 通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/9418) ,取返回信息中的`ImageId`字段。
  • - ImageId *string `json:"ImageId" name:"ImageId"` + //
    默认取值:默认使用当前镜像。 + ImageId *string `json:"ImageId,omitempty" name:"ImageId"` // 实例系统盘配置信息。系统盘为云盘的实例可以通过该参数指定重装后的系统盘大小来实现对系统盘的扩容操作,若不指定则默认系统盘大小保持不变。系统盘大小只支持扩容不支持缩容;重装只支持修改系统盘的大小,不能修改系统盘的类型。 - SystemDisk *SystemDisk `json:"SystemDisk" name:"SystemDisk"` + SystemDisk *SystemDisk `json:"SystemDisk,omitempty" name:"SystemDisk"` // 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。 - LoginSettings *LoginSettings `json:"LoginSettings" name:"LoginSettings"` + LoginSettings *LoginSettings `json:"LoginSettings,omitempty" name:"LoginSettings"` // 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。 - EnhancedService *EnhancedService `json:"EnhancedService" name:"EnhancedService"` + EnhancedService *EnhancedService `json:"EnhancedService,omitempty" name:"EnhancedService"` + + // 重装系统时,可以指定修改实例的HostName。 + HostName *string `json:"HostName,omitempty" name:"HostName"` } func (r *ResetInstanceRequest) ToJsonString() string { @@ -2791,7 +2888,7 @@ type ResetInstanceResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2808,16 +2905,16 @@ type ResetInstancesInternetMaxBandwidthRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/9388)接口返回值中的 `InstanceId` 获取。 每次请求批量实例的上限为100。当调整 `BANDWIDTH_PREPAID` 和 `BANDWIDTH_POSTPAID_BY_HOUR` 计费方式的带宽时,只支持一个实例。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 公网出带宽配置。不同机型带宽上限范围不一致,具体限制详见带宽限制对账表。暂时只支持 `InternetMaxBandwidthOut` 参数。 - InternetAccessible *InternetAccessible `json:"InternetAccessible" name:"InternetAccessible"` + InternetAccessible *InternetAccessible `json:"InternetAccessible,omitempty" name:"InternetAccessible"` // 带宽生效的起始时间。格式:`YYYY-MM-DD`,例如:`2016-10-30`。起始时间不能早于当前时间。如果起始时间是今天则新设置的带宽立即生效。该参数只对包年包月带宽有效,其他模式带宽不支持该参数,否则接口会以相应错误码返回。 - StartTime *string `json:"StartTime" name:"StartTime"` + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` // 带宽生效的终止时间。格式: `YYYY-MM-DD` ,例如:`2016-10-30` 。新设置的带宽的有效期包含终止时间此日期。终止时间不能晚于包年包月实例的到期时间。实例的到期时间可通过 [`DescribeInstances`](https://cloud.tencent.com/document/api/213/9388)接口返回值中的`ExpiredTime`获取。该参数只对包年包月带宽有效,其他模式带宽不支持该参数,否则接口会以相应错误码返回。 - EndTime *string `json:"EndTime" name:"EndTime"` + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` } func (r *ResetInstancesInternetMaxBandwidthRequest) ToJsonString() string { @@ -2834,7 +2931,7 @@ type ResetInstancesInternetMaxBandwidthResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2851,16 +2948,16 @@ type ResetInstancesPasswordRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728) API返回值中的`InstanceId`获取。每次请求允许操作的实例数量上限是100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 实例登录密码。不同操作系统类型密码复杂度限制不一样,具体如下:
  • `Linux`实例密码必须8到16位,至少包括两项`[a-z,A-Z]、[0-9]`和`[( ) ~ ~ ! @ # $ % ^ & * - + = _ | { } [ ] : ; ' < > , . ? /]`中的符号。密码不允许以`/`符号开头。
  • `Windows`实例密码必须12到16位,至少包括三项`[a-z],[A-Z],[0-9]`和`[( ) ~ ~ ! @ # $ % ^ & * - + = _ | { } [ ] : ; ' < > , . ? /]`中的符号。密码不允许以`/`符号开头。
  • 如果实例即包含`Linux`实例又包含`Windows`实例,则密码复杂度限制按照`Windows`实例的限制。 - Password *string `json:"Password" name:"Password"` + Password *string `json:"Password,omitempty" name:"Password"` // 待重置密码的实例操作系统用户名。不得超过64个字符。 - UserName *string `json:"UserName" name:"UserName"` + UserName *string `json:"UserName,omitempty" name:"UserName"` // 是否对运行中的实例选择强制关机。建议对运行中的实例先手动关机,然后再重置用户密码。取值范围:
  • TRUE:表示在正常关机失败后进行强制关机
  • FALSE:表示在正常关机失败后不进行强制关机

    默认取值:FALSE。

    强制关机的效果等同于关闭物理计算机的电源开关。强制关机可能会导致数据丢失或文件系统损坏,请仅在服务器不能正常关机时使用。 - ForceStop *bool `json:"ForceStop" name:"ForceStop"` + ForceStop *bool `json:"ForceStop,omitempty" name:"ForceStop"` } func (r *ResetInstancesPasswordRequest) ToJsonString() string { @@ -2877,7 +2974,7 @@ type ResetInstancesPasswordResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2894,13 +2991,13 @@ type ResetInstancesTypeRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为1。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 实例机型。不同实例机型指定了不同的资源规格,具体取值可通过调用接口[`DescribeInstanceTypeConfigs`](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例类型](https://cloud.tencent.com/document/product/213/11518)描述。 - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` // 是否对运行中的实例选择强制关机。建议对运行中的实例先手动关机,然后再重置用户密码。取值范围:
  • TRUE:表示在正常关机失败后进行强制关机
  • FALSE:表示在正常关机失败后不进行强制关机

    默认取值:FALSE。

    强制关机的效果等同于关闭物理计算机的电源开关。强制关机可能会导致数据丢失或文件系统损坏,请仅在服务器不能正常关机时使用。 - ForceStop *bool `json:"ForceStop" name:"ForceStop"` + ForceStop *bool `json:"ForceStop,omitempty" name:"ForceStop"` } func (r *ResetInstancesTypeRequest) ToJsonString() string { @@ -2917,7 +3014,7 @@ type ResetInstancesTypeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2934,13 +3031,13 @@ type ResizeInstanceDisksRequest struct { *tchttp.BaseRequest // 待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` - // 待扩容的数据盘配置信息。只支持扩容随实例购买的数据盘,且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。数据盘容量单位:GB。最小扩容步长:10G。关于数据盘类型的选择请参考硬盘产品简介。可选数据盘类型受到实例类型`InstanceType`限制。另外允许扩容的最大容量也因数据盘类型的不同而有所差异。 - DataDisks []*DataDisk `json:"DataDisks" name:"DataDisks" list` + // 待扩容的数据盘配置信息。只支持扩容非弹性数据盘([`DescribeDisks`](https://cloud.tencent.com/document/api/362/16315)接口返回值中的`Portable`为`false`表示非弹性),且[数据盘类型](/document/api/213/9452#block_device)为:`CLOUD_BASIC`、`CLOUD_PREMIUM`、`CLOUD_SSD`。数据盘容量单位:GB。最小扩容步长:10G。关于数据盘类型的选择请参考硬盘产品简介。可选数据盘类型受到实例类型`InstanceType`限制。另外允许扩容的最大容量也因数据盘类型的不同而有所差异。 + DataDisks []*DataDisk `json:"DataDisks,omitempty" name:"DataDisks" list` // 是否对运行中的实例选择强制关机。建议对运行中的实例先手动关机,然后再重置用户密码。取值范围:
  • TRUE:表示在正常关机失败后进行强制关机
  • FALSE:表示在正常关机失败后不进行强制关机

    默认取值:FALSE。

    强制关机的效果等同于关闭物理计算机的电源开关。强制关机可能会导致数据丢失或文件系统损坏,请仅在服务器不能正常关机时使用。 - ForceStop *bool `json:"ForceStop" name:"ForceStop"` + ForceStop *bool `json:"ForceStop,omitempty" name:"ForceStop"` } func (r *ResizeInstanceDisksRequest) ToJsonString() string { @@ -2957,7 +3054,7 @@ type ResizeInstanceDisksResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2974,68 +3071,68 @@ type RunInstancesRequest struct { *tchttp.BaseRequest // 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目,所属宿主机(在专用宿主机上创建子机时指定)等属性。 - Placement *Placement `json:"Placement" name:"Placement"` + Placement *Placement `json:"Placement,omitempty" name:"Placement"` // 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID,格式形如`img-xxx`。镜像类型分为四种:
  • 公共镜像
  • 自定义镜像
  • 共享镜像
  • 服务市场镜像

  • 可通过以下方式获取可用的镜像ID:
  • `公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。
  • 通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。
  • - ImageId *string `json:"ImageId" name:"ImageId"` + ImageId *string `json:"ImageId,omitempty" name:"ImageId"` // 实例[计费类型](https://cloud.tencent.com/document/product/213/2180)。
  • PREPAID:预付费,即包年包月
  • POSTPAID_BY_HOUR:按小时后付费
  • CDHPAID:独享子机(基于专用宿主机创建,宿主机部分的资源不收费)
  • SPOTPAID:竞价付费
    默认值:POSTPAID_BY_HOUR。 - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` // 实例机型。不同实例机型指定了不同的资源规格。 //
  • 对于付费模式为PREPAID或POSTPAID\_BY\_HOUR的实例创建,具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例类型](https://cloud.tencent.com/document/product/213/11518)描述。若不指定该参数,则默认机型为S1.SMALL1。
  • 对于付费模式为CDHPAID的实例创建,该参数以"CDH_"为前缀,根据cpu和内存配置生成,具体形式为:CDH_XCXG,例如对于创建cpu为1核,内存为1G大小的专用宿主机的实例,该参数应该为CDH_1C1G。 - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` // 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。 - SystemDisk *SystemDisk `json:"SystemDisk" name:"SystemDisk"` + SystemDisk *SystemDisk `json:"SystemDisk,omitempty" name:"SystemDisk"` // 实例数据盘配置信息。若不指定该参数,则默认不购买数据盘。支持购买的时候指定11块数据盘,其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘,最多包含10块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。 - DataDisks []*DataDisk `json:"DataDisks" name:"DataDisks" list` + DataDisks []*DataDisk `json:"DataDisks,omitempty" name:"DataDisks" list` // 私有网络相关信息配置。通过该参数可以指定私有网络的ID,子网ID等信息。若不指定该参数,则默认使用基础网络。若在此参数中指定了私有网络ip,表示每个实例的主网卡ip,而且InstanceCount参数必须与私有网络ip的个数一致。 - VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud" name:"VirtualPrivateCloud"` + VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud,omitempty" name:"VirtualPrivateCloud"` // 公网带宽相关信息设置。若不指定该参数,则默认公网带宽为0Mbps。 - InternetAccessible *InternetAccessible `json:"InternetAccessible" name:"InternetAccessible"` + InternetAccessible *InternetAccessible `json:"InternetAccessible,omitempty" name:"InternetAccessible"` // 购买实例数量。包年包月实例取值范围:[1,300],按量计费实例取值范围:[1,100]。默认取值:1。指定购买实例的数量不能超过用户所能购买的剩余配额数量,具体配额相关限制详见[CVM实例购买限制](https://cloud.tencent.com/document/product/213/2664)。 - InstanceCount *int64 `json:"InstanceCount" name:"InstanceCount"` + InstanceCount *int64 `json:"InstanceCount,omitempty" name:"InstanceCount"` // 实例显示名称。
  • 不指定实例显示名称则默认显示‘未命名’。
  • 购买多台实例,如果指定模式串`{R:x}`,表示生成数字`[x, x+n-1]`,其中`n`表示购买实例的数量,例如`server_{R:3}`,购买1台时,实例显示名称为`server_3`;购买2台时,实例显示名称分别为`server_3`,`server_4`。支持指定多个模式串`{R:x}`。
  • 购买多台实例,如果不指定模式串,则在实例显示名称添加后缀`1、2...n`,其中`n`表示购买实例的数量,例如`server_`,购买2台时,实例显示名称分别为`server_1`,`server_2`。 - InstanceName *string `json:"InstanceName" name:"InstanceName"` + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` // 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。 - LoginSettings *LoginSettings `json:"LoginSettings" name:"LoginSettings"` + LoginSettings *LoginSettings `json:"LoginSettings,omitempty" name:"LoginSettings"` // 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。若不指定该参数,则绑定默认安全组。 - SecurityGroupIds []*string `json:"SecurityGroupIds" name:"SecurityGroupIds" list` + SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list` // 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。 - EnhancedService *EnhancedService `json:"EnhancedService" name:"EnhancedService"` + EnhancedService *EnhancedService `json:"EnhancedService,omitempty" name:"EnhancedService"` // 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
    更多详细信息请参阅:如何保证幂等性。 - ClientToken *string `json:"ClientToken" name:"ClientToken"` + ClientToken *string `json:"ClientToken,omitempty" name:"ClientToken"` // 云服务器的主机名。
  • 点号(.)和短横线(-)不能作为 HostName 的首尾字符,不能连续使用。
  • Windows 实例:名字符长度为[2, 15],允许字母(不限制大小写)、数字和短横线(-)组成,不支持点号(.),不能全是数字。
  • 其他类型(Linux 等)实例:字符长度为[2, 60],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。 - HostName *string `json:"HostName" name:"HostName"` + HostName *string `json:"HostName,omitempty" name:"HostName"` // 定时任务。通过该参数可以为实例指定定时任务,目前仅支持定时销毁。 - ActionTimer *ActionTimer `json:"ActionTimer" name:"ActionTimer"` + ActionTimer *ActionTimer `json:"ActionTimer,omitempty" name:"ActionTimer"` - // 容灾组id,仅支持指定一个。 - DisasterRecoverGroupIds []*string `json:"DisasterRecoverGroupIds" name:"DisasterRecoverGroupIds" list` + // 置放群组id,仅支持指定一个。 + DisasterRecoverGroupIds []*string `json:"DisasterRecoverGroupIds,omitempty" name:"DisasterRecoverGroupIds" list` // 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云主机实例。 - TagSpecification []*TagSpecification `json:"TagSpecification" name:"TagSpecification" list` + TagSpecification []*TagSpecification `json:"TagSpecification,omitempty" name:"TagSpecification" list` // 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。 - InstanceMarketOptions *InstanceMarketOptionsRequest `json:"InstanceMarketOptions" name:"InstanceMarketOptions"` + InstanceMarketOptions *InstanceMarketOptionsRequest `json:"InstanceMarketOptions,omitempty" name:"InstanceMarketOptions"` // 提供给实例使用的用户数据,需要以 base64 方式编码,支持的最大数据大小为 16KB。关于获取此参数的详细介绍,请参阅[Windows](https://cloud.tencent.com/document/product/213/17526)和[Linux](https://cloud.tencent.com/document/product/213/17525)启动时运行命令。 - UserData *string `json:"UserData" name:"UserData"` + UserData *string `json:"UserData,omitempty" name:"UserData"` } func (r *RunInstancesRequest) ToJsonString() string { @@ -3052,10 +3149,10 @@ type RunInstancesResponse struct { Response *struct { // 当通过本接口来创建实例时会返回该参数,表示一个或多个实例`ID`。返回实例`ID`列表并不代表实例创建成功,可根据 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728) 接口查询返回的InstancesSet中对应实例的`ID`的状态来判断创建是否完成;如果实例状态由“准备中”变为“正在运行”,则为创建成功。 - InstanceIdSet []*string `json:"InstanceIdSet" name:"InstanceIdSet" list` + InstanceIdSet []*string `json:"InstanceIdSet,omitempty" name:"InstanceIdSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3071,38 +3168,52 @@ func (r *RunInstancesResponse) FromJsonString(s string) error { type RunMonitorServiceEnabled struct { // 是否开启[云监控](/document/product/248)服务。取值范围:
  • TRUE:表示开启云监控服务
  • FALSE:表示不开启云监控服务

    默认取值:TRUE。 - Enabled *bool `json:"Enabled" name:"Enabled"` + Enabled *bool `json:"Enabled,omitempty" name:"Enabled"` } type RunSecurityServiceEnabled struct { // 是否开启[云安全](/document/product/296)服务。取值范围:
  • TRUE:表示开启云安全服务
  • FALSE:表示不开启云安全服务

    默认取值:TRUE。 - Enabled *bool `json:"Enabled" name:"Enabled"` + Enabled *bool `json:"Enabled,omitempty" name:"Enabled"` } type SharePermission struct { // 镜像分享时间 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` // 镜像分享的账户ID - AccountId *string `json:"AccountId" name:"AccountId"` + AccountId *string `json:"AccountId,omitempty" name:"AccountId"` +} + +type Snapshot struct { + + // 快照Id。 + SnapshotId *string `json:"SnapshotId,omitempty" name:"SnapshotId"` + + // 创建此快照的云硬盘类型。取值范围: + // SYSTEM_DISK:系统盘 + // DATA_DISK:数据盘。 + DiskUsage *string `json:"DiskUsage,omitempty" name:"DiskUsage"` + + // 创建此快照的云硬盘大小,单位GB。 + DiskSize *int64 `json:"DiskSize,omitempty" name:"DiskSize"` } type SpotMarketOptions struct { // 竞价出价 - MaxPrice *string `json:"MaxPrice" name:"MaxPrice"` + MaxPrice *string `json:"MaxPrice,omitempty" name:"MaxPrice"` // 竞价请求类型,当前仅支持类型:one-time - SpotInstanceType *string `json:"SpotInstanceType" name:"SpotInstanceType"` + SpotInstanceType *string `json:"SpotInstanceType,omitempty" name:"SpotInstanceType"` } type StartInstancesRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` } func (r *StartInstancesRequest) ToJsonString() string { @@ -3119,7 +3230,7 @@ type StartInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3136,18 +3247,18 @@ type StopInstancesRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` // 是否在正常关闭失败后选择强制关闭实例。取值范围:
  • TRUE:表示在正常关闭失败后进行强制关闭
  • FALSE:表示在正常关闭失败后不进行强制关闭

    默认取值:FALSE。 - ForceStop *bool `json:"ForceStop" name:"ForceStop"` + ForceStop *bool `json:"ForceStop,omitempty" name:"ForceStop"` // 实例的关闭模式。取值范围:
  • SOFT_FIRST:表示在正常关闭失败后进行强制关闭
  • HARD:直接强制关闭
  • SOFT:仅软关机
    默认取值:SOFT。 - StopType *string `json:"StopType" name:"StopType"` + StopType *string `json:"StopType,omitempty" name:"StopType"` // 按量计费实例关机收费模式。 // 取值范围:
  • KEEP_CHARGING:关机继续收费
  • STOP_CHARGING:关机停止收费
    默认取值:KEEP_CHARGING。 // 该参数只针对部分按量计费云硬盘实例生效,详情参考[按量计费实例关机不收费说明](https://cloud.tencent.com/document/product/213/19918) - StoppedMode *string `json:"StoppedMode" name:"StoppedMode"` + StoppedMode *string `json:"StoppedMode,omitempty" name:"StoppedMode"` } func (r *StopInstancesRequest) ToJsonString() string { @@ -3164,7 +3275,7 @@ type StopInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3180,23 +3291,26 @@ func (r *StopInstancesResponse) FromJsonString(s string) error { type StorageBlock struct { // HDD本地存储类型,值为:LOCAL_PRO. - Type *string `json:"Type" name:"Type"` + // 注意:此字段可能返回 null,表示取不到有效值。 + Type *string `json:"Type,omitempty" name:"Type"` // HDD本地存储的最小容量 - MinSize *int64 `json:"MinSize" name:"MinSize"` + // 注意:此字段可能返回 null,表示取不到有效值。 + MinSize *int64 `json:"MinSize,omitempty" name:"MinSize"` // HDD本地存储的最大容量 - MaxSize *int64 `json:"MaxSize" name:"MaxSize"` + // 注意:此字段可能返回 null,表示取不到有效值。 + MaxSize *int64 `json:"MaxSize,omitempty" name:"MaxSize"` } type SyncImagesRequest struct { *tchttp.BaseRequest // 镜像ID列表 ,镜像ID可以通过如下方式获取:
  • 通过[DescribeImages](https://cloud.tencent.com/document/api/213/15715)接口返回的`ImageId`获取。
  • 通过[镜像控制台](https://console.cloud.tencent.com/cvm/image)获取。
    镜像ID必须满足限制:
  • 镜像ID对应的镜像状态必须为`NORMAL`。
  • 镜像大小小于50GB。
    镜像状态请参考[镜像数据表](/document/api/213/9452#image_state)。 - ImageIds []*string `json:"ImageIds" name:"ImageIds" list` + ImageIds []*string `json:"ImageIds,omitempty" name:"ImageIds" list` // 目的同步地域列表;必须满足限制:
  • 不能为源地域,
  • 必须是一个合法的Region。
  • 暂不支持部分地域同步。
    具体地域参数请参考[Region](https://cloud.tencent.com/document/product/213/6091)。 - DestinationRegions []*string `json:"DestinationRegions" name:"DestinationRegions" list` + DestinationRegions []*string `json:"DestinationRegions,omitempty" name:"DestinationRegions" list` } func (r *SyncImagesRequest) ToJsonString() string { @@ -3213,7 +3327,7 @@ type SyncImagesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3229,38 +3343,38 @@ func (r *SyncImagesResponse) FromJsonString(s string) error { type SystemDisk struct { // 系统盘类型。系统盘类型限制详见[CVM实例配置](/document/product/213/2177)。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_SSD:SSD云硬盘
  • CLOUD_PREMIUM:高性能云硬盘

    默认取值:CLOUD_BASIC。 - DiskType *string `json:"DiskType" name:"DiskType"` + DiskType *string `json:"DiskType,omitempty" name:"DiskType"` // 系统盘ID。LOCAL_BASIC 和 LOCAL_SSD 类型没有ID。暂时不支持该参数。 - DiskId *string `json:"DiskId" name:"DiskId"` + DiskId *string `json:"DiskId,omitempty" name:"DiskId"` // 系统盘大小,单位:GB。默认值为 50 - DiskSize *int64 `json:"DiskSize" name:"DiskSize"` + DiskSize *int64 `json:"DiskSize,omitempty" name:"DiskSize"` } type Tag struct { // 标签键 - Key *string `json:"Key" name:"Key"` + Key *string `json:"Key,omitempty" name:"Key"` // 标签值 - Value *string `json:"Value" name:"Value"` + Value *string `json:"Value,omitempty" name:"Value"` } type TagSpecification struct { - // 标签绑定的资源类型,当前仅支持类型:"instance" - ResourceType *string `json:"ResourceType" name:"ResourceType"` + // 标签绑定的资源类型,当前支持类型:"instance"和"host" + ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` // 标签对列表 - Tags []*Tag `json:"Tags" name:"Tags" list` + Tags []*Tag `json:"Tags,omitempty" name:"Tags" list` } type TerminateInstancesRequest struct { *tchttp.BaseRequest // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。每次请求批量实例的上限为100。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` } func (r *TerminateInstancesRequest) ToJsonString() string { @@ -3277,7 +3391,7 @@ type TerminateInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3293,29 +3407,29 @@ func (r *TerminateInstancesResponse) FromJsonString(s string) error { type VirtualPrivateCloud struct { // 私有网络ID,形如`vpc-xxx`。有效的VpcId可通过登录[控制台](https://console.cloud.tencent.com/vpc/vpc?rid=1)查询;也可以调用接口 [DescribeVpcEx](/document/api/215/1372) ,从接口返回中的`unVpcId`字段获取。若在创建子机时VpcId与SubnetId同时传入`DEFAULT`,则强制使用默认vpc网络。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 私有网络子网ID,形如`subnet-xxx`。有效的私有网络子网ID可通过登录[控制台](https://console.cloud.tencent.com/vpc/subnet?rid=1)查询;也可以调用接口 [DescribeSubnets](/document/api/215/15784) ,从接口返回中的`unSubnetId`字段获取。若在创建子机时SubnetId与VpcId同时传入`DEFAULT`,则强制使用默认vpc网络。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` // 是否用作公网网关。公网网关只有在实例拥有公网IP以及处于私有网络下时才能正常使用。取值范围:
  • TRUE:表示用作公网网关
  • FALSE:表示不用作公网网关

    默认取值:FALSE。 - AsVpcGateway *bool `json:"AsVpcGateway" name:"AsVpcGateway"` + AsVpcGateway *bool `json:"AsVpcGateway,omitempty" name:"AsVpcGateway"` // 私有网络子网 IP 数组,在创建实例、修改实例vpc属性操作中可使用此参数。当前仅批量创建多台实例时支持传入相同子网的多个 IP。 - PrivateIpAddresses []*string `json:"PrivateIpAddresses" name:"PrivateIpAddresses" list` + PrivateIpAddresses []*string `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list` } type ZoneInfo struct { // 可用区名称,例如,ap-guangzhou-3 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` // 可用区描述,例如,广州三区 - ZoneName *string `json:"ZoneName" name:"ZoneName"` + ZoneName *string `json:"ZoneName,omitempty" name:"ZoneName"` // 可用区ID - ZoneId *string `json:"ZoneId" name:"ZoneId"` + ZoneId *string `json:"ZoneId,omitempty" name:"ZoneId"` - // 可用区状态 - ZoneState *string `json:"ZoneState" name:"ZoneState"` + // 可用区状态,包含AVAILABLE和UNAVAILABLE。AVAILABLE代表可用,UNAVAILABLE代表不可用。 + ZoneState *string `json:"ZoneState,omitempty" name:"ZoneState"` } diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go index 1d31c3d95..6924ff091 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/client.go @@ -93,6 +93,33 @@ func (c *Client) AddBandwidthPackageResources(request *AddBandwidthPackageResour return } +func NewAddIp6RulesRequest() (request *AddIp6RulesRequest) { + request = &AddIp6RulesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "AddIp6Rules") + return +} + +func NewAddIp6RulesResponse() (response *AddIp6RulesResponse) { + response = &AddIp6RulesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 1. 该接口用于在转换实例下添加IPV6转换规则。 +// 2. 支持在同一个转换实例下批量添加转换规则,一个账户在一个地域最多50个。 +// 3. 一个完整的转换规则包括vip6:vport6:protocol:vip:vport,其中vip6:vport6:protocol必须是唯一。 +func (c *Client) AddIp6Rules(request *AddIp6RulesRequest) (response *AddIp6RulesResponse, err error) { + if request == nil { + request = NewAddIp6RulesRequest() + } + response = NewAddIp6RulesResponse() + err = c.Send(request, response) + return +} + func NewAllocateAddressesRequest() (request *AllocateAddressesRequest) { request = &AllocateAddressesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -121,6 +148,90 @@ func (c *Client) AllocateAddresses(request *AllocateAddressesRequest) (response return } +func NewAssignIpv6AddressesRequest() (request *AssignIpv6AddressesRequest) { + request = &AssignIpv6AddressesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "AssignIpv6Addresses") + return +} + +func NewAssignIpv6AddressesResponse() (response *AssignIpv6AddressesResponse) { + response = &AssignIpv6AddressesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(AssignIpv6Addresses)用于弹性网卡申请`IPv6`地址。
    +// 本接口是异步完成,如需查询异步任务执行结果,请使用本接口返回的`RequestId`轮询`QueryTask`接口。 +// * 一个弹性网卡支持绑定的IP地址是有限制的,更多资源限制信息详见弹性网卡使用限制。 +// * 可以指定`IPv6`地址申请,地址类型不能为主`IP`,`IPv6`地址暂时只支持作为辅助`IP`。 +// * 地址必须要在弹性网卡所在子网内,而且不能被占用。 +// * 在弹性网卡上申请一个到多个辅助`IPv6`地址,接口会在弹性网卡所在子网段内返回指定数量的辅助`IPv6`地址。 +func (c *Client) AssignIpv6Addresses(request *AssignIpv6AddressesRequest) (response *AssignIpv6AddressesResponse, err error) { + if request == nil { + request = NewAssignIpv6AddressesRequest() + } + response = NewAssignIpv6AddressesResponse() + err = c.Send(request, response) + return +} + +func NewAssignIpv6CidrBlockRequest() (request *AssignIpv6CidrBlockRequest) { + request = &AssignIpv6CidrBlockRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "AssignIpv6CidrBlock") + return +} + +func NewAssignIpv6CidrBlockResponse() (response *AssignIpv6CidrBlockResponse) { + response = &AssignIpv6CidrBlockResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(AssignIpv6CidrBlock)用于分配IPv6网段。 +// * 使用本接口前,你需要已有VPC实例,如果没有可通过接口CreateVpc创建。 +// * 每个VPC只能申请一个IPv6网段 +func (c *Client) AssignIpv6CidrBlock(request *AssignIpv6CidrBlockRequest) (response *AssignIpv6CidrBlockResponse, err error) { + if request == nil { + request = NewAssignIpv6CidrBlockRequest() + } + response = NewAssignIpv6CidrBlockResponse() + err = c.Send(request, response) + return +} + +func NewAssignIpv6SubnetCidrBlockRequest() (request *AssignIpv6SubnetCidrBlockRequest) { + request = &AssignIpv6SubnetCidrBlockRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "AssignIpv6SubnetCidrBlock") + return +} + +func NewAssignIpv6SubnetCidrBlockResponse() (response *AssignIpv6SubnetCidrBlockResponse) { + response = &AssignIpv6SubnetCidrBlockResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(AssignIpv6SubnetCidrBlock)用于分配IPv6子网段。 +// * 给子网分配 `IPv6` 网段,要求子网所属 `VPC` 已获得 `IPv6` 网段。如果尚未分配,请先通过接口 `AssignIpv6CidrBlock` 给子网所属 `VPC` 分配一个 `IPv6` 网段。否则无法分配 `IPv6` 子网段。 +// * 每个子网只能分配一个IPv6网段。 +func (c *Client) AssignIpv6SubnetCidrBlock(request *AssignIpv6SubnetCidrBlockRequest) (response *AssignIpv6SubnetCidrBlockResponse, err error) { + if request == nil { + request = NewAssignIpv6SubnetCidrBlockRequest() + } + response = NewAssignIpv6SubnetCidrBlockResponse() + err = c.Send(request, response) + return +} + func NewAssignPrivateIpAddressesRequest() (request *AssignPrivateIpAddressesRequest) { request = &AssignPrivateIpAddressesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -165,9 +276,10 @@ func NewAssociateAddressResponse() (response *AssociateAddressResponse) { } // 本接口 (AssociateAddress) 用于将[弹性公网IP](https://cloud.tencent.com/document/product/213/1941)(简称 EIP)绑定到实例或弹性网卡的指定内网 IP 上。 -// * 将 EIP 绑定到实例上,其本质是将 EIP 绑定到实例上主网卡的主内网 IP 上。 +// * 将 EIP 绑定到实例(CVM)上,其本质是将 EIP 绑定到实例上主网卡的主内网 IP 上。 // * 将 EIP 绑定到主网卡的主内网IP上,绑定过程会把其上绑定的普通公网 IP 自动解绑并释放。 -// * 如果指定网卡的内网 IP 已经绑定了 EIP,则必须先解绑该 EIP,才能再绑定新的。 +// * 将 EIP 绑定到指定网卡的内网 IP上(非主网卡的主内网IP),则必须先解绑该 EIP,才能再绑定新的。 +// * 将 EIP 绑定到NAT网关,请使用接口[EipBindNatGateway](https://cloud.tencent.com/document/product/215/4093) // * EIP 如果欠费或被封堵,则不能被绑定。 // * 只有状态为 UNBIND 的 EIP 才能够被绑定。 func (c *Client) AssociateAddress(request *AssociateAddressRequest) (response *AssociateAddressResponse, err error) { @@ -276,7 +388,7 @@ func NewCreateAddressTemplateResponse() (response *CreateAddressTemplateResponse return } -// 创建IP地址模版 +// 本接口(CreateAddressTemplate)用于创建IP地址模版 func (c *Client) CreateAddressTemplate(request *CreateAddressTemplateRequest) (response *CreateAddressTemplateResponse, err error) { if request == nil { request = NewCreateAddressTemplateRequest() @@ -301,7 +413,7 @@ func NewCreateAddressTemplateGroupResponse() (response *CreateAddressTemplateGro return } -// 创建IP地址模版集合 +// 本接口(CreateAddressTemplateGroup)用于创建IP地址模版集合 func (c *Client) CreateAddressTemplateGroup(request *CreateAddressTemplateGroupRequest) (response *CreateAddressTemplateGroupResponse, err error) { if request == nil { request = NewCreateAddressTemplateGroupRequest() @@ -470,6 +582,31 @@ func (c *Client) CreateDirectConnectGatewayCcnRoutes(request *CreateDirectConnec return } +func NewCreateFlowLogRequest() (request *CreateFlowLogRequest) { + request = &CreateFlowLogRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "CreateFlowLog") + return +} + +func NewCreateFlowLogResponse() (response *CreateFlowLogResponse) { + response = &CreateFlowLogResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(CreateFlowLog)用于创建流日志 +func (c *Client) CreateFlowLog(request *CreateFlowLogRequest) (response *CreateFlowLogResponse, err error) { + if request == nil { + request = NewCreateFlowLogRequest() + } + response = NewCreateFlowLogResponse() + err = c.Send(request, response) + return +} + func NewCreateHaVipRequest() (request *CreateHaVipRequest) { request = &CreateHaVipRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -495,6 +632,32 @@ func (c *Client) CreateHaVip(request *CreateHaVipRequest) (response *CreateHaVip return } +func NewCreateIp6TranslatorsRequest() (request *CreateIp6TranslatorsRequest) { + request = &CreateIp6TranslatorsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "CreateIp6Translators") + return +} + +func NewCreateIp6TranslatorsResponse() (response *CreateIp6TranslatorsResponse) { + response = &CreateIp6TranslatorsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 1. 该接口用于创建IPV6转换IPV4实例,支持批量 +// 2. 同一个账户在在一个地域最多允许创建10个转换实例 +func (c *Client) CreateIp6Translators(request *CreateIp6TranslatorsRequest) (response *CreateIp6TranslatorsResponse, err error) { + if request == nil { + request = NewCreateIp6TranslatorsRequest() + } + response = NewCreateIp6TranslatorsResponse() + err = c.Send(request, response) + return +} + func NewCreateNetworkInterfaceRequest() (request *CreateNetworkInterfaceRequest) { request = &CreateNetworkInterfaceRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -624,7 +787,7 @@ func NewCreateSecurityGroupPoliciesResponse() (response *CreateSecurityGroupPoli // * Protocol字段支持输入TCP, UDP, ICMP, GRE, ALL。 // * CidrBlock字段允许输入符合cidr格式标准的任意字符串。(展开)在基础网络中,如果CidrBlock包含您的账户内的云服务器之外的设备在腾讯云的内网IP,并不代表此规则允许您访问这些设备,租户之间网络隔离规则优先于安全组中的内网规则。 // * SecurityGroupId字段允许输入与待修改的安全组位于相同项目中的安全组ID,包括这个安全组ID本身,代表安全组下所有云服务器的内网IP。使用这个字段时,这条规则用来匹配网络报文的过程中会随着被使用的这个ID所关联的云服务器变化而变化,不需要重新修改。 -// * Port字段允许输入一个单独端口号,或者用减号分隔的两个端口号代表端口范围,例如80或8000-8010。只有当Protocol字段是TCP或UDP时,Port字段才被接受。 +// * Port字段允许输入一个单独端口号,或者用减号分隔的两个端口号代表端口范围,例如80或8000-8010。只有当Protocol字段是TCP或UDP时,Port字段才被接受,即Protocol字段不是TCP或UDP时,Protocol和Port排他关系,不允许同时输入,否则会接口报错。 // * Action字段只允许输入ACCEPT或DROP。 // * CidrBlock, SecurityGroupId, AddressTemplate三者是排他关系,不允许同时输入,Protocol + Port和ServiceTemplate二者是排他关系,不允许同时输入。 // * 一次请求中只能创建单个方向的规则, 如果需要指定索引(PolicyIndex)参数, 多条规则的索引必须一致。 @@ -652,7 +815,7 @@ func NewCreateServiceTemplateResponse() (response *CreateServiceTemplateResponse return } -// 创建协议端口模板 +// 本接口(CreateServiceTemplate)用于创建协议端口模板 func (c *Client) CreateServiceTemplate(request *CreateServiceTemplateRequest) (response *CreateServiceTemplateResponse, err error) { if request == nil { request = NewCreateServiceTemplateRequest() @@ -677,7 +840,7 @@ func NewCreateServiceTemplateGroupResponse() (response *CreateServiceTemplateGro return } -// 创建协议端口模板集合 +// 本接口(CreateServiceTemplateGroup)用于创建协议端口模板集合 func (c *Client) CreateServiceTemplateGroup(request *CreateServiceTemplateGroupRequest) (response *CreateServiceTemplateGroupResponse, err error) { if request == nil { request = NewCreateServiceTemplateGroupRequest() @@ -717,6 +880,36 @@ func (c *Client) CreateSubnet(request *CreateSubnetRequest) (response *CreateSub return } +func NewCreateSubnetsRequest() (request *CreateSubnetsRequest) { + request = &CreateSubnetsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "CreateSubnets") + return +} + +func NewCreateSubnetsResponse() (response *CreateSubnetsResponse) { + response = &CreateSubnetsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(CreateSubnets)用于批量创建子网。 +// * 创建子网前必须创建好 VPC。 +// * 子网创建成功后,子网网段不能修改。子网网段必须在VPC网段内,可以和VPC网段相同(VPC有且只有一个子网时),建议子网网段在VPC网段内,预留网段给其他子网使用。 +// * 你可以创建的最小网段子网掩码为28(有16个IP地址),最大网段子网掩码为16(65,536个IP地址)。 +// * 同一个VPC内,多个子网的网段不能重叠。 +// * 子网创建后会自动关联到默认路由表。 +func (c *Client) CreateSubnets(request *CreateSubnetsRequest) (response *CreateSubnetsResponse, err error) { + if request == nil { + request = NewCreateSubnetsRequest() + } + response = NewCreateSubnetsResponse() + err = c.Send(request, response) + return +} + func NewCreateVpcRequest() (request *CreateVpcRequest) { request = &CreateVpcRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -784,7 +977,7 @@ func NewCreateVpnGatewayResponse() (response *CreateVpnGatewayResponse) { return } -// 本接口(CreateVpnGateways)用于创建VPN网关。 +// 本接口(CreateVpnGateway)用于创建VPN网关。 func (c *Client) CreateVpnGateway(request *CreateVpnGatewayRequest) (response *CreateVpnGatewayResponse, err error) { if request == nil { request = NewCreateVpnGatewayRequest() @@ -809,7 +1002,7 @@ func NewDeleteAddressTemplateResponse() (response *DeleteAddressTemplateResponse return } -// 删除IP地址模板 +// 本接口(DeleteAddressTemplate)用于删除IP地址模板 func (c *Client) DeleteAddressTemplate(request *DeleteAddressTemplateRequest) (response *DeleteAddressTemplateResponse, err error) { if request == nil { request = NewDeleteAddressTemplateRequest() @@ -834,7 +1027,7 @@ func NewDeleteAddressTemplateGroupResponse() (response *DeleteAddressTemplateGro return } -// 删除IP地址模板集合 +// 本接口(DeleteAddressTemplateGroup)用于删除IP地址模板集合 func (c *Client) DeleteAddressTemplateGroup(request *DeleteAddressTemplateGroupRequest) (response *DeleteAddressTemplateGroupResponse, err error) { if request == nil { request = NewDeleteAddressTemplateGroupRequest() @@ -974,6 +1167,31 @@ func (c *Client) DeleteDirectConnectGatewayCcnRoutes(request *DeleteDirectConnec return } +func NewDeleteFlowLogRequest() (request *DeleteFlowLogRequest) { + request = &DeleteFlowLogRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DeleteFlowLog") + return +} + +func NewDeleteFlowLogResponse() (response *DeleteFlowLogResponse) { + response = &DeleteFlowLogResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DeleteFlowLog)用于删除流日志 +func (c *Client) DeleteFlowLog(request *DeleteFlowLogRequest) (response *DeleteFlowLogResponse, err error) { + if request == nil { + request = NewDeleteFlowLogRequest() + } + response = NewDeleteFlowLogResponse() + err = c.Send(request, response) + return +} + func NewDeleteHaVipRequest() (request *DeleteHaVipRequest) { request = &DeleteHaVipRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -1000,6 +1218,32 @@ func (c *Client) DeleteHaVip(request *DeleteHaVipRequest) (response *DeleteHaVip return } +func NewDeleteIp6TranslatorsRequest() (request *DeleteIp6TranslatorsRequest) { + request = &DeleteIp6TranslatorsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DeleteIp6Translators") + return +} + +func NewDeleteIp6TranslatorsResponse() (response *DeleteIp6TranslatorsResponse) { + response = &DeleteIp6TranslatorsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 1. 该接口用于释放IPV6转换实例,支持批量。 +// 2. 如果IPV6转换实例建立有转换规则,会一并删除。 +func (c *Client) DeleteIp6Translators(request *DeleteIp6TranslatorsRequest) (response *DeleteIp6TranslatorsResponse, err error) { + if request == nil { + request = NewDeleteIp6TranslatorsRequest() + } + response = NewDeleteIp6TranslatorsResponse() + err = c.Send(request, response) + return +} + func NewDeleteNetworkInterfaceRequest() (request *DeleteNetworkInterfaceRequest) { request = &DeleteNetworkInterfaceRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -1146,7 +1390,7 @@ func NewDeleteServiceTemplateResponse() (response *DeleteServiceTemplateResponse return } -// 删除协议端口模板 +// 本接口(DeleteServiceTemplate)用于删除协议端口模板 func (c *Client) DeleteServiceTemplate(request *DeleteServiceTemplateRequest) (response *DeleteServiceTemplateResponse, err error) { if request == nil { request = NewDeleteServiceTemplateRequest() @@ -1171,7 +1415,7 @@ func NewDeleteServiceTemplateGroupResponse() (response *DeleteServiceTemplateGro return } -// 删除协议端口模板集合 +// 本接口(DeleteServiceTemplateGroup)用于删除协议端口模板集合 func (c *Client) DeleteServiceTemplateGroup(request *DeleteServiceTemplateGroupRequest) (response *DeleteServiceTemplateGroupResponse, err error) { if request == nil { request = NewDeleteServiceTemplateGroupRequest() @@ -1349,7 +1593,7 @@ func NewDescribeAddressTemplateGroupsResponse() (response *DescribeAddressTempla return } -// 查询IP地址模板集合 +// 本接口(DescribeAddressTemplateGroups)用于查询IP地址模板集合 func (c *Client) DescribeAddressTemplateGroups(request *DescribeAddressTemplateGroupsRequest) (response *DescribeAddressTemplateGroupsResponse, err error) { if request == nil { request = NewDescribeAddressTemplateGroupsRequest() @@ -1374,7 +1618,7 @@ func NewDescribeAddressTemplatesResponse() (response *DescribeAddressTemplatesRe return } -// 查询IP地址模板 +// 本接口(DescribeAddressTemplates)用于查询IP地址模板 func (c *Client) DescribeAddressTemplates(request *DescribeAddressTemplatesRequest) (response *DescribeAddressTemplatesResponse, err error) { if request == nil { request = NewDescribeAddressTemplatesRequest() @@ -1685,6 +1929,83 @@ func (c *Client) DescribeDirectConnectGateways(request *DescribeDirectConnectGat return } +func NewDescribeFlowLogRequest() (request *DescribeFlowLogRequest) { + request = &DescribeFlowLogRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DescribeFlowLog") + return +} + +func NewDescribeFlowLogResponse() (response *DescribeFlowLogResponse) { + response = &DescribeFlowLogResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeFlowLog)用于查询流日志实例信息 +func (c *Client) DescribeFlowLog(request *DescribeFlowLogRequest) (response *DescribeFlowLogResponse, err error) { + if request == nil { + request = NewDescribeFlowLogRequest() + } + response = NewDescribeFlowLogResponse() + err = c.Send(request, response) + return +} + +func NewDescribeFlowLogsRequest() (request *DescribeFlowLogsRequest) { + request = &DescribeFlowLogsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DescribeFlowLogs") + return +} + +func NewDescribeFlowLogsResponse() (response *DescribeFlowLogsResponse) { + response = &DescribeFlowLogsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeFlowLogs)用于查询获取流日志集合 +func (c *Client) DescribeFlowLogs(request *DescribeFlowLogsRequest) (response *DescribeFlowLogsResponse, err error) { + if request == nil { + request = NewDescribeFlowLogsRequest() + } + response = NewDescribeFlowLogsResponse() + err = c.Send(request, response) + return +} + +func NewDescribeGatewayFlowMonitorDetailRequest() (request *DescribeGatewayFlowMonitorDetailRequest) { + request = &DescribeGatewayFlowMonitorDetailRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DescribeGatewayFlowMonitorDetail") + return +} + +func NewDescribeGatewayFlowMonitorDetailResponse() (response *DescribeGatewayFlowMonitorDetailResponse) { + response = &DescribeGatewayFlowMonitorDetailResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeGatewayFlowMonitorDetail)用于查询网关流量监控明细。 +// * 只支持单个网关实例查询。即入参 `VpnId` `DirectConnectGatewayId` `PeeringConnectionId` `NatId` 最多只支持传一个,且必须传一个。 +// * 如果网关有流量,但调用本接口没有返回数据,请在控制台对应网关详情页确认是否开启网关流量监控。 +func (c *Client) DescribeGatewayFlowMonitorDetail(request *DescribeGatewayFlowMonitorDetailRequest) (response *DescribeGatewayFlowMonitorDetailResponse, err error) { + if request == nil { + request = NewDescribeGatewayFlowMonitorDetailRequest() + } + response = NewDescribeGatewayFlowMonitorDetailResponse() + err = c.Send(request, response) + return +} + func NewDescribeHaVipsRequest() (request *DescribeHaVipsRequest) { request = &DescribeHaVipsRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -1710,6 +2031,57 @@ func (c *Client) DescribeHaVips(request *DescribeHaVipsRequest) (response *Descr return } +func NewDescribeIp6TranslatorQuotaRequest() (request *DescribeIp6TranslatorQuotaRequest) { + request = &DescribeIp6TranslatorQuotaRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DescribeIp6TranslatorQuota") + return +} + +func NewDescribeIp6TranslatorQuotaResponse() (response *DescribeIp6TranslatorQuotaResponse) { + response = &DescribeIp6TranslatorQuotaResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 查询账户在指定地域IPV6转换实例和规则的配额 +func (c *Client) DescribeIp6TranslatorQuota(request *DescribeIp6TranslatorQuotaRequest) (response *DescribeIp6TranslatorQuotaResponse, err error) { + if request == nil { + request = NewDescribeIp6TranslatorQuotaRequest() + } + response = NewDescribeIp6TranslatorQuotaResponse() + err = c.Send(request, response) + return +} + +func NewDescribeIp6TranslatorsRequest() (request *DescribeIp6TranslatorsRequest) { + request = &DescribeIp6TranslatorsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DescribeIp6Translators") + return +} + +func NewDescribeIp6TranslatorsResponse() (response *DescribeIp6TranslatorsResponse) { + response = &DescribeIp6TranslatorsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 1. 该接口用于查询账户下的IPV6转换实例及其绑定的转换规则信息 +// 2. 支持过滤查询 +func (c *Client) DescribeIp6Translators(request *DescribeIp6TranslatorsRequest) (response *DescribeIp6TranslatorsResponse, err error) { + if request == nil { + request = NewDescribeIp6TranslatorsRequest() + } + response = NewDescribeIp6TranslatorsResponse() + err = c.Send(request, response) + return +} + func NewDescribeNetworkInterfacesRequest() (request *DescribeNetworkInterfacesRequest) { request = &DescribeNetworkInterfacesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -1875,7 +2247,7 @@ func NewDescribeServiceTemplateGroupsResponse() (response *DescribeServiceTempla return } -// 查询协议端口模板集合 +// 本接口(DescribeServiceTemplateGroups)用于查询协议端口模板集合 func (c *Client) DescribeServiceTemplateGroups(request *DescribeServiceTemplateGroupsRequest) (response *DescribeServiceTemplateGroupsResponse, err error) { if request == nil { request = NewDescribeServiceTemplateGroupsRequest() @@ -1900,7 +2272,7 @@ func NewDescribeServiceTemplatesResponse() (response *DescribeServiceTemplatesRe return } -// 查询协议端口模板 +// 本接口(DescribeServiceTemplates)用于查询协议端口模板 func (c *Client) DescribeServiceTemplates(request *DescribeServiceTemplatesRequest) (response *DescribeServiceTemplatesResponse, err error) { if request == nil { request = NewDescribeServiceTemplatesRequest() @@ -1935,6 +2307,58 @@ func (c *Client) DescribeSubnets(request *DescribeSubnetsRequest) (response *Des return } +func NewDescribeVpcIpv6AddressesRequest() (request *DescribeVpcIpv6AddressesRequest) { + request = &DescribeVpcIpv6AddressesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DescribeVpcIpv6Addresses") + return +} + +func NewDescribeVpcIpv6AddressesResponse() (response *DescribeVpcIpv6AddressesResponse) { + response = &DescribeVpcIpv6AddressesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeVpcIpv6Addresses)用于查询 `VPC` `IPv6` 信息。 +// 只能查询已使用的`IPv6`信息,当查询未使用的IP时,本接口不会报错,但不会出现在返回结果里。 +func (c *Client) DescribeVpcIpv6Addresses(request *DescribeVpcIpv6AddressesRequest) (response *DescribeVpcIpv6AddressesResponse, err error) { + if request == nil { + request = NewDescribeVpcIpv6AddressesRequest() + } + response = NewDescribeVpcIpv6AddressesResponse() + err = c.Send(request, response) + return +} + +func NewDescribeVpcPrivateIpAddressesRequest() (request *DescribeVpcPrivateIpAddressesRequest) { + request = &DescribeVpcPrivateIpAddressesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DescribeVpcPrivateIpAddresses") + return +} + +func NewDescribeVpcPrivateIpAddressesResponse() (response *DescribeVpcPrivateIpAddressesResponse) { + response = &DescribeVpcPrivateIpAddressesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeVpcPrivateIpAddresses)用于查询VPC内网IP信息。
    +// 只能查询已使用的IP信息,当查询未使用的IP时,本接口不会报错,但不会出现在返回结果里。 +func (c *Client) DescribeVpcPrivateIpAddresses(request *DescribeVpcPrivateIpAddressesRequest) (response *DescribeVpcPrivateIpAddressesResponse, err error) { + if request == nil { + request = NewDescribeVpcPrivateIpAddressesRequest() + } + response = NewDescribeVpcPrivateIpAddressesResponse() + err = c.Send(request, response) + return +} + func NewDescribeVpcsRequest() (request *DescribeVpcsRequest) { request = &DescribeVpcsRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -2152,6 +2576,8 @@ func NewDisassociateAddressResponse() (response *DisassociateAddressResponse) { } // 本接口 (DisassociateAddress) 用于解绑[弹性公网IP](https://cloud.tencent.com/document/product/213/1941)(简称 EIP)。 +// * 支持CVM实例,弹性网卡上的EIP解绑 +// * 不支持NAT上的EIP解绑。NAT上的EIP解绑请参考[EipUnBindNatGateway](https://cloud.tencent.com/document/product/215/4092) // * 只有状态为 BIND 和 BIND_ENI 的 EIP 才能进行解绑定操作。 // * EIP 如果被封堵,则不能进行解绑定操作。 func (c *Client) DisassociateAddress(request *DisassociateAddressRequest) (response *DisassociateAddressResponse, err error) { @@ -2460,7 +2886,7 @@ func NewModifyAddressTemplateAttributeResponse() (response *ModifyAddressTemplat return } -// 修改IP地址模板 +// 本接口(ModifyAddressTemplateAttribute)用于修改IP地址模板 func (c *Client) ModifyAddressTemplateAttribute(request *ModifyAddressTemplateAttributeRequest) (response *ModifyAddressTemplateAttributeResponse, err error) { if request == nil { request = NewModifyAddressTemplateAttributeRequest() @@ -2485,7 +2911,7 @@ func NewModifyAddressTemplateGroupAttributeResponse() (response *ModifyAddressTe return } -// 修改IP地址模板集合 +// 本接口(ModifyAddressTemplateGroupAttribute)用于修改IP地址模板集合 func (c *Client) ModifyAddressTemplateGroupAttribute(request *ModifyAddressTemplateGroupAttributeRequest) (response *ModifyAddressTemplateGroupAttributeResponse, err error) { if request == nil { request = NewModifyAddressTemplateGroupAttributeRequest() @@ -2510,7 +2936,7 @@ func NewModifyAddressesBandwidthResponse() (response *ModifyAddressesBandwidthRe return } -// 接口用于调整[弹性公网IP](https://cloud.tencent.com/document/product/213/1941)(简称EIP)带宽,包括后付费EIP, 预付费EIP和带宽包EIP +// 本接口(ModifyAddressesBandwidth)用于调整[弹性公网IP](https://cloud.tencent.com/document/product/213/1941)(简称EIP)带宽,包括后付费EIP, 预付费EIP和带宽包EIP func (c *Client) ModifyAddressesBandwidth(request *ModifyAddressesBandwidthRequest) (response *ModifyAddressesBandwidthResponse, err error) { if request == nil { request = NewModifyAddressesBandwidthRequest() @@ -2620,6 +3046,31 @@ func (c *Client) ModifyDirectConnectGatewayAttribute(request *ModifyDirectConnec return } +func NewModifyFlowLogAttributeRequest() (request *ModifyFlowLogAttributeRequest) { + request = &ModifyFlowLogAttributeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "ModifyFlowLogAttribute") + return +} + +func NewModifyFlowLogAttributeResponse() (response *ModifyFlowLogAttributeResponse) { + response = &ModifyFlowLogAttributeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyFlowLogAttribute)用于修改流日志属性 +func (c *Client) ModifyFlowLogAttribute(request *ModifyFlowLogAttributeRequest) (response *ModifyFlowLogAttributeResponse, err error) { + if request == nil { + request = NewModifyFlowLogAttributeRequest() + } + response = NewModifyFlowLogAttributeResponse() + err = c.Send(request, response) + return +} + func NewModifyHaVipAttributeRequest() (request *ModifyHaVipAttributeRequest) { request = &ModifyHaVipAttributeRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -2645,6 +3096,81 @@ func (c *Client) ModifyHaVipAttribute(request *ModifyHaVipAttributeRequest) (res return } +func NewModifyIp6RuleRequest() (request *ModifyIp6RuleRequest) { + request = &ModifyIp6RuleRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "ModifyIp6Rule") + return +} + +func NewModifyIp6RuleResponse() (response *ModifyIp6RuleResponse) { + response = &ModifyIp6RuleResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 该接口用于修改IPV6转换规则,当前仅支持修改转换规则名称,IPV4地址和IPV4端口号 +func (c *Client) ModifyIp6Rule(request *ModifyIp6RuleRequest) (response *ModifyIp6RuleResponse, err error) { + if request == nil { + request = NewModifyIp6RuleRequest() + } + response = NewModifyIp6RuleResponse() + err = c.Send(request, response) + return +} + +func NewModifyIp6TranslatorRequest() (request *ModifyIp6TranslatorRequest) { + request = &ModifyIp6TranslatorRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "ModifyIp6Translator") + return +} + +func NewModifyIp6TranslatorResponse() (response *ModifyIp6TranslatorResponse) { + response = &ModifyIp6TranslatorResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 该接口用于修改IP6转换实例属性,当前仅支持修改实例名称。 +func (c *Client) ModifyIp6Translator(request *ModifyIp6TranslatorRequest) (response *ModifyIp6TranslatorResponse, err error) { + if request == nil { + request = NewModifyIp6TranslatorRequest() + } + response = NewModifyIp6TranslatorResponse() + err = c.Send(request, response) + return +} + +func NewModifyIpv6AddressesAttributeRequest() (request *ModifyIpv6AddressesAttributeRequest) { + request = &ModifyIpv6AddressesAttributeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "ModifyIpv6AddressesAttribute") + return +} + +func NewModifyIpv6AddressesAttributeResponse() (response *ModifyIpv6AddressesAttributeResponse) { + response = &ModifyIpv6AddressesAttributeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyIpv6AddressesAttribute)用于修改弹性网卡内网IPv6地址属性。 +func (c *Client) ModifyIpv6AddressesAttribute(request *ModifyIpv6AddressesAttributeRequest) (response *ModifyIpv6AddressesAttributeResponse, err error) { + if request == nil { + request = NewModifyIpv6AddressesAttributeRequest() + } + response = NewModifyIpv6AddressesAttributeResponse() + err = c.Send(request, response) + return +} + func NewModifyNetworkInterfaceAttributeRequest() (request *ModifyNetworkInterfaceAttributeRequest) { request = &ModifyNetworkInterfaceAttributeRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -2794,7 +3320,7 @@ func NewModifyServiceTemplateAttributeResponse() (response *ModifyServiceTemplat return } -// 修改协议端口模板 +// 本接口(ModifyServiceTemplateAttribute)用于修改协议端口模板 func (c *Client) ModifyServiceTemplateAttribute(request *ModifyServiceTemplateAttributeRequest) (response *ModifyServiceTemplateAttributeResponse, err error) { if request == nil { request = NewModifyServiceTemplateAttributeRequest() @@ -3006,6 +3532,32 @@ func (c *Client) RemoveBandwidthPackageResources(request *RemoveBandwidthPackage return } +func NewRemoveIp6RulesRequest() (request *RemoveIp6RulesRequest) { + request = &RemoveIp6RulesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "RemoveIp6Rules") + return +} + +func NewRemoveIp6RulesResponse() (response *RemoveIp6RulesResponse) { + response = &RemoveIp6RulesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 1. 该接口用于删除IPV6转换规则 +// 2. 支持批量删除同一个转换实例下的多个转换规则 +func (c *Client) RemoveIp6Rules(request *RemoveIp6RulesRequest) (response *RemoveIp6RulesResponse, err error) { + if request == nil { + request = NewRemoveIp6RulesRequest() + } + response = NewRemoveIp6RulesResponse() + err = c.Send(request, response) + return +} + func NewRenewVpnGatewayRequest() (request *RenewVpnGatewayRequest) { request = &RenewVpnGatewayRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -3285,6 +3837,84 @@ func (c *Client) TransformAddress(request *TransformAddressRequest) (response *T return } +func NewUnassignIpv6AddressesRequest() (request *UnassignIpv6AddressesRequest) { + request = &UnassignIpv6AddressesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "UnassignIpv6Addresses") + return +} + +func NewUnassignIpv6AddressesResponse() (response *UnassignIpv6AddressesResponse) { + response = &UnassignIpv6AddressesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(UnassignIpv6Addresses)用于释放弹性网卡`IPv6`地址。
    +// 本接口是异步完成,如需查询异步任务执行结果,请使用本接口返回的`RequestId`轮询`QueryTask`接口。 +func (c *Client) UnassignIpv6Addresses(request *UnassignIpv6AddressesRequest) (response *UnassignIpv6AddressesResponse, err error) { + if request == nil { + request = NewUnassignIpv6AddressesRequest() + } + response = NewUnassignIpv6AddressesResponse() + err = c.Send(request, response) + return +} + +func NewUnassignIpv6CidrBlockRequest() (request *UnassignIpv6CidrBlockRequest) { + request = &UnassignIpv6CidrBlockRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "UnassignIpv6CidrBlock") + return +} + +func NewUnassignIpv6CidrBlockResponse() (response *UnassignIpv6CidrBlockResponse) { + response = &UnassignIpv6CidrBlockResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(UnassignIpv6CidrBlock)用于释放IPv6网段。
    +// 网段如果还有IP占用且未回收,则网段无法释放。 +func (c *Client) UnassignIpv6CidrBlock(request *UnassignIpv6CidrBlockRequest) (response *UnassignIpv6CidrBlockResponse, err error) { + if request == nil { + request = NewUnassignIpv6CidrBlockRequest() + } + response = NewUnassignIpv6CidrBlockResponse() + err = c.Send(request, response) + return +} + +func NewUnassignIpv6SubnetCidrBlockRequest() (request *UnassignIpv6SubnetCidrBlockRequest) { + request = &UnassignIpv6SubnetCidrBlockRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "UnassignIpv6SubnetCidrBlock") + return +} + +func NewUnassignIpv6SubnetCidrBlockResponse() (response *UnassignIpv6SubnetCidrBlockResponse) { + response = &UnassignIpv6SubnetCidrBlockResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(UnassignIpv6SubnetCidrBlock)用于释放IPv6子网段。
    +// 子网段如果还有IP占用且未回收,则子网段无法释放。 +func (c *Client) UnassignIpv6SubnetCidrBlock(request *UnassignIpv6SubnetCidrBlockRequest) (response *UnassignIpv6SubnetCidrBlockResponse, err error) { + if request == nil { + request = NewUnassignIpv6SubnetCidrBlockRequest() + } + response = NewUnassignIpv6SubnetCidrBlockResponse() + err = c.Send(request, response) + return +} + func NewUnassignPrivateIpAddressesRequest() (request *UnassignPrivateIpAddressesRequest) { request = &UnassignPrivateIpAddressesRequest{ BaseRequest: &tchttp.BaseRequest{}, diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go index b1428ff58..f12064b1b 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/vpc/v20170312/models.go @@ -24,10 +24,10 @@ type AcceptAttachCcnInstancesRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // 接受关联实例列表。 - Instances []*CcnInstance `json:"Instances" name:"Instances" list` + Instances []*CcnInstance `json:"Instances,omitempty" name:"Instances" list` } func (r *AcceptAttachCcnInstancesRequest) ToJsonString() string { @@ -44,7 +44,7 @@ type AcceptAttachCcnInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -60,26 +60,26 @@ func (r *AcceptAttachCcnInstancesResponse) FromJsonString(s string) error { type AccountAttribute struct { // 属性名 - AttributeName *string `json:"AttributeName" name:"AttributeName"` + AttributeName *string `json:"AttributeName,omitempty" name:"AttributeName"` // 属性值 - AttributeValues []*string `json:"AttributeValues" name:"AttributeValues" list` + AttributeValues []*string `json:"AttributeValues,omitempty" name:"AttributeValues" list` } type AddBandwidthPackageResourcesRequest struct { *tchttp.BaseRequest // 资源Id,形如'eip-xxxx', 'lb-xxxx' - ResourceIds []*string `json:"ResourceIds" name:"ResourceIds" list` + ResourceIds []*string `json:"ResourceIds,omitempty" name:"ResourceIds" list` // 带宽包唯一标识ID,形如'bwp-xxxx' - BandwidthPackageId *string `json:"BandwidthPackageId" name:"BandwidthPackageId"` + BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"` // 带宽包类型,包括'BGP', 'SINGLEISP', 'ANYCAST' - NetworkType *string `json:"NetworkType" name:"NetworkType"` + NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"` // 资源类型,包括'Address', 'LoadBalance' - ResourceType *string `json:"ResourceType" name:"ResourceType"` + ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` } func (r *AddBandwidthPackageResourcesRequest) ToJsonString() string { @@ -96,7 +96,7 @@ type AddBandwidthPackageResourcesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -109,92 +109,135 @@ func (r *AddBandwidthPackageResourcesResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type AddIp6RulesRequest struct { + *tchttp.BaseRequest + + // IPV6转换实例唯一ID,形如ip6-xxxxxxxx + Ip6TranslatorId *string `json:"Ip6TranslatorId,omitempty" name:"Ip6TranslatorId"` + + // IPV6转换规则信息 + Ip6RuleInfos []*Ip6RuleInfo `json:"Ip6RuleInfos,omitempty" name:"Ip6RuleInfos" list` + + // IPV6转换规则名称 + Ip6RuleName *string `json:"Ip6RuleName,omitempty" name:"Ip6RuleName"` +} + +func (r *AddIp6RulesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AddIp6RulesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type AddIp6RulesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // IPV6转换规则唯一ID数组,形如rule6-xxxxxxxx + Ip6RuleSet []*string `json:"Ip6RuleSet,omitempty" name:"Ip6RuleSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *AddIp6RulesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AddIp6RulesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type Address struct { // `EIP`的`ID`,是`EIP`的唯一标识。 - AddressId *string `json:"AddressId" name:"AddressId"` + AddressId *string `json:"AddressId,omitempty" name:"AddressId"` // `EIP`名称。 - AddressName *string `json:"AddressName" name:"AddressName"` + AddressName *string `json:"AddressName,omitempty" name:"AddressName"` // `EIP`状态。 - AddressStatus *string `json:"AddressStatus" name:"AddressStatus"` + AddressStatus *string `json:"AddressStatus,omitempty" name:"AddressStatus"` // 外网IP地址 - AddressIp *string `json:"AddressIp" name:"AddressIp"` + AddressIp *string `json:"AddressIp,omitempty" name:"AddressIp"` // 绑定的资源实例`ID`。可能是一个`CVM`,`NAT`。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 创建时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` // 绑定的弹性网卡ID - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // 绑定的资源内网ip - PrivateAddressIp *string `json:"PrivateAddressIp" name:"PrivateAddressIp"` + PrivateAddressIp *string `json:"PrivateAddressIp,omitempty" name:"PrivateAddressIp"` - // 资源隔离状态。true表示eip处于隔离状态,false表示资源处于未隔离装填 - IsArrears *bool `json:"IsArrears" name:"IsArrears"` + // 资源隔离状态。true表示eip处于隔离状态,false表示资源处于未隔离状态 + IsArrears *bool `json:"IsArrears,omitempty" name:"IsArrears"` // 资源封堵状态。true表示eip处于封堵状态,false表示eip处于未封堵状态 - IsBlocked *bool `json:"IsBlocked" name:"IsBlocked"` + IsBlocked *bool `json:"IsBlocked,omitempty" name:"IsBlocked"` // eip是否支持直通模式。true表示eip支持直通模式,false表示资源不支持直通模式 - IsEipDirectConnection *bool `json:"IsEipDirectConnection" name:"IsEipDirectConnection"` + IsEipDirectConnection *bool `json:"IsEipDirectConnection,omitempty" name:"IsEipDirectConnection"` // eip资源类型,包括"CalcIP","WanIP","EIP","AnycastEIP"。其中"CalcIP"表示设备ip,“WanIP”表示普通公网ip,“EIP”表示弹性公网ip,“AnycastEip”表示加速EIP - AddressType *string `json:"AddressType" name:"AddressType"` + AddressType *string `json:"AddressType,omitempty" name:"AddressType"` // eip是否在解绑后自动释放。true表示eip将会在解绑后自动释放,false表示eip在解绑后不会自动释放 - CascadeRelease *bool `json:"CascadeRelease" name:"CascadeRelease"` + CascadeRelease *bool `json:"CascadeRelease,omitempty" name:"CascadeRelease"` } type AddressTemplate struct { // IP地址模板名称。 - AddressTemplateName *string `json:"AddressTemplateName" name:"AddressTemplateName"` + AddressTemplateName *string `json:"AddressTemplateName,omitempty" name:"AddressTemplateName"` // IP地址模板实例唯一ID。 - AddressTemplateId *string `json:"AddressTemplateId" name:"AddressTemplateId"` + AddressTemplateId *string `json:"AddressTemplateId,omitempty" name:"AddressTemplateId"` // IP地址信息。 - AddressSet []*string `json:"AddressSet" name:"AddressSet" list` + AddressSet []*string `json:"AddressSet,omitempty" name:"AddressSet" list` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type AddressTemplateGroup struct { // IP地址模板集合名称。 - AddressTemplateGroupName *string `json:"AddressTemplateGroupName" name:"AddressTemplateGroupName"` + AddressTemplateGroupName *string `json:"AddressTemplateGroupName,omitempty" name:"AddressTemplateGroupName"` // IP地址模板集合实例ID,例如:ipmg-dih8xdbq。 - AddressTemplateGroupId *string `json:"AddressTemplateGroupId" name:"AddressTemplateGroupId"` + AddressTemplateGroupId *string `json:"AddressTemplateGroupId,omitempty" name:"AddressTemplateGroupId"` // IP地址模板ID。 - AddressTemplateIdSet []*string `json:"AddressTemplateIdSet" name:"AddressTemplateIdSet" list` + AddressTemplateIdSet []*string `json:"AddressTemplateIdSet,omitempty" name:"AddressTemplateIdSet" list` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type AddressTemplateSpecification struct { // IP地址ID,例如:ipm-2uw6ujo6。 - AddressId *string `json:"AddressId" name:"AddressId"` + AddressId *string `json:"AddressId,omitempty" name:"AddressId"` // IP地址组ID,例如:ipmg-2uw6ujo6。 - AddressGroupId *string `json:"AddressGroupId" name:"AddressGroupId"` + AddressGroupId *string `json:"AddressGroupId,omitempty" name:"AddressGroupId"` } type AllocateAddressesRequest struct { *tchttp.BaseRequest // 申请 EIP 数量,默认值为1。 - AddressCount *int64 `json:"AddressCount" name:"AddressCount"` + AddressCount *int64 `json:"AddressCount,omitempty" name:"AddressCount"` } func (r *AllocateAddressesRequest) ToJsonString() string { @@ -211,10 +254,10 @@ type AllocateAddressesResponse struct { Response *struct { // 申请到的 EIP 的唯一 ID 列表。 - AddressSet []*string `json:"AddressSet" name:"AddressSet" list` + AddressSet []*string `json:"AddressSet,omitempty" name:"AddressSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -227,17 +270,137 @@ func (r *AllocateAddressesResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type AssignIpv6AddressesRequest struct { + *tchttp.BaseRequest + + // 弹性网卡实例`ID`,形如:`eni-m6dyj72l`。 + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` + + // 指定的`IPv6`地址列表,单次最多指定10个。与入参`Ipv6AddressCount`合并计算配额。 + Ipv6Addresses []*Ipv6Address `json:"Ipv6Addresses,omitempty" name:"Ipv6Addresses" list` + + // 自动分配`IPv6`地址个数,内网IP地址个数总和不能超过配数。与入参`Ipv6Addresses`合并计算配额。 + Ipv6AddressCount *uint64 `json:"Ipv6AddressCount,omitempty" name:"Ipv6AddressCount"` +} + +func (r *AssignIpv6AddressesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AssignIpv6AddressesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type AssignIpv6AddressesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 分配给弹性网卡的`IPv6`地址列表。 + Ipv6AddressSet []*Ipv6Address `json:"Ipv6AddressSet,omitempty" name:"Ipv6AddressSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *AssignIpv6AddressesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AssignIpv6AddressesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type AssignIpv6CidrBlockRequest struct { + *tchttp.BaseRequest + + // `VPC`实例`ID`,形如:`vpc-f49l6u0z`。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` +} + +func (r *AssignIpv6CidrBlockRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AssignIpv6CidrBlockRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type AssignIpv6CidrBlockResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 分配的 `IPv6` 网段。形如:`3402:4e00:20:1000::/56` + Ipv6CidrBlock *string `json:"Ipv6CidrBlock,omitempty" name:"Ipv6CidrBlock"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *AssignIpv6CidrBlockResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AssignIpv6CidrBlockResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type AssignIpv6SubnetCidrBlockRequest struct { + *tchttp.BaseRequest + + // 子网所在私有网络`ID`。形如:`vpc-f49l6u0z`。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 分配 `IPv6` 子网段列表。 + Ipv6SubnetCidrBlocks []*Ipv6SubnetCidrBlock `json:"Ipv6SubnetCidrBlocks,omitempty" name:"Ipv6SubnetCidrBlocks" list` +} + +func (r *AssignIpv6SubnetCidrBlockRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AssignIpv6SubnetCidrBlockRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type AssignIpv6SubnetCidrBlockResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 分配 `IPv6` 子网段列表。 + Ipv6SubnetCidrBlockSet []*Ipv6SubnetCidrBlock `json:"Ipv6SubnetCidrBlockSet,omitempty" name:"Ipv6SubnetCidrBlockSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *AssignIpv6SubnetCidrBlockResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AssignIpv6SubnetCidrBlockResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type AssignPrivateIpAddressesRequest struct { *tchttp.BaseRequest // 弹性网卡实例ID,例如:eni-m6dyj72l。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // 指定的内网IP信息,单次最多指定10个。 - PrivateIpAddresses []*PrivateIpAddressSpecification `json:"PrivateIpAddresses" name:"PrivateIpAddresses" list` + PrivateIpAddresses []*PrivateIpAddressSpecification `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list` // 新申请的内网IP地址个数,内网IP地址个数总和不能超过配数。 - SecondaryPrivateIpAddressCount *uint64 `json:"SecondaryPrivateIpAddressCount" name:"SecondaryPrivateIpAddressCount"` + SecondaryPrivateIpAddressCount *uint64 `json:"SecondaryPrivateIpAddressCount,omitempty" name:"SecondaryPrivateIpAddressCount"` } func (r *AssignPrivateIpAddressesRequest) ToJsonString() string { @@ -254,10 +417,10 @@ type AssignPrivateIpAddressesResponse struct { Response *struct { // 内网IP详细信息。 - PrivateIpAddressSet []*PrivateIpAddressSpecification `json:"PrivateIpAddressSet" name:"PrivateIpAddressSet" list` + PrivateIpAddressSet []*PrivateIpAddressSpecification `json:"PrivateIpAddressSet,omitempty" name:"PrivateIpAddressSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -274,16 +437,16 @@ type AssociateAddressRequest struct { *tchttp.BaseRequest // 标识 EIP 的唯一 ID。EIP 唯一 ID 形如:`eip-11112222`。 - AddressId *string `json:"AddressId" name:"AddressId"` + AddressId *string `json:"AddressId,omitempty" name:"AddressId"` // 要绑定的实例 ID。实例 ID 形如:`ins-11112222`。可通过登录[控制台](https://console.cloud.tencent.com/cvm)查询,也可通过 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728) 接口返回值中的`InstanceId`获取。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 要绑定的弹性网卡 ID。 弹性网卡 ID 形如:`eni-11112222`。`NetworkInterfaceId` 与 `InstanceId` 不可同时指定。弹性网卡 ID 可通过登录[控制台](https://console.cloud.tencent.com/vpc/eni)查询,也可通过[DescribeNetworkInterfaces](https://cloud.tencent.com/document/api/215/15817)接口返回值中的`networkInterfaceId`获取。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // 要绑定的内网 IP。如果指定了 `NetworkInterfaceId` 则也必须指定 `PrivateIpAddress` ,表示将 EIP 绑定到指定弹性网卡的指定内网 IP 上。同时要确保指定的 `PrivateIpAddress` 是指定的 `NetworkInterfaceId` 上的一个内网 IP。指定弹性网卡的内网 IP 可通过登录[控制台](https://console.cloud.tencent.com/vpc/eni)查询,也可通过[DescribeNetworkInterfaces](https://cloud.tencent.com/document/api/215/15817)接口返回值中的`privateIpAddress`获取。 - PrivateIpAddress *string `json:"PrivateIpAddress" name:"PrivateIpAddress"` + PrivateIpAddress *string `json:"PrivateIpAddress,omitempty" name:"PrivateIpAddress"` } func (r *AssociateAddressRequest) ToJsonString() string { @@ -300,7 +463,7 @@ type AssociateAddressResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -317,13 +480,13 @@ type AttachCcnInstancesRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // 关联网络实例列表 - Instances []*CcnInstance `json:"Instances" name:"Instances" list` + Instances []*CcnInstance `json:"Instances,omitempty" name:"Instances" list` // CCN所属UIN(根账号),默认当前账号所属UIN - CcnUin *string `json:"CcnUin" name:"CcnUin"` + CcnUin *string `json:"CcnUin,omitempty" name:"CcnUin"` } func (r *AttachCcnInstancesRequest) ToJsonString() string { @@ -340,7 +503,7 @@ type AttachCcnInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -357,10 +520,10 @@ type AttachClassicLinkVpcRequest struct { *tchttp.BaseRequest // VPC实例ID - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // CVM实例ID - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` } func (r *AttachClassicLinkVpcRequest) ToJsonString() string { @@ -377,7 +540,7 @@ type AttachClassicLinkVpcResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -394,10 +557,10 @@ type AttachNetworkInterfaceRequest struct { *tchttp.BaseRequest // 弹性网卡实例ID,例如:eni-m6dyj72l。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // CVM实例ID。形如:ins-r8hr2upy。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } func (r *AttachNetworkInterfaceRequest) ToJsonString() string { @@ -414,7 +577,7 @@ type AttachNetworkInterfaceResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -430,79 +593,87 @@ func (r *AttachNetworkInterfaceResponse) FromJsonString(s string) error { type BandwidthPackage struct { // 带宽包唯一标识Id - BandwidthPackageId *string `json:"BandwidthPackageId" name:"BandwidthPackageId"` + BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"` // 带宽包类型,包括'BGP','SINGLEISP','ANYCAST' - NetworkType *string `json:"NetworkType" name:"NetworkType"` + NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"` // 带宽包计费类型,包括'TOP5_POSTPAID_BY_MONTH'和'PERCENT95_POSTPAID_BY_MONTH' - ChargeType *string `json:"ChargeType" name:"ChargeType"` + ChargeType *string `json:"ChargeType,omitempty" name:"ChargeType"` // 带宽包名称 - BandwidthPackageName *string `json:"BandwidthPackageName" name:"BandwidthPackageName"` + BandwidthPackageName *string `json:"BandwidthPackageName,omitempty" name:"BandwidthPackageName"` // 带宽包创建时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` // 带宽包状态,包括'CREATING','CREATED','DELETING','DELETED' - Status *string `json:"Status" name:"Status"` + Status *string `json:"Status,omitempty" name:"Status"` // 带宽包资源信息 - ResourceSet []*Resource `json:"ResourceSet" name:"ResourceSet" list` + ResourceSet []*Resource `json:"ResourceSet,omitempty" name:"ResourceSet" list` // 带宽包限速大小。单位:Mbps,-1表示不限速。 - Bandwidth *int64 `json:"Bandwidth" name:"Bandwidth"` + Bandwidth *int64 `json:"Bandwidth,omitempty" name:"Bandwidth"` } type CCN struct { // 云联网唯一ID - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // 云联网名称 - CcnName *string `json:"CcnName" name:"CcnName"` + CcnName *string `json:"CcnName,omitempty" name:"CcnName"` // 云联网描述信息 - CcnDescription *string `json:"CcnDescription" name:"CcnDescription"` + CcnDescription *string `json:"CcnDescription,omitempty" name:"CcnDescription"` // 关联实例数量 - InstanceCount *uint64 `json:"InstanceCount" name:"InstanceCount"` + InstanceCount *uint64 `json:"InstanceCount,omitempty" name:"InstanceCount"` // 创建时间 - CreateTime *string `json:"CreateTime" name:"CreateTime"` + CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` // 实例状态, 'ISOLATED': 隔离中(欠费停服),'AVAILABLE':运行中。 - State *string `json:"State" name:"State"` + State *string `json:"State,omitempty" name:"State"` // 实例服务质量,’PT’:白金,'AU':金,'AG':银。 - QosLevel *string `json:"QosLevel" name:"QosLevel"` + QosLevel *string `json:"QosLevel,omitempty" name:"QosLevel"` + + // 付费类型,PREPAID为预付费,POSTPAID为后付费。 + // 注意:此字段可能返回 null,表示取不到有效值。 + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` + + // 限速类型,INTER_REGION_LIMIT为地域间限速;OUTER_REGION_LIMIT为地域出口限速。 + // 注意:此字段可能返回 null,表示取不到有效值。 + BandwidthLimitType *string `json:"BandwidthLimitType,omitempty" name:"BandwidthLimitType"` } type CcnAttachedInstance struct { // 云联网实例ID。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // 关联实例类型: //
  • `VPC`:私有网络
  • //
  • `DIRECTCONNECT`:专线网关
  • //
  • `BMVPC`:黑石私有网络
  • - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` // 关联实例ID。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 关联实例名称。 - InstanceName *string `json:"InstanceName" name:"InstanceName"` + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` // 关联实例所属大区,例如:ap-guangzhou。 - InstanceRegion *string `json:"InstanceRegion" name:"InstanceRegion"` + InstanceRegion *string `json:"InstanceRegion,omitempty" name:"InstanceRegion"` // 关联实例所属UIN(根账号)。 - InstanceUin *string `json:"InstanceUin" name:"InstanceUin"` + InstanceUin *string `json:"InstanceUin,omitempty" name:"InstanceUin"` // 关联实例CIDR。 - CidrBlock []*string `json:"CidrBlock" name:"CidrBlock" list` + CidrBlock []*string `json:"CidrBlock,omitempty" name:"CidrBlock" list` // 关联实例状态: //
  • `PENDING`:申请中
  • @@ -510,88 +681,100 @@ type CcnAttachedInstance struct { //
  • `EXPIRED`:已过期
  • //
  • `REJECTED`:已拒绝
  • //
  • `DELETED`:已删除
  • + //
  • `FAILED`:失败的(2小时后将异步强制解关联)
  • //
  • `ATTACHING`:关联中
  • //
  • `DETACHING`:解关联中
  • - State *string `json:"State" name:"State"` + //
  • `DETACHFAILED`:解关联失败(2小时后将异步强制解关联)
  • + State *string `json:"State,omitempty" name:"State"` // 关联时间。 - AttachedTime *string `json:"AttachedTime" name:"AttachedTime"` + AttachedTime *string `json:"AttachedTime,omitempty" name:"AttachedTime"` // 云联网所属UIN(根账号)。 - CcnUin *string `json:"CcnUin" name:"CcnUin"` + CcnUin *string `json:"CcnUin,omitempty" name:"CcnUin"` } type CcnInstance struct { // 关联实例ID。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 关联实例ID所属大区,例如:ap-guangzhou。 - InstanceRegion *string `json:"InstanceRegion" name:"InstanceRegion"` + InstanceRegion *string `json:"InstanceRegion,omitempty" name:"InstanceRegion"` // 关联实例类型,可选值: //
  • `VPC`:私有网络
  • //
  • `DIRECTCONNECT`:专线网关
  • //
  • `BMVPC`:黑石私有网络
  • - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` } type CcnRegionBandwidthLimit struct { // 地域,例如:ap-guangzhou - Region *string `json:"Region" name:"Region"` + Region *string `json:"Region,omitempty" name:"Region"` // 出带宽上限,单位:Mbps - BandwidthLimit *uint64 `json:"BandwidthLimit" name:"BandwidthLimit"` + BandwidthLimit *uint64 `json:"BandwidthLimit,omitempty" name:"BandwidthLimit"` + + // 是否黑石地域,默认`false`。 + IsBm *bool `json:"IsBm,omitempty" name:"IsBm"` + + // 目的地域,例如:ap-shanghai + // 注意:此字段可能返回 null,表示取不到有效值。 + DstRegion *string `json:"DstRegion,omitempty" name:"DstRegion"` + + // 目的地域是否为黑石地域,默认`false`。 + DstIsBm *bool `json:"DstIsBm,omitempty" name:"DstIsBm"` } type CcnRoute struct { // 路由策略ID - RouteId *string `json:"RouteId" name:"RouteId"` + RouteId *string `json:"RouteId,omitempty" name:"RouteId"` // 目的端 - DestinationCidrBlock *string `json:"DestinationCidrBlock" name:"DestinationCidrBlock"` + DestinationCidrBlock *string `json:"DestinationCidrBlock,omitempty" name:"DestinationCidrBlock"` // 下一跳类型(关联实例类型),所有类型:VPC、DIRECTCONNECT - InstanceType *string `json:"InstanceType" name:"InstanceType"` + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` // 下一跳(关联实例) - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 下一跳名称(关联实例名称) - InstanceName *string `json:"InstanceName" name:"InstanceName"` + InstanceName *string `json:"InstanceName,omitempty" name:"InstanceName"` // 下一跳所属地域(关联实例所属地域) - InstanceRegion *string `json:"InstanceRegion" name:"InstanceRegion"` + InstanceRegion *string `json:"InstanceRegion,omitempty" name:"InstanceRegion"` // 更新时间 - UpdateTime *string `json:"UpdateTime" name:"UpdateTime"` + UpdateTime *string `json:"UpdateTime,omitempty" name:"UpdateTime"` // 路由是否启用 - Enabled *bool `json:"Enabled" name:"Enabled"` + Enabled *bool `json:"Enabled,omitempty" name:"Enabled"` // 关联实例所属UIN(根账号) - InstanceUin *string `json:"InstanceUin" name:"InstanceUin"` + InstanceUin *string `json:"InstanceUin,omitempty" name:"InstanceUin"` } type ClassicLinkInstance struct { // VPC实例ID - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 云服务器实例唯一ID - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } type CreateAddressTemplateGroupRequest struct { *tchttp.BaseRequest // IP地址模版集合名称。 - AddressTemplateGroupName *string `json:"AddressTemplateGroupName" name:"AddressTemplateGroupName"` + AddressTemplateGroupName *string `json:"AddressTemplateGroupName,omitempty" name:"AddressTemplateGroupName"` // IP地址模版实例ID,例如:ipm-mdunqeb6。 - AddressTemplateIds []*string `json:"AddressTemplateIds" name:"AddressTemplateIds" list` + AddressTemplateIds []*string `json:"AddressTemplateIds,omitempty" name:"AddressTemplateIds" list` } func (r *CreateAddressTemplateGroupRequest) ToJsonString() string { @@ -608,10 +791,10 @@ type CreateAddressTemplateGroupResponse struct { Response *struct { // IP地址模板集合对象。 - AddressTemplateGroup *AddressTemplateGroup `json:"AddressTemplateGroup" name:"AddressTemplateGroup"` + AddressTemplateGroup *AddressTemplateGroup `json:"AddressTemplateGroup,omitempty" name:"AddressTemplateGroup"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -628,10 +811,10 @@ type CreateAddressTemplateRequest struct { *tchttp.BaseRequest // IP地址模版名称 - AddressTemplateName *string `json:"AddressTemplateName" name:"AddressTemplateName"` + AddressTemplateName *string `json:"AddressTemplateName,omitempty" name:"AddressTemplateName"` // 地址信息,支持 IP、CIDR、IP 范围。 - Addresses []*string `json:"Addresses" name:"Addresses" list` + Addresses []*string `json:"Addresses,omitempty" name:"Addresses" list` } func (r *CreateAddressTemplateRequest) ToJsonString() string { @@ -648,10 +831,10 @@ type CreateAddressTemplateResponse struct { Response *struct { // IP地址模板对象。 - AddressTemplate *AddressTemplate `json:"AddressTemplate" name:"AddressTemplate"` + AddressTemplate *AddressTemplate `json:"AddressTemplate,omitempty" name:"AddressTemplate"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -668,19 +851,19 @@ type CreateBandwidthPackageRequest struct { *tchttp.BaseRequest // 带宽包类型,包括'BGP','SINGLEISP','ANYCAST' - NetworkType *string `json:"NetworkType" name:"NetworkType"` + NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"` // 带宽包计费类型,包括‘TOP5_POSTPAID_BY_MONTH’,‘PERCENT95_POSTPAID_BY_MONTH’ - ChargeType *string `json:"ChargeType" name:"ChargeType"` + ChargeType *string `json:"ChargeType,omitempty" name:"ChargeType"` // 带宽包名字 - BandwidthPackageName *string `json:"BandwidthPackageName" name:"BandwidthPackageName"` + BandwidthPackageName *string `json:"BandwidthPackageName,omitempty" name:"BandwidthPackageName"` // 带宽包数量(非上移账户只能填1) - BandwidthPackageCount *uint64 `json:"BandwidthPackageCount" name:"BandwidthPackageCount"` + BandwidthPackageCount *uint64 `json:"BandwidthPackageCount,omitempty" name:"BandwidthPackageCount"` // 带宽包限速大小。单位:Mbps,-1表示不限速。 - InternetMaxBandwidth *int64 `json:"InternetMaxBandwidth" name:"InternetMaxBandwidth"` + InternetMaxBandwidth *int64 `json:"InternetMaxBandwidth,omitempty" name:"InternetMaxBandwidth"` } func (r *CreateBandwidthPackageRequest) ToJsonString() string { @@ -697,13 +880,13 @@ type CreateBandwidthPackageResponse struct { Response *struct { // 带宽包Id - BandwidthPackageId *string `json:"BandwidthPackageId" name:"BandwidthPackageId"` + BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"` // 带宽包Ids(申请数量大于1时有效) - BandwidthPackageIds []*string `json:"BandwidthPackageIds" name:"BandwidthPackageIds" list` + BandwidthPackageIds []*string `json:"BandwidthPackageIds,omitempty" name:"BandwidthPackageIds" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -720,10 +903,13 @@ type CreateCcnRequest struct { *tchttp.BaseRequest // CCN名称,最大长度不能超过60个字节。 - CcnName *string `json:"CcnName" name:"CcnName"` + CcnName *string `json:"CcnName,omitempty" name:"CcnName"` // CCN描述信息,最大长度不能超过100个字节。 - CcnDescription *string `json:"CcnDescription" name:"CcnDescription"` + CcnDescription *string `json:"CcnDescription,omitempty" name:"CcnDescription"` + + // CCN服务质量,'PT':白金,'AU':金,'AG':银,默认为‘AU’。 + QosLevel *string `json:"QosLevel,omitempty" name:"QosLevel"` } func (r *CreateCcnRequest) ToJsonString() string { @@ -740,10 +926,10 @@ type CreateCcnResponse struct { Response *struct { // 云联网(CCN)对象。 - Ccn *CCN `json:"Ccn" name:"Ccn"` + Ccn *CCN `json:"Ccn,omitempty" name:"Ccn"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -760,10 +946,10 @@ type CreateCustomerGatewayRequest struct { *tchttp.BaseRequest // 对端网关名称,可任意命名,但不得超过60个字符。 - CustomerGatewayName *string `json:"CustomerGatewayName" name:"CustomerGatewayName"` + CustomerGatewayName *string `json:"CustomerGatewayName,omitempty" name:"CustomerGatewayName"` // 对端网关公网IP。 - IpAddress *string `json:"IpAddress" name:"IpAddress"` + IpAddress *string `json:"IpAddress,omitempty" name:"IpAddress"` } func (r *CreateCustomerGatewayRequest) ToJsonString() string { @@ -780,10 +966,10 @@ type CreateCustomerGatewayResponse struct { Response *struct { // 对端网关对象 - CustomerGateway *CustomerGateway `json:"CustomerGateway" name:"CustomerGateway"` + CustomerGateway *CustomerGateway `json:"CustomerGateway,omitempty" name:"CustomerGateway"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -800,10 +986,10 @@ type CreateDefaultVpcRequest struct { *tchttp.BaseRequest // 子网所在的可用区ID,不指定将随机选择可用区 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` // 是否强制返回默认VPC - Force *bool `json:"Force" name:"Force"` + Force *bool `json:"Force,omitempty" name:"Force"` } func (r *CreateDefaultVpcRequest) ToJsonString() string { @@ -820,10 +1006,10 @@ type CreateDefaultVpcResponse struct { Response *struct { // 默认VPC和子网ID - Vpc *DefaultVpcSubnet `json:"Vpc" name:"Vpc"` + Vpc *DefaultVpcSubnet `json:"Vpc,omitempty" name:"Vpc"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -840,10 +1026,10 @@ type CreateDirectConnectGatewayCcnRoutesRequest struct { *tchttp.BaseRequest // 专线网关ID,形如:dcg-prpqlmg1 - DirectConnectGatewayId *string `json:"DirectConnectGatewayId" name:"DirectConnectGatewayId"` + DirectConnectGatewayId *string `json:"DirectConnectGatewayId,omitempty" name:"DirectConnectGatewayId"` // 需要连通的IDC网段列表 - Routes []*DirectConnectGatewayCcnRoute `json:"Routes" name:"Routes" list` + Routes []*DirectConnectGatewayCcnRoute `json:"Routes,omitempty" name:"Routes" list` } func (r *CreateDirectConnectGatewayCcnRoutesRequest) ToJsonString() string { @@ -860,7 +1046,7 @@ type CreateDirectConnectGatewayCcnRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -877,21 +1063,21 @@ type CreateDirectConnectGatewayRequest struct { *tchttp.BaseRequest // 专线网关名称 - DirectConnectGatewayName *string `json:"DirectConnectGatewayName" name:"DirectConnectGatewayName"` + DirectConnectGatewayName *string `json:"DirectConnectGatewayName,omitempty" name:"DirectConnectGatewayName"` // 关联网络类型,可选值: //
  • VPC - 私有网络
  • //
  • CCN - 云联网
  • - NetworkType *string `json:"NetworkType" name:"NetworkType"` + NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"` //
  • NetworkType 为 VPC 时,这里传值为私有网络实例ID
  • - //
  • NetworkType 为 NAT 时,这里传值为云联网实例ID
  • - NetworkInstanceId *string `json:"NetworkInstanceId" name:"NetworkInstanceId"` + //
  • NetworkType 为 CCN 时,这里传值为云联网实例ID
  • + NetworkInstanceId *string `json:"NetworkInstanceId,omitempty" name:"NetworkInstanceId"` // 网关类型,可选值: //
  • NORMAL - (默认)标准型,注:云联网只支持标准型
  • //
  • NAT - NAT型
  • NAT类型支持网络地址转换配置,类型确定后不能修改;一个私有网络可以创建一个NAT类型的专线网关和一个非NAT类型的专线网关 - GatewayType *string `json:"GatewayType" name:"GatewayType"` + GatewayType *string `json:"GatewayType,omitempty" name:"GatewayType"` } func (r *CreateDirectConnectGatewayRequest) ToJsonString() string { @@ -908,10 +1094,10 @@ type CreateDirectConnectGatewayResponse struct { Response *struct { // 专线网关对象。 - DirectConnectGateway *DirectConnectGateway `json:"DirectConnectGateway" name:"DirectConnectGateway"` + DirectConnectGateway *DirectConnectGateway `json:"DirectConnectGateway,omitempty" name:"DirectConnectGateway"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -924,20 +1110,75 @@ func (r *CreateDirectConnectGatewayResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type CreateFlowLogRequest struct { + *tchttp.BaseRequest + + // 私用网络ID或者统一ID,建议使用统一ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 流日志实例名字 + FlowLogName *string `json:"FlowLogName,omitempty" name:"FlowLogName"` + + // 流日志所属资源类型,VPC|SUBNET|NETWORKINTERFACE + ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + + // 资源唯一ID + ResourceId *string `json:"ResourceId,omitempty" name:"ResourceId"` + + // 流日志采集类型,ACCEPT|REJECT|ALL + TrafficType *string `json:"TrafficType,omitempty" name:"TrafficType"` + + // 流日志存储ID + CloudLogId *string `json:"CloudLogId,omitempty" name:"CloudLogId"` + + // 流日志实例描述 + FlowLogDescription *string `json:"FlowLogDescription,omitempty" name:"FlowLogDescription"` +} + +func (r *CreateFlowLogRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateFlowLogRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateFlowLogResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 创建的流日志信息 + FlowLog []*FlowLog `json:"FlowLog,omitempty" name:"FlowLog" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateFlowLogResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateFlowLogResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type CreateHaVipRequest struct { *tchttp.BaseRequest // `HAVIP`所在私有网络`ID`。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // `HAVIP`所在子网`ID`。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` // `HAVIP`名称。 - HaVipName *string `json:"HaVipName" name:"HaVipName"` + HaVipName *string `json:"HaVipName,omitempty" name:"HaVipName"` // 指定虚拟IP地址,必须在`VPC`网段内且未被占用。不指定则自动分配。 - Vip *string `json:"Vip" name:"Vip"` + Vip *string `json:"Vip,omitempty" name:"Vip"` } func (r *CreateHaVipRequest) ToJsonString() string { @@ -954,10 +1195,10 @@ type CreateHaVipResponse struct { Response *struct { // `HAVIP`对象。 - HaVip *HaVip `json:"HaVip" name:"HaVip"` + HaVip *HaVip `json:"HaVip,omitempty" name:"HaVip"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -970,29 +1211,72 @@ func (r *CreateHaVipResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type CreateIp6TranslatorsRequest struct { + *tchttp.BaseRequest + + // 转换实例名称 + Ip6TranslatorName *string `json:"Ip6TranslatorName,omitempty" name:"Ip6TranslatorName"` + + // 创建转换实例数量,默认是1个 + Ip6TranslatorCount *int64 `json:"Ip6TranslatorCount,omitempty" name:"Ip6TranslatorCount"` + + // 转换实例运营商属性,可取"CMCC","CTCC","CUCC","BGP" + Ip6InternetServiceProvider *string `json:"Ip6InternetServiceProvider,omitempty" name:"Ip6InternetServiceProvider"` +} + +func (r *CreateIp6TranslatorsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateIp6TranslatorsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateIp6TranslatorsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 转换实例的唯一ID数组,形如"ip6-xxxxxxxx" + Ip6TranslatorSet []*string `json:"Ip6TranslatorSet,omitempty" name:"Ip6TranslatorSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateIp6TranslatorsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateIp6TranslatorsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type CreateNetworkInterfaceRequest struct { *tchttp.BaseRequest // VPC实例ID。可通过DescribeVpcs接口返回值中的VpcId获取。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 弹性网卡名称,最大长度不能超过60个字节。 - NetworkInterfaceName *string `json:"NetworkInterfaceName" name:"NetworkInterfaceName"` + NetworkInterfaceName *string `json:"NetworkInterfaceName,omitempty" name:"NetworkInterfaceName"` // 弹性网卡所在的子网实例ID,例如:subnet-0ap8nwca。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` // 弹性网卡描述,可任意命名,但不得超过60个字符。 - NetworkInterfaceDescription *string `json:"NetworkInterfaceDescription" name:"NetworkInterfaceDescription"` + NetworkInterfaceDescription *string `json:"NetworkInterfaceDescription,omitempty" name:"NetworkInterfaceDescription"` // 新申请的内网IP地址个数,内网IP地址个数总和不能超过配数。 - SecondaryPrivateIpAddressCount *uint64 `json:"SecondaryPrivateIpAddressCount" name:"SecondaryPrivateIpAddressCount"` + SecondaryPrivateIpAddressCount *uint64 `json:"SecondaryPrivateIpAddressCount,omitempty" name:"SecondaryPrivateIpAddressCount"` // 指定绑定的安全组,例如:['sg-1dd51d']。 - SecurityGroupIds []*string `json:"SecurityGroupIds" name:"SecurityGroupIds" list` + SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list` // 指定的内网IP信息,单次最多指定10个。 - PrivateIpAddresses []*PrivateIpAddressSpecification `json:"PrivateIpAddresses" name:"PrivateIpAddresses" list` + PrivateIpAddresses []*PrivateIpAddressSpecification `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list` } func (r *CreateNetworkInterfaceRequest) ToJsonString() string { @@ -1009,10 +1293,10 @@ type CreateNetworkInterfaceResponse struct { Response *struct { // 弹性网卡实例。 - NetworkInterface *NetworkInterface `json:"NetworkInterface" name:"NetworkInterface"` + NetworkInterface *NetworkInterface `json:"NetworkInterface,omitempty" name:"NetworkInterface"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1029,10 +1313,10 @@ type CreateRouteTableRequest struct { *tchttp.BaseRequest // 待操作的VPC实例ID。可通过DescribeVpcs接口返回值中的VpcId获取。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 路由表名称,最大长度不能超过60个字节。 - RouteTableName *string `json:"RouteTableName" name:"RouteTableName"` + RouteTableName *string `json:"RouteTableName,omitempty" name:"RouteTableName"` } func (r *CreateRouteTableRequest) ToJsonString() string { @@ -1049,10 +1333,10 @@ type CreateRouteTableResponse struct { Response *struct { // 路由表对象。 - RouteTable *RouteTable `json:"RouteTable" name:"RouteTable"` + RouteTable *RouteTable `json:"RouteTable,omitempty" name:"RouteTable"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1069,10 +1353,10 @@ type CreateRoutesRequest struct { *tchttp.BaseRequest // 路由表实例ID。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 路由策略对象。 - Routes []*Route `json:"Routes" name:"Routes" list` + Routes []*Route `json:"Routes,omitempty" name:"Routes" list` } func (r *CreateRoutesRequest) ToJsonString() string { @@ -1088,8 +1372,14 @@ type CreateRoutesResponse struct { *tchttp.BaseResponse Response *struct { + // 新增的实例个数。 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 路由表对象。 + RouteTableSet []*RouteTable `json:"RouteTableSet,omitempty" name:"RouteTableSet" list` + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1106,10 +1396,10 @@ type CreateSecurityGroupPoliciesRequest struct { *tchttp.BaseRequest // 安全组实例ID,例如sg-33ocnj9n,可通过DescribeSecurityGroups获取。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` // 安全组规则集合。 - SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet" name:"SecurityGroupPolicySet"` + SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet,omitempty" name:"SecurityGroupPolicySet"` } func (r *CreateSecurityGroupPoliciesRequest) ToJsonString() string { @@ -1126,7 +1416,7 @@ type CreateSecurityGroupPoliciesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1143,13 +1433,13 @@ type CreateSecurityGroupRequest struct { *tchttp.BaseRequest // 安全组名称,可任意命名,但不得超过60个字符。 - GroupName *string `json:"GroupName" name:"GroupName"` + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` // 安全组备注,最多100个字符。 - GroupDescription *string `json:"GroupDescription" name:"GroupDescription"` + GroupDescription *string `json:"GroupDescription,omitempty" name:"GroupDescription"` // 项目id,默认0。可在qcloud控制台项目管理页面查询到。 - ProjectId *string `json:"ProjectId" name:"ProjectId"` + ProjectId *string `json:"ProjectId,omitempty" name:"ProjectId"` } func (r *CreateSecurityGroupRequest) ToJsonString() string { @@ -1166,10 +1456,10 @@ type CreateSecurityGroupResponse struct { Response *struct { // 安全组对象。 - SecurityGroup *SecurityGroup `json:"SecurityGroup" name:"SecurityGroup"` + SecurityGroup *SecurityGroup `json:"SecurityGroup,omitempty" name:"SecurityGroup"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1186,10 +1476,10 @@ type CreateServiceTemplateGroupRequest struct { *tchttp.BaseRequest // 协议端口模板集合名称 - ServiceTemplateGroupName *string `json:"ServiceTemplateGroupName" name:"ServiceTemplateGroupName"` + ServiceTemplateGroupName *string `json:"ServiceTemplateGroupName,omitempty" name:"ServiceTemplateGroupName"` // 协议端口模板实例ID,例如:ppm-4dw6agho。 - ServiceTemplateIds []*string `json:"ServiceTemplateIds" name:"ServiceTemplateIds" list` + ServiceTemplateIds []*string `json:"ServiceTemplateIds,omitempty" name:"ServiceTemplateIds" list` } func (r *CreateServiceTemplateGroupRequest) ToJsonString() string { @@ -1206,10 +1496,10 @@ type CreateServiceTemplateGroupResponse struct { Response *struct { // 协议端口模板集合对象。 - ServiceTemplateGroup *ServiceTemplateGroup `json:"ServiceTemplateGroup" name:"ServiceTemplateGroup"` + ServiceTemplateGroup *ServiceTemplateGroup `json:"ServiceTemplateGroup,omitempty" name:"ServiceTemplateGroup"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1226,10 +1516,10 @@ type CreateServiceTemplateRequest struct { *tchttp.BaseRequest // 协议端口模板名称 - ServiceTemplateName *string `json:"ServiceTemplateName" name:"ServiceTemplateName"` + ServiceTemplateName *string `json:"ServiceTemplateName,omitempty" name:"ServiceTemplateName"` // 支持单个端口、多个端口、连续端口及所有端口,协议支持:TCP、UDP、ICMP、GRE 协议。 - Services []*string `json:"Services" name:"Services" list` + Services []*string `json:"Services,omitempty" name:"Services" list` } func (r *CreateServiceTemplateRequest) ToJsonString() string { @@ -1246,10 +1536,10 @@ type CreateServiceTemplateResponse struct { Response *struct { // 协议端口模板对象。 - ServiceTemplate *ServiceTemplate `json:"ServiceTemplate" name:"ServiceTemplate"` + ServiceTemplate *ServiceTemplate `json:"ServiceTemplate,omitempty" name:"ServiceTemplate"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1266,16 +1556,16 @@ type CreateSubnetRequest struct { *tchttp.BaseRequest // 待操作的VPC实例ID。可通过DescribeVpcs接口返回值中的VpcId获取。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 子网名称,最大长度不能超过60个字节。 - SubnetName *string `json:"SubnetName" name:"SubnetName"` + SubnetName *string `json:"SubnetName,omitempty" name:"SubnetName"` // 子网网段,子网网段必须在VPC网段内,相同VPC内子网网段不能重叠。 - CidrBlock *string `json:"CidrBlock" name:"CidrBlock"` + CidrBlock *string `json:"CidrBlock,omitempty" name:"CidrBlock"` // 子网所在的可用区ID,不同子网选择不同可用区可以做跨可用区灾备。 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` } func (r *CreateSubnetRequest) ToJsonString() string { @@ -1292,10 +1582,10 @@ type CreateSubnetResponse struct { Response *struct { // 子网对象。 - Subnet *Subnet `json:"Subnet" name:"Subnet"` + Subnet *Subnet `json:"Subnet,omitempty" name:"Subnet"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1308,23 +1598,63 @@ func (r *CreateSubnetResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type CreateSubnetsRequest struct { + *tchttp.BaseRequest + + // `VPC`实例`ID`。形如:`vpc-6v2ht8q5` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 子网对象列表。 + Subnets []*SubnetInput `json:"Subnets,omitempty" name:"Subnets" list` +} + +func (r *CreateSubnetsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateSubnetsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateSubnetsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 新创建的子网列表。 + SubnetSet []*Subnet `json:"SubnetSet,omitempty" name:"SubnetSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateSubnetsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateSubnetsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type CreateVpcRequest struct { *tchttp.BaseRequest // vpc名称,最大长度不能超过60个字节。 - VpcName *string `json:"VpcName" name:"VpcName"` + VpcName *string `json:"VpcName,omitempty" name:"VpcName"` // vpc的cidr,只能为10.0.0.0/16,172.16.0.0/12,192.168.0.0/16这三个内网网段内。 - CidrBlock *string `json:"CidrBlock" name:"CidrBlock"` + CidrBlock *string `json:"CidrBlock,omitempty" name:"CidrBlock"` // 是否开启组播。true: 开启, false: 不开启。 - EnableMulticast *string `json:"EnableMulticast" name:"EnableMulticast"` + EnableMulticast *string `json:"EnableMulticast,omitempty" name:"EnableMulticast"` // DNS地址,最多支持4个 - DnsServers []*string `json:"DnsServers" name:"DnsServers" list` + DnsServers []*string `json:"DnsServers,omitempty" name:"DnsServers" list` // 域名 - DomainName *string `json:"DomainName" name:"DomainName"` + DomainName *string `json:"DomainName,omitempty" name:"DomainName"` } func (r *CreateVpcRequest) ToJsonString() string { @@ -1341,10 +1671,10 @@ type CreateVpcResponse struct { Response *struct { // Vpc对象。 - Vpc *Vpc `json:"Vpc" name:"Vpc"` + Vpc *Vpc `json:"Vpc,omitempty" name:"Vpc"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1361,28 +1691,28 @@ type CreateVpnConnectionRequest struct { *tchttp.BaseRequest // VPC实例ID。可通过DescribeVpcs接口返回值中的VpcId获取。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // 对端网关ID,例如:cgw-2wqq41m9,可通过DescribeCustomerGateways接口查询对端网关。 - CustomerGatewayId *string `json:"CustomerGatewayId" name:"CustomerGatewayId"` + CustomerGatewayId *string `json:"CustomerGatewayId,omitempty" name:"CustomerGatewayId"` // 通道名称,可任意命名,但不得超过60个字符。 - VpnConnectionName *string `json:"VpnConnectionName" name:"VpnConnectionName"` + VpnConnectionName *string `json:"VpnConnectionName,omitempty" name:"VpnConnectionName"` // 预共享密钥。 - PreShareKey *string `json:"PreShareKey" name:"PreShareKey"` + PreShareKey *string `json:"PreShareKey,omitempty" name:"PreShareKey"` // SPD策略组,例如:{"10.0.0.5/24":["172.123.10.5/16"]},10.0.0.5/24是vpc内网段172.123.10.5/16是IDC网段。用户指定VPC内哪些网段可以和您IDC中哪些网段通信。 - SecurityPolicyDatabases []*SecurityPolicyDatabase `json:"SecurityPolicyDatabases" name:"SecurityPolicyDatabases" list` + SecurityPolicyDatabases []*SecurityPolicyDatabase `json:"SecurityPolicyDatabases,omitempty" name:"SecurityPolicyDatabases" list` - // IKE配置(Internet Key Exchange,因特网密钥交换),IKE具有一套自保护机制,用户配置网络安全协议 - IKEOptionsSpecification *IKEOptionsSpecification `json:"IKEOptionsSpecification" name:"IKEOptionsSpecification"` + // IKE配置(Internet Key Exchange,因特网密钥交换),IKE具有一套自我保护机制,用户配置网络安全协议 + IKEOptionsSpecification *IKEOptionsSpecification `json:"IKEOptionsSpecification,omitempty" name:"IKEOptionsSpecification"` // IPSec配置,腾讯云提供IPSec安全会话设置 - IPSECOptionsSpecification *IPSECOptionsSpecification `json:"IPSECOptionsSpecification" name:"IPSECOptionsSpecification"` + IPSECOptionsSpecification *IPSECOptionsSpecification `json:"IPSECOptionsSpecification,omitempty" name:"IPSECOptionsSpecification"` } func (r *CreateVpnConnectionRequest) ToJsonString() string { @@ -1399,10 +1729,10 @@ type CreateVpnConnectionResponse struct { Response *struct { // 通道实例对象。 - VpnConnection *VpnConnection `json:"VpnConnection" name:"VpnConnection"` + VpnConnection *VpnConnection `json:"VpnConnection,omitempty" name:"VpnConnection"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1419,22 +1749,22 @@ type CreateVpnGatewayRequest struct { *tchttp.BaseRequest // VPC实例ID。可通过DescribeVpcs接口返回值中的VpcId获取。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // VPN网关名称,最大长度不能超过60个字节。 - VpnGatewayName *string `json:"VpnGatewayName" name:"VpnGatewayName"` + VpnGatewayName *string `json:"VpnGatewayName,omitempty" name:"VpnGatewayName"` // 公网带宽设置。可选带宽规格:5, 10, 20, 50, 100;单位:Mbps - InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut" name:"InternetMaxBandwidthOut"` + InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"` // VPN网关计费模式,PREPAID:表示预付费,即包年包月,POSTPAID_BY_HOUR:表示后付费,即按量计费。默认:POSTPAID_BY_HOUR,如果指定预付费模式,参数InstanceChargePrepaid必填。 - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` // 可用区,如:ap-guangzhou-2。 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` } func (r *CreateVpnGatewayRequest) ToJsonString() string { @@ -1451,10 +1781,10 @@ type CreateVpnGatewayResponse struct { Response *struct { // VPN网关对象 - VpnGateway *VpnGateway `json:"VpnGateway" name:"VpnGateway"` + VpnGateway *VpnGateway `json:"VpnGateway,omitempty" name:"VpnGateway"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1470,44 +1800,44 @@ func (r *CreateVpnGatewayResponse) FromJsonString(s string) error { type CustomerGateway struct { // 用户网关唯一ID - CustomerGatewayId *string `json:"CustomerGatewayId" name:"CustomerGatewayId"` + CustomerGatewayId *string `json:"CustomerGatewayId,omitempty" name:"CustomerGatewayId"` // 网关名称 - CustomerGatewayName *string `json:"CustomerGatewayName" name:"CustomerGatewayName"` + CustomerGatewayName *string `json:"CustomerGatewayName,omitempty" name:"CustomerGatewayName"` // 公网地址 - IpAddress *string `json:"IpAddress" name:"IpAddress"` + IpAddress *string `json:"IpAddress,omitempty" name:"IpAddress"` // 创建时间 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type CustomerGatewayVendor struct { // 平台。 - Platform *string `json:"Platform" name:"Platform"` + Platform *string `json:"Platform,omitempty" name:"Platform"` // 软件版本。 - SoftwareVersion *string `json:"SoftwareVersion" name:"SoftwareVersion"` + SoftwareVersion *string `json:"SoftwareVersion,omitempty" name:"SoftwareVersion"` // 供应商名称。 - VendorName *string `json:"VendorName" name:"VendorName"` + VendorName *string `json:"VendorName,omitempty" name:"VendorName"` } type DefaultVpcSubnet struct { // 默认VpcId - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 默认SubnetId - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` } type DeleteAddressTemplateGroupRequest struct { *tchttp.BaseRequest // IP地址模板集合实例ID,例如:ipmg-90cex8mq。 - AddressTemplateGroupId *string `json:"AddressTemplateGroupId" name:"AddressTemplateGroupId"` + AddressTemplateGroupId *string `json:"AddressTemplateGroupId,omitempty" name:"AddressTemplateGroupId"` } func (r *DeleteAddressTemplateGroupRequest) ToJsonString() string { @@ -1524,7 +1854,7 @@ type DeleteAddressTemplateGroupResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1541,7 +1871,7 @@ type DeleteAddressTemplateRequest struct { *tchttp.BaseRequest // IP地址模板实例ID,例如:ipm-09o5m8kc。 - AddressTemplateId *string `json:"AddressTemplateId" name:"AddressTemplateId"` + AddressTemplateId *string `json:"AddressTemplateId,omitempty" name:"AddressTemplateId"` } func (r *DeleteAddressTemplateRequest) ToJsonString() string { @@ -1558,7 +1888,7 @@ type DeleteAddressTemplateResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1575,7 +1905,7 @@ type DeleteBandwidthPackageRequest struct { *tchttp.BaseRequest // 待删除带宽包bwpId - BandwidthPackageId *string `json:"BandwidthPackageId" name:"BandwidthPackageId"` + BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"` } func (r *DeleteBandwidthPackageRequest) ToJsonString() string { @@ -1592,7 +1922,7 @@ type DeleteBandwidthPackageResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1609,7 +1939,7 @@ type DeleteCcnRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` } func (r *DeleteCcnRequest) ToJsonString() string { @@ -1626,7 +1956,7 @@ type DeleteCcnResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1643,7 +1973,7 @@ type DeleteCustomerGatewayRequest struct { *tchttp.BaseRequest // 对端网关ID,例如:cgw-2wqq41m9,可通过DescribeCustomerGateways接口查询对端网关。 - CustomerGatewayId *string `json:"CustomerGatewayId" name:"CustomerGatewayId"` + CustomerGatewayId *string `json:"CustomerGatewayId,omitempty" name:"CustomerGatewayId"` } func (r *DeleteCustomerGatewayRequest) ToJsonString() string { @@ -1660,7 +1990,7 @@ type DeleteCustomerGatewayResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1677,10 +2007,10 @@ type DeleteDirectConnectGatewayCcnRoutesRequest struct { *tchttp.BaseRequest // 专线网关ID,形如:dcg-prpqlmg1 - DirectConnectGatewayId *string `json:"DirectConnectGatewayId" name:"DirectConnectGatewayId"` + DirectConnectGatewayId *string `json:"DirectConnectGatewayId,omitempty" name:"DirectConnectGatewayId"` // 路由ID。形如:ccnr-f49l6u0z。 - RouteIds []*string `json:"RouteIds" name:"RouteIds" list` + RouteIds []*string `json:"RouteIds,omitempty" name:"RouteIds" list` } func (r *DeleteDirectConnectGatewayCcnRoutesRequest) ToJsonString() string { @@ -1697,7 +2027,7 @@ type DeleteDirectConnectGatewayCcnRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1714,7 +2044,7 @@ type DeleteDirectConnectGatewayRequest struct { *tchttp.BaseRequest // 专线网关唯一`ID`,形如:`dcg-9o233uri`。 - DirectConnectGatewayId *string `json:"DirectConnectGatewayId" name:"DirectConnectGatewayId"` + DirectConnectGatewayId *string `json:"DirectConnectGatewayId,omitempty" name:"DirectConnectGatewayId"` } func (r *DeleteDirectConnectGatewayRequest) ToJsonString() string { @@ -1731,7 +2061,7 @@ type DeleteDirectConnectGatewayResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1744,11 +2074,48 @@ func (r *DeleteDirectConnectGatewayResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DeleteFlowLogRequest struct { + *tchttp.BaseRequest + + // 私用网络ID或者统一ID,建议使用统一ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 流日志唯一ID + FlowLogId *string `json:"FlowLogId,omitempty" name:"FlowLogId"` +} + +func (r *DeleteFlowLogRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteFlowLogRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteFlowLogResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteFlowLogResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteFlowLogResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DeleteHaVipRequest struct { *tchttp.BaseRequest // `HAVIP`唯一`ID`,形如:`havip-9o233uri`。 - HaVipId *string `json:"HaVipId" name:"HaVipId"` + HaVipId *string `json:"HaVipId,omitempty" name:"HaVipId"` } func (r *DeleteHaVipRequest) ToJsonString() string { @@ -1765,7 +2132,7 @@ type DeleteHaVipResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1778,11 +2145,45 @@ func (r *DeleteHaVipResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DeleteIp6TranslatorsRequest struct { + *tchttp.BaseRequest + + // 待释放的IPV6转换实例的唯一ID,形如‘ip6-xxxxxxxx’ + Ip6TranslatorIds []*string `json:"Ip6TranslatorIds,omitempty" name:"Ip6TranslatorIds" list` +} + +func (r *DeleteIp6TranslatorsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteIp6TranslatorsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteIp6TranslatorsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteIp6TranslatorsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteIp6TranslatorsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DeleteNetworkInterfaceRequest struct { *tchttp.BaseRequest // 弹性网卡实例ID,例如:eni-m6dyj72l。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` } func (r *DeleteNetworkInterfaceRequest) ToJsonString() string { @@ -1799,7 +2200,7 @@ type DeleteNetworkInterfaceResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1816,7 +2217,7 @@ type DeleteRouteTableRequest struct { *tchttp.BaseRequest // 路由表实例ID,例如:rtb-azd4dt1c。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` } func (r *DeleteRouteTableRequest) ToJsonString() string { @@ -1833,7 +2234,7 @@ type DeleteRouteTableResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1850,10 +2251,10 @@ type DeleteRoutesRequest struct { *tchttp.BaseRequest // 路由表实例ID。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 路由策略对象。 - Routes []*Route `json:"Routes" name:"Routes" list` + Routes []*Route `json:"Routes,omitempty" name:"Routes" list` } func (r *DeleteRoutesRequest) ToJsonString() string { @@ -1870,7 +2271,7 @@ type DeleteRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1887,10 +2288,10 @@ type DeleteSecurityGroupPoliciesRequest struct { *tchttp.BaseRequest // 安全组实例ID,例如sg-33ocnj9n,可通过DescribeSecurityGroups获取。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` // 安全组规则集合。一个请求中只能删除单个方向的一条或多条规则。支持指定索引(PolicyIndex) 匹配删除和安全组规则匹配删除两种方式,一个请求中只能使用一种匹配方式。 - SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet" name:"SecurityGroupPolicySet"` + SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet,omitempty" name:"SecurityGroupPolicySet"` } func (r *DeleteSecurityGroupPoliciesRequest) ToJsonString() string { @@ -1907,7 +2308,7 @@ type DeleteSecurityGroupPoliciesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1924,7 +2325,7 @@ type DeleteSecurityGroupRequest struct { *tchttp.BaseRequest // 安全组实例ID,例如sg-33ocnj9n,可通过DescribeSecurityGroups获取。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` } func (r *DeleteSecurityGroupRequest) ToJsonString() string { @@ -1941,7 +2342,7 @@ type DeleteSecurityGroupResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1958,7 +2359,7 @@ type DeleteServiceTemplateGroupRequest struct { *tchttp.BaseRequest // 协议端口模板集合实例ID,例如:ppmg-n17uxvve。 - ServiceTemplateGroupId *string `json:"ServiceTemplateGroupId" name:"ServiceTemplateGroupId"` + ServiceTemplateGroupId *string `json:"ServiceTemplateGroupId,omitempty" name:"ServiceTemplateGroupId"` } func (r *DeleteServiceTemplateGroupRequest) ToJsonString() string { @@ -1975,7 +2376,7 @@ type DeleteServiceTemplateGroupResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -1992,7 +2393,7 @@ type DeleteServiceTemplateRequest struct { *tchttp.BaseRequest // 协议端口模板实例ID,例如:ppm-e6dy460g。 - ServiceTemplateId *string `json:"ServiceTemplateId" name:"ServiceTemplateId"` + ServiceTemplateId *string `json:"ServiceTemplateId,omitempty" name:"ServiceTemplateId"` } func (r *DeleteServiceTemplateRequest) ToJsonString() string { @@ -2009,7 +2410,7 @@ type DeleteServiceTemplateResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2026,7 +2427,7 @@ type DeleteSubnetRequest struct { *tchttp.BaseRequest // 子网实例ID。可通过DescribeSubnets接口返回值中的SubnetId获取。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` } func (r *DeleteSubnetRequest) ToJsonString() string { @@ -2043,7 +2444,7 @@ type DeleteSubnetResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2060,7 +2461,7 @@ type DeleteVpcRequest struct { *tchttp.BaseRequest // VPC实例ID。可通过DescribeVpcs接口返回值中的VpcId获取。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` } func (r *DeleteVpcRequest) ToJsonString() string { @@ -2077,7 +2478,7 @@ type DeleteVpcResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2094,10 +2495,10 @@ type DeleteVpnConnectionRequest struct { *tchttp.BaseRequest // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // VPN通道实例ID。形如:vpnx-f49l6u0z。 - VpnConnectionId *string `json:"VpnConnectionId" name:"VpnConnectionId"` + VpnConnectionId *string `json:"VpnConnectionId,omitempty" name:"VpnConnectionId"` } func (r *DeleteVpnConnectionRequest) ToJsonString() string { @@ -2114,7 +2515,7 @@ type DeleteVpnConnectionResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2131,7 +2532,7 @@ type DeleteVpnGatewayRequest struct { *tchttp.BaseRequest // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` } func (r *DeleteVpnGatewayRequest) ToJsonString() string { @@ -2148,7 +2549,7 @@ type DeleteVpnGatewayResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2179,10 +2580,10 @@ type DescribeAccountAttributesResponse struct { Response *struct { // 用户账号属性对象 - AccountAttributeSet []*AccountAttribute `json:"AccountAttributeSet" name:"AccountAttributeSet" list` + AccountAttributeSet []*AccountAttribute `json:"AccountAttributeSet,omitempty" name:"AccountAttributeSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2213,10 +2614,10 @@ type DescribeAddressQuotaResponse struct { Response *struct { // 账户 EIP 配额信息。 - QuotaSet []*Quota `json:"QuotaSet" name:"QuotaSet" list` + QuotaSet []*Quota `json:"QuotaSet,omitempty" name:"QuotaSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2235,13 +2636,13 @@ type DescribeAddressTemplateGroupsRequest struct { // 过滤条件。 //
  • address-template-group-name - String - (过滤条件)IP地址模板集合名称。
  • //
  • address-template-group-id - String - (过滤条件)IP地址模板实集合例ID,例如:ipmg-mdunqeb6。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。 - Offset *string `json:"Offset" name:"Offset"` + Offset *string `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。 - Limit *string `json:"Limit" name:"Limit"` + Limit *string `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeAddressTemplateGroupsRequest) ToJsonString() string { @@ -2258,13 +2659,13 @@ type DescribeAddressTemplateGroupsResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // IP地址模板。 - AddressTemplateGroupSet []*AddressTemplateGroup `json:"AddressTemplateGroupSet" name:"AddressTemplateGroupSet" list` + AddressTemplateGroupSet []*AddressTemplateGroup `json:"AddressTemplateGroupSet,omitempty" name:"AddressTemplateGroupSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2283,13 +2684,13 @@ type DescribeAddressTemplatesRequest struct { // 过滤条件。 //
  • address-template-name - String - (过滤条件)IP地址模板名称。
  • //
  • address-template-id - String - (过滤条件)IP地址模板实例ID,例如:ipm-mdunqeb6。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。 - Offset *string `json:"Offset" name:"Offset"` + Offset *string `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。 - Limit *string `json:"Limit" name:"Limit"` + Limit *string `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeAddressTemplatesRequest) ToJsonString() string { @@ -2306,13 +2707,13 @@ type DescribeAddressTemplatesResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // IP地址模版。 - AddressTemplateSet []*AddressTemplate `json:"AddressTemplateSet" name:"AddressTemplateSet" list` + AddressTemplateSet []*AddressTemplate `json:"AddressTemplateSet,omitempty" name:"AddressTemplateSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2329,7 +2730,7 @@ type DescribeAddressesRequest struct { *tchttp.BaseRequest // 标识 EIP 的唯一 ID 列表。EIP 唯一 ID 形如:`eip-11112222`。参数不支持同时指定`AddressIds`和`Filters`。 - AddressIds []*string `json:"AddressIds" name:"AddressIds" list` + AddressIds []*string `json:"AddressIds,omitempty" name:"AddressIds" list` // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`AddressIds`和`Filters`。详细的过滤条件如下: //
  • address-id - String - 是否必填:否 - (过滤条件)按照 EIP 的唯一 ID 过滤。EIP 唯一 ID 形如:eip-11112222。
  • @@ -2340,13 +2741,13 @@ type DescribeAddressesRequest struct { //
  • private-ip-address - String - 是否必填:否 - (过滤条件)按照 EIP 绑定的内网 IP 过滤。
  • //
  • network-interface-id - String - 是否必填:否 - (过滤条件)按照 EIP 绑定的弹性网卡 ID 过滤。弹性网卡 ID 形如:eni-11112222。
  • //
  • is-arrears - String - 是否必填:否 - (过滤条件)按照 EIP 是否欠费进行过滤。(TRUE:EIP 处于欠费状态|FALSE:EIP 费用状态正常)
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/11646)中的相关小节。 - Offset *int64 `json:"Offset" name:"Offset"` + Offset *int64 `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/11646)中的相关小节。 - Limit *int64 `json:"Limit" name:"Limit"` + Limit *int64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeAddressesRequest) ToJsonString() string { @@ -2363,13 +2764,13 @@ type DescribeAddressesResponse struct { Response *struct { // 符合条件的 EIP 数量。 - TotalCount *int64 `json:"TotalCount" name:"TotalCount"` + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` // EIP 详细信息列表。 - AddressSet []*Address `json:"AddressSet" name:"AddressSet" list` + AddressSet []*Address `json:"AddressSet,omitempty" name:"AddressSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2400,10 +2801,10 @@ type DescribeBandwidthPackageQuotaResponse struct { Response *struct { // 带宽包配额数据结构 - QuotaSet []*Quota `json:"QuotaSet" name:"QuotaSet" list` + QuotaSet []*Quota `json:"QuotaSet,omitempty" name:"QuotaSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2420,7 +2821,7 @@ type DescribeBandwidthPackagesRequest struct { *tchttp.BaseRequest // 带宽包Id,支持批量 - BandwidthPackageIds []*string `json:"BandwidthPackageIds" name:"BandwidthPackageIds" list` + BandwidthPackageIds []*string `json:"BandwidthPackageIds,omitempty" name:"BandwidthPackageIds" list` // 每次请求的`Filters`的上限为10。参数不支持同时指定`BandwidthPackageIds`和`Filters`。详细的过滤条件如下: //
  • bandwidth-package_id - String - 是否必填:否 - (过滤条件)按照带宽包的唯一标识ID过滤。
  • @@ -2430,13 +2831,13 @@ type DescribeBandwidthPackagesRequest struct { //
  • resource.resource-type - String - 是否必填:否 - (过滤条件)按照带宽包资源类型过滤。资源类型包括'Address'和'LoadBalance'
  • //
  • resource.resource-id - String - 是否必填:否 - (过滤条件)按照带宽包资源Id过滤。资源Id形如'eip-xxxx','lb-xxxx'
  • //
  • resource.address-ip - String - 是否必填:否 - (过滤条件)按照带宽包资源Ip过滤。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 查询带宽包偏移量 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 查询带宽包数量限制 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeBandwidthPackagesRequest) ToJsonString() string { @@ -2453,13 +2854,13 @@ type DescribeBandwidthPackagesResponse struct { Response *struct { // 符合条件的带宽包数量 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 描述带宽包详细信息 - BandwidthPackageSet []*BandwidthPackage `json:"BandwidthPackageSet" name:"BandwidthPackageSet" list` + BandwidthPackageSet []*BandwidthPackage `json:"BandwidthPackageSet,omitempty" name:"BandwidthPackageSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2476,20 +2877,26 @@ type DescribeCcnAttachedInstancesRequest struct { *tchttp.BaseRequest // 偏移量 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` // 过滤条件: //
  • ccn-id - String -(过滤条件)CCN实例ID。
  • //
  • instance-type - String -(过滤条件)关联实例类型。
  • //
  • instance-region - String -(过滤条件)关联实例所属地域。
  • //
  • instance-id - String -(过滤条件)关联实例实例ID。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 云联网实例ID - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` + + // 排序字段。支持:`CcnId` `InstanceType` `InstanceId` `InstanceName` `InstanceRegion` `AttachedTime` `State`。 + OrderField *string `json:"OrderField,omitempty" name:"OrderField"` + + // 排序方法。顺序:`ASC`,倒序:`DESC`。 + OrderDirection *string `json:"OrderDirection,omitempty" name:"OrderDirection"` } func (r *DescribeCcnAttachedInstancesRequest) ToJsonString() string { @@ -2506,13 +2913,13 @@ type DescribeCcnAttachedInstancesResponse struct { Response *struct { // 符合条件的对象数。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 关联实例列表。 - InstanceSet []*CcnAttachedInstance `json:"InstanceSet" name:"InstanceSet" list` + InstanceSet []*CcnAttachedInstance `json:"InstanceSet,omitempty" name:"InstanceSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2529,7 +2936,7 @@ type DescribeCcnRegionBandwidthLimitsRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` } func (r *DescribeCcnRegionBandwidthLimitsRequest) ToJsonString() string { @@ -2546,10 +2953,10 @@ type DescribeCcnRegionBandwidthLimitsResponse struct { Response *struct { // 云联网(CCN)各地域出带宽上限 - CcnRegionBandwidthLimitSet []*CcnRegionBandwidthLimit `json:"CcnRegionBandwidthLimitSet" name:"CcnRegionBandwidthLimitSet" list` + CcnRegionBandwidthLimitSet []*CcnRegionBandwidthLimit `json:"CcnRegionBandwidthLimitSet,omitempty" name:"CcnRegionBandwidthLimitSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2566,25 +2973,24 @@ type DescribeCcnRoutesRequest struct { *tchttp.BaseRequest // CCN实例ID,形如:ccn-gree226l。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // CCN路由策略唯一ID。形如:ccnr-f49l6u0z。 - RouteIds []*string `json:"RouteIds" name:"RouteIds" list` + RouteIds []*string `json:"RouteIds,omitempty" name:"RouteIds" list` // 过滤条件,参数不支持同时指定RouteIds和Filters。 - //
  • ccn-id - String -(过滤条件)CCN实例ID。
  • //
  • route-id - String -(过滤条件)路由策略ID。
  • //
  • cidr-block - String -(过滤条件)目的端。
  • //
  • instance-type - String -(过滤条件)下一跳类型。
  • //
  • instance-region - String -(过滤条件)下一跳所属地域。
  • //
  • instance-id - String -(过滤条件)下一跳实例ID。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeCcnRoutesRequest) ToJsonString() string { @@ -2601,13 +3007,13 @@ type DescribeCcnRoutesResponse struct { Response *struct { // 符合条件的对象数。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // CCN路由策略对象。 - RouteSet []*CcnRoute `json:"RouteSet" name:"RouteSet" list` + RouteSet []*CcnRoute `json:"RouteSet,omitempty" name:"RouteSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2624,20 +3030,26 @@ type DescribeCcnsRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。每次请求的实例的上限为100。参数不支持同时指定CcnIds和Filters。 - CcnIds []*string `json:"CcnIds" name:"CcnIds" list` + CcnIds []*string `json:"CcnIds,omitempty" name:"CcnIds" list` // 过滤条件,参数不支持同时指定CcnIds和Filters。 //
  • ccn-id - String - (过滤条件)CCN唯一ID,形如:vpc-f49l6u0z。
  • //
  • ccn-name - String - (过滤条件)CCN名称。
  • //
  • ccn-description - String - (过滤条件)CCN描述。
  • //
  • state - String - (过滤条件)实例状态, 'ISOLATED': 隔离中(欠费停服),'AVAILABLE':运行中。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` + + // 排序字段。支持:`CcnId` `CcnName` `CreateTime` `State` `QosLevel` + OrderField *string `json:"OrderField,omitempty" name:"OrderField"` + + // 排序方法。顺序:`ASC`,倒序:`DESC`。 + OrderDirection *string `json:"OrderDirection,omitempty" name:"OrderDirection"` } func (r *DescribeCcnsRequest) ToJsonString() string { @@ -2654,13 +3066,13 @@ type DescribeCcnsResponse struct { Response *struct { // 符合条件的对象数。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // CCN对象。 - CcnSet []*CCN `json:"CcnSet" name:"CcnSet" list` + CcnSet []*CCN `json:"CcnSet,omitempty" name:"CcnSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2679,13 +3091,13 @@ type DescribeClassicLinkInstancesRequest struct { // 过滤条件。 //
  • vpc-id - String - (过滤条件)VPC实例ID。
  • //
  • vm-ip - String - (过滤条件)基础网络云主机IP。
  • - Filters []*FilterObject `json:"Filters" name:"Filters" list` + Filters []*FilterObject `json:"Filters,omitempty" name:"Filters" list` // 偏移量 - Offset *string `json:"Offset" name:"Offset"` + Offset *string `json:"Offset,omitempty" name:"Offset"` // 返回数量 - Limit *string `json:"Limit" name:"Limit"` + Limit *string `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeClassicLinkInstancesRequest) ToJsonString() string { @@ -2702,13 +3114,13 @@ type DescribeClassicLinkInstancesResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 私有网络和基础网络互通设备。 - ClassicLinkInstanceSet []*ClassicLinkInstance `json:"ClassicLinkInstanceSet" name:"ClassicLinkInstanceSet" list` + ClassicLinkInstanceSet []*ClassicLinkInstance `json:"ClassicLinkInstanceSet,omitempty" name:"ClassicLinkInstanceSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2739,10 +3151,10 @@ type DescribeCustomerGatewayVendorsResponse struct { Response *struct { // 对端网关厂商信息对象。 - CustomerGatewayVendorSet []*CustomerGatewayVendor `json:"CustomerGatewayVendorSet" name:"CustomerGatewayVendorSet" list` + CustomerGatewayVendorSet []*CustomerGatewayVendor `json:"CustomerGatewayVendorSet,omitempty" name:"CustomerGatewayVendorSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2759,16 +3171,19 @@ type DescribeCustomerGatewaysRequest struct { *tchttp.BaseRequest // 对端网关ID,例如:cgw-2wqq41m9。每次请求的实例的上限为100。参数不支持同时指定CustomerGatewayIds和Filters。 - CustomerGatewayIds []*string `json:"CustomerGatewayIds" name:"CustomerGatewayIds" list` + CustomerGatewayIds []*string `json:"CustomerGatewayIds,omitempty" name:"CustomerGatewayIds" list` // 过滤条件,详见下表:实例过滤条件表。每次请求的Filters的上限为10,Filter.Values的上限为5。参数不支持同时指定CustomerGatewayIds和Filters。 - Filters []*Filter `json:"Filters" name:"Filters" list` + //
  • customer-gateway-id - String - (过滤条件)用户网关唯一ID形如:`cgw-mgp33pll`。
  • + //
  • customer-gateway-name - String - (过滤条件)用户网关名称形如:`test-cgw`。
  • + //
  • ip-address - String - (过滤条件)公网地址形如:`58.211.1.12`。
  • + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。关于Offset的更进一步介绍请参考 API 简介中的相关小节。 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeCustomerGatewaysRequest) ToJsonString() string { @@ -2785,13 +3200,13 @@ type DescribeCustomerGatewaysResponse struct { Response *struct { // 对端网关对象列表 - CustomerGatewaySet []*CustomerGateway `json:"CustomerGatewaySet" name:"CustomerGatewaySet" list` + CustomerGatewaySet []*CustomerGateway `json:"CustomerGatewaySet,omitempty" name:"CustomerGatewaySet" list` // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2808,18 +3223,18 @@ type DescribeDirectConnectGatewayCcnRoutesRequest struct { *tchttp.BaseRequest // 专线网关ID,形如:`dcg-prpqlmg1`。 - DirectConnectGatewayId *string `json:"DirectConnectGatewayId" name:"DirectConnectGatewayId"` + DirectConnectGatewayId *string `json:"DirectConnectGatewayId,omitempty" name:"DirectConnectGatewayId"` // 云联网路由学习类型,可选值: //
  • `BGP` - 自动学习。
  • //
  • `STATIC` - 静态,即用户配置,默认值。
  • - CcnRouteType *string `json:"CcnRouteType" name:"CcnRouteType"` + CcnRouteType *string `json:"CcnRouteType,omitempty" name:"CcnRouteType"` // 偏移量。 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量。 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeDirectConnectGatewayCcnRoutesRequest) ToJsonString() string { @@ -2836,13 +3251,13 @@ type DescribeDirectConnectGatewayCcnRoutesResponse struct { Response *struct { // 符合条件的对象数。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 云联网路由(IDC网段)列表。 - RouteSet []*DirectConnectGatewayCcnRoute `json:"RouteSet" name:"RouteSet" list` + RouteSet []*DirectConnectGatewayCcnRoute `json:"RouteSet,omitempty" name:"RouteSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2859,7 +3274,7 @@ type DescribeDirectConnectGatewaysRequest struct { *tchttp.BaseRequest // 专线网关唯一`ID`,形如:`dcg-9o233uri`。 - DirectConnectGatewayIds []*string `json:"DirectConnectGatewayIds" name:"DirectConnectGatewayIds" list` + DirectConnectGatewayIds []*string `json:"DirectConnectGatewayIds,omitempty" name:"DirectConnectGatewayIds" list` // 过滤条件,参数不支持同时指定`DirectConnectGatewayIds`和`Filters`。 //
  • direct-connect-gateway-id - String - 专线网关唯一`ID`,形如:`dcg-9o233uri`。
  • @@ -2867,15 +3282,15 @@ type DescribeDirectConnectGatewaysRequest struct { //
  • direct-connect-gateway-ip - String - 专线网关`IP`。
  • //
  • gateway-type - String - 网关类型,可选值:`NORMAL`(普通型)、`NAT`(NAT型)。
  • //
  • network-type- String - 网络类型,可选值:`VPC`(私有网络类型)、`CCN`(云联网类型)。
  • - //
  • ccn-id - String - 专线网关所在私有网络`ID`。
  • - //
  • vpc-id - String - 专线网关所在云联网`ID`。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + //
  • ccn-id - String - 专线网关所在云联网`ID`。
  • + //
  • vpc-id - String - 专线网关所在私有网络`ID`。
  • + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量。 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量。 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeDirectConnectGatewaysRequest) ToJsonString() string { @@ -2892,13 +3307,13 @@ type DescribeDirectConnectGatewaysResponse struct { Response *struct { // 符合条件的对象数。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 专线网关对象数组。 - DirectConnectGatewaySet []*DirectConnectGateway `json:"DirectConnectGatewaySet" name:"DirectConnectGatewaySet" list` + DirectConnectGatewaySet []*DirectConnectGateway `json:"DirectConnectGatewaySet,omitempty" name:"DirectConnectGatewaySet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2911,11 +3326,188 @@ func (r *DescribeDirectConnectGatewaysResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DescribeFlowLogRequest struct { + *tchttp.BaseRequest + + // 私用网络ID或者统一ID,建议使用统一ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 流日志唯一ID + FlowLogId *string `json:"FlowLogId,omitempty" name:"FlowLogId"` +} + +func (r *DescribeFlowLogRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeFlowLogRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeFlowLogResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 流日志信息 + FlowLog []*FlowLog `json:"FlowLog,omitempty" name:"FlowLog" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeFlowLogResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeFlowLogResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeFlowLogsRequest struct { + *tchttp.BaseRequest + + // 私用网络ID或者统一ID,建议使用统一ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 流日志唯一ID + FlowLogId *string `json:"FlowLogId,omitempty" name:"FlowLogId"` + + // 流日志实例名字 + FlowLogName *string `json:"FlowLogName,omitempty" name:"FlowLogName"` + + // 流日志所属资源类型,VPC|SUBNET|NETWORKINTERFACE + ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + + // 资源唯一ID + ResourceId *string `json:"ResourceId,omitempty" name:"ResourceId"` + + // 流日志采集类型,ACCEPT|REJECT|ALL + TrafficType *string `json:"TrafficType,omitempty" name:"TrafficType"` + + // 流日志存储ID + CloudLogId *string `json:"CloudLogId,omitempty" name:"CloudLogId"` + + // 流日志存储ID状态 + CloudLogState *string `json:"CloudLogState,omitempty" name:"CloudLogState"` + + // 按某个字段排序,支持字段:flowLogName,createTime,默认按createTime + OrderField *string `json:"OrderField,omitempty" name:"OrderField"` + + // 升序(asc)还是降序(desc),默认:desc + OrderDirection *string `json:"OrderDirection,omitempty" name:"OrderDirection"` + + // 偏移量,默认为0。 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + + // 每页行数,默认为10 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` +} + +func (r *DescribeFlowLogsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeFlowLogsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeFlowLogsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 流日志实例集合 + FlowLog []*FlowLog `json:"FlowLog,omitempty" name:"FlowLog" list` + + // 流日志总数目 + TotalNum *uint64 `json:"TotalNum,omitempty" name:"TotalNum"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeFlowLogsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeFlowLogsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeGatewayFlowMonitorDetailRequest struct { + *tchttp.BaseRequest + + // 时间点。表示要查询这分钟内的明细。如:`2019-02-28 18:15:20`,将查询 `18:15` 这一分钟内的明细。 + TimePoint *string `json:"TimePoint,omitempty" name:"TimePoint"` + + // VPN网关实例ID,形如:`vpn-ltjahce6`。 + VpnId *string `json:"VpnId,omitempty" name:"VpnId"` + + // 专线网关实例ID,形如:`dcg-ltjahce6`。 + DirectConnectGatewayId *string `json:"DirectConnectGatewayId,omitempty" name:"DirectConnectGatewayId"` + + // 对等连接实例ID,形如:`pcx-ltjahce6`。 + PeeringConnectionId *string `json:"PeeringConnectionId,omitempty" name:"PeeringConnectionId"` + + // NAT网关实例ID,形如:`nat-ltjahce6`。 + NatId *string `json:"NatId,omitempty" name:"NatId"` + + // 偏移量。 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量。 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` + + // 排序字段。支持 `InPkg` `OutPkg` `InTraffic` `OutTraffic`。 + OrderField *string `json:"OrderField,omitempty" name:"OrderField"` + + // 排序方法。顺序:`ASC`,倒序:`DESC`。 + OrderDirection *string `json:"OrderDirection,omitempty" name:"OrderDirection"` +} + +func (r *DescribeGatewayFlowMonitorDetailRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeGatewayFlowMonitorDetailRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeGatewayFlowMonitorDetailResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 符合条件的对象数。 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 网关流量监控明细。 + GatewayFlowMonitorDetailSet []*GatewayFlowMonitorDetail `json:"GatewayFlowMonitorDetailSet,omitempty" name:"GatewayFlowMonitorDetailSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeGatewayFlowMonitorDetailResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeGatewayFlowMonitorDetailResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DescribeHaVipsRequest struct { *tchttp.BaseRequest // `HAVIP`唯一`ID`,形如:`havip-9o233uri`。 - HaVipIds []*string `json:"HaVipIds" name:"HaVipIds" list` + HaVipIds []*string `json:"HaVipIds,omitempty" name:"HaVipIds" list` // 过滤条件,参数不支持同时指定`HaVipIds`和`Filters`。 //
  • havip-id - String - `HAVIP`唯一`ID`,形如:`havip-9o233uri`。
  • @@ -2923,13 +3515,13 @@ type DescribeHaVipsRequest struct { //
  • vpc-id - String - `HAVIP`所在私有网络`ID`。
  • //
  • subnet-id - String - `HAVIP`所在子网`ID`。
  • //
  • address-ip - String - `HAVIP`绑定的弹性公网`IP`。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeHaVipsRequest) ToJsonString() string { @@ -2946,13 +3538,13 @@ type DescribeHaVipsResponse struct { Response *struct { // 符合条件的对象数。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // `HAVIP`对象数组。 - HaVipSet []*HaVip `json:"HaVipSet" name:"HaVipSet" list` + HaVipSet []*HaVip `json:"HaVipSet,omitempty" name:"HaVipSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -2965,11 +3557,102 @@ func (r *DescribeHaVipsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DescribeIp6TranslatorQuotaRequest struct { + *tchttp.BaseRequest + + // 待查询IPV6转换实例的唯一ID列表,形如ip6-xxxxxxxx + Ip6TranslatorIds []*string `json:"Ip6TranslatorIds,omitempty" name:"Ip6TranslatorIds" list` +} + +func (r *DescribeIp6TranslatorQuotaRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeIp6TranslatorQuotaRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeIp6TranslatorQuotaResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 账户在指定地域的IPV6转换实例及规则配额信息 + // QUOTAID属性是TOTAL_TRANSLATOR_QUOTA,表示账户在指定地域的IPV6转换实例配额信息;QUOTAID属性是IPV6转转换实例唯一ID(形如ip6-xxxxxxxx),表示账户在该转换实例允许创建的转换规则配额 + QuotaSet []*Quota `json:"QuotaSet,omitempty" name:"QuotaSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeIp6TranslatorQuotaResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeIp6TranslatorQuotaResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeIp6TranslatorsRequest struct { + *tchttp.BaseRequest + + // IPV6转换实例唯一ID数组,形如ip6-xxxxxxxx + Ip6TranslatorIds []*string `json:"Ip6TranslatorIds,omitempty" name:"Ip6TranslatorIds" list` + + // 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`Ip6TranslatorIds`和`Filters`。详细的过滤条件如下: + //
  • ip6-translator-id - String - 是否必填:否 - (过滤条件)按照IPV6转换实例的唯一ID过滤,形如ip6-xxxxxxx。
  • + //
  • ip6-translator-vip6 - String - 是否必填:否 - (过滤条件)按照IPV6地址过滤。不支持模糊过滤。
  • + //
  • ip6-translator-name - String - 是否必填:否 - (过滤条件)按照IPV6转换实例名称过滤。不支持模糊过滤。
  • + //
  • ip6-translator-status - String - 是否必填:否 - (过滤条件)按照IPV6转换实例的状态过滤。状态取值范围为"CREATING","RUNNING","DELETING","MODIFYING" + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` + + // 偏移量,默认为0。关于`Offset`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/11646)中的相关小节。 + Offset *int64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量,默认为20,最大值为100。关于`Limit`的更进一步介绍请参考 API [简介](https://cloud.tencent.com/document/api/213/11646)中的相关小节。 + Limit *int64 `json:"Limit,omitempty" name:"Limit"` +} + +func (r *DescribeIp6TranslatorsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeIp6TranslatorsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeIp6TranslatorsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 符合过滤条件的IPV6转换实例数量。 + TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 符合过滤条件的IPV6转换实例详细信息 + Ip6TranslatorSet []*Ip6Translator `json:"Ip6TranslatorSet,omitempty" name:"Ip6TranslatorSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeIp6TranslatorsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeIp6TranslatorsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DescribeNetworkInterfacesRequest struct { *tchttp.BaseRequest // 弹性网卡实例ID查询。形如:eni-pxir56ns。每次请求的实例的上限为100。参数不支持同时指定NetworkInterfaceIds和Filters。 - NetworkInterfaceIds []*string `json:"NetworkInterfaceIds" name:"NetworkInterfaceIds" list` + NetworkInterfaceIds []*string `json:"NetworkInterfaceIds,omitempty" name:"NetworkInterfaceIds" list` // 过滤条件,参数不支持同时指定NetworkInterfaceIds和Filters。 //
  • vpc-id - String - (过滤条件)VPC实例ID,形如:vpc-f49l6u0z。
  • @@ -2979,13 +3662,13 @@ type DescribeNetworkInterfacesRequest struct { //
  • groups.security-group-id - String - (过滤条件)绑定的安全组实例ID,例如:sg-f9ekbxeq。
  • //
  • network-interface-name - String - (过滤条件)网卡实例名称。
  • //
  • network-interface-description - String - (过滤条件)网卡实例描述。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeNetworkInterfacesRequest) ToJsonString() string { @@ -3002,13 +3685,13 @@ type DescribeNetworkInterfacesResponse struct { Response *struct { // 实例详细信息列表。 - NetworkInterfaceSet []*NetworkInterface `json:"NetworkInterfaceSet" name:"NetworkInterfaceSet" list` + NetworkInterfaceSet []*NetworkInterface `json:"NetworkInterfaceSet,omitempty" name:"NetworkInterfaceSet" list` // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3025,10 +3708,10 @@ type DescribeRouteConflictsRequest struct { *tchttp.BaseRequest // 路由表实例ID,例如:rtb-azd4dt1c。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 要检查的与之冲突的目的端列表 - DestinationCidrBlocks []*string `json:"DestinationCidrBlocks" name:"DestinationCidrBlocks" list` + DestinationCidrBlocks []*string `json:"DestinationCidrBlocks,omitempty" name:"DestinationCidrBlocks" list` } func (r *DescribeRouteConflictsRequest) ToJsonString() string { @@ -3045,10 +3728,10 @@ type DescribeRouteConflictsResponse struct { Response *struct { // 路由策略冲突列表 - RouteConflictSet []*RouteConflict `json:"RouteConflictSet" name:"RouteConflictSet" list` + RouteConflictSet []*RouteConflict `json:"RouteConflictSet,omitempty" name:"RouteConflictSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3065,20 +3748,20 @@ type DescribeRouteTablesRequest struct { *tchttp.BaseRequest // 路由表实例ID,例如:rtb-azd4dt1c。 - RouteTableIds []*string `json:"RouteTableIds" name:"RouteTableIds" list` + RouteTableIds []*string `json:"RouteTableIds,omitempty" name:"RouteTableIds" list` // 过滤条件,参数不支持同时指定RouteTableIds和Filters。 //
  • route-table-id - String - (过滤条件)路由表实例ID。
  • //
  • route-table-name - String - (过滤条件)路由表名称。
  • //
  • vpc-id - String - (过滤条件)VPC实例ID,形如:vpc-f49l6u0z。
  • //
  • association.main - String - (过滤条件)是否主路由表。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量。 - Offset *string `json:"Offset" name:"Offset"` + Offset *string `json:"Offset,omitempty" name:"Offset"` // 请求对象个数。 - Limit *string `json:"Limit" name:"Limit"` + Limit *string `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeRouteTablesRequest) ToJsonString() string { @@ -3095,13 +3778,13 @@ type DescribeRouteTablesResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 路由表对象。 - RouteTableSet []*RouteTable `json:"RouteTableSet" name:"RouteTableSet" list` + RouteTableSet []*RouteTable `json:"RouteTableSet,omitempty" name:"RouteTableSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3118,7 +3801,7 @@ type DescribeSecurityGroupAssociationStatisticsRequest struct { *tchttp.BaseRequest // 安全实例ID,例如sg-33ocnj9n,可通过DescribeSecurityGroups获取。 - SecurityGroupIds []*string `json:"SecurityGroupIds" name:"SecurityGroupIds" list` + SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list` } func (r *DescribeSecurityGroupAssociationStatisticsRequest) ToJsonString() string { @@ -3135,10 +3818,10 @@ type DescribeSecurityGroupAssociationStatisticsResponse struct { Response *struct { // 安全组关联实例统计。 - SecurityGroupAssociationStatisticsSet []*SecurityGroupAssociationStatistics `json:"SecurityGroupAssociationStatisticsSet" name:"SecurityGroupAssociationStatisticsSet" list` + SecurityGroupAssociationStatisticsSet []*SecurityGroupAssociationStatistics `json:"SecurityGroupAssociationStatisticsSet,omitempty" name:"SecurityGroupAssociationStatisticsSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3155,7 +3838,7 @@ type DescribeSecurityGroupPoliciesRequest struct { *tchttp.BaseRequest // 安全组实例ID,例如:sg-33ocnj9n,可通过DescribeSecurityGroups获取。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` } func (r *DescribeSecurityGroupPoliciesRequest) ToJsonString() string { @@ -3172,10 +3855,10 @@ type DescribeSecurityGroupPoliciesResponse struct { Response *struct { // 安全组规则集合。 - SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet" name:"SecurityGroupPolicySet"` + SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet,omitempty" name:"SecurityGroupPolicySet"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3192,18 +3875,18 @@ type DescribeSecurityGroupsRequest struct { *tchttp.BaseRequest // 安全组实例ID,例如:sg-33ocnj9n,可通过DescribeSecurityGroups获取。每次请求的实例的上限为100。参数不支持同时指定SecurityGroupIds和Filters。 - SecurityGroupIds []*string `json:"SecurityGroupIds" name:"SecurityGroupIds" list` + SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list` // 过滤条件,参数不支持同时指定SecurityGroupIds和Filters。 //
  • project-id - Integer - (过滤条件)项目id。
  • //
  • security-group-name - String - (过滤条件)安全组名称。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量。 - Offset *string `json:"Offset" name:"Offset"` + Offset *string `json:"Offset,omitempty" name:"Offset"` // 返回数量。 - Limit *string `json:"Limit" name:"Limit"` + Limit *string `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeSecurityGroupsRequest) ToJsonString() string { @@ -3220,13 +3903,13 @@ type DescribeSecurityGroupsResponse struct { Response *struct { // 安全组对象。 - SecurityGroupSet []*SecurityGroup `json:"SecurityGroupSet" name:"SecurityGroupSet" list` + SecurityGroupSet []*SecurityGroup `json:"SecurityGroupSet,omitempty" name:"SecurityGroupSet" list` // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3245,13 +3928,13 @@ type DescribeServiceTemplateGroupsRequest struct { // 过滤条件。 //
  • service-template-group-name - String - (过滤条件)协议端口模板集合名称。
  • //
  • service-template-group-id - String - (过滤条件)协议端口模板集合实例ID,例如:ppmg-e6dy460g。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。 - Offset *string `json:"Offset" name:"Offset"` + Offset *string `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。 - Limit *string `json:"Limit" name:"Limit"` + Limit *string `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeServiceTemplateGroupsRequest) ToJsonString() string { @@ -3268,13 +3951,13 @@ type DescribeServiceTemplateGroupsResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 协议端口模板集合。 - ServiceTemplateGroupSet []*ServiceTemplateGroup `json:"ServiceTemplateGroupSet" name:"ServiceTemplateGroupSet" list` + ServiceTemplateGroupSet []*ServiceTemplateGroup `json:"ServiceTemplateGroupSet,omitempty" name:"ServiceTemplateGroupSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3293,13 +3976,13 @@ type DescribeServiceTemplatesRequest struct { // 过滤条件。 //
  • service-template-name - String - (过滤条件)协议端口模板名称。
  • //
  • service-template-id - String - (过滤条件)协议端口模板实例ID,例如:ppm-e6dy460g。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。 - Offset *string `json:"Offset" name:"Offset"` + Offset *string `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。 - Limit *string `json:"Limit" name:"Limit"` + Limit *string `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeServiceTemplatesRequest) ToJsonString() string { @@ -3316,13 +3999,13 @@ type DescribeServiceTemplatesResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 协议端口模板对象。 - ServiceTemplateSet []*ServiceTemplate `json:"ServiceTemplateSet" name:"ServiceTemplateSet" list` + ServiceTemplateSet []*ServiceTemplate `json:"ServiceTemplateSet,omitempty" name:"ServiceTemplateSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3339,22 +4022,23 @@ type DescribeSubnetsRequest struct { *tchttp.BaseRequest // 子网实例ID查询。形如:subnet-pxir56ns。每次请求的实例的上限为100。参数不支持同时指定SubnetIds和Filters。 - SubnetIds []*string `json:"SubnetIds" name:"SubnetIds" list` + SubnetIds []*string `json:"SubnetIds,omitempty" name:"SubnetIds" list` // 过滤条件,参数不支持同时指定SubnetIds和Filters。 //
  • subnet-id - String - (过滤条件)Subnet实例名称。
  • //
  • vpc-id - String - (过滤条件)VPC实例ID,形如:vpc-f49l6u0z。
  • - //
  • cidr-block - String - (过滤条件)vpc的cidr。
  • + //
  • cidr-block - String - (过滤条件)子网网段,形如: 192.168.1.0 。
  • //
  • is-default - Boolean - (过滤条件)是否是默认子网。
  • + //
  • is-remote-vpc-snat - Boolean - (过滤条件)是否为VPC SNAT地址池子网。
  • //
  • subnet-name - String - (过滤条件)子网名称。
  • //
  • zone - String - (过滤条件)可用区。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量 - Offset *string `json:"Offset" name:"Offset"` + Offset *string `json:"Offset,omitempty" name:"Offset"` // 返回数量 - Limit *string `json:"Limit" name:"Limit"` + Limit *string `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeSubnetsRequest) ToJsonString() string { @@ -3371,13 +4055,13 @@ type DescribeSubnetsResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // 子网对象。 - SubnetSet []*Subnet `json:"SubnetSet" name:"SubnetSet" list` + SubnetSet []*Subnet `json:"SubnetSet,omitempty" name:"SubnetSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3390,24 +4074,113 @@ func (r *DescribeSubnetsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DescribeVpcIpv6AddressesRequest struct { + *tchttp.BaseRequest + + // `VPC`实例`ID`,形如:`vpc-f49l6u0z`。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // `IP`地址列表,批量查询单次请求最多支持`10`个。 + Ipv6Addresses []*string `json:"Ipv6Addresses,omitempty" name:"Ipv6Addresses" list` + + // 偏移量。 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量。 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` +} + +func (r *DescribeVpcIpv6AddressesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeVpcIpv6AddressesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeVpcIpv6AddressesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // `IPv6`地址列表。 + Ipv6AddressSet []*VpcIpv6Address `json:"Ipv6AddressSet,omitempty" name:"Ipv6AddressSet" list` + + // `IPv6`地址总数。 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeVpcIpv6AddressesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeVpcIpv6AddressesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeVpcPrivateIpAddressesRequest struct { + *tchttp.BaseRequest + + // `VPC`实例`ID`,形如:`vpc-f49l6u0z`。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 内网`IP`地址列表,批量查询单次请求最多支持`10`个。 + PrivateIpAddresses []*string `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list` +} + +func (r *DescribeVpcPrivateIpAddressesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeVpcPrivateIpAddressesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeVpcPrivateIpAddressesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 内网`IP`地址信息列表。 + VpcPrivateIpAddressSet []*VpcPrivateIpAddress `json:"VpcPrivateIpAddressSet,omitempty" name:"VpcPrivateIpAddressSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeVpcPrivateIpAddressesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeVpcPrivateIpAddressesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DescribeVpcsRequest struct { *tchttp.BaseRequest // VPC实例ID。形如:vpc-f49l6u0z。每次请求的实例的上限为100。参数不支持同时指定VpcIds和Filters。 - VpcIds []*string `json:"VpcIds" name:"VpcIds" list` + VpcIds []*string `json:"VpcIds,omitempty" name:"VpcIds" list` // 过滤条件,参数不支持同时指定VpcIds和Filters。 //
  • vpc-name - String - (过滤条件)VPC实例名称。
  • //
  • is-default - String - (过滤条件)是否默认VPC。
  • //
  • vpc-id - String - (过滤条件)VPC实例ID形如:vpc-f49l6u0z。
  • //
  • cidr-block - String - (过滤条件)vpc的cidr。
  • - Filters []*Filter `json:"Filters" name:"Filters" list` + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量 - Offset *string `json:"Offset" name:"Offset"` + Offset *string `json:"Offset,omitempty" name:"Offset"` // 返回数量 - Limit *string `json:"Limit" name:"Limit"` + Limit *string `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeVpcsRequest) ToJsonString() string { @@ -3424,13 +4197,13 @@ type DescribeVpcsResponse struct { Response *struct { // 符合条件的对象数。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // VPC对象。 - VpcSet []*Vpc `json:"VpcSet" name:"VpcSet" list` + VpcSet []*Vpc `json:"VpcSet,omitempty" name:"VpcSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3447,16 +4220,21 @@ type DescribeVpnConnectionsRequest struct { *tchttp.BaseRequest // VPN通道实例ID。形如:vpnx-f49l6u0z。每次请求的实例的上限为100。参数不支持同时指定VpnConnectionIds和Filters。 - VpnConnectionIds []*string `json:"VpnConnectionIds" name:"VpnConnectionIds" list` + VpnConnectionIds []*string `json:"VpnConnectionIds,omitempty" name:"VpnConnectionIds" list` // 过滤条件,详见下表:实例过滤条件表。每次请求的Filters的上限为10,Filter.Values的上限为5。参数不支持同时指定VpnConnectionIds和Filters。 - Filters []*Filter `json:"Filters" name:"Filters" list` + //
  • vpc-id - String - VPC实例ID,形如:`vpc-0a36uwkr`。
  • + //
  • vpn-gateway-id - String - VPN网关实例ID,形如:`vpngw-p4lmqawn`。
  • + //
  • customer-gateway-id - String - 对端网关实例ID,形如:`cgw-l4rblw63`。
  • + //
  • vpn-connection-name - String - 通道名称,形如:`test-vpn`。
  • + //
  • vpn-connection-id - String - 通道实例ID,形如:`vpnx-5p7vkch8"`。
  • + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` // 偏移量,默认为0。关于Offset的更进一步介绍请参考 API 简介中的相关小节。 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 返回数量,默认为20,最大值为100。 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeVpnConnectionsRequest) ToJsonString() string { @@ -3473,13 +4251,13 @@ type DescribeVpnConnectionsResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // VPN通道实例。 - VpnConnectionSet []*VpnConnection `json:"VpnConnectionSet" name:"VpnConnectionSet" list` + VpnConnectionSet []*VpnConnection `json:"VpnConnectionSet,omitempty" name:"VpnConnectionSet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3496,7 +4274,7 @@ type DescribeVpnGatewaysRequest struct { *tchttp.BaseRequest // VPN网关实例ID。形如:vpngw-f49l6u0z。每次请求的实例的上限为100。参数不支持同时指定VpnGatewayIds和Filters。 - VpnGatewayIds []*string `json:"VpnGatewayIds" name:"VpnGatewayIds" list` + VpnGatewayIds []*string `json:"VpnGatewayIds,omitempty" name:"VpnGatewayIds" list` // 过滤条件,参数不支持同时指定VpnGatewayIds和Filters。 //
  • vpc-id - String - (过滤条件)VPC实例ID形如:vpc-f49l6u0z。
  • @@ -3506,13 +4284,13 @@ type DescribeVpnGatewaysRequest struct { //
  • public-ip-address- String - (过滤条件)公网IP。
  • //
  • renew-flag - String - (过滤条件)网关续费类型,手动续费:'NOTIFY_AND_MANUAL_RENEW'、自动续费:'NOTIFY_AND_AUTO_RENEW'。
  • //
  • zone - String - (过滤条件)VPN所在可用区,形如:ap-guangzhou-2。
  • - Filters []*FilterObject `json:"Filters" name:"Filters" list` + Filters []*FilterObject `json:"Filters,omitempty" name:"Filters" list` // 偏移量 - Offset *uint64 `json:"Offset" name:"Offset"` + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` // 请求对象个数 - Limit *uint64 `json:"Limit" name:"Limit"` + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` } func (r *DescribeVpnGatewaysRequest) ToJsonString() string { @@ -3529,13 +4307,13 @@ type DescribeVpnGatewaysResponse struct { Response *struct { // 符合条件的实例数量。 - TotalCount *uint64 `json:"TotalCount" name:"TotalCount"` + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` // VPN网关实例详细信息列表。 - VpnGatewaySet []*VpnGateway `json:"VpnGatewaySet" name:"VpnGatewaySet" list` + VpnGatewaySet []*VpnGateway `json:"VpnGatewaySet,omitempty" name:"VpnGatewaySet" list` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3552,10 +4330,10 @@ type DetachCcnInstancesRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // 要解关联网络实例列表 - Instances []*CcnInstance `json:"Instances" name:"Instances" list` + Instances []*CcnInstance `json:"Instances,omitempty" name:"Instances" list` } func (r *DetachCcnInstancesRequest) ToJsonString() string { @@ -3572,7 +4350,7 @@ type DetachCcnInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3589,10 +4367,10 @@ type DetachClassicLinkVpcRequest struct { *tchttp.BaseRequest // VPC实例ID。可通过DescribeVpcs接口返回值中的VpcId获取。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // CVM实例ID查询。形如:ins-r8hr2upy。 - InstanceIds []*string `json:"InstanceIds" name:"InstanceIds" list` + InstanceIds []*string `json:"InstanceIds,omitempty" name:"InstanceIds" list` } func (r *DetachClassicLinkVpcRequest) ToJsonString() string { @@ -3609,7 +4387,7 @@ type DetachClassicLinkVpcResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3626,10 +4404,10 @@ type DetachNetworkInterfaceRequest struct { *tchttp.BaseRequest // 弹性网卡实例ID,例如:eni-m6dyj72l。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // CVM实例ID。形如:ins-r8hr2upy。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } func (r *DetachNetworkInterfaceRequest) ToJsonString() string { @@ -3646,7 +4424,7 @@ type DetachNetworkInterfaceResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3662,68 +4440,68 @@ func (r *DetachNetworkInterfaceResponse) FromJsonString(s string) error { type DirectConnectGateway struct { // 专线网关`ID`。 - DirectConnectGatewayId *string `json:"DirectConnectGatewayId" name:"DirectConnectGatewayId"` + DirectConnectGatewayId *string `json:"DirectConnectGatewayId,omitempty" name:"DirectConnectGatewayId"` // 专线网关名称。 - DirectConnectGatewayName *string `json:"DirectConnectGatewayName" name:"DirectConnectGatewayName"` + DirectConnectGatewayName *string `json:"DirectConnectGatewayName,omitempty" name:"DirectConnectGatewayName"` // 专线网关关联`VPC`实例`ID`。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 关联网络类型: //
  • `VPC` - 私有网络
  • //
  • `CCN` - 云联网
  • - NetworkType *string `json:"NetworkType" name:"NetworkType"` + NetworkType *string `json:"NetworkType,omitempty" name:"NetworkType"` // 关联网络实例`ID`: //
  • `NetworkType`为`VPC`时,这里为私有网络实例`ID`
  • //
  • `NetworkType`为`CCN`时,这里为云联网实例`ID`
  • - NetworkInstanceId *string `json:"NetworkInstanceId" name:"NetworkInstanceId"` + NetworkInstanceId *string `json:"NetworkInstanceId,omitempty" name:"NetworkInstanceId"` // 网关类型: //
  • NORMAL - 标准型,注:云联网只支持标准型
  • //
  • NAT - NAT型
  • // NAT类型支持网络地址转换配置,类型确定后不能修改;一个私有网络可以创建一个NAT类型的专线网关和一个非NAT类型的专线网关 - GatewayType *string `json:"GatewayType" name:"GatewayType"` + GatewayType *string `json:"GatewayType,omitempty" name:"GatewayType"` // 创建时间。 - CreateTime *string `json:"CreateTime" name:"CreateTime"` + CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` // 专线网关IP。 - DirectConnectGatewayIp *string `json:"DirectConnectGatewayIp" name:"DirectConnectGatewayIp"` + DirectConnectGatewayIp *string `json:"DirectConnectGatewayIp,omitempty" name:"DirectConnectGatewayIp"` // 专线网关关联`CCN`实例`ID`。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // 云联网路由学习类型: //
  • `BGP` - 自动学习。
  • //
  • `STATIC` - 静态,即用户配置。
  • - CcnRouteType *string `json:"CcnRouteType" name:"CcnRouteType"` + CcnRouteType *string `json:"CcnRouteType,omitempty" name:"CcnRouteType"` // 是否启用BGP。 - EnableBGP *bool `json:"EnableBGP" name:"EnableBGP"` + EnableBGP *bool `json:"EnableBGP,omitempty" name:"EnableBGP"` } type DirectConnectGatewayCcnRoute struct { // 路由ID。 - RouteId *string `json:"RouteId" name:"RouteId"` + RouteId *string `json:"RouteId,omitempty" name:"RouteId"` // IDC网段。 - DestinationCidrBlock *string `json:"DestinationCidrBlock" name:"DestinationCidrBlock"` + DestinationCidrBlock *string `json:"DestinationCidrBlock,omitempty" name:"DestinationCidrBlock"` // `BGP`的`AS-Path`属性。 - ASPath []*string `json:"ASPath" name:"ASPath" list` + ASPath []*string `json:"ASPath,omitempty" name:"ASPath" list` } type DisableCcnRoutesRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // CCN路由策略唯一ID。形如:ccnr-f49l6u0z。 - RouteIds []*string `json:"RouteIds" name:"RouteIds" list` + RouteIds []*string `json:"RouteIds,omitempty" name:"RouteIds" list` } func (r *DisableCcnRoutesRequest) ToJsonString() string { @@ -3740,7 +4518,7 @@ type DisableCcnRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3757,10 +4535,10 @@ type DisableRoutesRequest struct { *tchttp.BaseRequest // 路由表唯一ID。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 路由策略唯一ID。 - RouteIds []*uint64 `json:"RouteIds" name:"RouteIds" list` + RouteIds []*uint64 `json:"RouteIds,omitempty" name:"RouteIds" list` } func (r *DisableRoutesRequest) ToJsonString() string { @@ -3777,7 +4555,7 @@ type DisableRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3794,10 +4572,10 @@ type DisassociateAddressRequest struct { *tchttp.BaseRequest // 标识 EIP 的唯一 ID。EIP 唯一 ID 形如:`eip-11112222`。 - AddressId *string `json:"AddressId" name:"AddressId"` + AddressId *string `json:"AddressId,omitempty" name:"AddressId"` // 表示解绑 EIP 之后是否分配普通公网 IP。取值范围:
  • TRUE:表示解绑 EIP 之后分配普通公网 IP。
  • FALSE:表示解绑 EIP 之后不分配普通公网 IP。
    默认取值:FALSE。

    只有满足以下条件时才能指定该参数:
  • 只有在解绑主网卡的主内网 IP 上的 EIP 时才能指定该参数。
  • 解绑 EIP 后重新分配普通公网 IP 操作一个账号每天最多操作 10 次;详情可通过 [DescribeAddressQuota](https://cloud.tencent.com/document/api/213/1378) 接口获取。 - ReallocateNormalPublicIp *bool `json:"ReallocateNormalPublicIp" name:"ReallocateNormalPublicIp"` + ReallocateNormalPublicIp *bool `json:"ReallocateNormalPublicIp,omitempty" name:"ReallocateNormalPublicIp"` } func (r *DisassociateAddressRequest) ToJsonString() string { @@ -3814,7 +4592,7 @@ type DisassociateAddressResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3831,16 +4609,16 @@ type DownloadCustomerGatewayConfigurationRequest struct { *tchttp.BaseRequest // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // VPN通道实例ID。形如:vpnx-f49l6u0z。 - VpnConnectionId *string `json:"VpnConnectionId" name:"VpnConnectionId"` + VpnConnectionId *string `json:"VpnConnectionId,omitempty" name:"VpnConnectionId"` // 对端网关厂商信息对象,可通过DescribeCustomerGatewayVendors获取。 - CustomerGatewayVendor *CustomerGatewayVendor `json:"CustomerGatewayVendor" name:"CustomerGatewayVendor"` + CustomerGatewayVendor *CustomerGatewayVendor `json:"CustomerGatewayVendor,omitempty" name:"CustomerGatewayVendor"` // 通道接入设备物理接口名称。 - InterfaceName *string `json:"InterfaceName" name:"InterfaceName"` + InterfaceName *string `json:"InterfaceName,omitempty" name:"InterfaceName"` } func (r *DownloadCustomerGatewayConfigurationRequest) ToJsonString() string { @@ -3857,10 +4635,10 @@ type DownloadCustomerGatewayConfigurationResponse struct { Response *struct { // XML格式配置信息。 - CustomerGatewayConfiguration *string `json:"CustomerGatewayConfiguration" name:"CustomerGatewayConfiguration"` + CustomerGatewayConfiguration *string `json:"CustomerGatewayConfiguration,omitempty" name:"CustomerGatewayConfiguration"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3877,10 +4655,10 @@ type EnableCcnRoutesRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // CCN路由策略唯一ID。形如:ccnr-f49l6u0z。 - RouteIds []*string `json:"RouteIds" name:"RouteIds" list` + RouteIds []*string `json:"RouteIds,omitempty" name:"RouteIds" list` } func (r *EnableCcnRoutesRequest) ToJsonString() string { @@ -3897,7 +4675,7 @@ type EnableCcnRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3914,10 +4692,10 @@ type EnableRoutesRequest struct { *tchttp.BaseRequest // 路由表唯一ID。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 路由策略唯一ID。 - RouteIds []*uint64 `json:"RouteIds" name:"RouteIds" list` + RouteIds []*uint64 `json:"RouteIds,omitempty" name:"RouteIds" list` } func (r *EnableRoutesRequest) ToJsonString() string { @@ -3934,7 +4712,7 @@ type EnableRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -3950,64 +4728,115 @@ func (r *EnableRoutesResponse) FromJsonString(s string) error { type Filter struct { // 属性名称, 若存在多个Filter时,Filter间的关系为逻辑与(AND)关系。 - Name *string `json:"Name" name:"Name"` + Name *string `json:"Name,omitempty" name:"Name"` // 属性值, 若同一个Filter存在多个Values,同一Filter下Values间的关系为逻辑或(OR)关系。 - Values []*string `json:"Values" name:"Values" list` + Values []*string `json:"Values,omitempty" name:"Values" list` } type FilterObject struct { // 属性名称, 若存在多个Filter时,Filter间的关系为逻辑与(AND)关系。 - Name *string `json:"Name" name:"Name"` + Name *string `json:"Name,omitempty" name:"Name"` // 属性值, 若同一个Filter存在多个Values,同一Filter下Values间的关系为逻辑或(OR)关系。 - Values []*string `json:"Values" name:"Values" list` + Values []*string `json:"Values,omitempty" name:"Values" list` +} + +type FlowLog struct { + + // 私用网络ID或者统一ID,建议使用统一ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 流日志唯一ID + FlowLogId *string `json:"FlowLogId,omitempty" name:"FlowLogId"` + + // 流日志实例名字 + FlowLogName *string `json:"FlowLogName,omitempty" name:"FlowLogName"` + + // 流日志所属资源类型,VPC|SUBNET|NETWORKINTERFACE + ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` + + // 资源唯一ID + ResourceId *string `json:"ResourceId,omitempty" name:"ResourceId"` + + // 流日志采集类型,ACCEPT|REJECT|ALL + TrafficType *string `json:"TrafficType,omitempty" name:"TrafficType"` + + // 流日志存储ID + CloudLogId *string `json:"CloudLogId,omitempty" name:"CloudLogId"` + + // 流日志存储ID状态 + CloudLogState *string `json:"CloudLogState,omitempty" name:"CloudLogState"` + + // 流日志描述信息 + FlowLogDescription *string `json:"FlowLogDescription,omitempty" name:"FlowLogDescription"` + + // 流日志创建时间 + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` +} + +type GatewayFlowMonitorDetail struct { + + // 来源`IP`。 + PrivateIpAddress *string `json:"PrivateIpAddress,omitempty" name:"PrivateIpAddress"` + + // 入包量。 + InPkg *uint64 `json:"InPkg,omitempty" name:"InPkg"` + + // 出包量。 + OutPkg *uint64 `json:"OutPkg,omitempty" name:"OutPkg"` + + // 入带宽,单位:`Byte`。 + InTraffic *uint64 `json:"InTraffic,omitempty" name:"InTraffic"` + + // 出带宽,单位:`Byte`。 + OutTraffic *uint64 `json:"OutTraffic,omitempty" name:"OutTraffic"` } type HaVip struct { // `HAVIP`的`ID`,是`HAVIP`的唯一标识。 - HaVipId *string `json:"HaVipId" name:"HaVipId"` + HaVipId *string `json:"HaVipId,omitempty" name:"HaVipId"` // `HAVIP`名称。 - HaVipName *string `json:"HaVipName" name:"HaVipName"` + HaVipName *string `json:"HaVipName,omitempty" name:"HaVipName"` // 虚拟IP地址。 - Vip *string `json:"Vip" name:"Vip"` + Vip *string `json:"Vip,omitempty" name:"Vip"` // `HAVIP`所在私有网络`ID`。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // `HAVIP`所在子网`ID`。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` // `HAVIP`关联弹性网卡`ID`。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // 被绑定的实例`ID`。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 绑定`EIP`。 - AddressIp *string `json:"AddressIp" name:"AddressIp"` + AddressIp *string `json:"AddressIp,omitempty" name:"AddressIp"` // 状态: //
  • `AVAILABLE`:运行中
  • //
  • `UNBIND`:未绑定
  • - State *string `json:"State" name:"State"` + State *string `json:"State,omitempty" name:"State"` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type HaVipAssociateAddressIpRequest struct { *tchttp.BaseRequest // `HAVIP`唯一`ID`,形如:`havip-9o233uri`。必须是没有绑定`EIP`的`HAVIP` - HaVipId *string `json:"HaVipId" name:"HaVipId"` + HaVipId *string `json:"HaVipId,omitempty" name:"HaVipId"` // 弹性公网`IP`。必须是没有绑定`HAVIP`的`EIP` - AddressIp *string `json:"AddressIp" name:"AddressIp"` + AddressIp *string `json:"AddressIp,omitempty" name:"AddressIp"` } func (r *HaVipAssociateAddressIpRequest) ToJsonString() string { @@ -4024,7 +4853,7 @@ type HaVipAssociateAddressIpResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4041,7 +4870,7 @@ type HaVipDisassociateAddressIpRequest struct { *tchttp.BaseRequest // `HAVIP`唯一`ID`,形如:`havip-9o233uri`。必须是已绑定`EIP`的`HAVIP`。 - HaVipId *string `json:"HaVipId" name:"HaVipId"` + HaVipId *string `json:"HaVipId,omitempty" name:"HaVipId"` } func (r *HaVipDisassociateAddressIpRequest) ToJsonString() string { @@ -4058,7 +4887,7 @@ type HaVipDisassociateAddressIpResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4074,71 +4903,71 @@ func (r *HaVipDisassociateAddressIpResponse) FromJsonString(s string) error { type IKEOptionsSpecification struct { // 加密算法,可选值:'3DES-CBC', 'AES-CBC-128', 'AES-CBS-192', 'AES-CBC-256', 'DES-CBC',默认为3DES-CBC - PropoEncryAlgorithm *string `json:"PropoEncryAlgorithm" name:"PropoEncryAlgorithm"` + PropoEncryAlgorithm *string `json:"PropoEncryAlgorithm,omitempty" name:"PropoEncryAlgorithm"` // 认证算法:可选值:'MD5', 'SHA1',默认为MD5 - PropoAuthenAlgorithm *string `json:"PropoAuthenAlgorithm" name:"PropoAuthenAlgorithm"` + PropoAuthenAlgorithm *string `json:"PropoAuthenAlgorithm,omitempty" name:"PropoAuthenAlgorithm"` // 协商模式:可选值:'AGGRESSIVE', 'MAIN',默认为MAIN - ExchangeMode *string `json:"ExchangeMode" name:"ExchangeMode"` + ExchangeMode *string `json:"ExchangeMode,omitempty" name:"ExchangeMode"` // 本端标识类型:可选值:'ADDRESS', 'FQDN',默认为ADDRESS - LocalIdentity *string `json:"LocalIdentity" name:"LocalIdentity"` + LocalIdentity *string `json:"LocalIdentity,omitempty" name:"LocalIdentity"` // 对端标识类型:可选值:'ADDRESS', 'FQDN',默认为ADDRESS - RemoteIdentity *string `json:"RemoteIdentity" name:"RemoteIdentity"` + RemoteIdentity *string `json:"RemoteIdentity,omitempty" name:"RemoteIdentity"` // 本端标识,当LocalIdentity选为ADDRESS时,LocalAddress必填。localAddress默认为vpn网关公网IP - LocalAddress *string `json:"LocalAddress" name:"LocalAddress"` + LocalAddress *string `json:"LocalAddress,omitempty" name:"LocalAddress"` // 对端标识,当RemoteIdentity选为ADDRESS时,RemoteAddress必填 - RemoteAddress *string `json:"RemoteAddress" name:"RemoteAddress"` + RemoteAddress *string `json:"RemoteAddress,omitempty" name:"RemoteAddress"` // 本端标识,当LocalIdentity选为FQDN时,LocalFqdnName必填 - LocalFqdnName *string `json:"LocalFqdnName" name:"LocalFqdnName"` + LocalFqdnName *string `json:"LocalFqdnName,omitempty" name:"LocalFqdnName"` // 对端标识,当remoteIdentity选为FQDN时,RemoteFqdnName必填 - RemoteFqdnName *string `json:"RemoteFqdnName" name:"RemoteFqdnName"` + RemoteFqdnName *string `json:"RemoteFqdnName,omitempty" name:"RemoteFqdnName"` // DH group,指定IKE交换密钥时使用的DH组,可选值:'GROUP1', 'GROUP2', 'GROUP5', 'GROUP14', 'GROUP24', - DhGroupName *string `json:"DhGroupName" name:"DhGroupName"` + DhGroupName *string `json:"DhGroupName,omitempty" name:"DhGroupName"` // IKE SA Lifetime,单位:秒,设置IKE SA的生存周期,取值范围:60-604800 - IKESaLifetimeSeconds *uint64 `json:"IKESaLifetimeSeconds" name:"IKESaLifetimeSeconds"` + IKESaLifetimeSeconds *uint64 `json:"IKESaLifetimeSeconds,omitempty" name:"IKESaLifetimeSeconds"` // IKE版本 - IKEVersion *string `json:"IKEVersion" name:"IKEVersion"` + IKEVersion *string `json:"IKEVersion,omitempty" name:"IKEVersion"` } type IPSECOptionsSpecification struct { // 加密算法,可选值:'3DES-CBC', 'AES-CBC-128', 'AES-CBC-192', 'AES-CBC-256', 'DES-CBC', 'NULL', 默认为AES-CBC-128 - EncryptAlgorithm *string `json:"EncryptAlgorithm" name:"EncryptAlgorithm"` + EncryptAlgorithm *string `json:"EncryptAlgorithm,omitempty" name:"EncryptAlgorithm"` // 认证算法:可选值:'MD5', 'SHA1',默认为 - IntegrityAlgorith *string `json:"IntegrityAlgorith" name:"IntegrityAlgorith"` + IntegrityAlgorith *string `json:"IntegrityAlgorith,omitempty" name:"IntegrityAlgorith"` // IPsec SA lifetime(s):单位秒,取值范围:180-604800 - IPSECSaLifetimeSeconds *uint64 `json:"IPSECSaLifetimeSeconds" name:"IPSECSaLifetimeSeconds"` + IPSECSaLifetimeSeconds *uint64 `json:"IPSECSaLifetimeSeconds,omitempty" name:"IPSECSaLifetimeSeconds"` // PFS:可选值:'NULL', 'DH-GROUP1', 'DH-GROUP2', 'DH-GROUP5', 'DH-GROUP14', 'DH-GROUP24',默认为NULL - PfsDhGroup *string `json:"PfsDhGroup" name:"PfsDhGroup"` + PfsDhGroup *string `json:"PfsDhGroup,omitempty" name:"PfsDhGroup"` // IPsec SA lifetime(KB):单位KB,取值范围:2560-604800 - IPSECSaLifetimeTraffic *uint64 `json:"IPSECSaLifetimeTraffic" name:"IPSECSaLifetimeTraffic"` + IPSECSaLifetimeTraffic *uint64 `json:"IPSECSaLifetimeTraffic,omitempty" name:"IPSECSaLifetimeTraffic"` } type InquiryPriceCreateVpnGatewayRequest struct { *tchttp.BaseRequest // 公网带宽设置。可选带宽规格:5, 10, 20, 50, 100;单位:Mbps。 - InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut" name:"InternetMaxBandwidthOut"` + InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"` // VPN网关计费模式,PREPAID:表示预付费,即包年包月,POSTPAID_BY_HOUR:表示后付费,即按量计费。默认:POSTPAID_BY_HOUR,如果指定预付费模式,参数InstanceChargePrepaid必填。 - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` } func (r *InquiryPriceCreateVpnGatewayRequest) ToJsonString() string { @@ -4155,10 +4984,10 @@ type InquiryPriceCreateVpnGatewayResponse struct { Response *struct { // 商品价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4175,10 +5004,10 @@ type InquiryPriceRenewVpnGatewayRequest struct { *tchttp.BaseRequest // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` } func (r *InquiryPriceRenewVpnGatewayRequest) ToJsonString() string { @@ -4195,10 +5024,10 @@ type InquiryPriceRenewVpnGatewayResponse struct { Response *struct { // 商品价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4215,10 +5044,10 @@ type InquiryPriceResetVpnGatewayInternetMaxBandwidthRequest struct { *tchttp.BaseRequest // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // 公网带宽设置。可选带宽规格:5, 10, 20, 50, 100;单位:Mbps。 - InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut" name:"InternetMaxBandwidthOut"` + InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"` } func (r *InquiryPriceResetVpnGatewayInternetMaxBandwidthRequest) ToJsonString() string { @@ -4235,10 +5064,10 @@ type InquiryPriceResetVpnGatewayInternetMaxBandwidthResponse struct { Response *struct { // 商品价格。 - Price *Price `json:"Price" name:"Price"` + Price *Price `json:"Price,omitempty" name:"Price"` // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4253,39 +5082,154 @@ func (r *InquiryPriceResetVpnGatewayInternetMaxBandwidthResponse) FromJsonString type InstanceChargePrepaid struct { - // 购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36。 - Period *uint64 `json:"Period" name:"Period"` + // 购买实例的时长,单位:月。取值范围:1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36。 + Period *uint64 `json:"Period,omitempty" name:"Period"` // 自动续费标识。取值范围: NOTIFY_AND_AUTO_RENEW:通知过期且自动续费, NOTIFY_AND_MANUAL_RENEW:通知过期不自动续费。默认:NOTIFY_AND_MANUAL_RENEW - RenewFlag *string `json:"RenewFlag" name:"RenewFlag"` + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` +} + +type InstanceStatistic struct { + + // 实例的类型 + InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` + + // 实例的个数 + InstanceCount *uint64 `json:"InstanceCount,omitempty" name:"InstanceCount"` +} + +type Ip6Rule struct { + + // IPV6转换规则唯一ID,形如rule6-xxxxxxxx + Ip6RuleId *string `json:"Ip6RuleId,omitempty" name:"Ip6RuleId"` + + // IPV6转换规则名称 + Ip6RuleName *string `json:"Ip6RuleName,omitempty" name:"Ip6RuleName"` + + // IPV6地址 + Vip6 *string `json:"Vip6,omitempty" name:"Vip6"` + + // IPV6端口号 + Vport6 *int64 `json:"Vport6,omitempty" name:"Vport6"` + + // 协议类型,支持TCP/UDP + Protocol *string `json:"Protocol,omitempty" name:"Protocol"` + + // IPV4地址 + Vip *string `json:"Vip,omitempty" name:"Vip"` + + // IPV4端口号 + Vport *int64 `json:"Vport,omitempty" name:"Vport"` + + // 转换规则状态,限于CREATING,RUNNING,DELETING,MODIFYING + RuleStatus *string `json:"RuleStatus,omitempty" name:"RuleStatus"` + + // 转换规则创建时间 + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` +} + +type Ip6RuleInfo struct { + + // IPV6端口号,可在0~65535范围取值 + Vport6 *int64 `json:"Vport6,omitempty" name:"Vport6"` + + // 协议类型,支持TCP/UDP + Protocol *string `json:"Protocol,omitempty" name:"Protocol"` + + // IPV4地址 + Vip *string `json:"Vip,omitempty" name:"Vip"` + + // IPV4端口号,可在0~65535范围取值 + Vport *int64 `json:"Vport,omitempty" name:"Vport"` +} + +type Ip6Translator struct { + + // IPV6转换实例唯一ID,形如ip6-xxxxxxxx + Ip6TranslatorId *string `json:"Ip6TranslatorId,omitempty" name:"Ip6TranslatorId"` + + // IPV6转换实例名称 + Ip6TranslatorName *string `json:"Ip6TranslatorName,omitempty" name:"Ip6TranslatorName"` + + // IPV6地址 + Vip6 *string `json:"Vip6,omitempty" name:"Vip6"` + + // IPV6转换地址所属运营商 + IspName *string `json:"IspName,omitempty" name:"IspName"` + + // 转换实例状态,限于CREATING,RUNNING,DELETING,MODIFYING + TranslatorStatus *string `json:"TranslatorStatus,omitempty" name:"TranslatorStatus"` + + // IPV6转换实例创建时间 + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` + + // 绑定的IPV6转换规则数量 + Ip6RuleCount *int64 `json:"Ip6RuleCount,omitempty" name:"Ip6RuleCount"` + + // IPV6转换规则信息 + IP6RuleSet []*Ip6Rule `json:"IP6RuleSet,omitempty" name:"IP6RuleSet" list` +} + +type Ipv6Address struct { + + // `IPv6`地址,形如:`3402:4e00:20:100:0:8cd9:2a67:71f3` + Address *string `json:"Address,omitempty" name:"Address"` + + // 是否是主`IP`。 + Primary *bool `json:"Primary,omitempty" name:"Primary"` + + // `EIP`实例`ID`,形如:`eip-hxlqja90`。 + AddressId *string `json:"AddressId,omitempty" name:"AddressId"` + + // 描述信息。 + Description *string `json:"Description,omitempty" name:"Description"` + + // 公网IP是否被封堵。 + IsWanIpBlocked *bool `json:"IsWanIpBlocked,omitempty" name:"IsWanIpBlocked"` + + // `IPv6`地址状态: + //
  • `PENDING`:生产中
  • + //
  • `MIGRATING`:迁移中
  • + //
  • `DELETING`:删除中
  • + //
  • `AVAILABLE`:可用的
  • + State *string `json:"State,omitempty" name:"State"` +} + +type Ipv6SubnetCidrBlock struct { + + // 子网实例`ID`。形如:`subnet-pxir56ns`。 + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` + + // `IPv6`子网段。形如:`3402:4e00:20:1001::/64` + Ipv6CidrBlock *string `json:"Ipv6CidrBlock,omitempty" name:"Ipv6CidrBlock"` } type ItemPrice struct { // 按量计费后付费单价,单位:元。 - UnitPrice *float64 `json:"UnitPrice" name:"UnitPrice"` + UnitPrice *float64 `json:"UnitPrice,omitempty" name:"UnitPrice"` // 按量计费后付费计价单元,可取值范围: HOUR:表示计价单元是按每小时来计算。当前涉及该计价单元的场景有:实例按小时后付费(POSTPAID_BY_HOUR)、带宽按小时后付费(BANDWIDTH_POSTPAID_BY_HOUR): GB:表示计价单元是按每GB来计算。当前涉及该计价单元的场景有:流量按小时后付费(TRAFFIC_POSTPAID_BY_HOUR)。 - ChargeUnit *string `json:"ChargeUnit" name:"ChargeUnit"` + ChargeUnit *string `json:"ChargeUnit,omitempty" name:"ChargeUnit"` // 预付费商品的原价,单位:元。 - OriginalPrice *float64 `json:"OriginalPrice" name:"OriginalPrice"` + OriginalPrice *float64 `json:"OriginalPrice,omitempty" name:"OriginalPrice"` // 预付费商品的折扣价,单位:元。 - DiscountPrice *float64 `json:"DiscountPrice" name:"DiscountPrice"` + DiscountPrice *float64 `json:"DiscountPrice,omitempty" name:"DiscountPrice"` } type MigrateNetworkInterfaceRequest struct { *tchttp.BaseRequest // 弹性网卡实例ID,例如:eni-m6dyj72l。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // 弹性网卡当前绑定的CVM实例ID。形如:ins-r8hr2upy。 - SourceInstanceId *string `json:"SourceInstanceId" name:"SourceInstanceId"` + SourceInstanceId *string `json:"SourceInstanceId,omitempty" name:"SourceInstanceId"` // 待迁移的目的CVM实例ID。 - DestinationInstanceId *string `json:"DestinationInstanceId" name:"DestinationInstanceId"` + DestinationInstanceId *string `json:"DestinationInstanceId,omitempty" name:"DestinationInstanceId"` } func (r *MigrateNetworkInterfaceRequest) ToJsonString() string { @@ -4302,7 +5246,7 @@ type MigrateNetworkInterfaceResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4319,13 +5263,13 @@ type MigratePrivateIpAddressRequest struct { *tchttp.BaseRequest // 当内网IP绑定的弹性网卡实例ID,例如:eni-m6dyj72l。 - SourceNetworkInterfaceId *string `json:"SourceNetworkInterfaceId" name:"SourceNetworkInterfaceId"` + SourceNetworkInterfaceId *string `json:"SourceNetworkInterfaceId,omitempty" name:"SourceNetworkInterfaceId"` // 待迁移的目的弹性网卡实例ID。 - DestinationNetworkInterfaceId *string `json:"DestinationNetworkInterfaceId" name:"DestinationNetworkInterfaceId"` + DestinationNetworkInterfaceId *string `json:"DestinationNetworkInterfaceId,omitempty" name:"DestinationNetworkInterfaceId"` // 迁移的内网IP地址,例如:10.0.0.6。 - PrivateIpAddress *string `json:"PrivateIpAddress" name:"PrivateIpAddress"` + PrivateIpAddress *string `json:"PrivateIpAddress,omitempty" name:"PrivateIpAddress"` } func (r *MigratePrivateIpAddressRequest) ToJsonString() string { @@ -4342,7 +5286,7 @@ type MigratePrivateIpAddressResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4359,10 +5303,10 @@ type ModifyAddressAttributeRequest struct { *tchttp.BaseRequest // 标识 EIP 的唯一 ID。EIP 唯一 ID 形如:`eip-11112222`。 - AddressId *string `json:"AddressId" name:"AddressId"` + AddressId *string `json:"AddressId,omitempty" name:"AddressId"` // 修改后的 EIP 名称。长度上限为20个字符。 - AddressName *string `json:"AddressName" name:"AddressName"` + AddressName *string `json:"AddressName,omitempty" name:"AddressName"` } func (r *ModifyAddressAttributeRequest) ToJsonString() string { @@ -4379,7 +5323,7 @@ type ModifyAddressAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4396,13 +5340,13 @@ type ModifyAddressTemplateAttributeRequest struct { *tchttp.BaseRequest // IP地址模板实例ID,例如:ipm-mdunqeb6。 - AddressTemplateId *string `json:"AddressTemplateId" name:"AddressTemplateId"` + AddressTemplateId *string `json:"AddressTemplateId,omitempty" name:"AddressTemplateId"` // IP地址模板名称。 - AddressTemplateName *string `json:"AddressTemplateName" name:"AddressTemplateName"` + AddressTemplateName *string `json:"AddressTemplateName,omitempty" name:"AddressTemplateName"` // 地址信息,支持 IP、CIDR、IP 范围。 - Addresses []*string `json:"Addresses" name:"Addresses" list` + Addresses []*string `json:"Addresses,omitempty" name:"Addresses" list` } func (r *ModifyAddressTemplateAttributeRequest) ToJsonString() string { @@ -4419,7 +5363,7 @@ type ModifyAddressTemplateAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4436,13 +5380,13 @@ type ModifyAddressTemplateGroupAttributeRequest struct { *tchttp.BaseRequest // IP地址模板集合实例ID,例如:ipmg-2uw6ujo6。 - AddressTemplateGroupId *string `json:"AddressTemplateGroupId" name:"AddressTemplateGroupId"` + AddressTemplateGroupId *string `json:"AddressTemplateGroupId,omitempty" name:"AddressTemplateGroupId"` // IP地址模板集合名称。 - AddressTemplateGroupName *string `json:"AddressTemplateGroupName" name:"AddressTemplateGroupName"` + AddressTemplateGroupName *string `json:"AddressTemplateGroupName,omitempty" name:"AddressTemplateGroupName"` // IP地址模板实例ID, 例如:ipm-mdunqeb6。 - AddressTemplateIds []*string `json:"AddressTemplateIds" name:"AddressTemplateIds" list` + AddressTemplateIds []*string `json:"AddressTemplateIds,omitempty" name:"AddressTemplateIds" list` } func (r *ModifyAddressTemplateGroupAttributeRequest) ToJsonString() string { @@ -4459,7 +5403,7 @@ type ModifyAddressTemplateGroupAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4476,16 +5420,16 @@ type ModifyAddressesBandwidthRequest struct { *tchttp.BaseRequest // EIP唯一标识id,形如'eip-xxxx' - AddressIds []*string `json:"AddressIds" name:"AddressIds" list` + AddressIds []*string `json:"AddressIds,omitempty" name:"AddressIds" list` // 调整带宽目标值 - InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut" name:"InternetMaxBandwidthOut"` + InternetMaxBandwidthOut *int64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"` // 包月带宽起始时间 - StartTime *string `json:"StartTime" name:"StartTime"` + StartTime *string `json:"StartTime,omitempty" name:"StartTime"` // 包月带宽结束时间 - EndTime *string `json:"EndTime" name:"EndTime"` + EndTime *string `json:"EndTime,omitempty" name:"EndTime"` } func (r *ModifyAddressesBandwidthRequest) ToJsonString() string { @@ -4502,7 +5446,7 @@ type ModifyAddressesBandwidthResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4519,10 +5463,10 @@ type ModifyBandwidthPackageAttributeRequest struct { *tchttp.BaseRequest // 带宽包唯一标识ID - BandwidthPackageId *string `json:"BandwidthPackageId" name:"BandwidthPackageId"` + BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"` // 带宽包名称 - BandwidthPackageName *string `json:"BandwidthPackageName" name:"BandwidthPackageName"` + BandwidthPackageName *string `json:"BandwidthPackageName,omitempty" name:"BandwidthPackageName"` } func (r *ModifyBandwidthPackageAttributeRequest) ToJsonString() string { @@ -4539,7 +5483,7 @@ type ModifyBandwidthPackageAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4556,13 +5500,13 @@ type ModifyCcnAttributeRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // CCN名称,最大长度不能超过60个字节。 - CcnName *string `json:"CcnName" name:"CcnName"` + CcnName *string `json:"CcnName,omitempty" name:"CcnName"` // CCN描述信息,最大长度不能超过100个字节。 - CcnDescription *string `json:"CcnDescription" name:"CcnDescription"` + CcnDescription *string `json:"CcnDescription,omitempty" name:"CcnDescription"` } func (r *ModifyCcnAttributeRequest) ToJsonString() string { @@ -4579,7 +5523,7 @@ type ModifyCcnAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4596,10 +5540,10 @@ type ModifyCustomerGatewayAttributeRequest struct { *tchttp.BaseRequest // 对端网关ID,例如:cgw-2wqq41m9,可通过DescribeCustomerGateways接口查询对端网关。 - CustomerGatewayId *string `json:"CustomerGatewayId" name:"CustomerGatewayId"` + CustomerGatewayId *string `json:"CustomerGatewayId,omitempty" name:"CustomerGatewayId"` // 对端网关名称,可任意命名,但不得超过60个字符。 - CustomerGatewayName *string `json:"CustomerGatewayName" name:"CustomerGatewayName"` + CustomerGatewayName *string `json:"CustomerGatewayName,omitempty" name:"CustomerGatewayName"` } func (r *ModifyCustomerGatewayAttributeRequest) ToJsonString() string { @@ -4616,7 +5560,7 @@ type ModifyCustomerGatewayAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4633,13 +5577,13 @@ type ModifyDirectConnectGatewayAttributeRequest struct { *tchttp.BaseRequest // 专线网关唯一`ID`,形如:`dcg-9o233uri`。 - DirectConnectGatewayId *string `json:"DirectConnectGatewayId" name:"DirectConnectGatewayId"` + DirectConnectGatewayId *string `json:"DirectConnectGatewayId,omitempty" name:"DirectConnectGatewayId"` // 专线网关名称,可任意命名,但不得超过60个字符。 - DirectConnectGatewayName *string `json:"DirectConnectGatewayName" name:"DirectConnectGatewayName"` + DirectConnectGatewayName *string `json:"DirectConnectGatewayName,omitempty" name:"DirectConnectGatewayName"` // 云联网路由学习类型,可选值:`BGP`(自动学习)、`STATIC`(静态,即用户配置)。只有云联网类型专线网关且开启了BGP功能才支持修改`CcnRouteType`。 - CcnRouteType *string `json:"CcnRouteType" name:"CcnRouteType"` + CcnRouteType *string `json:"CcnRouteType,omitempty" name:"CcnRouteType"` } func (r *ModifyDirectConnectGatewayAttributeRequest) ToJsonString() string { @@ -4656,7 +5600,7 @@ type ModifyDirectConnectGatewayAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4669,14 +5613,57 @@ func (r *ModifyDirectConnectGatewayAttributeResponse) FromJsonString(s string) e return json.Unmarshal([]byte(s), &r) } +type ModifyFlowLogAttributeRequest struct { + *tchttp.BaseRequest + + // 私用网络ID或者统一ID,建议使用统一ID + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 流日志唯一ID + FlowLogId *string `json:"FlowLogId,omitempty" name:"FlowLogId"` + + // 流日志实例名字 + FlowLogName *string `json:"FlowLogName,omitempty" name:"FlowLogName"` + + // 流日志实例描述 + FlowLogDescription *string `json:"FlowLogDescription,omitempty" name:"FlowLogDescription"` +} + +func (r *ModifyFlowLogAttributeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyFlowLogAttributeRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyFlowLogAttributeResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyFlowLogAttributeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyFlowLogAttributeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type ModifyHaVipAttributeRequest struct { *tchttp.BaseRequest // `HAVIP`唯一`ID`,形如:`havip-9o233uri`。 - HaVipId *string `json:"HaVipId" name:"HaVipId"` + HaVipId *string `json:"HaVipId,omitempty" name:"HaVipId"` // `HAVIP`名称,可任意命名,但不得超过60个字符。 - HaVipName *string `json:"HaVipName" name:"HaVipName"` + HaVipName *string `json:"HaVipName,omitempty" name:"HaVipName"` } func (r *ModifyHaVipAttributeRequest) ToJsonString() string { @@ -4693,7 +5680,7 @@ type ModifyHaVipAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4706,20 +5693,140 @@ func (r *ModifyHaVipAttributeResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type ModifyIp6RuleRequest struct { + *tchttp.BaseRequest + + // IPV6转换实例唯一ID,形如ip6-xxxxxxxx + Ip6TranslatorId *string `json:"Ip6TranslatorId,omitempty" name:"Ip6TranslatorId"` + + // IPV6转换规则唯一ID,形如rule6-xxxxxxxx + Ip6RuleId *string `json:"Ip6RuleId,omitempty" name:"Ip6RuleId"` + + // IPV6转换规则修改后的名称 + Ip6RuleName *string `json:"Ip6RuleName,omitempty" name:"Ip6RuleName"` + + // IPV6转换规则修改后的IPV4地址 + Vip *string `json:"Vip,omitempty" name:"Vip"` + + // IPV6转换规则修改后的IPV4端口号 + Vport *int64 `json:"Vport,omitempty" name:"Vport"` +} + +func (r *ModifyIp6RuleRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyIp6RuleRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyIp6RuleResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyIp6RuleResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyIp6RuleResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyIp6TranslatorRequest struct { + *tchttp.BaseRequest + + // IPV6转换实例唯一ID,形如ip6-xxxxxxxxx + Ip6TranslatorId *string `json:"Ip6TranslatorId,omitempty" name:"Ip6TranslatorId"` + + // IPV6转换实例修改名称 + Ip6TranslatorName *string `json:"Ip6TranslatorName,omitempty" name:"Ip6TranslatorName"` +} + +func (r *ModifyIp6TranslatorRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyIp6TranslatorRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyIp6TranslatorResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyIp6TranslatorResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyIp6TranslatorResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyIpv6AddressesAttributeRequest struct { + *tchttp.BaseRequest + + // 弹性网卡实例`ID`,形如:`eni-m6dyj72l`。 + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` + + // 指定的内网IPv6`地址信息。 + Ipv6Addresses []*Ipv6Address `json:"Ipv6Addresses,omitempty" name:"Ipv6Addresses" list` +} + +func (r *ModifyIpv6AddressesAttributeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyIpv6AddressesAttributeRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyIpv6AddressesAttributeResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyIpv6AddressesAttributeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyIpv6AddressesAttributeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type ModifyNetworkInterfaceAttributeRequest struct { *tchttp.BaseRequest // 弹性网卡实例ID,例如:eni-pxir56ns。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // 弹性网卡名称,最大长度不能超过60个字节。 - NetworkInterfaceName *string `json:"NetworkInterfaceName" name:"NetworkInterfaceName"` + NetworkInterfaceName *string `json:"NetworkInterfaceName,omitempty" name:"NetworkInterfaceName"` // 弹性网卡描述,可任意命名,但不得超过60个字符。 - NetworkInterfaceDescription *string `json:"NetworkInterfaceDescription" name:"NetworkInterfaceDescription"` + NetworkInterfaceDescription *string `json:"NetworkInterfaceDescription,omitempty" name:"NetworkInterfaceDescription"` // 指定绑定的安全组,例如:['sg-1dd51d']。 - SecurityGroupIds []*string `json:"SecurityGroupIds" name:"SecurityGroupIds" list` + SecurityGroupIds []*string `json:"SecurityGroupIds,omitempty" name:"SecurityGroupIds" list` } func (r *ModifyNetworkInterfaceAttributeRequest) ToJsonString() string { @@ -4736,7 +5843,7 @@ type ModifyNetworkInterfaceAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4753,10 +5860,10 @@ type ModifyPrivateIpAddressesAttributeRequest struct { *tchttp.BaseRequest // 弹性网卡实例ID,例如:eni-m6dyj72l。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // 指定的内网IP信息。 - PrivateIpAddresses []*PrivateIpAddressSpecification `json:"PrivateIpAddresses" name:"PrivateIpAddresses" list` + PrivateIpAddresses []*PrivateIpAddressSpecification `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list` } func (r *ModifyPrivateIpAddressesAttributeRequest) ToJsonString() string { @@ -4773,7 +5880,7 @@ type ModifyPrivateIpAddressesAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4790,10 +5897,10 @@ type ModifyRouteTableAttributeRequest struct { *tchttp.BaseRequest // 路由表实例ID,例如:rtb-azd4dt1c。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 路由表名称。 - RouteTableName *string `json:"RouteTableName" name:"RouteTableName"` + RouteTableName *string `json:"RouteTableName,omitempty" name:"RouteTableName"` } func (r *ModifyRouteTableAttributeRequest) ToJsonString() string { @@ -4810,7 +5917,7 @@ type ModifyRouteTableAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4827,13 +5934,13 @@ type ModifySecurityGroupAttributeRequest struct { *tchttp.BaseRequest // 安全组实例ID,例如sg-33ocnj9n,可通过DescribeSecurityGroups获取。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` // 安全组名称,可任意命名,但不得超过60个字符。 - GroupName *string `json:"GroupName" name:"GroupName"` + GroupName *string `json:"GroupName,omitempty" name:"GroupName"` // 安全组备注,最多100个字符。 - GroupDescription *string `json:"GroupDescription" name:"GroupDescription"` + GroupDescription *string `json:"GroupDescription,omitempty" name:"GroupDescription"` } func (r *ModifySecurityGroupAttributeRequest) ToJsonString() string { @@ -4850,7 +5957,7 @@ type ModifySecurityGroupAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4867,10 +5974,10 @@ type ModifySecurityGroupPoliciesRequest struct { *tchttp.BaseRequest // 安全组实例ID,例如sg-33ocnj9n,可通过DescribeSecurityGroups获取。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` // 安全组规则集合。 SecurityGroupPolicySet对象必须同时指定新的出(Egress)入(Ingress)站规则。 SecurityGroupPolicy对象不支持自定义索引(PolicyIndex)。 - SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet" name:"SecurityGroupPolicySet"` + SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet,omitempty" name:"SecurityGroupPolicySet"` } func (r *ModifySecurityGroupPoliciesRequest) ToJsonString() string { @@ -4887,7 +5994,7 @@ type ModifySecurityGroupPoliciesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4904,13 +6011,13 @@ type ModifyServiceTemplateAttributeRequest struct { *tchttp.BaseRequest // 协议端口模板实例ID,例如:ppm-529nwwj8。 - ServiceTemplateId *string `json:"ServiceTemplateId" name:"ServiceTemplateId"` + ServiceTemplateId *string `json:"ServiceTemplateId,omitempty" name:"ServiceTemplateId"` // 协议端口模板名称。 - ServiceTemplateName *string `json:"ServiceTemplateName" name:"ServiceTemplateName"` + ServiceTemplateName *string `json:"ServiceTemplateName,omitempty" name:"ServiceTemplateName"` // 支持单个端口、多个端口、连续端口及所有端口,协议支持:TCP、UDP、ICMP、GRE 协议。 - Services []*string `json:"Services" name:"Services" list` + Services []*string `json:"Services,omitempty" name:"Services" list` } func (r *ModifyServiceTemplateAttributeRequest) ToJsonString() string { @@ -4927,7 +6034,7 @@ type ModifyServiceTemplateAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4944,13 +6051,13 @@ type ModifyServiceTemplateGroupAttributeRequest struct { *tchttp.BaseRequest // 协议端口模板集合实例ID,例如:ppmg-ei8hfd9a。 - ServiceTemplateGroupId *string `json:"ServiceTemplateGroupId" name:"ServiceTemplateGroupId"` + ServiceTemplateGroupId *string `json:"ServiceTemplateGroupId,omitempty" name:"ServiceTemplateGroupId"` // 协议端口模板集合名称。 - ServiceTemplateGroupName *string `json:"ServiceTemplateGroupName" name:"ServiceTemplateGroupName"` + ServiceTemplateGroupName *string `json:"ServiceTemplateGroupName,omitempty" name:"ServiceTemplateGroupName"` // 协议端口模板实例ID,例如:ppm-4dw6agho。 - ServiceTemplateIds []*string `json:"ServiceTemplateIds" name:"ServiceTemplateIds" list` + ServiceTemplateIds []*string `json:"ServiceTemplateIds,omitempty" name:"ServiceTemplateIds" list` } func (r *ModifyServiceTemplateGroupAttributeRequest) ToJsonString() string { @@ -4967,7 +6074,7 @@ type ModifyServiceTemplateGroupAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -4984,13 +6091,13 @@ type ModifySubnetAttributeRequest struct { *tchttp.BaseRequest // 子网实例ID。形如:subnet-pxir56ns。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` // 子网名称,最大长度不能超过60个字节。 - SubnetName *string `json:"SubnetName" name:"SubnetName"` + SubnetName *string `json:"SubnetName,omitempty" name:"SubnetName"` // 子网是否开启广播。 - EnableBroadcast *string `json:"EnableBroadcast" name:"EnableBroadcast"` + EnableBroadcast *string `json:"EnableBroadcast,omitempty" name:"EnableBroadcast"` } func (r *ModifySubnetAttributeRequest) ToJsonString() string { @@ -5007,7 +6114,7 @@ type ModifySubnetAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5024,19 +6131,19 @@ type ModifyVpcAttributeRequest struct { *tchttp.BaseRequest // VPC实例ID。形如:vpc-f49l6u0z。每次请求的实例的上限为100。参数不支持同时指定VpcIds和Filters。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 私有网络名称,可任意命名,但不得超过60个字符。 - VpcName *string `json:"VpcName" name:"VpcName"` + VpcName *string `json:"VpcName,omitempty" name:"VpcName"` // 是否开启组播。true: 开启, false: 关闭。 - EnableMulticast *string `json:"EnableMulticast" name:"EnableMulticast"` + EnableMulticast *string `json:"EnableMulticast,omitempty" name:"EnableMulticast"` // DNS地址,最多支持4个,第1个默认为主,其余为备 - DnsServers []*string `json:"DnsServers" name:"DnsServers" list` + DnsServers []*string `json:"DnsServers,omitempty" name:"DnsServers" list` // 域名 - DomainName *string `json:"DomainName" name:"DomainName"` + DomainName *string `json:"DomainName,omitempty" name:"DomainName"` } func (r *ModifyVpcAttributeRequest) ToJsonString() string { @@ -5053,7 +6160,7 @@ type ModifyVpcAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5070,22 +6177,22 @@ type ModifyVpnConnectionAttributeRequest struct { *tchttp.BaseRequest // VPN通道实例ID。形如:vpnx-f49l6u0z。 - VpnConnectionId *string `json:"VpnConnectionId" name:"VpnConnectionId"` + VpnConnectionId *string `json:"VpnConnectionId,omitempty" name:"VpnConnectionId"` // VPN通道名称,可任意命名,但不得超过60个字符。 - VpnConnectionName *string `json:"VpnConnectionName" name:"VpnConnectionName"` + VpnConnectionName *string `json:"VpnConnectionName,omitempty" name:"VpnConnectionName"` // 预共享密钥。 - PreShareKey *string `json:"PreShareKey" name:"PreShareKey"` + PreShareKey *string `json:"PreShareKey,omitempty" name:"PreShareKey"` // SPD策略组,例如:{"10.0.0.5/24":["172.123.10.5/16"]},10.0.0.5/24是vpc内网段172.123.10.5/16是IDC网段。用户指定VPC内哪些网段可以和您IDC中哪些网段通信。 - SecurityPolicyDatabases []*SecurityPolicyDatabase `json:"SecurityPolicyDatabases" name:"SecurityPolicyDatabases" list` + SecurityPolicyDatabases []*SecurityPolicyDatabase `json:"SecurityPolicyDatabases,omitempty" name:"SecurityPolicyDatabases" list` - // IKE配置(Internet Key Exchange,因特网密钥交换),IKE具有一套自保护机制,用户配置网络安全协议。 - IKEOptionsSpecification *IKEOptionsSpecification `json:"IKEOptionsSpecification" name:"IKEOptionsSpecification"` + // IKE配置(Internet Key Exchange,因特网密钥交换),IKE具有一套自我保护机制,用户配置网络安全协议。 + IKEOptionsSpecification *IKEOptionsSpecification `json:"IKEOptionsSpecification,omitempty" name:"IKEOptionsSpecification"` // IPSec配置,腾讯云提供IPSec安全会话设置。 - IPSECOptionsSpecification *IPSECOptionsSpecification `json:"IPSECOptionsSpecification" name:"IPSECOptionsSpecification"` + IPSECOptionsSpecification *IPSECOptionsSpecification `json:"IPSECOptionsSpecification,omitempty" name:"IPSECOptionsSpecification"` } func (r *ModifyVpnConnectionAttributeRequest) ToJsonString() string { @@ -5102,7 +6209,7 @@ type ModifyVpnConnectionAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5119,13 +6226,13 @@ type ModifyVpnGatewayAttributeRequest struct { *tchttp.BaseRequest // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // VPN网关名称,最大长度不能超过60个字节。 - VpnGatewayName *string `json:"VpnGatewayName" name:"VpnGatewayName"` + VpnGatewayName *string `json:"VpnGatewayName,omitempty" name:"VpnGatewayName"` // VPN网关计费模式,目前只支持预付费(即包年包月)到后付费(即按量计费)的转换。即参数只支持:POSTPAID_BY_HOUR。 - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` } func (r *ModifyVpnGatewayAttributeRequest) ToJsonString() string { @@ -5142,7 +6249,7 @@ type ModifyVpnGatewayAttributeResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5158,28 +6265,28 @@ func (r *ModifyVpnGatewayAttributeResponse) FromJsonString(s string) error { type NetworkInterface struct { // 弹性网卡实例ID,例如:eni-f1xjkw1b。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // 弹性网卡名称。 - NetworkInterfaceName *string `json:"NetworkInterfaceName" name:"NetworkInterfaceName"` + NetworkInterfaceName *string `json:"NetworkInterfaceName,omitempty" name:"NetworkInterfaceName"` // 弹性网卡描述。 - NetworkInterfaceDescription *string `json:"NetworkInterfaceDescription" name:"NetworkInterfaceDescription"` + NetworkInterfaceDescription *string `json:"NetworkInterfaceDescription,omitempty" name:"NetworkInterfaceDescription"` // 子网实例ID。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` // VPC实例ID。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 绑定的安全组。 - GroupSet []*string `json:"GroupSet" name:"GroupSet" list` + GroupSet []*string `json:"GroupSet,omitempty" name:"GroupSet" list` // 是否是主网卡。 - Primary *bool `json:"Primary" name:"Primary"` + Primary *bool `json:"Primary,omitempty" name:"Primary"` // MAC地址。 - MacAddress *string `json:"MacAddress" name:"MacAddress"` + MacAddress *string `json:"MacAddress,omitempty" name:"MacAddress"` // 弹性网卡状态: //
  • `PENDING`:创建中
  • @@ -5187,93 +6294,97 @@ type NetworkInterface struct { //
  • `ATTACHING`:绑定中
  • //
  • `DETACHING`:解绑中
  • //
  • `DELETING`:删除中
  • - State *string `json:"State" name:"State"` + State *string `json:"State,omitempty" name:"State"` // 内网IP信息。 - PrivateIpAddressSet []*PrivateIpAddressSpecification `json:"PrivateIpAddressSet" name:"PrivateIpAddressSet" list` + PrivateIpAddressSet []*PrivateIpAddressSpecification `json:"PrivateIpAddressSet,omitempty" name:"PrivateIpAddressSet" list` // 绑定的云服务器对象。 - Attachment *NetworkInterfaceAttachment `json:"Attachment" name:"Attachment"` + // 注意:此字段可能返回 null,表示取不到有效值。 + Attachment *NetworkInterfaceAttachment `json:"Attachment,omitempty" name:"Attachment"` // 可用区。 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` + + // `IPv6`地址列表。 + Ipv6AddressSet []*Ipv6Address `json:"Ipv6AddressSet,omitempty" name:"Ipv6AddressSet" list` } type NetworkInterfaceAttachment struct { // 云主机实例ID。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` // 网卡在云主机实例内的序号。 - DeviceIndex *uint64 `json:"DeviceIndex" name:"DeviceIndex"` + DeviceIndex *uint64 `json:"DeviceIndex,omitempty" name:"DeviceIndex"` // 云主机所有者账户信息。 - InstanceAccountId *string `json:"InstanceAccountId" name:"InstanceAccountId"` + InstanceAccountId *string `json:"InstanceAccountId,omitempty" name:"InstanceAccountId"` // 绑定时间。 - AttachTime *string `json:"AttachTime" name:"AttachTime"` + AttachTime *string `json:"AttachTime,omitempty" name:"AttachTime"` } type Price struct { // 实例价格。 - InstancePrice *ItemPrice `json:"InstancePrice" name:"InstancePrice"` + InstancePrice *ItemPrice `json:"InstancePrice,omitempty" name:"InstancePrice"` // 网络价格。 - BandwidthPrice *ItemPrice `json:"BandwidthPrice" name:"BandwidthPrice"` + BandwidthPrice *ItemPrice `json:"BandwidthPrice,omitempty" name:"BandwidthPrice"` } type PrivateIpAddressSpecification struct { // 内网IP地址。 - PrivateIpAddress *string `json:"PrivateIpAddress" name:"PrivateIpAddress"` + PrivateIpAddress *string `json:"PrivateIpAddress,omitempty" name:"PrivateIpAddress"` // 是否是主IP。 - Primary *bool `json:"Primary" name:"Primary"` + Primary *bool `json:"Primary,omitempty" name:"Primary"` // 公网IP地址。 - PublicIpAddress *string `json:"PublicIpAddress" name:"PublicIpAddress"` + PublicIpAddress *string `json:"PublicIpAddress,omitempty" name:"PublicIpAddress"` // EIP实例ID,例如:eip-11112222。 - AddressId *string `json:"AddressId" name:"AddressId"` + AddressId *string `json:"AddressId,omitempty" name:"AddressId"` // 内网IP描述信息。 - Description *string `json:"Description" name:"Description"` + Description *string `json:"Description,omitempty" name:"Description"` // 公网IP是否被封堵。 - IsWanIpBlocked *bool `json:"IsWanIpBlocked" name:"IsWanIpBlocked"` + IsWanIpBlocked *bool `json:"IsWanIpBlocked,omitempty" name:"IsWanIpBlocked"` // IP状态: // PENDING:生产中 // MIGRATING:迁移中 // DELETING:删除中 // AVAILABLE:可用的 - State *string `json:"State" name:"State"` + State *string `json:"State,omitempty" name:"State"` } type Quota struct { // 配额名称,取值范围:
  • `TOTAL_EIP_QUOTA`:用户当前地域下EIP的配额数;
  • `DAILY_EIP_APPLY`:用户当前地域下今日申购次数;
  • `DAILY_PUBLIC_IP_ASSIGN`:用户当前地域下,重新分配公网 IP次数。 - QuotaId *string `json:"QuotaId" name:"QuotaId"` + QuotaId *string `json:"QuotaId,omitempty" name:"QuotaId"` // 当前数量 - QuotaCurrent *int64 `json:"QuotaCurrent" name:"QuotaCurrent"` + QuotaCurrent *int64 `json:"QuotaCurrent,omitempty" name:"QuotaCurrent"` // 配额数量 - QuotaLimit *int64 `json:"QuotaLimit" name:"QuotaLimit"` + QuotaLimit *int64 `json:"QuotaLimit,omitempty" name:"QuotaLimit"` } type RejectAttachCcnInstancesRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // 拒绝关联实例列表。 - Instances []*CcnInstance `json:"Instances" name:"Instances" list` + Instances []*CcnInstance `json:"Instances,omitempty" name:"Instances" list` } func (r *RejectAttachCcnInstancesRequest) ToJsonString() string { @@ -5290,7 +6401,7 @@ type RejectAttachCcnInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5307,7 +6418,7 @@ type ReleaseAddressesRequest struct { *tchttp.BaseRequest // 标识 EIP 的唯一 ID 列表。EIP 唯一 ID 形如:`eip-11112222`。 - AddressIds []*string `json:"AddressIds" name:"AddressIds" list` + AddressIds []*string `json:"AddressIds,omitempty" name:"AddressIds" list` } func (r *ReleaseAddressesRequest) ToJsonString() string { @@ -5324,7 +6435,7 @@ type ReleaseAddressesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5341,13 +6452,13 @@ type RemoveBandwidthPackageResourcesRequest struct { *tchttp.BaseRequest // 带宽包唯一标识ID,形如'bwp-xxxx' - BandwidthPackageId *string `json:"BandwidthPackageId" name:"BandwidthPackageId"` + BandwidthPackageId *string `json:"BandwidthPackageId,omitempty" name:"BandwidthPackageId"` // 资源类型,包括‘Address’, ‘LoadBalance’ - ResourceType *string `json:"ResourceType" name:"ResourceType"` + ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` // 资源Id,形如'eip-xxxx', 'lb-xxxx' - ResourceIds []*string `json:"ResourceIds" name:"ResourceIds" list` + ResourceIds []*string `json:"ResourceIds,omitempty" name:"ResourceIds" list` } func (r *RemoveBandwidthPackageResourcesRequest) ToJsonString() string { @@ -5364,7 +6475,7 @@ type RemoveBandwidthPackageResourcesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5377,14 +6488,51 @@ func (r *RemoveBandwidthPackageResourcesResponse) FromJsonString(s string) error return json.Unmarshal([]byte(s), &r) } +type RemoveIp6RulesRequest struct { + *tchttp.BaseRequest + + // IPV6转换规则所属的转换实例唯一ID,形如ip6-xxxxxxxx + Ip6TranslatorId *string `json:"Ip6TranslatorId,omitempty" name:"Ip6TranslatorId"` + + // 待删除IPV6转换规则,形如rule6-xxxxxxxx + Ip6RuleIds []*string `json:"Ip6RuleIds,omitempty" name:"Ip6RuleIds" list` +} + +func (r *RemoveIp6RulesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RemoveIp6RulesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type RemoveIp6RulesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *RemoveIp6RulesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *RemoveIp6RulesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type RenewVpnGatewayRequest struct { *tchttp.BaseRequest // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // 预付费计费模式。 - InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid" name:"InstanceChargePrepaid"` + InstanceChargePrepaid *InstanceChargePrepaid `json:"InstanceChargePrepaid,omitempty" name:"InstanceChargePrepaid"` } func (r *RenewVpnGatewayRequest) ToJsonString() string { @@ -5401,7 +6549,7 @@ type RenewVpnGatewayResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5418,10 +6566,10 @@ type ReplaceDirectConnectGatewayCcnRoutesRequest struct { *tchttp.BaseRequest // 专线网关ID,形如:dcg-prpqlmg1 - DirectConnectGatewayId *string `json:"DirectConnectGatewayId" name:"DirectConnectGatewayId"` + DirectConnectGatewayId *string `json:"DirectConnectGatewayId,omitempty" name:"DirectConnectGatewayId"` // 需要连通的IDC网段列表 - Routes []*DirectConnectGatewayCcnRoute `json:"Routes" name:"Routes" list` + Routes []*DirectConnectGatewayCcnRoute `json:"Routes,omitempty" name:"Routes" list` } func (r *ReplaceDirectConnectGatewayCcnRoutesRequest) ToJsonString() string { @@ -5438,7 +6586,7 @@ type ReplaceDirectConnectGatewayCcnRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5455,10 +6603,10 @@ type ReplaceRouteTableAssociationRequest struct { *tchttp.BaseRequest // 子网实例ID,例如:subnet-3x5lf5q0。可通过DescribeSubnets接口查询。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` // 路由表实例ID,例如:rtb-azd4dt1c。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` } func (r *ReplaceRouteTableAssociationRequest) ToJsonString() string { @@ -5475,7 +6623,7 @@ type ReplaceRouteTableAssociationResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5492,10 +6640,10 @@ type ReplaceRoutesRequest struct { *tchttp.BaseRequest // 路由表实例ID,例如:rtb-azd4dt1c。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` - // 路由策略对象。只需要指定路由策略ID(RouteId)。 - Routes []*Route `json:"Routes" name:"Routes" list` + // 路由策略对象。需要指定路由策略ID(RouteId)。 + Routes []*Route `json:"Routes,omitempty" name:"Routes" list` } func (r *ReplaceRoutesRequest) ToJsonString() string { @@ -5512,7 +6660,7 @@ type ReplaceRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5529,10 +6677,10 @@ type ReplaceSecurityGroupPolicyRequest struct { *tchttp.BaseRequest // 安全组实例ID,例如sg-33ocnj9n,可通过DescribeSecurityGroups获取。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` // 安全组规则集合对象。 - SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet" name:"SecurityGroupPolicySet"` + SecurityGroupPolicySet *SecurityGroupPolicySet `json:"SecurityGroupPolicySet,omitempty" name:"SecurityGroupPolicySet"` } func (r *ReplaceSecurityGroupPolicyRequest) ToJsonString() string { @@ -5549,7 +6697,7 @@ type ReplaceSecurityGroupPolicyResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5566,13 +6714,13 @@ type ResetAttachCcnInstancesRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // CCN所属UIN(根账号)。 - CcnUin *string `json:"CcnUin" name:"CcnUin"` + CcnUin *string `json:"CcnUin,omitempty" name:"CcnUin"` // 重新申请关联网络实例列表。 - Instances []*CcnInstance `json:"Instances" name:"Instances" list` + Instances []*CcnInstance `json:"Instances,omitempty" name:"Instances" list` } func (r *ResetAttachCcnInstancesRequest) ToJsonString() string { @@ -5589,7 +6737,7 @@ type ResetAttachCcnInstancesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5606,13 +6754,13 @@ type ResetRoutesRequest struct { *tchttp.BaseRequest // 路由表实例ID,例如:rtb-azd4dt1c。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 路由表名称,最大长度不能超过60个字节。 - RouteTableName *string `json:"RouteTableName" name:"RouteTableName"` + RouteTableName *string `json:"RouteTableName,omitempty" name:"RouteTableName"` // 路由策略。 - Routes []*Route `json:"Routes" name:"Routes" list` + Routes []*Route `json:"Routes,omitempty" name:"Routes" list` } func (r *ResetRoutesRequest) ToJsonString() string { @@ -5629,7 +6777,7 @@ type ResetRoutesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5646,10 +6794,10 @@ type ResetVpnConnectionRequest struct { *tchttp.BaseRequest // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // VPN通道实例ID。形如:vpnx-f49l6u0z。 - VpnConnectionId *string `json:"VpnConnectionId" name:"VpnConnectionId"` + VpnConnectionId *string `json:"VpnConnectionId,omitempty" name:"VpnConnectionId"` } func (r *ResetVpnConnectionRequest) ToJsonString() string { @@ -5666,7 +6814,7 @@ type ResetVpnConnectionResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5683,10 +6831,10 @@ type ResetVpnGatewayInternetMaxBandwidthRequest struct { *tchttp.BaseRequest // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // 公网带宽设置。可选带宽规格:5, 10, 20, 50, 100;单位:Mbps。 - InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut" name:"InternetMaxBandwidthOut"` + InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"` } func (r *ResetVpnGatewayInternetMaxBandwidthRequest) ToJsonString() string { @@ -5703,7 +6851,7 @@ type ResetVpnGatewayInternetMaxBandwidthResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5719,19 +6867,19 @@ func (r *ResetVpnGatewayInternetMaxBandwidthResponse) FromJsonString(s string) e type Resource struct { // 带宽包资源类型,包括'Address'和'LoadBalance' - ResourceType *string `json:"ResourceType" name:"ResourceType"` + ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"` // 带宽包资源Id,形如'eip-xxxx', 'lb-xxxx' - ResourceId *string `json:"ResourceId" name:"ResourceId"` + ResourceId *string `json:"ResourceId,omitempty" name:"ResourceId"` // 带宽包资源Ip - AddressIp *string `json:"AddressIp" name:"AddressIp"` + AddressIp *string `json:"AddressIp,omitempty" name:"AddressIp"` } type Route struct { // 目的网段,取值不能在私有网络网段内,例如:112.20.51.0/24。 - DestinationCidrBlock *string `json:"DestinationCidrBlock" name:"DestinationCidrBlock"` + DestinationCidrBlock *string `json:"DestinationCidrBlock,omitempty" name:"DestinationCidrBlock"` // 下一跳类型,目前我们支持的类型有: // CVM:公网网关类型的云主机; @@ -5743,214 +6891,217 @@ type Route struct { // NORMAL_CVM:普通云主机; // EIP:云主机的公网IP; // CCN:云联网。 - GatewayType *string `json:"GatewayType" name:"GatewayType"` + GatewayType *string `json:"GatewayType,omitempty" name:"GatewayType"` // 下一跳地址,这里只需要指定不同下一跳类型的网关ID,系统会自动匹配到下一跳地址。 // 特别注意:当 GatewayType 为 EIP 时,GatewayId 固定值 '0' - GatewayId *string `json:"GatewayId" name:"GatewayId"` + GatewayId *string `json:"GatewayId,omitempty" name:"GatewayId"` // 路由策略ID。 - RouteId *uint64 `json:"RouteId" name:"RouteId"` + RouteId *uint64 `json:"RouteId,omitempty" name:"RouteId"` // 路由策略描述。 - RouteDescription *string `json:"RouteDescription" name:"RouteDescription"` + RouteDescription *string `json:"RouteDescription,omitempty" name:"RouteDescription"` // 是否启用 - Enabled *bool `json:"Enabled" name:"Enabled"` + Enabled *bool `json:"Enabled,omitempty" name:"Enabled"` // 路由类型,目前我们支持的类型有: // USER:用户路由; // NETD:网络探测路由,创建网络探测实例时,系统默认下发,不可编辑与删除; // CCN:云联网路由,系统默认下发,不可编辑与删除。 // 用户只能添加和操作 USER 类型的路由。 - RouteType *string `json:"RouteType" name:"RouteType"` + RouteType *string `json:"RouteType,omitempty" name:"RouteType"` } type RouteConflict struct { // 路由表实例ID,例如:rtb-azd4dt1c。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 要检查的与之冲突的目的端 - DestinationCidrBlock *string `json:"DestinationCidrBlock" name:"DestinationCidrBlock"` + DestinationCidrBlock *string `json:"DestinationCidrBlock,omitempty" name:"DestinationCidrBlock"` // 冲突的路由策略列表 - ConflictSet []*Route `json:"ConflictSet" name:"ConflictSet" list` + ConflictSet []*Route `json:"ConflictSet,omitempty" name:"ConflictSet" list` } type RouteTable struct { // VPC实例ID。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 路由表实例ID,例如:rtb-azd4dt1c。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 路由表名称。 - RouteTableName *string `json:"RouteTableName" name:"RouteTableName"` + RouteTableName *string `json:"RouteTableName,omitempty" name:"RouteTableName"` // 路由表关联关系。 - AssociationSet []*RouteTableAssociation `json:"AssociationSet" name:"AssociationSet" list` + AssociationSet []*RouteTableAssociation `json:"AssociationSet,omitempty" name:"AssociationSet" list` // 路由表策略集合。 - RouteSet []*Route `json:"RouteSet" name:"RouteSet" list` + RouteSet []*Route `json:"RouteSet,omitempty" name:"RouteSet" list` // 是否默认路由表。 - Main *bool `json:"Main" name:"Main"` + Main *bool `json:"Main,omitempty" name:"Main"` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type RouteTableAssociation struct { // 子网实例ID。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` // 路由表实例ID。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` } type SecurityGroup struct { // 安全组实例ID,例如:sg-ohuuioma。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` // 安全组名称,可任意命名,但不得超过60个字符。 - SecurityGroupName *string `json:"SecurityGroupName" name:"SecurityGroupName"` + SecurityGroupName *string `json:"SecurityGroupName,omitempty" name:"SecurityGroupName"` // 安全组备注,最多100个字符。 - SecurityGroupDesc *string `json:"SecurityGroupDesc" name:"SecurityGroupDesc"` + SecurityGroupDesc *string `json:"SecurityGroupDesc,omitempty" name:"SecurityGroupDesc"` // 项目id,默认0。可在qcloud控制台项目管理页面查询到。 - ProjectId *string `json:"ProjectId" name:"ProjectId"` + ProjectId *string `json:"ProjectId,omitempty" name:"ProjectId"` // 是否是默认安全组,默认安全组不支持删除。 - IsDefault *bool `json:"IsDefault" name:"IsDefault"` + IsDefault *bool `json:"IsDefault,omitempty" name:"IsDefault"` // 安全组创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type SecurityGroupAssociationStatistics struct { // 安全组实例ID。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` // 云主机实例数。 - CVM *uint64 `json:"CVM" name:"CVM"` + CVM *uint64 `json:"CVM,omitempty" name:"CVM"` // 数据库实例数。 - CDB *uint64 `json:"CDB" name:"CDB"` + CDB *uint64 `json:"CDB,omitempty" name:"CDB"` // 弹性网卡实例数。 - ENI *uint64 `json:"ENI" name:"ENI"` + ENI *uint64 `json:"ENI,omitempty" name:"ENI"` // 被安全组引用数。 - SG *uint64 `json:"SG" name:"SG"` + SG *uint64 `json:"SG,omitempty" name:"SG"` // 负载均衡实例数。 - CLB *uint64 `json:"CLB" name:"CLB"` + CLB *uint64 `json:"CLB,omitempty" name:"CLB"` + + // 全量实例的绑定统计。 + InstanceStatistics []*InstanceStatistic `json:"InstanceStatistics,omitempty" name:"InstanceStatistics" list` } type SecurityGroupPolicy struct { // 安全组规则索引号。 - PolicyIndex *int64 `json:"PolicyIndex" name:"PolicyIndex"` + PolicyIndex *int64 `json:"PolicyIndex,omitempty" name:"PolicyIndex"` // 协议, 取值: TCP,UDP, ICMP。 - Protocol *string `json:"Protocol" name:"Protocol"` + Protocol *string `json:"Protocol,omitempty" name:"Protocol"` // 端口(all, 离散port, range)。 - Port *string `json:"Port" name:"Port"` + Port *string `json:"Port,omitempty" name:"Port"` // 协议端口ID或者协议端口组ID。ServiceTemplate和Protocol+Port互斥。 - ServiceTemplate *ServiceTemplateSpecification `json:"ServiceTemplate" name:"ServiceTemplate"` + ServiceTemplate *ServiceTemplateSpecification `json:"ServiceTemplate,omitempty" name:"ServiceTemplate"` // 网段或IP(互斥)。 - CidrBlock *string `json:"CidrBlock" name:"CidrBlock"` + CidrBlock *string `json:"CidrBlock,omitempty" name:"CidrBlock"` // 安全组实例ID,例如:sg-ohuuioma。 - SecurityGroupId *string `json:"SecurityGroupId" name:"SecurityGroupId"` + SecurityGroupId *string `json:"SecurityGroupId,omitempty" name:"SecurityGroupId"` // IP地址ID或者ID地址组ID。 - AddressTemplate *AddressTemplateSpecification `json:"AddressTemplate" name:"AddressTemplate"` + AddressTemplate *AddressTemplateSpecification `json:"AddressTemplate,omitempty" name:"AddressTemplate"` // ACCEPT 或 DROP。 - Action *string `json:"Action" name:"Action"` + Action *string `json:"Action,omitempty" name:"Action"` // 安全组规则描述。 - PolicyDescription *string `json:"PolicyDescription" name:"PolicyDescription"` + PolicyDescription *string `json:"PolicyDescription,omitempty" name:"PolicyDescription"` } type SecurityGroupPolicySet struct { // 安全组规则当前版本。用户每次更新安全规则版本会自动加1,防止更新的路由规则已过期,不填不考虑冲突。 - Version *string `json:"Version" name:"Version"` + Version *string `json:"Version,omitempty" name:"Version"` // 出站规则。 - Egress []*SecurityGroupPolicy `json:"Egress" name:"Egress" list` + Egress []*SecurityGroupPolicy `json:"Egress,omitempty" name:"Egress" list` // 入站规则。 - Ingress []*SecurityGroupPolicy `json:"Ingress" name:"Ingress" list` + Ingress []*SecurityGroupPolicy `json:"Ingress,omitempty" name:"Ingress" list` } type SecurityPolicyDatabase struct { // 本端网段 - LocalCidrBlock *string `json:"LocalCidrBlock" name:"LocalCidrBlock"` + LocalCidrBlock *string `json:"LocalCidrBlock,omitempty" name:"LocalCidrBlock"` // 对端网段 - RemoteCidrBlock []*string `json:"RemoteCidrBlock" name:"RemoteCidrBlock" list` + RemoteCidrBlock []*string `json:"RemoteCidrBlock,omitempty" name:"RemoteCidrBlock" list` } type ServiceTemplate struct { // 协议端口实例ID,例如:ppm-f5n1f8da。 - ServiceTemplateId *string `json:"ServiceTemplateId" name:"ServiceTemplateId"` + ServiceTemplateId *string `json:"ServiceTemplateId,omitempty" name:"ServiceTemplateId"` // 模板名称。 - ServiceTemplateName *string `json:"ServiceTemplateName" name:"ServiceTemplateName"` + ServiceTemplateName *string `json:"ServiceTemplateName,omitempty" name:"ServiceTemplateName"` // 协议端口信息。 - ServiceSet []*string `json:"ServiceSet" name:"ServiceSet" list` + ServiceSet []*string `json:"ServiceSet,omitempty" name:"ServiceSet" list` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type ServiceTemplateGroup struct { // 协议端口模板集合实例ID,例如:ppmg-2klmrefu。 - ServiceTemplateGroupId *string `json:"ServiceTemplateGroupId" name:"ServiceTemplateGroupId"` + ServiceTemplateGroupId *string `json:"ServiceTemplateGroupId,omitempty" name:"ServiceTemplateGroupId"` // 协议端口模板集合名称。 - ServiceTemplateGroupName *string `json:"ServiceTemplateGroupName" name:"ServiceTemplateGroupName"` + ServiceTemplateGroupName *string `json:"ServiceTemplateGroupName,omitempty" name:"ServiceTemplateGroupName"` // 协议端口模板实例ID。 - ServiceTemplateIdSet []*string `json:"ServiceTemplateIdSet" name:"ServiceTemplateIdSet" list` + ServiceTemplateIdSet []*string `json:"ServiceTemplateIdSet,omitempty" name:"ServiceTemplateIdSet" list` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type ServiceTemplateSpecification struct { // 协议端口ID,例如:ppm-f5n1f8da。 - ServiceId *string `json:"ServiceId" name:"ServiceId"` + ServiceId *string `json:"ServiceId,omitempty" name:"ServiceId"` // 协议端口组ID,例如:ppmg-f5n1f8da。 - ServiceGroupId *string `json:"ServiceGroupId" name:"ServiceGroupId"` + ServiceGroupId *string `json:"ServiceGroupId,omitempty" name:"ServiceGroupId"` } type SetCcnRegionBandwidthLimitsRequest struct { *tchttp.BaseRequest // CCN实例ID。形如:ccn-f49l6u0z。 - CcnId *string `json:"CcnId" name:"CcnId"` + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` // 云联网(CCN)各地域出带宽上限。 - CcnRegionBandwidthLimits []*CcnRegionBandwidthLimit `json:"CcnRegionBandwidthLimits" name:"CcnRegionBandwidthLimits" list` + CcnRegionBandwidthLimits []*CcnRegionBandwidthLimit `json:"CcnRegionBandwidthLimits,omitempty" name:"CcnRegionBandwidthLimits" list` } func (r *SetCcnRegionBandwidthLimitsRequest) ToJsonString() string { @@ -5967,7 +7118,7 @@ type SetCcnRegionBandwidthLimitsResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -5982,42 +7133,77 @@ func (r *SetCcnRegionBandwidthLimitsResponse) FromJsonString(s string) error { type Subnet struct { - // VPC实例ID。 - VpcId *string `json:"VpcId" name:"VpcId"` + // `VPC`实例`ID`。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` - // 子网实例ID,例如:subnet-bthucmmy。 - SubnetId *string `json:"SubnetId" name:"SubnetId"` + // 子网实例`ID`,例如:subnet-bthucmmy。 + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` // 子网名称。 - SubnetName *string `json:"SubnetName" name:"SubnetName"` + SubnetName *string `json:"SubnetName,omitempty" name:"SubnetName"` - // 子网的CIDR。 - CidrBlock *string `json:"CidrBlock" name:"CidrBlock"` + // 子网的 `IPv4` `CIDR`。 + CidrBlock *string `json:"CidrBlock,omitempty" name:"CidrBlock"` // 是否默认子网。 - IsDefault *bool `json:"IsDefault" name:"IsDefault"` + IsDefault *bool `json:"IsDefault,omitempty" name:"IsDefault"` // 是否开启广播。 - EnableBroadcast *bool `json:"EnableBroadcast" name:"EnableBroadcast"` + EnableBroadcast *bool `json:"EnableBroadcast,omitempty" name:"EnableBroadcast"` // 可用区。 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` // 路由表实例ID,例如:rtb-l2h8d7c2。 - RouteTableId *string `json:"RouteTableId" name:"RouteTableId"` + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` - // 可用IP数。 - AvailableIpAddressCount *uint64 `json:"AvailableIpAddressCount" name:"AvailableIpAddressCount"` + // 可用`IP`数。 + AvailableIpAddressCount *uint64 `json:"AvailableIpAddressCount,omitempty" name:"AvailableIpAddressCount"` + + // 子网的 `IPv6` `CIDR`。 + Ipv6CidrBlock *string `json:"Ipv6CidrBlock,omitempty" name:"Ipv6CidrBlock"` + + // 关联`ACL`ID + NetworkAclId *string `json:"NetworkAclId,omitempty" name:"NetworkAclId"` + + // 是否为 `SNAT` 地址池子网。 + IsRemoteVpcSnat *bool `json:"IsRemoteVpcSnat,omitempty" name:"IsRemoteVpcSnat"` +} + +type SubnetInput struct { + + // 子网的`CIDR`。 + CidrBlock *string `json:"CidrBlock,omitempty" name:"CidrBlock"` + + // 子网名称。 + SubnetName *string `json:"SubnetName,omitempty" name:"SubnetName"` + + // 可用区。形如:`ap-guangzhou-2`。 + Zone *string `json:"Zone,omitempty" name:"Zone"` + + // 指定关联路由表,形如:`rtb-3ryrwzuu`。 + RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` +} + +type Tag struct { + + // 标签键 + // 注意:此字段可能返回 null,表示取不到有效值。 + Key *string `json:"Key,omitempty" name:"Key"` + + // 标签值 + // 注意:此字段可能返回 null,表示取不到有效值。 + Value *string `json:"Value,omitempty" name:"Value"` } type TransformAddressRequest struct { *tchttp.BaseRequest // 待操作有普通公网 IP 的实例 ID。实例 ID 形如:`ins-11112222`。可通过登录[控制台](https://console.cloud.tencent.com/cvm)查询,也可通过 [DescribeInstances](https://cloud.tencent.com/document/api/213/9389) 接口返回值中的`InstanceId`获取。 - InstanceId *string `json:"InstanceId" name:"InstanceId"` + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` } func (r *TransformAddressRequest) ToJsonString() string { @@ -6034,7 +7220,7 @@ type TransformAddressResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -6047,14 +7233,125 @@ func (r *TransformAddressResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type UnassignIpv6AddressesRequest struct { + *tchttp.BaseRequest + + // 弹性网卡实例`ID`,形如:`eni-m6dyj72l`。 + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` + + // 指定的`IPv6`地址列表,单次最多指定10个。 + Ipv6Addresses []*Ipv6Address `json:"Ipv6Addresses,omitempty" name:"Ipv6Addresses" list` +} + +func (r *UnassignIpv6AddressesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *UnassignIpv6AddressesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type UnassignIpv6AddressesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *UnassignIpv6AddressesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *UnassignIpv6AddressesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type UnassignIpv6CidrBlockRequest struct { + *tchttp.BaseRequest + + // `VPC`实例`ID`,形如:`vpc-f49l6u0z`。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // `IPv6`网段。形如:`3402:4e00:20:1000::/56` + Ipv6CidrBlock *string `json:"Ipv6CidrBlock,omitempty" name:"Ipv6CidrBlock"` +} + +func (r *UnassignIpv6CidrBlockRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *UnassignIpv6CidrBlockRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type UnassignIpv6CidrBlockResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *UnassignIpv6CidrBlockResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *UnassignIpv6CidrBlockResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type UnassignIpv6SubnetCidrBlockRequest struct { + *tchttp.BaseRequest + + // 子网所在私有网络`ID`。形如:`vpc-f49l6u0z`。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // `IPv6` 子网段列表。 + Ipv6SubnetCidrBlocks []*Ipv6SubnetCidrBlock `json:"Ipv6SubnetCidrBlocks,omitempty" name:"Ipv6SubnetCidrBlocks" list` +} + +func (r *UnassignIpv6SubnetCidrBlockRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *UnassignIpv6SubnetCidrBlockRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type UnassignIpv6SubnetCidrBlockResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *UnassignIpv6SubnetCidrBlockResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *UnassignIpv6SubnetCidrBlockResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type UnassignPrivateIpAddressesRequest struct { *tchttp.BaseRequest // 弹性网卡实例ID,例如:eni-m6dyj72l。 - NetworkInterfaceId *string `json:"NetworkInterfaceId" name:"NetworkInterfaceId"` + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` // 指定的内网IP信息,单次最多指定10个。 - PrivateIpAddresses []*PrivateIpAddressSpecification `json:"PrivateIpAddresses" name:"PrivateIpAddresses" list` + PrivateIpAddresses []*PrivateIpAddressSpecification `json:"PrivateIpAddresses,omitempty" name:"PrivateIpAddresses" list` } func (r *UnassignPrivateIpAddressesRequest) ToJsonString() string { @@ -6071,7 +7368,7 @@ type UnassignPrivateIpAddressesResponse struct { Response *struct { // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - RequestId *string `json:"RequestId" name:"RequestId"` + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` } `json:"Response"` } @@ -6086,126 +7383,165 @@ func (r *UnassignPrivateIpAddressesResponse) FromJsonString(s string) error { type Vpc struct { - // Vpc名称。 - VpcName *string `json:"VpcName" name:"VpcName"` + // `VPC`名称。 + VpcName *string `json:"VpcName,omitempty" name:"VpcName"` - // VPC实例ID,例如:vpc-azd4dt1c。 - VpcId *string `json:"VpcId" name:"VpcId"` + // `VPC`实例`ID`,例如:vpc-azd4dt1c。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` - // VPC的cidr,只能为10.0.0.0/16,172.16.0.0/12,192.168.0.0/16这三个内网网段内。 - CidrBlock *string `json:"CidrBlock" name:"CidrBlock"` + // `VPC`的`IPv4` `CIDR`。 + CidrBlock *string `json:"CidrBlock,omitempty" name:"CidrBlock"` - // 是否默认VPC。 - IsDefault *bool `json:"IsDefault" name:"IsDefault"` + // 是否默认`VPC`。 + IsDefault *bool `json:"IsDefault,omitempty" name:"IsDefault"` // 是否开启组播。 - EnableMulticast *bool `json:"EnableMulticast" name:"EnableMulticast"` + EnableMulticast *bool `json:"EnableMulticast,omitempty" name:"EnableMulticast"` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` - // DNS列表 - DnsServerSet []*string `json:"DnsServerSet" name:"DnsServerSet" list` + // `DNS`列表。 + DnsServerSet []*string `json:"DnsServerSet,omitempty" name:"DnsServerSet" list` - // DHCP域名选项值 - DomainName *string `json:"DomainName" name:"DomainName"` + // `DHCP`域名选项值。 + DomainName *string `json:"DomainName,omitempty" name:"DomainName"` - // DHCP选项集ID - DhcpOptionsId *string `json:"DhcpOptionsId" name:"DhcpOptionsId"` + // `DHCP`选项集`ID`。 + DhcpOptionsId *string `json:"DhcpOptionsId,omitempty" name:"DhcpOptionsId"` + + // 是否开启`DHCP`。 + EnableDhcp *bool `json:"EnableDhcp,omitempty" name:"EnableDhcp"` + + // `VPC`的`IPv6` `CIDR`。 + Ipv6CidrBlock *string `json:"Ipv6CidrBlock,omitempty" name:"Ipv6CidrBlock"` + + // 标签键值对 + TagSet []*Tag `json:"TagSet,omitempty" name:"TagSet" list` +} + +type VpcIpv6Address struct { + + // `VPC`内`IPv6`地址。 + Ipv6Address *string `json:"Ipv6Address,omitempty" name:"Ipv6Address"` + + // 所属子网 `IPv6` `CIDR`。 + CidrBlock *string `json:"CidrBlock,omitempty" name:"CidrBlock"` + + // `IPv6`类型。 + Ipv6AddressType *string `json:"Ipv6AddressType,omitempty" name:"Ipv6AddressType"` + + // `IPv6`申请时间。 + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` +} + +type VpcPrivateIpAddress struct { + + // `VPC`内网`IP`。 + PrivateIpAddress *string `json:"PrivateIpAddress,omitempty" name:"PrivateIpAddress"` + + // 所属子网`CIDR`。 + CidrBlock *string `json:"CidrBlock,omitempty" name:"CidrBlock"` + + // 内网`IP`类型。 + PrivateIpAddressType *string `json:"PrivateIpAddressType,omitempty" name:"PrivateIpAddressType"` + + // `IP`申请时间。 + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` } type VpnConnection struct { // 通道实例ID。 - VpnConnectionId *string `json:"VpnConnectionId" name:"VpnConnectionId"` + VpnConnectionId *string `json:"VpnConnectionId,omitempty" name:"VpnConnectionId"` // 通道名称。 - VpnConnectionName *string `json:"VpnConnectionName" name:"VpnConnectionName"` + VpnConnectionName *string `json:"VpnConnectionName,omitempty" name:"VpnConnectionName"` // VPC实例ID。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // VPN网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // 对端网关实例ID。 - CustomerGatewayId *string `json:"CustomerGatewayId" name:"CustomerGatewayId"` + CustomerGatewayId *string `json:"CustomerGatewayId,omitempty" name:"CustomerGatewayId"` // 预共享密钥。 - PreShareKey *string `json:"PreShareKey" name:"PreShareKey"` + PreShareKey *string `json:"PreShareKey,omitempty" name:"PreShareKey"` // 通道传输协议。 - VpnProto *string `json:"VpnProto" name:"VpnProto"` + VpnProto *string `json:"VpnProto,omitempty" name:"VpnProto"` // 通道加密协议。 - EncryptProto *string `json:"EncryptProto" name:"EncryptProto"` + EncryptProto *string `json:"EncryptProto,omitempty" name:"EncryptProto"` // 路由类型。 - RouteType *string `json:"RouteType" name:"RouteType"` + RouteType *string `json:"RouteType,omitempty" name:"RouteType"` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` // 通道的生产状态,PENDING:生产中,AVAILABLE:运行中,DELETING:删除中。 - State *string `json:"State" name:"State"` + State *string `json:"State,omitempty" name:"State"` // 通道连接状态,AVAILABLE:已连接。 - NetStatus *string `json:"NetStatus" name:"NetStatus"` + NetStatus *string `json:"NetStatus,omitempty" name:"NetStatus"` // SPD。 - SecurityPolicyDatabaseSet []*SecurityPolicyDatabase `json:"SecurityPolicyDatabaseSet" name:"SecurityPolicyDatabaseSet" list` + SecurityPolicyDatabaseSet []*SecurityPolicyDatabase `json:"SecurityPolicyDatabaseSet,omitempty" name:"SecurityPolicyDatabaseSet" list` // IKE选项。 - IKEOptionsSpecification *IKEOptionsSpecification `json:"IKEOptionsSpecification" name:"IKEOptionsSpecification"` + IKEOptionsSpecification *IKEOptionsSpecification `json:"IKEOptionsSpecification,omitempty" name:"IKEOptionsSpecification"` // IPSEC选择。 - IPSECOptionsSpecification *IPSECOptionsSpecification `json:"IPSECOptionsSpecification" name:"IPSECOptionsSpecification"` + IPSECOptionsSpecification *IPSECOptionsSpecification `json:"IPSECOptionsSpecification,omitempty" name:"IPSECOptionsSpecification"` } type VpnGateway struct { // 网关实例ID。 - VpnGatewayId *string `json:"VpnGatewayId" name:"VpnGatewayId"` + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` // VPC实例ID。 - VpcId *string `json:"VpcId" name:"VpcId"` + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` // 网关实例名称。 - VpnGatewayName *string `json:"VpnGatewayName" name:"VpnGatewayName"` + VpnGatewayName *string `json:"VpnGatewayName,omitempty" name:"VpnGatewayName"` // 网关实例类型:'IPSEC', 'SSL'。 - Type *string `json:"Type" name:"Type"` + Type *string `json:"Type,omitempty" name:"Type"` // 网关实例状态, 'PENDING':生产中,'DELETING':删除中,'AVAILABLE':运行中。 - State *string `json:"State" name:"State"` + State *string `json:"State,omitempty" name:"State"` // 网关公网IP。 - PublicIpAddress *string `json:"PublicIpAddress" name:"PublicIpAddress"` + PublicIpAddress *string `json:"PublicIpAddress,omitempty" name:"PublicIpAddress"` - // 网关续费类型:'NOTIFY_AND_MANUAL_RENEW':手动续费,'NOTIFY_AND_AUTO_RENEW':自动续费 - RenewFlag *string `json:"RenewFlag" name:"RenewFlag"` + // 网关续费类型:'NOTIFY_AND_MANUAL_RENEW':手动续费,'NOTIFY_AND_AUTO_RENEW':自动续费,'NOT_NOTIFY_AND_NOT_RENEW':到期不续费。 + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` // 网关付费类型:POSTPAID_BY_HOUR:按小时后付费,PREPAID:包年包月预付费, - InstanceChargeType *string `json:"InstanceChargeType" name:"InstanceChargeType"` + InstanceChargeType *string `json:"InstanceChargeType,omitempty" name:"InstanceChargeType"` // 网关出带宽。 - InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut" name:"InternetMaxBandwidthOut"` + InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"` // 创建时间。 - CreatedTime *string `json:"CreatedTime" name:"CreatedTime"` + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` // 预付费网关过期时间。 - ExpiredTime *string `json:"ExpiredTime" name:"ExpiredTime"` + ExpiredTime *string `json:"ExpiredTime,omitempty" name:"ExpiredTime"` // 公网IP是否被封堵。 - IsAddressBlocked *bool `json:"IsAddressBlocked" name:"IsAddressBlocked"` + IsAddressBlocked *bool `json:"IsAddressBlocked,omitempty" name:"IsAddressBlocked"` // 计费模式变更,PREPAID_TO_POSTPAID:包年包月预付费到期转按小时后付费。 - NewPurchasePlan *string `json:"NewPurchasePlan" name:"NewPurchasePlan"` + NewPurchasePlan *string `json:"NewPurchasePlan,omitempty" name:"NewPurchasePlan"` // 网关计费装,PROTECTIVELY_ISOLATED:被安全隔离的实例,NORMAL:正常。 - RestrictState *string `json:"RestrictState" name:"RestrictState"` + RestrictState *string `json:"RestrictState,omitempty" name:"RestrictState"` // 可用区,如:ap-guangzhou-2 - Zone *string `json:"Zone" name:"Zone"` + Zone *string `json:"Zone,omitempty" name:"Zone"` } diff --git a/vendor/modules.txt b/vendor/modules.txt index a15b0d561..13592b1fc 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -401,7 +401,7 @@ github.com/sirupsen/logrus # github.com/stretchr/testify v1.3.0 github.com/stretchr/testify/assert github.com/stretchr/testify/require -# github.com/tencentcloud/tencentcloud-sdk-go v0.0.0-20181220135002-f1744d40d346 +# github.com/tencentcloud/tencentcloud-sdk-go v3.0.71+incompatible github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile diff --git a/website/source/docs/builders/tencentcloud-cvm.html.md b/website/source/docs/builders/tencentcloud-cvm.html.md index 2ac57401a..dc48cebef 100644 --- a/website/source/docs/builders/tencentcloud-cvm.html.md +++ b/website/source/docs/builders/tencentcloud-cvm.html.md @@ -88,6 +88,16 @@ builder. - LOCAL_BASIC: 50 - Other: 50 ~ 1000 (need whitelist if > 50) +- `data_disks` (array of data disks) - Add one or more data disks to the instance before creating the + image. Note that if the source image has data disk snapshots, this argument will be ignored, and + the running instance will use source image data disk settings, in such case, `disk_type` + argument will be used as disk type for all data disks, and each data disk size will use the + origin value in source image. + The data disks allow for the following argument: + - `disk_type` - Type of the data disk. Valid choices: `CLOUD_BASIC`, `CLOUD_PREMIUM` and `CLOUD_SSD`. + - `disk_size` - Size of the data disk. + - `disk_snapshot_id` - Id of the snapshot for a data disk. + - `vpc_id` (string) - Specify vpc your cvm will be launched by. - `vpc_name` (string) - Specify vpc name you will create. if `vpc_id` is not set, packer will