From 94a32dc28209c477ee863e222fa9d21e01cbc505 Mon Sep 17 00:00:00 2001 From: Li Kexian Date: Wed, 29 Jul 2020 21:10:00 +0800 Subject: [PATCH] tencentcloud cvm use CLOUD_PREMIUM disk by default (#9663) --- builder/tencentcloud/cvm/run_config.go | 4 +- go.mod | 2 +- go.sum | 2 + .../tencentcloud/common/client.go | 12 +- .../tencentcloud/common/http/request.go | 48 +- .../common/profile/http_profile.go | 6 +- .../tencentcloud/cvm/v20170312/client.go | 6 +- .../tencentcloud/cvm/v20170312/models.go | 39 +- .../tencentcloud/vpc/v20170312/client.go | 305 +++++++++- .../tencentcloud/vpc/v20170312/models.go | 569 +++++++++++++++++- vendor/modules.txt | 2 +- .../pages/docs/builders/tencentcloud-cvm.mdx | 2 +- .../TencentCloudRunConfig-not-required.mdx | 2 +- 13 files changed, 938 insertions(+), 61 deletions(-) diff --git a/builder/tencentcloud/cvm/run_config.go b/builder/tencentcloud/cvm/run_config.go index 08f0cfb6b..52fb4d292 100644 --- a/builder/tencentcloud/cvm/run_config.go +++ b/builder/tencentcloud/cvm/run_config.go @@ -37,7 +37,7 @@ type TencentCloudRunConfig struct { InstanceType string `mapstructure:"instance_type" required:"true"` // Instance name. InstanceName string `mapstructure:"instance_name" required:"false"` - // Root disk type your cvm will be launched by. you could + // Root disk type your cvm will be launched by, default is `CLOUD_PREMIUM`. you could // reference Disk Type // for parameter taking. DiskType string `mapstructure:"disk_type" required:"false"` @@ -164,7 +164,7 @@ func (cf *TencentCloudRunConfig) Prepare(ctx *interpolate.Context) []error { if cf.DiskType != "" && !checkDiskType(cf.DiskType) { errs = append(errs, errors.New(fmt.Sprintf("specified disk_type(%s) is invalid", cf.DiskType))) } else if cf.DiskType == "" { - cf.DiskType = "CLOUD_BASIC" + cf.DiskType = "CLOUD_PREMIUM" } if cf.DiskSize <= 0 { diff --git a/go.mod b/go.mod index 3a76dcfec..f56e30b6d 100644 --- a/go.mod +++ b/go.mod @@ -124,7 +124,7 @@ require ( github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c // indirect github.com/stretchr/objx v0.2.0 // indirect github.com/stretchr/testify v1.5.1 - github.com/tencentcloud/tencentcloud-sdk-go v3.0.155+incompatible + github.com/tencentcloud/tencentcloud-sdk-go v3.0.222+incompatible github.com/ucloud/ucloud-sdk-go v0.16.3 github.com/ufilesdk-dev/ufile-gosdk v0.0.0-20190830075812-b4dbc4ef43a6 github.com/ugorji/go v0.0.0-20151218193438-646ae4a518c1 diff --git a/go.sum b/go.sum index b3acd9d6d..1d5aba68c 100644 --- a/go.sum +++ b/go.sum @@ -594,6 +594,8 @@ github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/tencentcloud/tencentcloud-sdk-go v3.0.155+incompatible h1:M+Q7+SIBnUZbV0ec+HAOtv2M/wmOUsfjEOpQxM3u4xI= github.com/tencentcloud/tencentcloud-sdk-go v3.0.155+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4= +github.com/tencentcloud/tencentcloud-sdk-go v3.0.222+incompatible h1:bs+0lcG4RELNbE8PsBC9oaPP0/qExr0DuEGnZyocm84= +github.com/tencentcloud/tencentcloud-sdk-go v3.0.222+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 h1:G3dpKMzFDjgEh2q1Z7zUUtKa8ViPtH+ocF0bE0g00O8= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/ucloud/ucloud-sdk-go v0.16.3 h1:DCh4A5vSxFr3EvtvJL+g0Ehy4hSlEkMpQmEvxEQhYdo= 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 fc167bb40..795576b70 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 @@ -28,10 +28,18 @@ type Client struct { } func (c *Client) Send(request tchttp.Request, response tchttp.Response) (err error) { + if request.GetScheme() == "" { + request.SetScheme(c.httpProfile.Scheme) + } + + if request.GetRootDomain() == "" { + request.SetRootDomain(c.httpProfile.RootDomain) + } + if request.GetDomain() == "" { domain := c.httpProfile.Endpoint if domain == "" { - domain = tchttp.GetServiceDomain(request.GetService()) + domain = request.GetServiceDomain(request.GetService()) } request.SetDomain(domain) } @@ -187,7 +195,7 @@ func (c *Client) sendWithSignatureV3(request tchttp.Request, response tchttp.Res //log.Println("authorization", authorization) headers["Authorization"] = authorization - url := "https://" + request.GetDomain() + request.GetPath() + url := request.GetScheme() + "://" + request.GetDomain() + request.GetPath() if canonicalQueryString != "" { url = url + "?" + canonicalQueryString } 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 bd4b3b681..aff807464 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 @@ -15,6 +15,9 @@ const ( POST = "POST" GET = "GET" + HTTP = "http" + HTTPS = "https" + RootDomain = "tencentcloudapi.com" Path = "/" ) @@ -22,6 +25,9 @@ const ( type Request interface { GetAction() string GetBodyReader() io.Reader + GetScheme() string + GetRootDomain() string + GetServiceDomain(string) string GetDomain() string GetHttpMethod() string GetParams() map[string]string @@ -29,12 +35,16 @@ type Request interface { GetService() string GetUrl() string GetVersion() string + SetScheme(string) + SetRootDomain(string) SetDomain(string) SetHttpMethod(string) } type BaseRequest struct { httpMethod string + scheme string + rootDomain string domain string path string params map[string]string @@ -65,10 +75,41 @@ func (r *BaseRequest) GetDomain() string { return r.domain } +func (r *BaseRequest) GetScheme() string { + return r.scheme +} + +func (r *BaseRequest) GetRootDomain() string { + return r.rootDomain +} + +func (r *BaseRequest) GetServiceDomain(service string) (domain string) { + rootDomain := r.rootDomain + if rootDomain == "" { + rootDomain = RootDomain + } + domain = service + "." + rootDomain + return +} + func (r *BaseRequest) SetDomain(domain string) { r.domain = domain } +func (r *BaseRequest) SetScheme(scheme string) { + scheme = strings.ToLower(scheme) + switch scheme { + case HTTP: + r.scheme = HTTP + default: + r.scheme = HTTPS + } +} + +func (r *BaseRequest) SetRootDomain(rootDomain string) { + r.rootDomain = rootDomain +} + func (r *BaseRequest) SetHttpMethod(method string) { switch strings.ToUpper(method) { case POST: @@ -92,9 +133,9 @@ func (r *BaseRequest) GetService() string { func (r *BaseRequest) GetUrl() string { if r.httpMethod == GET { - return "https://" + r.domain + r.path + "?" + GetUrlQueriesEncoded(r.params) + return r.GetScheme() + "://" + r.domain + r.path + "?" + GetUrlQueriesEncoded(r.params) } else if r.httpMethod == POST { - return "https://" + r.domain + r.path + return r.GetScheme() + "://" + r.domain + r.path } else { return "" } @@ -138,6 +179,7 @@ func (r *BaseRequest) WithApiInfo(service, version, action string) *BaseRequest return r } +// Deprecated, use request.GetServiceDomain instead func GetServiceDomain(service string) (domain string) { domain = service + "." + RootDomain return @@ -152,7 +194,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.155" + params["RequestClient"] = "SDK_GO_3.0.222" } func ConstructParams(req Request) (err error) { diff --git a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/http_profile.go b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/http_profile.go index cf633a8a0..596432d21 100644 --- a/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/http_profile.go +++ b/vendor/github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile/http_profile.go @@ -3,17 +3,19 @@ package profile type HttpProfile struct { ReqMethod string ReqTimeout int + Scheme string + RootDomain string Endpoint string // Deprecated, use Scheme instead Protocol string - Scheme string } func NewHttpProfile() *HttpProfile { return &HttpProfile{ ReqMethod: "POST", ReqTimeout: 60, - Endpoint: "", Scheme: "HTTPS", + RootDomain: "", + Endpoint: "", } } 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 9c54201ed..a5078a567 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 @@ -974,7 +974,7 @@ func NewInquiryPriceModifyInstancesChargeTypeResponse() (response *InquiryPriceM // 本接口 (InquiryPriceModifyInstancesChargeType) 用于切换实例的计费模式询价。 // // * 只支持从 `POSTPAID_BY_HOUR` 计费模式切换为`PREPAID`计费模式。 -// * 关机不收费的实例、`BC1`和`BS1`机型族的实例、设置定时销毁的实例不支持该操作。 +// * 关机不收费的实例、`BC1`和`BS1`机型族的实例、设置定时销毁的实例、竞价实例不支持该操作。 func (c *Client) InquiryPriceModifyInstancesChargeType(request *InquiryPriceModifyInstancesChargeTypeRequest) (response *InquiryPriceModifyInstancesChargeTypeResponse, err error) { if request == nil { request = NewInquiryPriceModifyInstancesChargeTypeRequest() @@ -1058,7 +1058,7 @@ func NewInquiryPriceResetInstancesInternetMaxBandwidthResponse() (response *Inqu // 本接口 (InquiryPriceResetInstancesInternetMaxBandwidth) 用于调整实例公网带宽上限询价。 // // * 不同机型带宽上限范围不一致,具体限制详见[公网带宽上限](https://cloud.tencent.com/document/product/213/12523)。 -// * 对于`BANDWIDTH_PREPAID`计费方式的带宽,需要输入参数`StartTime`和`EndTime`,指定调整后的带宽的生效时间段。在这种场景下目前不支持调小带宽,会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/555/20253)接口查询账户余额。 +// * 对于`BANDWIDTH_PREPAID`计费方式的带宽,目前不支持调小带宽,且需要输入参数`StartTime`和`EndTime`,指定调整后的带宽的生效时间段。在这种场景下会涉及扣费,请确保账户余额充足。可通过[`DescribeAccountBalance`](https://cloud.tencent.com/document/product/555/20253)接口查询账户余额。 // * 对于 `TRAFFIC_POSTPAID_BY_HOUR`、 `BANDWIDTH_POSTPAID_BY_HOUR` 和 `BANDWIDTH_PACKAGE` 计费方式的带宽,使用该接口调整带宽上限是实时生效的,可以在带宽允许的范围内调大或者调小带宽,不支持输入参数 `StartTime` 和 `EndTime` 。 // * 接口不支持调整`BANDWIDTH_POSTPAID_BY_MONTH`计费方式的带宽。 // * 接口不支持批量调整 `BANDWIDTH_PREPAID` 和 `BANDWIDTH_POSTPAID_BY_HOUR` 计费方式的带宽。 @@ -1843,7 +1843,7 @@ func NewTerminateInstancesResponse() (response *TerminateInstancesResponse) { // // * 不再使用的实例,可通过本接口主动退还。 // * 按量计费的实例通过本接口可直接退还;包年包月实例如符合[退还规则](https://cloud.tencent.com/document/product/213/9711),也可通过本接口主动退还。 -// * 首次调用本接口,实例将被移至回收站,再次调用本接口,实例将被销毁,且不可恢复。 +// * 包年包月实例首次调用本接口,实例将被移至回收站,再次调用本接口,实例将被销毁,且不可恢复。按量计费实例调用本接口将被直接销毁 // * 支持批量操作,每次请求批量实例的上限为100。 func (c *Client) TerminateInstances(request *TerminateInstancesRequest) (response *TerminateInstancesResponse, err error) { if request == nil { 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 6cffe801f..34b6c7683 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 @@ -364,6 +364,12 @@ type DataDisk struct { // 该参数目前仅用于 `RunInstances` 接口。 // 注意:此字段可能返回 null,表示取不到有效值。 Encrypt *bool `json:"Encrypt,omitempty" name:"Encrypt"` + + // 自定义CMK对应的ID,取值为UUID或者类似kms-abcd1234。用于加密云盘。 + // + // 该参数目前仅用于 `RunInstances` 接口。 + // 注意:此字段可能返回 null,表示取不到有效值。 + KmsKeyId *string `json:"KmsKeyId,omitempty" name:"KmsKeyId"` } type DeleteDisasterRecoverGroupsRequest struct { @@ -1553,7 +1559,7 @@ type Externals struct { // 注意:此字段可能返回 null,表示取不到有效值。 ReleaseAddress *bool `json:"ReleaseAddress,omitempty" name:"ReleaseAddress"` - // 不支持的网络类型 + // 不支持的网络类型,取值范围:
  • BASIC:基础网络
  • VPC1.0:私有网络VPC1.0 // 注意:此字段可能返回 null,表示取不到有效值。 UnsupportNetworks []*string `json:"UnsupportNetworks,omitempty" name:"UnsupportNetworks" list` @@ -2369,6 +2375,27 @@ type InstanceTypeQuotaItem struct { // 售罄原因。 // 注意:此字段可能返回 null,表示取不到有效值。 SoldOutReason *string `json:"SoldOutReason,omitempty" name:"SoldOutReason"` + + // 内网带宽,单位Gbps。 + InstanceBandwidth *float64 `json:"InstanceBandwidth,omitempty" name:"InstanceBandwidth"` + + // 网络收发包能力,单位万PPS。 + InstancePps *int64 `json:"InstancePps,omitempty" name:"InstancePps"` + + // 本地存储块数量。 + StorageBlockAmount *int64 `json:"StorageBlockAmount,omitempty" name:"StorageBlockAmount"` + + // 处理器型号。 + CpuType *string `json:"CpuType,omitempty" name:"CpuType"` + + // 实例的GPU数量。 + Gpu *int64 `json:"Gpu,omitempty" name:"Gpu"` + + // 实例的FPGA数量。 + Fpga *int64 `json:"Fpga,omitempty" name:"Fpga"` + + // 实例备注信息。 + Remark *string `json:"Remark,omitempty" name:"Remark"` } type InternetAccessible struct { @@ -2425,9 +2452,9 @@ type ItemPrice struct { // 注意:此字段可能返回 null,表示取不到有效值。 DiscountPrice *float64 `json:"DiscountPrice,omitempty" name:"DiscountPrice"` - // 折扣,如20代表2折 + // 折扣,如20.0代表2折 // 注意:此字段可能返回 null,表示取不到有效值。 - Discount *uint64 `json:"Discount,omitempty" name:"Discount"` + Discount *float64 `json:"Discount,omitempty" name:"Discount"` // 后续合计费用的折扣价,后付费模式使用,单位:元
  • 如返回了其他时间区间项,如UnitPriceDiscountSecondStep,则本项代表时间区间在(0, 96)小时;若未返回其他时间区间项,则本项代表全时段,即(0, ∞)小时 // 注意:此字段可能返回 null,表示取不到有效值。 @@ -2830,7 +2857,7 @@ type ModifyInstancesVpcAttributeRequest struct { // 待操作的实例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。 + // 私有网络相关信息配置,通过该参数指定私有网络的ID,子网ID,私有网络ip等信息。
  • 当指定私有网络ID和子网ID(子网必须在实例所在的可用区)与指定实例所在私有网络不一致时,会将实例迁移至指定的私有网络的子网下。
  • 可通过`PrivateIpAddresses`指定私有网络子网IP,若需指定则所有已指定的实例均需要指定子网IP,此时`InstanceIds`与`PrivateIpAddresses`一一对应。
  • 不指定`PrivateIpAddresses`时随机分配私有网络子网IP。 VirtualPrivateCloud *VirtualPrivateCloud `json:"VirtualPrivateCloud,omitempty" name:"VirtualPrivateCloud"` // 是否对运行中的实例选择强制关机。默认为TRUE。 @@ -3322,7 +3349,7 @@ type ResetInstancesPasswordRequest struct { // Windows实例密码必须12~30位,不能以“/”开头且不包括用户名,至少包含以下字符中的三种不同字符
  • 小写字母:[a-z]
  • 大写字母:[A-Z]
  • 数字: 0-9
  • 特殊字符:()\`~!@#$%^&\*-+=\_|{}[]:;' <>,.?/
  • 如果实例即包含`Linux`实例又包含`Windows`实例,则密码复杂度限制按照`Windows`实例的限制。 Password *string `json:"Password,omitempty" name:"Password"` - // 待重置密码的实例操作系统的管理员账户。不得超过64个字符。 + // 待重置密码的实例操作系统的用户名。不得超过64个字符。 UserName *string `json:"UserName,omitempty" name:"UserName"` // 是否对运行中的实例选择强制关机。建议对运行中的实例先手动关机,然后再重置用户密码。取值范围:
  • TRUE:表示在正常关机失败后进行强制关机
  • FALSE:表示在正常关机失败后不进行强制关机

    默认取值:FALSE。

    强制关机的效果等同于关闭物理计算机的电源开关。强制关机可能会导致数据丢失或文件系统损坏,请仅在服务器不能正常关机时使用。 @@ -3359,7 +3386,7 @@ func (r *ResetInstancesPasswordResponse) FromJsonString(s string) error { type ResetInstancesTypeRequest struct { *tchttp.BaseRequest - // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。本接口每次请求批量实例的上限为1。 + // 一个或多个待操作的实例ID。可通过[`DescribeInstances`](https://cloud.tencent.com/document/api/213/15728)接口返回值中的`InstanceId`获取。本接口目前仅支持每次操作1个实例。 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)描述。 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 76efcd74c..34c5595e5 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 @@ -316,6 +316,31 @@ func (c *Client) AssociateAddress(request *AssociateAddressRequest) (response *A return } +func NewAssociateDhcpIpWithAddressIpRequest() (request *AssociateDhcpIpWithAddressIpRequest) { + request = &AssociateDhcpIpWithAddressIpRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "AssociateDhcpIpWithAddressIp") + return +} + +func NewAssociateDhcpIpWithAddressIpResponse() (response *AssociateDhcpIpWithAddressIpResponse) { + response = &AssociateDhcpIpWithAddressIpResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(AssociateDhcpIpWithAddressIp)用于DhcpIp绑定弹性公网IP(EIP)。
    +func (c *Client) AssociateDhcpIpWithAddressIp(request *AssociateDhcpIpWithAddressIpRequest) (response *AssociateDhcpIpWithAddressIpResponse, err error) { + if request == nil { + request = NewAssociateDhcpIpWithAddressIpRequest() + } + response = NewAssociateDhcpIpWithAddressIpResponse() + err = c.Send(request, response) + return +} + func NewAssociateNatGatewayAddressRequest() (request *AssociateNatGatewayAddressRequest) { request = &AssociateNatGatewayAddressRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -794,6 +819,31 @@ func (c *Client) CreateDefaultVpc(request *CreateDefaultVpcRequest) (response *C return } +func NewCreateDhcpIpRequest() (request *CreateDhcpIpRequest) { + request = &CreateDhcpIpRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "CreateDhcpIp") + return +} + +func NewCreateDhcpIpResponse() (response *CreateDhcpIpResponse) { + response = &CreateDhcpIpResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(CreateDhcpIp)用于创建DhcpIp +func (c *Client) CreateDhcpIp(request *CreateDhcpIpRequest) (response *CreateDhcpIpResponse, err error) { + if request == nil { + request = NewCreateDhcpIpRequest() + } + response = NewCreateDhcpIpResponse() + err = c.Send(request, response) + return +} + func NewCreateDirectConnectGatewayRequest() (request *CreateDirectConnectGatewayRequest) { request = &CreateDirectConnectGatewayRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -1149,15 +1199,19 @@ func NewCreateSecurityGroupPoliciesResponse() (response *CreateSecurityGroupPoli // 本接口(CreateSecurityGroupPolicies)用于创建安全组规则(SecurityGroupPolicy)。 // -// * Version安全组规则版本号,用户每次更新安全规则版本会自动加1,防止您更新的路由规则已过期,不填不考虑冲突。 -// * Protocol字段支持输入TCP, UDP, ICMP, ICMPV6, GRE, ALL。 -// * CidrBlock字段允许输入符合cidr格式标准的任意字符串。(展开)在基础网络中,如果CidrBlock包含您的账户内的云服务器之外的设备在腾讯云的内网IP,并不代表此规则允许您访问这些设备,租户之间网络隔离规则优先于安全组中的内网规则。 -// * Ipv6CidrBlock字段允许输入符合IPv6 cidr格式标准的任意字符串。(展开)在基础网络中,如果Ipv6CidrBlock包含您的账户内的云服务器之外的设备在腾讯云的内网IPv6,并不代表此规则允许您访问这些设备,租户之间网络隔离规则优先于安全组中的内网规则。 -// * SecurityGroupId字段允许输入与待修改的安全组位于相同项目中的安全组ID,包括这个安全组ID本身,代表安全组下所有云服务器的内网IP。使用这个字段时,这条规则用来匹配网络报文的过程中会随着被使用的这个ID所关联的云服务器变化而变化,不需要重新修改。 -// * Port字段允许输入一个单独端口号,或者用减号分隔的两个端口号代表端口范围,例如80或8000-8010。只有当Protocol字段是TCP或UDP时,Port字段才被接受,即Protocol字段不是TCP或UDP时,Protocol和Port排他关系,不允许同时输入,否则会接口报错。 -// * Action字段只允许输入ACCEPT或DROP。 -// * CidrBlock, Ipv6CidrBlock, SecurityGroupId, AddressTemplate四者是排他关系,不允许同时输入,Protocol + Port和ServiceTemplate二者是排他关系,不允许同时输入。 -// * 一次请求中只能创建单个方向的规则, 如果需要指定索引(PolicyIndex)参数, 多条规则的索引必须一致。 +// 在 SecurityGroupPolicySet 参数中: +// func (c *Client) CreateSecurityGroupPolicies(request *CreateSecurityGroupPoliciesRequest) (response *CreateSecurityGroupPoliciesResponse, err error) { if request == nil { request = NewCreateSecurityGroupPoliciesRequest() @@ -1547,6 +1601,31 @@ func (c *Client) DeleteCustomerGateway(request *DeleteCustomerGatewayRequest) (r return } +func NewDeleteDhcpIpRequest() (request *DeleteDhcpIpRequest) { + request = &DeleteDhcpIpRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DeleteDhcpIp") + return +} + +func NewDeleteDhcpIpResponse() (response *DeleteDhcpIpResponse) { + response = &DeleteDhcpIpResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DeleteDhcpIp)用于删除DhcpIp +func (c *Client) DeleteDhcpIp(request *DeleteDhcpIpRequest) (response *DeleteDhcpIpResponse, err error) { + if request == nil { + request = NewDeleteDhcpIpRequest() + } + response = NewDeleteDhcpIpResponse() + err = c.Send(request, response) + return +} + func NewDeleteDirectConnectGatewayRequest() (request *DeleteDirectConnectGatewayRequest) { request = &DeleteDirectConnectGatewayRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -2438,6 +2517,31 @@ func (c *Client) DescribeCustomerGateways(request *DescribeCustomerGatewaysReque return } +func NewDescribeDhcpIpsRequest() (request *DescribeDhcpIpsRequest) { + request = &DescribeDhcpIpsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DescribeDhcpIps") + return +} + +func NewDescribeDhcpIpsResponse() (response *DescribeDhcpIpsResponse) { + response = &DescribeDhcpIpsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeDhcpIps)用于查询DhcpIp列表 +func (c *Client) DescribeDhcpIps(request *DescribeDhcpIpsRequest) (response *DescribeDhcpIpsResponse, err error) { + if request == nil { + request = NewDescribeDhcpIpsRequest() + } + response = NewDescribeDhcpIpsResponse() + err = c.Send(request, response) + return +} + func NewDescribeDirectConnectGatewayCcnRoutesRequest() (request *DescribeDirectConnectGatewayCcnRoutesRequest) { request = &DescribeDirectConnectGatewayCcnRoutesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -3312,7 +3416,7 @@ func NewDescribeVpcResourceDashboardResponse() (response *DescribeVpcResourceDas return } -// 查看VPC资源 +// 本接口(DescribeVpcResourceDashboard)用于查看VPC资源信息。 func (c *Client) DescribeVpcResourceDashboard(request *DescribeVpcResourceDashboardRequest) (response *DescribeVpcResourceDashboardResponse, err error) { if request == nil { request = NewDescribeVpcResourceDashboardRequest() @@ -3372,6 +3476,31 @@ func (c *Client) DescribeVpnConnections(request *DescribeVpnConnectionsRequest) return } +func NewDescribeVpnGatewayCcnRoutesRequest() (request *DescribeVpnGatewayCcnRoutesRequest) { + request = &DescribeVpnGatewayCcnRoutesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DescribeVpnGatewayCcnRoutes") + return +} + +func NewDescribeVpnGatewayCcnRoutesResponse() (response *DescribeVpnGatewayCcnRoutesResponse) { + response = &DescribeVpnGatewayCcnRoutesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DescribeVpnGatewayCcnRoutes)用于查询VPN网关云联网路由 +func (c *Client) DescribeVpnGatewayCcnRoutes(request *DescribeVpnGatewayCcnRoutesRequest) (response *DescribeVpnGatewayCcnRoutesResponse, err error) { + if request == nil { + request = NewDescribeVpnGatewayCcnRoutesRequest() + } + response = NewDescribeVpnGatewayCcnRoutesResponse() + err = c.Send(request, response) + return +} + func NewDescribeVpnGatewaysRequest() (request *DescribeVpnGatewaysRequest) { request = &DescribeVpnGatewaysRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -3577,6 +3706,31 @@ func (c *Client) DisassociateAddress(request *DisassociateAddressRequest) (respo return } +func NewDisassociateDhcpIpWithAddressIpRequest() (request *DisassociateDhcpIpWithAddressIpRequest) { + request = &DisassociateDhcpIpWithAddressIpRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "DisassociateDhcpIpWithAddressIp") + return +} + +func NewDisassociateDhcpIpWithAddressIpResponse() (response *DisassociateDhcpIpWithAddressIpResponse) { + response = &DisassociateDhcpIpWithAddressIpResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(DisassociateDhcpIpWithAddressIp)用于将DhcpIp已绑定的弹性公网IP(EIP)解除绑定。
    +func (c *Client) DisassociateDhcpIpWithAddressIp(request *DisassociateDhcpIpWithAddressIpRequest) (response *DisassociateDhcpIpWithAddressIpResponse, err error) { + if request == nil { + request = NewDisassociateDhcpIpWithAddressIpRequest() + } + response = NewDisassociateDhcpIpWithAddressIpResponse() + err = c.Send(request, response) + return +} + func NewDisassociateNatGatewayAddressRequest() (request *DisassociateNatGatewayAddressRequest) { request = &DisassociateNatGatewayAddressRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -3754,6 +3908,31 @@ func (c *Client) EnableRoutes(request *EnableRoutesRequest) (response *EnableRou return } +func NewGetCcnRegionBandwidthLimitsRequest() (request *GetCcnRegionBandwidthLimitsRequest) { + request = &GetCcnRegionBandwidthLimitsRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "GetCcnRegionBandwidthLimits") + return +} + +func NewGetCcnRegionBandwidthLimitsResponse() (response *GetCcnRegionBandwidthLimitsResponse) { + response = &GetCcnRegionBandwidthLimitsResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(GetCcnRegionBandwidthLimits)用于查询云联网相关地域带宽信息,其中预付费模式的云联网仅支持地域间限速,后付费模式的云联网支持地域间限速和地域出口限速。 +func (c *Client) GetCcnRegionBandwidthLimits(request *GetCcnRegionBandwidthLimitsRequest) (response *GetCcnRegionBandwidthLimitsResponse, err error) { + if request == nil { + request = NewGetCcnRegionBandwidthLimitsRequest() + } + response = NewGetCcnRegionBandwidthLimitsResponse() + err = c.Send(request, response) + return +} + func NewHaVipAssociateAddressIpRequest() (request *HaVipAssociateAddressIpRequest) { request = &HaVipAssociateAddressIpRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -3959,6 +4138,33 @@ func (c *Client) ModifyAddressAttribute(request *ModifyAddressAttributeRequest) return } +func NewModifyAddressInternetChargeTypeRequest() (request *ModifyAddressInternetChargeTypeRequest) { + request = &ModifyAddressInternetChargeTypeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "ModifyAddressInternetChargeType") + return +} + +func NewModifyAddressInternetChargeTypeResponse() (response *ModifyAddressInternetChargeTypeResponse) { + response = &ModifyAddressInternetChargeTypeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 该接口用于调整具有带宽属性弹性公网IP的网络计费模式 +// * 支持BANDWIDTH_PREPAID_BY_MONTH和TRAFFIC_POSTPAID_BY_HOUR两种网络计费模式之间的切换。 +// * 每个弹性公网IP支持调整两次,次数超出则无法调整。 +func (c *Client) ModifyAddressInternetChargeType(request *ModifyAddressInternetChargeTypeRequest) (response *ModifyAddressInternetChargeTypeResponse, err error) { + if request == nil { + request = NewModifyAddressInternetChargeTypeRequest() + } + response = NewModifyAddressInternetChargeTypeResponse() + err = c.Send(request, response) + return +} + func NewModifyAddressTemplateAttributeRequest() (request *ModifyAddressTemplateAttributeRequest) { request = &ModifyAddressTemplateAttributeRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -4159,6 +4365,31 @@ func (c *Client) ModifyCustomerGatewayAttribute(request *ModifyCustomerGatewayAt return } +func NewModifyDhcpIpAttributeRequest() (request *ModifyDhcpIpAttributeRequest) { + request = &ModifyDhcpIpAttributeRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "ModifyDhcpIpAttribute") + return +} + +func NewModifyDhcpIpAttributeResponse() (response *ModifyDhcpIpAttributeResponse) { + response = &ModifyDhcpIpAttributeResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyDhcpIpAttribute)用于修改DhcpIp属性 +func (c *Client) ModifyDhcpIpAttribute(request *ModifyDhcpIpAttributeRequest) (response *ModifyDhcpIpAttributeResponse, err error) { + if request == nil { + request = NewModifyDhcpIpAttributeRequest() + } + response = NewModifyDhcpIpAttributeResponse() + err = c.Send(request, response) + return +} + func NewModifyDirectConnectGatewayAttributeRequest() (request *ModifyDirectConnectGatewayAttributeRequest) { request = &ModifyDirectConnectGatewayAttributeRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -4474,7 +4705,9 @@ func NewModifyNetworkAclEntriesResponse() (response *ModifyNetworkAclEntriesResp return } -// 本接口(ModifyNetworkAclEntries)用于修改(包括添加和删除)网络ACL的入站规则和出站规则。 +// 本接口(ModifyNetworkAclEntries)用于修改(包括添加和删除)网络ACL的入站规则和出站规则。在NetworkAclEntrySet参数中: +// * 若同时传入入站规则和出站规则,则重置原有的入站规则和出站规则,并分别导入传入的规则。 +// * 若仅传入入站规则,则仅重置原有的入站规则,并导入传入的规则,不影响原有的出站规则(若仅传入出站规则,处理方式类似入站方向)。 func (c *Client) ModifyNetworkAclEntries(request *ModifyNetworkAclEntriesRequest) (response *ModifyNetworkAclEntriesResponse, err error) { if request == nil { request = NewModifyNetworkAclEntriesRequest() @@ -4601,15 +4834,20 @@ func NewModifySecurityGroupPoliciesResponse() (response *ModifySecurityGroupPoli // 本接口(ModifySecurityGroupPolicies)用于重置安全组出站和入站规则(SecurityGroupPolicy)。 // -// * 接口是先删除当前所有的出入站规则,然后再添加 Egress 和 Ingress 规则,不支持自定义索引 PolicyIndex 。 -// * 如果指定 SecurityGroupPolicySet.Version 为0, 表示清空所有规则,并忽略Egress和Ingress。 -// * Protocol字段支持输入TCP, UDP, ICMP, ICMPV6, GRE, ALL。 -// * CidrBlock字段允许输入符合cidr格式标准的任意字符串。(展开)在基础网络中,如果CidrBlock包含您的账户内的云服务器之外的设备在腾讯云的内网IP,并不代表此规则允许您访问这些设备,租户之间网络隔离规则优先于安全组中的内网规则。 -// * Ipv6CidrBlock字段允许输入符合IPv6 cidr格式标准的任意字符串。(展开)在基础网络中,如果Ipv6CidrBlock包含您的账户内的云服务器之外的设备在腾讯云的内网IPv6,并不代表此规则允许您访问这些设备,租户之间网络隔离规则优先于安全组中的内网规则。 -// * SecurityGroupId字段允许输入与待修改的安全组位于相同项目中的安全组ID,包括这个安全组ID本身,代表安全组下所有云服务器的内网IP。使用这个字段时,这条规则用来匹配网络报文的过程中会随着被使用的这个ID所关联的云服务器变化而变化,不需要重新修改。 -// * Port字段允许输入一个单独端口号,或者用减号分隔的两个端口号代表端口范围,例如80或8000-8010。只有当Protocol字段是TCP或UDP时,Port字段才被接受。 -// * Action字段只允许输入ACCEPT或DROP。 -// * CidrBlock, Ipv6CidrBlock, SecurityGroupId, AddressTemplate四者是排他关系,不允许同时输入,Protocol + Port和ServiceTemplate二者是排他关系,不允许同时输入。 +// func (c *Client) ModifySecurityGroupPolicies(request *ModifySecurityGroupPoliciesRequest) (response *ModifySecurityGroupPoliciesResponse, err error) { if request == nil { request = NewModifySecurityGroupPoliciesRequest() @@ -4769,6 +5007,31 @@ func (c *Client) ModifyVpnGatewayAttribute(request *ModifyVpnGatewayAttributeReq return } +func NewModifyVpnGatewayCcnRoutesRequest() (request *ModifyVpnGatewayCcnRoutesRequest) { + request = &ModifyVpnGatewayCcnRoutesRequest{ + BaseRequest: &tchttp.BaseRequest{}, + } + request.Init().WithApiInfo("vpc", APIVersion, "ModifyVpnGatewayCcnRoutes") + return +} + +func NewModifyVpnGatewayCcnRoutesResponse() (response *ModifyVpnGatewayCcnRoutesResponse) { + response = &ModifyVpnGatewayCcnRoutesResponse{ + BaseResponse: &tchttp.BaseResponse{}, + } + return +} + +// 本接口(ModifyVpnGatewayCcnRoutes)用于修改VPN网关云联网路由 +func (c *Client) ModifyVpnGatewayCcnRoutes(request *ModifyVpnGatewayCcnRoutesRequest) (response *ModifyVpnGatewayCcnRoutesResponse, err error) { + if request == nil { + request = NewModifyVpnGatewayCcnRoutesRequest() + } + response = NewModifyVpnGatewayCcnRoutesResponse() + err = c.Send(request, response) + return +} + func NewRejectAttachCcnInstancesRequest() (request *RejectAttachCcnInstancesRequest) { request = &RejectAttachCcnInstancesRequest{ BaseRequest: &tchttp.BaseRequest{}, @@ -5165,7 +5428,7 @@ func NewSetCcnRegionBandwidthLimitsResponse() (response *SetCcnRegionBandwidthLi return } -// 本接口(SetCcnRegionBandwidthLimits)用于设置云联网(CCN)各地域出带宽上限,该接口只能设置已关联网络实例包含的地域的出带宽上限 +// 本接口(SetCcnRegionBandwidthLimits)用于设置云联网(CCN)各地域出带宽上限,或者地域间带宽上限。 func (c *Client) SetCcnRegionBandwidthLimits(request *SetCcnRegionBandwidthLimitsRequest) (response *SetCcnRegionBandwidthLimitsResponse, err error) { if request == nil { request = NewSetCcnRegionBandwidthLimitsRequest() 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 9635cfbc3..d84343bc2 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 @@ -198,6 +198,18 @@ type Address struct { // EIP ALG开启的协议类型。 EipAlgType *AlgType `json:"EipAlgType,omitempty" name:"EipAlgType"` + + // 弹性公网IP的运营商信息,当前可能返回值包括"CMCC","CTCC","CUCC","BGP" + InternetServiceProvider *string `json:"InternetServiceProvider,omitempty" name:"InternetServiceProvider"` +} + +type AddressChargePrepaid struct { + + // 购买实例的时长 + Period *int64 `json:"Period,omitempty" name:"Period"` + + // 自动续费标志 + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` } type AddressTemplate struct { @@ -611,6 +623,43 @@ func (r *AssociateAddressResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type AssociateDhcpIpWithAddressIpRequest struct { + *tchttp.BaseRequest + + // `DhcpIp`唯一`ID`,形如:`dhcpip-9o233uri`。必须是没有绑定`EIP`的`DhcpIp` + DhcpIpId *string `json:"DhcpIpId,omitempty" name:"DhcpIpId"` + + // 弹性公网`IP`。必须是没有绑定`DhcpIp`的`EIP` + AddressIp *string `json:"AddressIp,omitempty" name:"AddressIp"` +} + +func (r *AssociateDhcpIpWithAddressIpRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AssociateDhcpIpWithAddressIpRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type AssociateDhcpIpWithAddressIpResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *AssociateDhcpIpWithAddressIpResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *AssociateDhcpIpWithAddressIpResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type AssociateNatGatewayAddressRequest struct { *tchttp.BaseRequest @@ -949,6 +998,33 @@ type CcnAttachedInstance struct { CcnUin *string `json:"CcnUin,omitempty" name:"CcnUin"` } +type CcnBandwidthInfo struct { + + // 带宽所属的云联网ID。 + // 注意:此字段可能返回 null,表示取不到有效值。 + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` + + // 实例的创建时间。 + // 注意:此字段可能返回 null,表示取不到有效值。 + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` + + // 实例的过期时间 + // 注意:此字段可能返回 null,表示取不到有效值。 + ExpiredTime *string `json:"ExpiredTime,omitempty" name:"ExpiredTime"` + + // 带宽实例的唯一ID。 + // 注意:此字段可能返回 null,表示取不到有效值。 + RegionFlowControlId *string `json:"RegionFlowControlId,omitempty" name:"RegionFlowControlId"` + + // 带宽是否自动续费的标记。 + // 注意:此字段可能返回 null,表示取不到有效值。 + RenewFlag *string `json:"RenewFlag,omitempty" name:"RenewFlag"` + + // 描述带宽的地域和限速上限信息。在地域间限速的情况下才会返回参数,出口限速模式不返回。 + // 注意:此字段可能返回 null,表示取不到有效值。 + CcnRegionBandwidthLimit *CcnRegionBandwidthLimit `json:"CcnRegionBandwidthLimit,omitempty" name:"CcnRegionBandwidthLimit"` +} + type CcnInstance struct { // 关联实例ID。 @@ -961,6 +1037,7 @@ type CcnInstance struct { //
  • `VPC`:私有网络
  • //
  • `DIRECTCONNECT`:专线网关
  • //
  • `BMVPC`:黑石私有网络
  • + //
  • `VPNGW`:VPNGW类型
  • InstanceType *string `json:"InstanceType,omitempty" name:"InstanceType"` } @@ -1019,10 +1096,10 @@ type CheckAssistantCidrRequest struct { // `VPC`实例`ID`。形如:`vpc-6v2ht8q5` VpcId *string `json:"VpcId,omitempty" name:"VpcId"` - // 待添加的负载CIDR。CIDR数组,格式如["10.0.0.0/16", "172.16.0.0/16"] + // 待添加的负载CIDR。CIDR数组,格式如["10.0.0.0/16", "172.16.0.0/16"]。入参NewCidrBlocks和OldCidrBlocks至少需要其一。 NewCidrBlocks []*string `json:"NewCidrBlocks,omitempty" name:"NewCidrBlocks" list` - // 待删除的负载CIDR。CIDR数组,格式如["10.0.0.0/16", "172.16.0.0/16"] + // 待删除的负载CIDR。CIDR数组,格式如["10.0.0.0/16", "172.16.0.0/16"]。入参NewCidrBlocks和OldCidrBlocks至少需要其一。 OldCidrBlocks []*string `json:"OldCidrBlocks,omitempty" name:"OldCidrBlocks" list` } @@ -1597,6 +1674,52 @@ func (r *CreateDefaultVpcResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type CreateDhcpIpRequest struct { + *tchttp.BaseRequest + + // 私有网络`ID`。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // 子网`ID`。 + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` + + // `DhcpIp`名称。 + DhcpIpName *string `json:"DhcpIpName,omitempty" name:"DhcpIpName"` + + // 新申请的内网IP地址个数。总数不能超过64个。 + SecondaryPrivateIpAddressCount *uint64 `json:"SecondaryPrivateIpAddressCount,omitempty" name:"SecondaryPrivateIpAddressCount"` +} + +func (r *CreateDhcpIpRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateDhcpIpRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type CreateDhcpIpResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 新创建的`DhcpIp`信息 + DhcpIpSet []*DhcpIp `json:"DhcpIpSet,omitempty" name:"DhcpIpSet" list` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *CreateDhcpIpResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *CreateDhcpIpResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type CreateDirectConnectGatewayCcnRoutesRequest struct { *tchttp.BaseRequest @@ -2607,6 +2730,9 @@ type CreateVpnGatewayRequest struct { // 可用区,如:ap-guangzhou-2。 Zone *string `json:"Zone,omitempty" name:"Zone"` + + // VPN网关类型。值“CCN”云联网类型VPN网关 + Type *string `json:"Type,omitempty" name:"Type"` } func (r *CreateVpnGatewayRequest) ToJsonString() string { @@ -2921,6 +3047,40 @@ func (r *DeleteCustomerGatewayResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DeleteDhcpIpRequest struct { + *tchttp.BaseRequest + + // `DhcpIp`的`ID`,是`DhcpIp`的唯一标识。 + DhcpIpId *string `json:"DhcpIpId,omitempty" name:"DhcpIpId"` +} + +func (r *DeleteDhcpIpRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteDhcpIpRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DeleteDhcpIpResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DeleteDhcpIpResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DeleteDhcpIpResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DeleteDirectConnectGatewayCcnRoutesRequest struct { *tchttp.BaseRequest @@ -4329,6 +4489,60 @@ func (r *DescribeCustomerGatewaysResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DescribeDhcpIpsRequest struct { + *tchttp.BaseRequest + + // DhcpIp实例ID。形如:dhcpip-pxir56ns。每次请求的实例的上限为100。参数不支持同时指定DhcpIpIds和Filters。 + DhcpIpIds []*string `json:"DhcpIpIds,omitempty" name:"DhcpIpIds" list` + + // 过滤条件,参数不支持同时指定DhcpIpIds和Filters。 + //
  • vpc-id - String - (过滤条件)VPC实例ID,形如:vpc-f49l6u0z。
  • + //
  • subnet-id - String - (过滤条件)所属子网实例ID,形如:subnet-f49l6u0z。
  • + //
  • dhcpip-id - String - (过滤条件)DhcpIp实例ID,形如:dhcpip-pxir56ns。
  • + //
  • dhcpip-name - String - (过滤条件)DhcpIp实例名称。
  • + //
  • address-ip - String - (过滤条件)DhcpIp实例的IP,根据IP精确查找。
  • + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` + + // 偏移量,默认为0。 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量,默认为20,最大值为100。 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` +} + +func (r *DescribeDhcpIpsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeDhcpIpsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeDhcpIpsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 实例详细信息列表。 + DhcpIpSet []*DhcpIp `json:"DhcpIpSet,omitempty" name:"DhcpIpSet" list` + + // 符合条件的实例数量。 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeDhcpIpsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeDhcpIpsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DescribeDirectConnectGatewayCcnRoutesRequest struct { *tchttp.BaseRequest @@ -4681,6 +4895,7 @@ type DescribeHaVipsRequest struct { //
  • havip-name - String - `HAVIP`名称。
  • //
  • vpc-id - String - `HAVIP`所在私有网络`ID`。
  • //
  • subnet-id - String - `HAVIP`所在子网`ID`。
  • + //
  • vip - String - `HAVIP`的地址`VIP`。
  • //
  • address-ip - String - `HAVIP`绑定的弹性公网`IP`。
  • Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` @@ -5188,7 +5403,8 @@ type DescribeNetworkInterfacesRequest struct { //
  • groups.security-group-id - String - (过滤条件)绑定的安全组实例ID,例如:sg-f9ekbxeq。
  • //
  • network-interface-name - String - (过滤条件)网卡实例名称。
  • //
  • network-interface-description - String - (过滤条件)网卡实例描述。
  • - //
  • address-ip - String - (过滤条件)内网IPv4地址。
  • + //
  • address-ip - String - (过滤条件)内网IPv4地址,单IP后缀模糊匹配,多IP精确匹配。可以与`ip-exact-match`配合做单IP的精确匹配查询。
  • + //
  • ip-exact-match - Boolean - (过滤条件)内网IPv4精确匹配查询,存在多值情况,只取第一个。
  • //
  • tag-key - String -是否必填:否- (过滤条件)按照标签键进行过滤。使用请参考示例2
  • //
  • tag:tag-key - String - 是否必填:否 - (过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。使用请参考示例3。
  • //
  • is-primary - Boolean - 是否必填:否 - (过滤条件)按照是否主网卡进行过滤。值为true时,仅过滤主网卡;值为false时,仅过滤辅助网卡;次过滤参数为提供时,同时过滤主网卡和辅助网卡。
  • @@ -5488,10 +5704,10 @@ type DescribeSecurityGroupsRequest struct { //
  • tag:tag-key - String - 是否必填:否 - (过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。使用请参考示例3。
  • Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` - // 偏移量。 + // 偏移量,默认为0。 Offset *string `json:"Offset,omitempty" name:"Offset"` - // 返回数量。 + // 返回数量,默认为20,最大值为100。 Limit *string `json:"Limit,omitempty" name:"Limit"` } @@ -5986,10 +6202,10 @@ type DescribeVpcsRequest struct { //
  • tag:tag-key - String - 是否必填:否 - (过滤条件)按照标签键值对进行过滤。 tag-key使用具体的标签键进行替换。使用请参考示例2。
  • Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` - // 偏移量 + // 偏移量,默认为0。 Offset *string `json:"Offset,omitempty" name:"Offset"` - // 返回数量 + // 返回数量,默认为20,最大值为100。 Limit *string `json:"Limit,omitempty" name:"Limit"` } @@ -6080,6 +6296,52 @@ func (r *DescribeVpnConnectionsResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DescribeVpnGatewayCcnRoutesRequest struct { + *tchttp.BaseRequest + + // VPN网关实例ID + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` + + // 偏移量 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` +} + +func (r *DescribeVpnGatewayCcnRoutesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeVpnGatewayCcnRoutesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DescribeVpnGatewayCcnRoutesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 云联网路由(IDC网段)列表。 + RouteSet []*VpngwCcnRoutes `json:"RouteSet,omitempty" name:"RouteSet" list` + + // 符合条件的对象数。 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DescribeVpnGatewayCcnRoutesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DescribeVpnGatewayCcnRoutesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DescribeVpnGatewaysRequest struct { *tchttp.BaseRequest @@ -6268,6 +6530,41 @@ func (r *DetachNetworkInterfaceResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DhcpIp struct { + + // `DhcpIp`的`ID`,是`DhcpIp`的唯一标识。 + DhcpIpId *string `json:"DhcpIpId,omitempty" name:"DhcpIpId"` + + // `DhcpIp`所在私有网络`ID`。 + VpcId *string `json:"VpcId,omitempty" name:"VpcId"` + + // `DhcpIp`所在子网`ID`。 + SubnetId *string `json:"SubnetId,omitempty" name:"SubnetId"` + + // `DhcpIp`的名称。 + DhcpIpName *string `json:"DhcpIpName,omitempty" name:"DhcpIpName"` + + // IP地址。 + PrivateIpAddress *string `json:"PrivateIpAddress,omitempty" name:"PrivateIpAddress"` + + // 绑定`EIP`。 + AddressIp *string `json:"AddressIp,omitempty" name:"AddressIp"` + + // `DhcpIp`关联弹性网卡`ID`。 + NetworkInterfaceId *string `json:"NetworkInterfaceId,omitempty" name:"NetworkInterfaceId"` + + // 被绑定的实例`ID`。 + InstanceId *string `json:"InstanceId,omitempty" name:"InstanceId"` + + // 状态: + //
  • `AVAILABLE`:运行中
  • + //
  • `UNBIND`:未绑定
  • + State *string `json:"State,omitempty" name:"State"` + + // 创建时间。 + CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` +} + type DirectConnectGateway struct { // 专线网关`ID`。 @@ -6408,8 +6705,11 @@ type DisableRoutesRequest struct { // 路由表唯一ID。 RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` - // 路由策略唯一ID。 + // 路由策略ID。不能和RouteItemIds同时使用。 RouteIds []*uint64 `json:"RouteIds,omitempty" name:"RouteIds" list` + + // 路由策略唯一ID。不能和RouteIds同时使用。 + RouteItemIds []*string `json:"RouteItemIds,omitempty" name:"RouteItemIds" list` } func (r *DisableRoutesRequest) ToJsonString() string { @@ -6479,6 +6779,40 @@ func (r *DisassociateAddressResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type DisassociateDhcpIpWithAddressIpRequest struct { + *tchttp.BaseRequest + + // `DhcpIp`唯一`ID`,形如:`dhcpip-9o233uri`。必须是已绑定`EIP`的`DhcpIp`。 + DhcpIpId *string `json:"DhcpIpId,omitempty" name:"DhcpIpId"` +} + +func (r *DisassociateDhcpIpWithAddressIpRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DisassociateDhcpIpWithAddressIpRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type DisassociateDhcpIpWithAddressIpResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *DisassociateDhcpIpWithAddressIpResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *DisassociateDhcpIpWithAddressIpResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type DisassociateNatGatewayAddressRequest struct { *tchttp.BaseRequest @@ -6716,8 +7050,11 @@ type EnableRoutesRequest struct { // 路由表唯一ID。 RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` - // 路由策略唯一ID。 + // 路由策略ID。不能和RouteItemIds同时使用。 RouteIds []*uint64 `json:"RouteIds,omitempty" name:"RouteIds" list` + + // 路由策略唯一ID。不能和RouteIds同时使用。 + RouteItemIds []*string `json:"RouteItemIds,omitempty" name:"RouteItemIds" list` } func (r *EnableRoutesRequest) ToJsonString() string { @@ -6825,12 +7162,71 @@ type GatewayQos struct { IpAddress *string `json:"IpAddress,omitempty" name:"IpAddress"` // 流控带宽值。 - Bandwidth *uint64 `json:"Bandwidth,omitempty" name:"Bandwidth"` + Bandwidth *int64 `json:"Bandwidth,omitempty" name:"Bandwidth"` // 创建时间。 CreateTime *string `json:"CreateTime,omitempty" name:"CreateTime"` } +type GetCcnRegionBandwidthLimitsRequest struct { + *tchttp.BaseRequest + + // CCN实例ID。形如:ccn-f49l6u0z。 + CcnId *string `json:"CcnId,omitempty" name:"CcnId"` + + // 过滤条件。 + //
  • sregion - String - (过滤条件)源地域,形如:ap-guangzhou。
  • + //
  • dregion - String - (过滤条件)目的地域,形如:ap-shanghai-bm
  • + Filters []*Filter `json:"Filters,omitempty" name:"Filters" list` + + // 排序条件,目前支持带宽(BandwidthLimit)和过期时间(ExpireTime) + SortedBy *string `json:"SortedBy,omitempty" name:"SortedBy"` + + // 偏移量 + Offset *uint64 `json:"Offset,omitempty" name:"Offset"` + + // 返回数量 + Limit *uint64 `json:"Limit,omitempty" name:"Limit"` + + // 排序方式,'ASC':升序,'DESC':降序。 + OrderBy *string `json:"OrderBy,omitempty" name:"OrderBy"` +} + +func (r *GetCcnRegionBandwidthLimitsRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *GetCcnRegionBandwidthLimitsRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type GetCcnRegionBandwidthLimitsResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 云联网(CCN)各地域出带宽带宽详情。 + // 注意:此字段可能返回 null,表示取不到有效值。 + CcnBandwidthSet []*CcnBandwidthInfo `json:"CcnBandwidthSet,omitempty" name:"CcnBandwidthSet" list` + + // 符合条件的对象数。 + // 注意:此字段可能返回 null,表示取不到有效值。 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *GetCcnRegionBandwidthLimitsResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *GetCcnRegionBandwidthLimitsResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type HaVip struct { // `HAVIP`的`ID`,是`HAVIP`的唯一标识。 @@ -7379,6 +7775,49 @@ func (r *ModifyAddressAttributeResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type ModifyAddressInternetChargeTypeRequest struct { + *tchttp.BaseRequest + + // 弹性公网IP的唯一ID,形如eip-xxx + AddressId *string `json:"AddressId,omitempty" name:"AddressId"` + + // 弹性公网IP调整目标计费模式,只支持"BANDWIDTH_PREPAID_BY_MONTH"和"TRAFFIC_POSTPAID_BY_HOUR" + InternetChargeType *string `json:"InternetChargeType,omitempty" name:"InternetChargeType"` + + // 弹性公网IP调整目标带宽值 + InternetMaxBandwidthOut *uint64 `json:"InternetMaxBandwidthOut,omitempty" name:"InternetMaxBandwidthOut"` + + // 包月带宽网络计费模式参数。弹性公网IP的调整目标计费模式是"BANDWIDTH_PREPAID_BY_MONTH"时,必传该参数。 + AddressChargePrepaid *AddressChargePrepaid `json:"AddressChargePrepaid,omitempty" name:"AddressChargePrepaid"` +} + +func (r *ModifyAddressInternetChargeTypeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyAddressInternetChargeTypeRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyAddressInternetChargeTypeResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyAddressInternetChargeTypeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyAddressInternetChargeTypeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type ModifyAddressTemplateAttributeRequest struct { *tchttp.BaseRequest @@ -7703,6 +8142,43 @@ func (r *ModifyCustomerGatewayAttributeResponse) FromJsonString(s string) error return json.Unmarshal([]byte(s), &r) } +type ModifyDhcpIpAttributeRequest struct { + *tchttp.BaseRequest + + // `DhcpIp`唯一`ID`,形如:`dhcpip-9o233uri`。 + DhcpIpId *string `json:"DhcpIpId,omitempty" name:"DhcpIpId"` + + // `DhcpIp`名称,可任意命名,但不得超过60个字符。 + DhcpIpName *string `json:"DhcpIpName,omitempty" name:"DhcpIpName"` +} + +func (r *ModifyDhcpIpAttributeRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDhcpIpAttributeRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyDhcpIpAttributeResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyDhcpIpAttributeResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyDhcpIpAttributeResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type ModifyDirectConnectGatewayAttributeRequest struct { *tchttp.BaseRequest @@ -7795,8 +8271,8 @@ type ModifyGatewayFlowQosRequest struct { // VPN网关实例ID,形如,`vpn-ltjahce6`。 GatewayId *string `json:"GatewayId,omitempty" name:"GatewayId"` - // 流控带宽值。 - Bandwidth *uint64 `json:"Bandwidth,omitempty" name:"Bandwidth"` + // 流控带宽值。取值大于0,表示限流到指定的Mbps;取值等于0,表示完全限流;取值为-1,不限流。 + Bandwidth *int64 `json:"Bandwidth,omitempty" name:"Bandwidth"` // 限流的云服务器内网IP。 IpAddresses []*string `json:"IpAddresses,omitempty" name:"IpAddresses" list` @@ -8691,6 +9167,43 @@ func (r *ModifyVpnGatewayAttributeResponse) FromJsonString(s string) error { return json.Unmarshal([]byte(s), &r) } +type ModifyVpnGatewayCcnRoutesRequest struct { + *tchttp.BaseRequest + + // VPN网关实例ID + VpnGatewayId *string `json:"VpnGatewayId,omitempty" name:"VpnGatewayId"` + + // 云联网路由(IDC网段)列表 + Routes []*VpngwCcnRoutes `json:"Routes,omitempty" name:"Routes" list` +} + +func (r *ModifyVpnGatewayCcnRoutesRequest) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyVpnGatewayCcnRoutesRequest) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + +type ModifyVpnGatewayCcnRoutesResponse struct { + *tchttp.BaseResponse + Response *struct { + + // 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + RequestId *string `json:"RequestId,omitempty" name:"RequestId"` + } `json:"Response"` +} + +func (r *ModifyVpnGatewayCcnRoutesResponse) ToJsonString() string { + b, _ := json.Marshal(r) + return string(b) +} + +func (r *ModifyVpnGatewayCcnRoutesResponse) FromJsonString(s string) error { + return json.Unmarshal([]byte(s), &r) +} + type NatGateway struct { // NAT网关的ID。 @@ -8887,10 +9400,10 @@ type NetworkAclEntry struct { // 修改时间。 ModifyTime *string `json:"ModifyTime,omitempty" name:"ModifyTime"` - // 协议, 取值: TCP,UDP, ICMP。 + // 协议, 取值: TCP,UDP, ICMP, ALL。 Protocol *string `json:"Protocol,omitempty" name:"Protocol"` - // 端口(all, 单个port, range)。 + // 端口(all, 单个port, range)。当Protocol为ALL或ICMP时,不能指定Port。 Port *string `json:"Port,omitempty" name:"Port"` // 网段或IP(互斥)。 @@ -9774,7 +10287,7 @@ type Route struct { // 特别注意:当 GatewayType 为 EIP 时,GatewayId 固定值 '0' GatewayId *string `json:"GatewayId,omitempty" name:"GatewayId"` - // 路由策略ID。 + // 路由策略ID。IPv4路由策略ID是有意义的值,IPv6路由策略是无意义的值0。后续建议完全使用字符串唯一ID `RouteItemId`操作路由策略。 RouteId *uint64 `json:"RouteId,omitempty" name:"RouteId"` // 路由策略描述。 @@ -9792,6 +10305,12 @@ type Route struct { // 路由表实例ID,例如:rtb-azd4dt1c。 RouteTableId *string `json:"RouteTableId,omitempty" name:"RouteTableId"` + + // 目的IPv6网段,取值不能在私有网络网段内,例如:2402:4e00:1000:810b::/64。 + DestinationIpv6CidrBlock *string `json:"DestinationIpv6CidrBlock,omitempty" name:"DestinationIpv6CidrBlock"` + + // 路由唯一策略ID。 + RouteItemId *string `json:"RouteItemId,omitempty" name:"RouteItemId"` } type RouteConflict struct { @@ -9820,7 +10339,7 @@ type RouteTable struct { // 路由表关联关系。 AssociationSet []*RouteTableAssociation `json:"AssociationSet,omitempty" name:"AssociationSet" list` - // 路由表策略集合。 + // IPv4路由策略集合。 RouteSet []*Route `json:"RouteSet,omitempty" name:"RouteSet" list` // 是否默认路由表。 @@ -9888,6 +10407,9 @@ type SecurityGroupAssociationStatistics struct { // 全量实例的绑定统计。 InstanceStatistics []*InstanceStatistic `json:"InstanceStatistics,omitempty" name:"InstanceStatistics" list` + + // 所有资源的总计数(不包含被安全组引用数)。 + TotalCount *uint64 `json:"TotalCount,omitempty" name:"TotalCount"` } type SecurityGroupLimitSet struct { @@ -10073,7 +10595,7 @@ type Subnet struct { // 创建时间。 CreatedTime *string `json:"CreatedTime,omitempty" name:"CreatedTime"` - // 可用`IP`数。 + // 可用`IPv4`数。 AvailableIpAddressCount *uint64 `json:"AvailableIpAddressCount,omitempty" name:"AvailableIpAddressCount"` // 子网的 `IPv6` `CIDR`。 @@ -10085,7 +10607,7 @@ type Subnet struct { // 是否为 `SNAT` 地址池子网。 IsRemoteVpcSnat *bool `json:"IsRemoteVpcSnat,omitempty" name:"IsRemoteVpcSnat"` - // 子网`IP`总数。 + // 子网`IPv4`总数。 TotalIpAddressCount *uint64 `json:"TotalIpAddressCount,omitempty" name:"TotalIpAddressCount"` // 标签键值对。 @@ -10513,3 +11035,14 @@ type VpnGatewayQuota struct { // 配额英文名称 Name *string `json:"Name,omitempty" name:"Name"` } + +type VpngwCcnRoutes struct { + + // 路由信息ID + RouteId *string `json:"RouteId,omitempty" name:"RouteId"` + + // 路由信息是否启用 + // ENABLE:启用该路由 + // DISABLE:不启用该路由 + Status *string `json:"Status,omitempty" name:"Status"` +} diff --git a/vendor/modules.txt b/vendor/modules.txt index 18c80f115..500230f60 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -524,7 +524,7 @@ github.com/sirupsen/logrus # github.com/stretchr/testify v1.5.1 github.com/stretchr/testify/assert github.com/stretchr/testify/require -# github.com/tencentcloud/tencentcloud-sdk-go v3.0.155+incompatible +# github.com/tencentcloud/tencentcloud-sdk-go v3.0.222+incompatible github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http diff --git a/website/pages/docs/builders/tencentcloud-cvm.mdx b/website/pages/docs/builders/tencentcloud-cvm.mdx index be38e038d..c4e3777df 100644 --- a/website/pages/docs/builders/tencentcloud-cvm.mdx +++ b/website/pages/docs/builders/tencentcloud-cvm.mdx @@ -77,7 +77,7 @@ a [communicator](/docs/templates/communicator) can be configured for this builde - `instance_name` (string) - Instance name. -- `disk_type` (string) - Root disk type your cvm will be launched by. you could +- `disk_type` (string) - Root disk type your cvm will be launched by, default is `CLOUD_PREMIUM`. you could reference [Disk Type](https://intl.cloud.tencent.com/document/product/213/15753#SystemDisk) for parameter taking. diff --git a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx index 2d36669ac..1dbdc9bc6 100644 --- a/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx +++ b/website/pages/partials/builder/tencentcloud/cvm/TencentCloudRunConfig-not-required.mdx @@ -11,7 +11,7 @@ - `instance_name` (string) - Instance name. -- `disk_type` (string) - Root disk type your cvm will be launched by. you could +- `disk_type` (string) - Root disk type your cvm will be launched by, default is `CLOUD_PREMIUM`. you could reference Disk Type for parameter taking.