diff --git a/CHANGELOG.md b/CHANGELOG.md index 00f570b9ee..0eeee6a37d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.1.46 (2023-12-28) + +* update ucloud go sdk version + +## 0.1.45 (2023-12-18) + +* fix reinstall password encoding + ## 0.1.44 (2023-08-15) * fix failing to specify release-eip and delete-cloud-disk to false diff --git a/Makefile b/Makefile index 55f16a19f5..547a19e5e7 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -export VERSION=0.1.44 +export VERSION=0.1.46 GOFMT_FILES?=$$(find . -name '*.go' |grep -v vendor) .PHONY : install diff --git a/base/config.go b/base/config.go index 8fa7f81f37..8b8003462c 100644 --- a/base/config.go +++ b/base/config.go @@ -39,7 +39,7 @@ const DefaultBaseURL = "https://api.ucloud.cn/" const DefaultProfile = "default" // Version 版本号 -const Version = "0.1.44" +const Version = "0.1.46" var UserAgent = fmt.Sprintf("UCloud-CLI/%s", Version) diff --git a/cmd/pathx.go b/cmd/pathx.go index 8b59437159..8f3d2e4f98 100644 --- a/cmd/pathx.go +++ b/cmd/pathx.go @@ -174,7 +174,7 @@ func NewCmdUGA3Create(out io.Writer) *cobra.Command { bindRegion(createPathxReq, flags) bindZone(createPathxReq, flags) - createPathxReq.Bandwidth = flags.Int("bandwidth", 0, + createPathxReq.Bandwidth = flags.String("bandwidth", "0", "Required. Shared bandwidth of the resource") flags.String("area-code", "", "Optional. When it is empty,the nearest zone will be selected based on the origin-domain and origin-ip. "+ diff --git a/go.mod b/go.mod index 27f147a4ec..5eac9d8650 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/sirupsen/logrus v1.3.0 github.com/spf13/cobra v0.0.3 github.com/spf13/pflag v1.0.3 - github.com/ucloud/ucloud-sdk-go v0.21.42 + github.com/ucloud/ucloud-sdk-go v0.22.10 golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect ) diff --git a/go.sum b/go.sum index 5540fa6c79..78cd33ffd8 100644 --- a/go.sum +++ b/go.sum @@ -51,6 +51,8 @@ github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/ucloud/ucloud-sdk-go v0.21.42 h1:WGFpTRrnAL6yEZVJsZxNH5kSMNQNCYBsB8pq159QRG4= github.com/ucloud/ucloud-sdk-go v0.21.42/go.mod h1:dyLmFHmUfgb4RZKYQP9IArlvQ2pxzFthfhwxRzOEPIw= +github.com/ucloud/ucloud-sdk-go v0.22.10 h1:jelK2qhOY7XDjUywdMbfBhNATIW8RIbsqgEfBFm3RNk= +github.com/ucloud/ucloud-sdk-go v0.22.10/go.mod h1:dyLmFHmUfgb4RZKYQP9IArlvQ2pxzFthfhwxRzOEPIw= github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/private/protocol/http/client.go b/vendor/github.com/ucloud/ucloud-sdk-go/private/protocol/http/client.go index 608b0a9042..87d7335565 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/private/protocol/http/client.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/private/protocol/http/client.go @@ -16,6 +16,7 @@ type Client interface { // HttpClient used to send a real request via http to server type HttpClient struct { + transport http.RoundTripper } // NewHttpClient will create a new HttpClient instance @@ -23,6 +24,11 @@ func NewHttpClient() HttpClient { return HttpClient{} } +// NewHttpClientWithTransport will create a new HttpClient with specified transport +func NewHttpClientWithTransport(transport http.RoundTripper) HttpClient { + return HttpClient{transport: transport} +} + // Send will send a real http request to remote server func (c *HttpClient) Send(req *HttpRequest) (*HttpResponse, error) { // build http.Client with timeout settings @@ -50,6 +56,9 @@ func (c *HttpClient) buildHTTPClient(timeout time.Duration) (*http.Client, error if timeout != 0 { httpClient = http.Client{Timeout: timeout} } + if c.transport != nil { + httpClient.Transport = c.transport + } return &httpClient, nil } diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/apis.go index 8f59bd336a..158a7b2f2c 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/apis.go @@ -226,10 +226,10 @@ type CreateUGA3InstanceRequest struct { // 非必填,如果不填,会根据Domain 和IPList 去选一个最近的源站区域BKK表示AreaCode;曼谷表示Area["BKK":"曼谷","DXB":"迪拜","FRA":"法兰克福","SGN":"胡志明市","HKG":"香港",CGK":"雅加达","LOS":"拉各斯","LHR":"伦敦","LAX":"洛杉矶","MNL":"马尼拉","DME":"莫斯科","BOM":"孟买","MSP":"圣保罗","ICN":"首尔","PVG":"上海","SIN":"新加坡","NRT":"东京","IAD":"华盛顿","TPE": "台北"] AreaCode *string `required:"false"` - // 实例的共享带宽大小,单位Mbps - Bandwidth *int `required:"true"` + // 实例的共享带宽 + Bandwidth *string `required:"true"` - // 支付方式,如按月、按年、按时[Year,Month,Dynamic] + // 支付方式,如按月、按年、按时 ChargeType *string `required:"false"` // 使用代金券可冲抵部分费用,仅全地域可用的代金券 @@ -261,8 +261,8 @@ type CreateUGA3InstanceResponse struct { // 加速配置ID InstanceId string - // 【该字段已废弃,请谨慎使用】 - Message string `deprecated:"true"` + // 返回信息 + Message string } // NewCreateUGA3InstanceRequest will create request of CreateUGA3Instance action. @@ -993,8 +993,6 @@ func (c *PathXClient) NewDescribeGlobalSSHAreaRequest() *DescribeGlobalSSHAreaRe /* API: DescribeGlobalSSHArea - - */ func (c *PathXClient) DescribeGlobalSSHArea(req *DescribeGlobalSSHAreaRequest) (*DescribeGlobalSSHAreaResponse, error) { var err error @@ -1064,8 +1062,8 @@ func (c *PathXClient) DescribeGlobalSSHInstance(req *DescribeGlobalSSHInstanceRe type DescribePathXLineConfigRequest struct { request.CommonBase - // [公共参数] 项目ID,如org-xxxx。请参考[GetProjectList接口](../summary/get_project_list.html) - // ProjectId *string `required:"true"` + // [公共参数] 项目ID,如org-xxxx。不填为默认项目。请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"false"` } diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/doc.go index edfc7ae5f8..6baa80c838 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/doc.go @@ -5,8 +5,8 @@ Package pathx include resources of ucloud pathx product See also - - API: https://docs.ucloud.cn/api/pathx-api/index - - Product: https://www.ucloud.cn/site/product/pathx.html + - API: https://docs.ucloud.cn/api/pathx-api/index + - Product: https://www.ucloud.cn/site/product/pathx.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/models.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/models.go index 97d5058bbe..65d88bca74 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/models.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/pathx/models.go @@ -96,11 +96,20 @@ type LineDetail struct { } /* -UGAALine - UGAA加速线路 +UGAALine - PathX线路参数 */ type UGAALine struct { - // 子线路信息 + // 加速国家区域国旗代码 + FlagUnicodeFrom string + + // 源站所在国家区域国旗代码 + FlagUnicodeTo string + + // 后付费线路上限带宽与保底带宽的固定比例,正整数 + GuaranteedBandwidthProportion int + + // 线路接入点信息 LineDetail []LineDetail // 线路源 @@ -109,7 +118,7 @@ type UGAALine struct { // 线路源中文名称 LineFromName string - // 线路计费Id + // 线路ID,可用于创建加速线路资源 LineId string // 线路目的 @@ -118,8 +127,20 @@ type UGAALine struct { // 线路目的中文名称 LineToName string - // 线路可售最大带宽 + // 预付费线路可售最大带宽 MaxBandwidth int + + // 后付费线路最大可售带宽 + PostPaidMaxBandwidth int + + // 加速国家区域所属地区代码 + RegionCategoryFrom string + + // 源站所在国家区域所属地区代码 + RegionCategoryTo string + + // true:支持SD-WAN线路;false:不支持SD-WAN线路 + SupportPublicNetwork bool } /* @@ -209,18 +230,6 @@ type SrcAreaInfo struct { FlagUnicode string } -/* -AccelerationAreaInfos - 加速大区信息 -*/ -type AccelerationAreaInfos struct { - - // 加速区code - AccelerationArea string - - // 加速节点信息 - AccelerationNodes []SrcAreaInfo -} - /* ForwardTask - 全球统一接入转发端口任务信息 */ @@ -248,6 +257,18 @@ type OutPublicIpInfo struct { IP string } +/* +AccelerationAreaInfos - 加速大区信息 +*/ +type AccelerationAreaInfos struct { + + // 加速区code + AccelerationArea string + + // 加速节点信息 + AccelerationNodes []SrcAreaInfo +} + /* ForwardInfo - 全球统一接入加速实例配置信息 */ @@ -386,6 +407,27 @@ type UGAL4Forwarder struct { RSPort int } +/* +UGAL7Forwarder - UGA实例 7层转发器信息 +*/ +type UGAL7Forwarder struct { + + // 接入端口 + Port int + + // 转发协议,枚举值["TCP","UDP","HTTPHTTP","HTTPSHTTP","HTTPSHTTPS"]。TCP和UDP代表四层转发,其余为七层转发 + Protocol string + + // RSPort,源站监听端口 + RSPort int + + // 证书ID + SSLId string + + // 证书名称 + SSLName string +} + /* UPathSet - uga关联的upath信息 */ @@ -416,27 +458,6 @@ type UPathSet struct { UPathName string } -/* -UGAL7Forwarder - UGA实例 7层转发器信息 -*/ -type UGAL7Forwarder struct { - - // 接入端口 - Port int - - // 转发协议,枚举值["TCP","UDP","HTTPHTTP","HTTPSHTTP","HTTPSHTTPS"]。TCP和UDP代表四层转发,其余为七层转发 - Protocol string - - // RSPort,源站监听端口 - RSPort int - - // 证书ID - SSLId string - - // 证书名称 - SSLName string -} - /* UGAAInfo - 全球加速实例信息 */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/uaccount/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/uaccount/apis.go index 9e55b1d093..990dcdee9c 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/uaccount/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/uaccount/apis.go @@ -9,56 +9,6 @@ import ( // UAccount API Schema -// AddMemberToProjectRequest is request schema for AddMemberToProject action -type AddMemberToProjectRequest struct { - request.CommonBase - - // [公共参数] 项目ID,请参考[GetProjectList接口](../summary/get_project_list.html)的描述。不填写为创建时间最早的项目。 - // ProjectId *string `required:"false"` - - // 被加入成员归属角色ID - CharacterId *string `required:"true"` - - // 被加入成员Email - MemberEmail *string `required:"true"` -} - -// AddMemberToProjectResponse is response schema for AddMemberToProject action -type AddMemberToProjectResponse struct { - response.CommonBase -} - -// NewAddMemberToProjectRequest will create request of AddMemberToProject action. -func (c *UAccountClient) NewAddMemberToProjectRequest() *AddMemberToProjectRequest { - req := &AddMemberToProjectRequest{} - - // setup request with client config - c.Client.SetupRequest(req) - - // setup retryable with default retry policy (retry for non-create action and common error) - req.SetRetryable(false) - return req -} - -/* -API: AddMemberToProject - -添加成员到项目 -*/ -func (c *UAccountClient) AddMemberToProject(req *AddMemberToProjectRequest) (*AddMemberToProjectResponse, error) { - var err error - var res AddMemberToProjectResponse - - reqCopier := *req - - err = c.Client.InvokeAction("AddMemberToProject", &reqCopier, &res) - if err != nil { - return &res, err - } - - return &res, nil -} - // CreateCharacterRequest is request schema for CreateCharacter action type CreateCharacterRequest struct { request.CommonBase @@ -154,8 +104,6 @@ func (c *UAccountClient) NewCreateProjectRequest() *CreateProjectRequest { /* API: CreateProject - - */ func (c *UAccountClient) CreateProject(req *CreateProjectRequest) (*CreateProjectResponse, error) { var err error @@ -280,50 +228,6 @@ func (c *UAccountClient) DescribeMemberList(req *DescribeMemberListRequest) (*De return &res, nil } -// FreezeMemberRequest is request schema for FreezeMember action -type FreezeMemberRequest struct { - request.CommonBase - - // 需要被冻结的成员Email - MemberEmail *string `required:"true"` -} - -// FreezeMemberResponse is response schema for FreezeMember action -type FreezeMemberResponse struct { - response.CommonBase -} - -// NewFreezeMemberRequest will create request of FreezeMember action. -func (c *UAccountClient) NewFreezeMemberRequest() *FreezeMemberRequest { - req := &FreezeMemberRequest{} - - // setup request with client config - c.Client.SetupRequest(req) - - // setup retryable with default retry policy (retry for non-create action and common error) - req.SetRetryable(true) - return req -} - -/* -API: FreezeMember - -冻结成员 -*/ -func (c *UAccountClient) FreezeMember(req *FreezeMemberRequest) (*FreezeMemberResponse, error) { - var err error - var res FreezeMemberResponse - - reqCopier := *req - - err = c.Client.InvokeAction("FreezeMember", &reqCopier, &res) - if err != nil { - return &res, err - } - - return &res, nil -} - // GetNetworkMaskRequest is request schema for GetNetworkMask action type GetNetworkMaskRequest struct { request.CommonBase @@ -492,8 +396,6 @@ func (c *UAccountClient) NewGetUserInfoRequest() *GetUserInfoRequest { /* API: GetUserInfo - - */ func (c *UAccountClient) GetUserInfo(req *GetUserInfoRequest) (*GetUserInfoResponse, error) { var err error @@ -651,8 +553,6 @@ func (c *UAccountClient) NewModifyProjectRequest() *ModifyProjectRequest { /* API: ModifyProject - - */ func (c *UAccountClient) ModifyProject(req *ModifyProjectRequest) (*ModifyProjectResponse, error) { var err error diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/uaccount/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/uaccount/doc.go index ca2db13618..ea52b9bd29 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/uaccount/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/uaccount/doc.go @@ -5,8 +5,8 @@ Package uaccount include resources of ucloud uaccount product See also - - API: https://docs.ucloud.cn/api/uaccount-api/index - - Product: https://www.ucloud.cn/site/product/uaccount.html + - API: https://docs.ucloud.cn/api/uaccount-api/index + - Product: https://www.ucloud.cn/site/product/uaccount.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/apis.go index cc1b7e06c6..e7bf441641 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/apis.go @@ -13,16 +13,16 @@ import ( type BackupUDBInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` - // 使用的备份方式。(快照备份即物理备份。注意只有SSD版本的mysql实例支持设置为snapshot) + // 使用的备份方式。默认使用逻辑备份(快照备份即物理备份。SSD版本的mysql/mongodb实例支持设置为snapshot,NVMe版本的mysql实例支持设置为xtrabackup) BackupMethod *string `required:"false"` // 备份名称 @@ -81,13 +81,13 @@ func (c *UDBClient) BackupUDBInstance(req *BackupUDBInstanceRequest) (*BackupUDB type BackupUDBInstanceBinlogRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 需要备份文件,可通过DescribeUDBInstanceBinlog获得 如果要传入多个文件名,以空格键分割,用单引号包含. @@ -140,13 +140,13 @@ func (c *UDBClient) BackupUDBInstanceBinlog(req *BackupUDBInstanceBinlogRequest) type BackupUDBInstanceErrorLogRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 备份名称 @@ -196,10 +196,10 @@ func (c *UDBClient) BackupUDBInstanceErrorLog(req *BackupUDBInstanceErrorLogRequ type BackupUDBInstanceSlowLogRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` // 备份文件名称 @@ -255,13 +255,13 @@ func (c *UDBClient) BackupUDBInstanceSlowLog(req *BackupUDBInstanceSlowLogReques type ChangeUDBParamGroupRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // DB实例Id @@ -311,16 +311,16 @@ func (c *UDBClient) ChangeUDBParamGroup(req *ChangeUDBParamGroupRequest) (*Chang type CheckRecoverUDBInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` - // 源实例的Id + // 源实例的Id(只支持普通版DB不支持高可用) SrcDBId *string `required:"true"` } @@ -420,13 +420,13 @@ func (c *UDBClient) CheckUDBInstanceToHAAllowance(req *CheckUDBInstanceToHAAllow type ClearUDBLogRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 删除时间点(至少前一天)之前log,采用时间戳(秒),默认当 前时间点前一天 @@ -479,13 +479,13 @@ func (c *UDBClient) ClearUDBLog(req *ClearUDBLogRequest) (*ClearUDBLogResponse, type CreateMongoDBReplicaSetRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` // 管理员密码 @@ -515,16 +515,13 @@ type CreateMongoDBReplicaSetRequest struct { // CouponId.0 代表第一个代金券id,对于传入多个代金券id,后面为 CouponId.1, CouponId.2 以此类推 CouponId []string `required:"false"` - // DB类型id对应的字符串形式(例如:mongodb-2.6)注意:当前仅支持mongodb + // DB类型id对应的字符串形式 mongodb-3.4,mongodb-3.6,mongodb-4.0 DBTypeId *string `required:"true"` // 磁盘空间(GB), 暂时支持20G - 3000G DiskSpace *int `required:"true"` - // UDB数据库机型 - InstanceType *string `required:"false"` - - // 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M + // 内存限制(MB),目前支持以下几档 2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M MemoryLimit *int `required:"true"` // PrimaryDB实例名称,至少6位 @@ -539,15 +536,9 @@ type CreateMongoDBReplicaSetRequest struct { // 购买时长(N个月),默认值1个月。如果为0,代表购买到月底。 Quantity *int `required:"false"` - // SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 - SSDType *string `required:"false"` - // 子网ID SubnetId *string `required:"false"` - // 是否使用SSD,默认为true - UseSSD *bool `required:"false"` - // VPC的ID VPCId *string `required:"false"` } @@ -556,14 +547,8 @@ type CreateMongoDBReplicaSetRequest struct { type CreateMongoDBReplicaSetResponse struct { response.CommonBase - // 操作名称 - Action string - // 返回所有副本集成员的Id DBIds []string - - // 返回码 - RetCode int } // NewCreateMongoDBReplicaSetRequest will create request of CreateMongoDBReplicaSet action. @@ -601,13 +586,13 @@ func (c *UDBClient) CreateMongoDBReplicaSet(req *CreateMongoDBReplicaSetRequest) type CreateUDBInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` // 管理员密码 @@ -628,12 +613,15 @@ type CreateUDBInstanceRequest struct { // 备份策略,备份开始时间,单位小时计,默认1点 BackupTime *int `required:"false"` - // 跨可用区高可用备库所在可用区,参见 [可用区列表](../summary/regionlist.html) + // 跨可用区高可用备库所在可用区,参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) BackupZone *string `required:"false"` - // cpu核数 + // cpu核数,如果db类型为sqlserver,必传参数 CPU *int `required:"false"` + // mysql大小写参数, 0 为大小写敏感, 1 为大小写不敏感, 目前只针对mysql8.0有效 + CaseSensitivityParam *int `required:"false"` + // Year, Month, Dynamic,Trial,默认: Month ChargeType *string `required:"false"` @@ -643,7 +631,10 @@ type CreateUDBInstanceRequest struct { // 使用的代金券id CouponId *string `required:"false"` - // DB类型id,mysql/mongodb/postgesql按版本细分 1:mysql-5.1,2:mysql-5.5,3:percona-5.5,4:mysql-5.6,5:percona-5.6,6:mysql-5.7,7:percona-5.7,8:mariadb-10.0,9:mongodb-2.4,10:mongodb-2.6,11:mongodb-3.0,12:mongodb-3.2,13:postgresql-9.4,14:postgresql-9.6,14:postgresql-10.4 + // mysql小版本号,支持指定小版本创建 + DBSubVersion *string `required:"false"` + + // DB类型,mysql/mongodb/postgesql/sqlserver按版本细分 mysql-8.0, mysql-5.5, percona-5.5, mysql-5.6, percona-5.6, mysql-5.7, percona-5.7, mariadb-10.0, postgresql-9.6, postgresql-10.4, postgresql-12.8, postgresql-13.4,mongodb-2.6, mongodb-3.0, mongodb-3.6, mongodb-4.0, sqlserver-2017 DBTypeId *string `required:"true"` // 是否开启异步高可用,默认不填,可置为true @@ -655,16 +646,13 @@ type CreateUDBInstanceRequest struct { // 是否创建使用ipv6 资源, 默认为false, 或者不填, 创建ipv6为true EnableIpV6 *bool `required:"false"` - // 高可用架构:1) haproxy(默认): 当前仅支持mysql。2) sentinel: 基于vip和哨兵节点的架构,当前支持mysql和pg。 - HAArch *string `required:"false"` - // UDB实例模式类型, 可选值如下: "Normal": 普通版UDB实例 "HA": 高可用版UDB实例 默认是"Normal" InstanceMode *string `required:"false"` // 【该字段已废弃,请谨慎使用】 InstanceType *string `required:"false" deprecated:"true"` - // 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M/128000M/192000M/256000M/320000M + // 内存限制(MB),目前支持以下几档 2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M/128000M/192000M/256000M/320000M MemoryLimit *int `required:"true"` // 实例名称,至少6位 @@ -679,7 +667,7 @@ type CreateUDBInstanceRequest struct { // 购买时长,默认值1 Quantity *int `required:"false"` - // SSD类型,可选值为"SATA"、“NVMe”,如果UseSSD为true ,则必选 + // SSD类型,可选值为"SATA"、“NVMe”,默认为“SATA” SSDType *string `required:"false"` // 子网ID @@ -688,11 +676,11 @@ type CreateUDBInstanceRequest struct { // 实例所在的业务组名称 Tag *string `required:"false"` - // 专区ID信息(如果这个参数存在这说明是在专区中创建DB) - UDBCId *string `required:"false"` + // 【该字段已废弃,请谨慎使用】 + UDBCId *string `required:"false" deprecated:"true"` - // 是否使用SSD,默认为true。目前主要可用区、海外机房、新机房只提供SSD资源,非SSD资源不再提供。 - UseSSD *bool `required:"false"` + // 【该字段已废弃,请谨慎使用】 + UseSSD *bool `required:"false" deprecated:"true"` // VPC的ID VPCId *string `required:"false"` @@ -741,15 +729,18 @@ func (c *UDBClient) CreateUDBInstance(req *CreateUDBInstanceRequest) (*CreateUDB type CreateUDBInstanceByRecoveryRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` + // 管理员密码 (指定库表回档到新实例时有效) + AdminPassword *string `required:"false"` + // Year, Month, Dynamic,Trial,默认: Dynamic ChargeType *string `required:"false"` @@ -774,6 +765,9 @@ type CreateUDBInstanceByRecoveryRequest struct { // 子网ID SubnetId *string `required:"false"` + // 指定需要恢复的表, 如果指定该字段则回档实例只有指定的表数据,格式为(库名.表名), 指定多个用逗号隔开,eg: [ udb.test, mysql_school.my_student] + Tables *string `required:"false"` + // 专区的Id UDBCId *string `required:"false"` @@ -895,18 +889,24 @@ func (c *UDBClient) CreateUDBParamGroup(req *CreateUDBParamGroupRequest) (*Creat type CreateUDBReplicationInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` + // Year, Month, Dynamic,Trial,默认和主库保持一致 + ChargeType *string `required:"false"` + // 使用的代金券id CouponId *string `required:"false"` + // UDB数据库机型: "Normal": "标准机型" , "SATA_SSD": "SSD机型" , "PCIE_SSD": "SSD高性能机型" , "Normal_Volume": "标准大容量机型", "SATA_SSD_Volume": "SSD大容量机型" , "PCIE_SSD_Volume": "SSD高性能大容量机型", "NVMe_SSD": "快杰机型" + InstanceType *string `required:"false"` + // 是否是仲裁节点,默认false,仲裁节点按最小机型创建 IsArbiter *bool `required:"false"` @@ -916,10 +916,13 @@ type CreateUDBReplicationInstanceRequest struct { // 端口号,默认27017,取值范围3306至65535。 Port *int `required:"false"` + // 购买时长,默认默认和主库保持一致 + Quantity *string `required:"false"` + // primary节点的DBId,该值可以通过DescribeUDBInstance获取 SrcId *string `required:"true"` - // 是否使用SSD,默认 为 true + // 是否使用SSD,默认为true。目前主要可用区、海外机房、新机房只提供SSD资源,非SSD资源不再提供。 UseSSD *bool `required:"false"` } @@ -1052,13 +1055,13 @@ func (c *UDBClient) CreateUDBRouteInstance(req *CreateUDBRouteInstanceRequest) ( type CreateUDBSlaveRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // Year, Month, Dynamic,Trial,默认和主库保持一致 @@ -1067,19 +1070,25 @@ type CreateUDBSlaveRequest struct { // 使用的代金券id CouponId *string `required:"false"` + // 设置从库的延时复制时长(单位秒) + DelaySeconds *int `required:"false"` + // 磁盘空间(GB), 暂时支持20G - 3000G(API支持,前端暂时只开放内存定制) DiskSpace *int `required:"false"` - // UDB实例部署模式,可选值如下:Normal: 普通单点实例HA: 高可用部署实例 - InstanceMode *string `required:"false"` + // 【该字段已废弃,请谨慎使用】 + InstanceMode *string `required:"false" deprecated:"true"` - // UDB实例类型:Normal、SATA_SSD、NVMe_SSD - InstanceType *string `required:"false"` + // 【该字段已废弃,请谨慎使用】 + InstanceType *string `required:"false" deprecated:"true"` + + // 使用物理方式创建从库,目前仅限创建快杰从库,默认为false + IsCreatePhysically *bool `required:"false"` // 是否锁主库,默认为true IsLock *bool `required:"false"` - // 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M/128000M/192000M/256000M/320000M + // 内存限制(MB),目前支持以下几档 2000M/4000M/ 6000M/8000M/12000M/16000M/ 24000M/32000M/48000M/ 64000M/96000M/128000M/192000M/256000M/320000M MemoryLimit *int `required:"false"` // 实例名称,至少6位 @@ -1094,7 +1103,7 @@ type CreateUDBSlaveRequest struct { // 购买时长,默认默认和主库保持一致 Quantity *int `required:"false"` - // SSD类型,可选值为"SATA"、"PCI-E"、“NVMe”,如果UseSSD为true ,则必选 + // 仅对主为SSD型实例有效。 可选值"SATA","NVMe" SSDType *string `required:"false"` // master实例的DBId,该值可以通过DescribeUDBInstance获取 @@ -1103,8 +1112,8 @@ type CreateUDBSlaveRequest struct { // 子网ID(如果不传用默认子网) SubnetId *string `required:"false"` - // 是否使用SSD,默认为true - UseSSD *bool `required:"false"` + // 【该字段已废弃,请谨慎使用】 + UseSSD *bool `required:"false" deprecated:"true"` // VPCID(如果不传用默认的VPC) VPCId *string `required:"false"` @@ -1179,8 +1188,6 @@ func (c *UDBClient) NewDeleteUDBBackupRequest() *DeleteUDBBackupRequest { /* API: DeleteUDBBackup - - */ func (c *UDBClient) DeleteUDBBackup(req *DeleteUDBBackupRequest) (*DeleteUDBBackupResponse, error) { var err error @@ -1200,13 +1207,13 @@ func (c *UDBClient) DeleteUDBBackup(req *DeleteUDBBackupRequest) (*DeleteUDBBack type DeleteUDBInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // DB实例的id,该值可以通过DescribeUDBInstance获取 @@ -1368,13 +1375,13 @@ func (c *UDBClient) DeleteUDBParamGroup(req *DeleteUDBParamGroupRequest) (*Delet type DescribeUDBBackupRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 【该字段已废弃,请谨慎使用】 @@ -1386,8 +1393,8 @@ type DescribeUDBBackupRequest struct { // 过滤条件:起始时间(Unix时间戳) BeginTime *int `required:"false"` - // 【该字段已废弃,请谨慎使用】 - ClassType *string `required:"false" deprecated:"true"` + // 如果未指定GroupId,则可选是否选取特定DB类型的配置(sql, nosql, postgresql, sqlserver) + ClassType *string `required:"false"` // DB实例Id,如果指定,则只获取该db的备份信息 该值可以通过DescribeUDBInstance获取 DBId *string `required:"false"` @@ -1428,7 +1435,7 @@ func (c *UDBClient) NewDescribeUDBBackupRequest() *DescribeUDBBackupRequest { /* API: DescribeUDBBackup -列表UDB实例备份信息 +列表UDB实例备份信息.Zone不填表示多可用区,填代表单可用区 */ func (c *UDBClient) DescribeUDBBackup(req *DescribeUDBBackupRequest) (*DescribeUDBBackupResponse, error) { var err error @@ -1504,13 +1511,13 @@ func (c *UDBClient) DescribeUDBBackupBlacklist(req *DescribeUDBBackupBlacklistRe type DescribeUDBBinlogBackupURLRequest struct { request.CommonBase - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` - // DB实例binlog备份ID,可以从DescribeUDBLogPackage结果当中获得 + // DB实例日志备份ID,可以从DescribeUDBLogPackage结果当中获得 BackupId *int `required:"true"` // DB实例Id @@ -1543,7 +1550,7 @@ func (c *UDBClient) NewDescribeUDBBinlogBackupURLRequest() *DescribeUDBBinlogBac /* API: DescribeUDBBinlogBackupURL -获取UDB的Binlog备份地址 +获取UDB的Binlog或者错误日志或者慢查询日志的备份地址 */ func (c *UDBClient) DescribeUDBBinlogBackupURL(req *DescribeUDBBinlogBackupURLRequest) (*DescribeUDBBinlogBackupURLResponse, error) { var err error @@ -1563,13 +1570,13 @@ func (c *UDBClient) DescribeUDBBinlogBackupURL(req *DescribeUDBBinlogBackupURLRe type DescribeUDBInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区,不填时默认全部可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区,不填时默认全部可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // DB种类,如果是列表操作,则需要指定,不区分大小写,其取值如下:mysql: SQL;mongo: NOSQL;postgresql: postgresql @@ -1590,8 +1597,14 @@ type DescribeUDBInstanceRequest struct { // 分页显示起始偏移位置,列表操作时必填 Offset *int `required:"false"` + // 根据 业务组 筛选DB + Tag *string `required:"false"` + // IsInUDBC为True,UDBCId为空,说明查看整个可用区的专区的db,如果UDBId不为空则只查看此专区下面的db UDBCId *string `required:"false"` + + // 根据VPCId筛选DB + VPCId *string `required:"false"` } // DescribeUDBInstanceResponse is response schema for DescribeUDBInstance action @@ -1705,13 +1718,13 @@ func (c *UDBClient) DescribeUDBInstanceBackupState(req *DescribeUDBInstanceBacku type DescribeUDBInstanceBackupURLRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // DB实例备份ID,该值可以通过DescribeUDBBackup获取 @@ -1719,6 +1732,9 @@ type DescribeUDBInstanceBackupURLRequest struct { // DB实例Id,该值可通过DescribeUDBInstance获取 DBId *string `required:"true"` + + // DB响应中URL的过期时间,该值最小默认4小时,最大7天。不填默认为四小时。(单位/秒) + ValidTime *int `required:"false"` } // DescribeUDBInstanceBackupURLResponse is response schema for DescribeUDBInstanceBackupURL action @@ -1730,6 +1746,9 @@ type DescribeUDBInstanceBackupURLResponse struct { // DB实例备份文件内网的地址 InnerBackupPath string + + // 备份文件的md5值 + MD5 string } // NewDescribeUDBInstanceBackupURLRequest will create request of DescribeUDBInstanceBackupURL action. @@ -1956,12 +1975,15 @@ func (c *UDBClient) DescribeUDBInstanceLog(req *DescribeUDBInstanceLogRequest) ( type DescribeUDBInstancePriceRequest struct { request.CommonBase - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // CPU个数,如果db类型为sqlserver,则为必填参数 + CPU *int `required:"false"` + // Year,按年付费; Month,按月付费 Dynamic,按需付费(需开启权限) Trial,试用(需开启权限)默认为月付 ChargeType *string `required:"false"` @@ -1974,20 +1996,20 @@ type DescribeUDBInstancePriceRequest struct { // 磁盘空间(GB),暂时支持20(GB) - 3000(GB), 输入不带单位 DiskSpace *int `required:"true"` - // 实例的部署类型。可选值为:Normal: 普通单点实例,Slave: 从库实例,HA: 高可用部署实例,默认是Normal + // 实例的部署类型。可选值为:Normal: 普通单点实例,Slave: 从库实例,HA: 高可用部署实例,默认是Normal InstanceMode *string `required:"false"` - // 内存限制(MB),单位为MB.目前支持:1000-96000 + // 内存限制(MB),单位为MB.目前支持:2000-96000 MemoryLimit *int `required:"true"` // DB购买多少个"计费时间单位",默认值为1。比如:买2个月,Quantity就是2。如果计费单位是“按月”,并且Quantity为0,表示“购买到月底” Quantity *int `required:"false"` - // SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必填 + // SSD类型,可选值为"SATA"、“NVMe”. 默认为“SATA” SSDType *string `required:"false"` - // 是否使用SSD,只能填true或false,默认为false - UseSSD *string `required:"false"` + // 【该字段已废弃,请谨慎使用】 + UseSSD *bool `required:"false" deprecated:"true"` } // DescribeUDBInstancePriceResponse is response schema for DescribeUDBInstancePrice action @@ -2033,13 +2055,13 @@ func (c *UDBClient) DescribeUDBInstancePrice(req *DescribeUDBInstancePriceReques type DescribeUDBInstanceStateRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 实例的Id,该值可以通过DescribeUDBInstance获取 @@ -2089,13 +2111,13 @@ func (c *UDBClient) DescribeUDBInstanceState(req *DescribeUDBInstanceStateReques type DescribeUDBInstanceUpgradePriceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 实例的Id @@ -2104,14 +2126,20 @@ type DescribeUDBInstanceUpgradePriceRequest struct { // 磁盘空间(GB), 暂时支持20G - 500G DiskSpace *int `required:"true"` + // "SATA_SSD", "NVMe_SSD" + InstanceType *string `required:"false"` + // 内存限制(MB) MemoryLimit *int `required:"true"` - // SSD类型,可选值为"SATA"、"PCI-E",如果UseSSD为true ,则必选 + // 获取指定时间开始后面的升级价格, 不填的话 是默认当前时间 + OrderStartTime *int `required:"false"` + + // "SATA", "NVMe" SSDType *string `required:"false"` - // 是否使用SSD,默认为false - UseSSD *bool `required:"false"` + // 【该字段已废弃,请谨慎使用】 + UseSSD *bool `required:"false" deprecated:"true"` } // DescribeUDBInstanceUpgradePriceResponse is response schema for DescribeUDBInstanceUpgradePrice action @@ -2166,7 +2194,7 @@ type DescribeUDBLogBackupURLRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` - // DB实例备份ID + // DB实例日志备份ID, 可以从DescribeUDBLogPackage结果当中获得。 BackupId *int `required:"true"` // DB实例Id @@ -2199,7 +2227,7 @@ func (c *UDBClient) NewDescribeUDBLogBackupURLRequest() *DescribeUDBLogBackupURL /* API: DescribeUDBLogBackupURL -获取UDB的slowlog备份地址 +获取UDB的错误日志或者慢查询日志备份地址 */ func (c *UDBClient) DescribeUDBLogBackupURL(req *DescribeUDBLogBackupURLRequest) (*DescribeUDBLogBackupURLResponse, error) { var err error @@ -2219,19 +2247,19 @@ func (c *UDBClient) DescribeUDBLogBackupURL(req *DescribeUDBLogBackupURLRequest) type DescribeUDBLogPackageRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 过滤条件:起始时间(时间戳) BeginTime *int `required:"false"` - // DB实例Id,如果指定,则只获取该db的备份信息 + // DB实例Id,如果指定,则只获取该db的备份信息; 当Type为2时必填 DBId *string `required:"false"` // 过滤条件:结束时间(时间戳) @@ -2243,7 +2271,7 @@ type DescribeUDBLogPackageRequest struct { // 分页显示的起始偏移,列表操作则指定 Offset *int `required:"true"` - // 需要列出的备份文件类型,每种文件的值如下 2 : BINLOG\_BACKUP 3 : SLOW\_QUERY\_BACKUP 4 : ERRORLOG\_BACKUP + // 需要列出的备份文件类型,每种类型的值如下: 2 代表 BINLOG_BACKUP; 3 代表 SLOW_QUERY_BACKUP; 4 代表 ERRORLOG_BACKUP; Type *int `required:"false"` // Types作为Type的补充,支持多值传入,可以获取多个类型的日志记录,如:Types.0=2&Types.1=3 @@ -2315,10 +2343,10 @@ type DescribeUDBParamGroupRequest struct { IsInUDBC *bool `required:"false"` // 分页显示的条目数,列表操作则指定 - Limit *int `required:"false"` + Limit *int `required:"true"` // 分页显示的起始偏移,列表操作则指定 - Offset *int `required:"false"` + Offset *int `required:"true"` // 当请求没有填写Zone时,如果指定为true,表示只拉取跨可用区的相关配置文件,否则,拉取所有机房的配置文件(包括每个单可用区和跨可用区) RegionFlag *bool `required:"false"` @@ -2447,13 +2475,13 @@ func (c *UDBClient) DescribeUDBSplittingInfo(req *DescribeUDBSplittingInfoReques type DescribeUDBTypeRequest struct { request.CommonBase - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` - // 跨可用区高可用DB的备库所在区域,仅当该可用区支持跨可用区高可用时填入。参见 [可用区列表](../summary/regionlist.html) + // 跨可用区高可用DB的备库所在区域,仅当该可用区支持跨可用区高可用时填入。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) BackupZone *string `required:"false"` // 返回从备份创建实例时,该版本号所支持的备份创建版本。如果没传,则表示不是从备份创建。 @@ -2462,6 +2490,9 @@ type DescribeUDBTypeRequest struct { // DB实例类型,如mysql,sqlserver,mongo,postgresql DBClusterType *string `required:"false"` + // 返回从备份创建实例时,该小版本号所支持的备份创建小版本。如果没传,则表示不是从备份创建。 + DBSubVersion *string `required:"false"` + // 返回支持某种磁盘类型的DB类型,如Normal、SSD、NVMe_SSD。如果没传,则表示任何磁盘类型均可。 DiskType *string `required:"false"` @@ -2512,10 +2543,10 @@ func (c *UDBClient) DescribeUDBType(req *DescribeUDBTypeRequest) (*DescribeUDBTy type DisableUDBRWSplittingRequest struct { request.CommonBase - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` // DB实例ID(master) @@ -2733,13 +2764,13 @@ func (c *UDBClient) ExtractUDBParamGroup(req *ExtractUDBParamGroupRequest) (*Ext type FetchUDBInstanceEarliestRecoverTimeRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // DB实例Id @@ -2845,13 +2876,13 @@ func (c *UDBClient) GetUDBClientConnNum(req *GetUDBClientConnNumRequest) (*GetUD type ModifyUDBInstanceNameRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 实例的Id,该值可以通过DescribeUDBInstance获取 @@ -2901,13 +2932,13 @@ func (c *UDBClient) ModifyUDBInstanceName(req *ModifyUDBInstanceNameRequest) (*M type ModifyUDBInstancePasswordRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // sqlserver帐号,仅在sqlserver的情况下填该参数 @@ -2956,6 +2987,62 @@ func (c *UDBClient) ModifyUDBInstancePassword(req *ModifyUDBInstancePasswordRequ return &res, nil } +// ModifyUDBInstanceRemarkNameRequest is request schema for ModifyUDBInstanceRemarkName action +type ModifyUDBInstanceRemarkNameRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"false"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Zone *string `required:"true"` + + // 实例的Id,该值可以通过DescribeUDBInstance获取 + DBId *string `required:"true"` + + // 实例的新备注 + Name *string `required:"true"` +} + +// ModifyUDBInstanceRemarkNameResponse is response schema for ModifyUDBInstanceRemarkName action +type ModifyUDBInstanceRemarkNameResponse struct { + response.CommonBase +} + +// NewModifyUDBInstanceRemarkNameRequest will create request of ModifyUDBInstanceRemarkName action. +func (c *UDBClient) NewModifyUDBInstanceRemarkNameRequest() *ModifyUDBInstanceRemarkNameRequest { + req := &ModifyUDBInstanceRemarkNameRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: ModifyUDBInstanceRemarkName + +修改UDB实例备注信息 +*/ +func (c *UDBClient) ModifyUDBInstanceRemarkName(req *ModifyUDBInstanceRemarkNameRequest) (*ModifyUDBInstanceRemarkNameResponse, error) { + var err error + var res ModifyUDBInstanceRemarkNameResponse + + reqCopier := *req + + err = c.Client.InvokeAction("ModifyUDBInstanceRemarkName", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // PromoteUDBInstanceToHARequest is request schema for PromoteUDBInstanceToHA action type PromoteUDBInstanceToHARequest struct { request.CommonBase @@ -3013,13 +3100,13 @@ func (c *UDBClient) PromoteUDBInstanceToHA(req *PromoteUDBInstanceToHARequest) ( type PromoteUDBSlaveRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 实例的Id,该值可以通过DescribeUDBInstance获取 @@ -3069,13 +3156,13 @@ func (c *UDBClient) PromoteUDBSlave(req *PromoteUDBSlaveRequest) (*PromoteUDBSla type ResizeUDBInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 使用的代金券id @@ -3093,20 +3180,20 @@ type ResizeUDBInstanceRequest struct { // UDB数据库机型: "Normal": "标准机型" , "SATA_SSD": "SSD机型" , "PCIE_SSD": "SSD高性能机型" , "Normal_Volume": "标准大容量机型", "SATA_SSD_Volume": "SSD大容量机型" , "PCIE_SSD_Volume": "SSD高性能大容量机型",“NVMe_SSD”:“快杰机型” InstanceType *string `required:"false"` - // 内存限制(MB),目前支持以下几档 1000M/2000M/4000M/ 6000M/8000M/ 12000M/16000M/ 24000M/32000M/ 48000M/64000M/96000M/128000M/192000M/256000M/320000M。 + // 内存限制(MB),目前支持以下几档 2000M/4000M/ 6000M/8000M/ 12000M/16000M/ 24000M/32000M/ 48000M/64000M/96000M/128000M/192000M/256000M/320000M。 MemoryLimit *int `required:"true"` - // SSD类型,可选值为"SATA"、"PCI-E"、“NVMe”,如果UseSSD为true ,则必选 + // SSD类型,可选值为"SATA"、“NVMe” SSDType *string `required:"false"` // DB关闭状态下升降级,升降级后是否启动DB,默认为false StartAfterUpgrade *bool `required:"false"` - // 专区的ID,如果有值表示专区中的DB配置升降级 - UDBCId *string `required:"false"` + // 【该字段已废弃,请谨慎使用】 + UDBCId *string `required:"false" deprecated:"true"` - // 是否使用SSD,默认为true - UseSSD *bool `required:"false"` + // 【该字段已废弃,请谨慎使用】 + UseSSD *bool `required:"false" deprecated:"true"` } // ResizeUDBInstanceResponse is response schema for ResizeUDBInstance action @@ -3149,10 +3236,10 @@ func (c *UDBClient) ResizeUDBInstance(req *ResizeUDBInstanceRequest) (*ResizeUDB type RestartRWSplittingRequest struct { request.CommonBase - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` // 待关闭读写分离中间键ProxyId @@ -3199,13 +3286,13 @@ func (c *UDBClient) RestartRWSplitting(req *RestartRWSplittingRequest) (*Restart type RestartUDBInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 实例的Id,该值可以通过DescribeUDBInstance获取 @@ -3248,6 +3335,62 @@ func (c *UDBClient) RestartUDBInstance(req *RestartUDBInstanceRequest) (*Restart return &res, nil } +// RollbackUDBInstanceRequest is request schema for RollbackUDBInstance action +type RollbackUDBInstanceRequest struct { + request.CommonBase + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 恢复到某个时间点的时间戳(UTC时间格式,默认单位秒) + RecoveryTime *string `required:"true"` + + // 源实例的Id + SrcDBId *string `required:"true"` + + // 指定需要恢复的表,格式为(库名.表名), 指定多个用逗号隔开,eg: [ udb.test, mysql_school.my_student] + Tables *string `required:"true"` +} + +// RollbackUDBInstanceResponse is response schema for RollbackUDBInstance action +type RollbackUDBInstanceResponse struct { + response.CommonBase + + // 源实例的Id + DBId string +} + +// NewRollbackUDBInstanceRequest will create request of RollbackUDBInstance action. +func (c *UDBClient) NewRollbackUDBInstanceRequest() *RollbackUDBInstanceRequest { + req := &RollbackUDBInstanceRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: RollbackUDBInstance + +在原实例回档指定库表 +*/ +func (c *UDBClient) RollbackUDBInstance(req *RollbackUDBInstanceRequest) (*RollbackUDBInstanceResponse, error) { + var err error + var res RollbackUDBInstanceResponse + + reqCopier := *req + + err = c.Client.InvokeAction("RollbackUDBInstance", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // SetUDBRWSplittingRequest is request schema for SetUDBRWSplitting action type SetUDBRWSplittingRequest struct { request.CommonBase @@ -3314,13 +3457,13 @@ func (c *UDBClient) SetUDBRWSplitting(req *SetUDBRWSplittingRequest) (*SetUDBRWS type StartUDBInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 实例的Id,该值可以通过DescribeUDBInstance获取 @@ -3367,13 +3510,13 @@ func (c *UDBClient) StartUDBInstance(req *StartUDBInstanceRequest) (*StartUDBIns type StopUDBInstanceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 实例的Id,该值可以通过DescribeUDBInstance获取 @@ -3541,29 +3684,41 @@ func (c *UDBClient) SwitchUDBInstanceToHA(req *SwitchUDBInstanceToHARequest) (*S type UpdateUDBInstanceBackupStrategyRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 备份时期标记位。共7位,每一位为一周中一天的备份情况,0表示关闭当天备份,1表示打开当天备份。最右边的一位为星期天的备份开关,其余从右到左依次为星期一到星期六的备份配置开关,每周必须至少设置两天备份。例如:1100000表示打开星期六和星期五的备份功能 BackupDate *string `required:"false"` - // 选择默认的备份方式,可选 snapshot 表示使用快照/物理备份,不填或者其它任何值为默认的逻辑备份。需要同时设置BackupDate字段。(注意现在只有SSD 版本的 MySQL实例支持物理备份) + // 选择默认的备份方式,可选nobackup表示不备份, snapshot 表示使用快照备份,logic 表示使用逻辑备份。需要同时设置BackupDate字段。(快照备份即物理备份。SSD版本的mysql实例支持设置为snapshot,NVMe版本的mysql实例支持设置为xtrabackup) BackupMethod *string `required:"false"` // 备份的整点时间,范围[0,23] BackupTime *int `required:"false"` + // 远端binlog保存时长(天) + BinlogRemoteSaveDays *int `required:"false"` + // 主节点的Id DBId *string `required:"true"` + // 是否开启binlog备份, 默认为未开启 + EnableBinlogBackup *bool `required:"false"` + // 当导出某些数据遇到问题后,是否强制导出其他剩余数据默认是false需要同时设置BackupDate字段 ForceDump *bool `required:"false"` + + // 自动备份转存到用户自己的bucket名称,要包含到对应的token id里 + UserBucket *string `required:"false"` + + // 自动备份转存到用户自己的bucket 的tokenid, 需要用户自己自己设置权限 + UserTokenID *string `required:"false"` } // UpdateUDBInstanceBackupStrategyResponse is response schema for UpdateUDBInstanceBackupStrategy action @@ -3782,6 +3937,74 @@ func (c *UDBClient) UpgradeUDBInstanceToHA(req *UpgradeUDBInstanceToHARequest) ( return &res, nil } +// UpgradeUDBVersionRequest is request schema for UpgradeUDBVersion action +type UpgradeUDBVersionRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"false"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Zone *string `required:"true"` + + // db实例资源id + DBId *string `required:"true"` + + // db需要升级的小版本 + DBSubVersion *string `required:"true"` + + // 该值为一个unix时间戳,代表开始预期切换实例结束的时间 + SwitchEndTime *int `required:"false"` + + // 该值为一个unix时间戳,代表开始切换实例的时间 + SwitchStartTime *int `required:"false"` + + // 切换类型,可选值为"immediately"和"customize",分别代表立即切换和自定义切换时间,自定义切换时间需要填写SwitchStartTime和SwitchEndTime + SwitchType *string `required:"true"` +} + +// UpgradeUDBVersionResponse is response schema for UpgradeUDBVersion action +type UpgradeUDBVersionResponse struct { + response.CommonBase + + // 返回信息 + Message string +} + +// NewUpgradeUDBVersionRequest will create request of UpgradeUDBVersion action. +func (c *UDBClient) NewUpgradeUDBVersionRequest() *UpgradeUDBVersionRequest { + req := &UpgradeUDBVersionRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: UpgradeUDBVersion + +升级db实例版本 +*/ +func (c *UDBClient) UpgradeUDBVersion(req *UpgradeUDBVersionRequest) (*UpgradeUDBVersionResponse, error) { + var err error + var res UpgradeUDBVersionResponse + + reqCopier := *req + + err = c.Client.InvokeAction("UpgradeUDBVersion", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // UploadUDBParamGroupRequest is request schema for UploadUDBParamGroup action type UploadUDBParamGroupRequest struct { request.CommonBase diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/doc.go index 6b602d431f..066fbd7d29 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/doc.go @@ -5,8 +5,8 @@ Package udb include resources of ucloud udb product See also - - API: https://docs.ucloud.cn/api/udb-api/index - - Product: https://www.ucloud.cn/site/product/udb.html + - API: https://docs.ucloud.cn/api/udb-api/index + - Product: https://www.ucloud.cn/site/product/udb.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/models.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/models.go index dee0809df0..b7afa7a006 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/models.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/udb/models.go @@ -34,6 +34,12 @@ type UDBBackupSet struct { // 对应的db名称 DBName string + // 备份错误信息 + ErrorInfo string + + // 备份文件的MD5值,备份完成后显示,备份中或备份失败时为空,目前只支持Mysql NVMe机型与Mongo + MD5 string + // 备份状态 Backuping // 备份中 Success // 备份成功 Failed // 备份失败 Expired // 备份过期 State string @@ -41,18 +47,6 @@ type UDBBackupSet struct { Zone string } -/* -UFileDataSet - 增加ufile的描述 -*/ -type UFileDataSet struct { - - // bucket名称 - Bucket string - - // Ufile的令牌tokenid - TokenID string -} - /* UDBSlaveInstanceSet - DescribeUDBSlaveInstance */ @@ -76,6 +70,9 @@ type UDBSlaveInstanceSet struct { // 备份策略,一天内备份时间间隔,单位小时,默认24小时 BackupDuration int + // 0 区分大小写, 1不区分, 只针对mysql8.0 + CaseSensitivityParam int + // Year, Month, Dynamic,Trial,默认: Dynamic ChargeType string @@ -133,6 +130,9 @@ type UDBSlaveInstanceSet struct { // 端口号,mysql默认3306,mongodb默认27017 Port int + // 延时从库时长 + ReplicationDelaySeconds int + // DB实例角色,mysql区分master/slave,mongodb多种角色 Role string @@ -142,7 +142,7 @@ type UDBSlaveInstanceSet struct { // 对mysql的slave而言是master的DBId,对master则为空, 对mongodb则是副本集id SrcDBId string - // DB状态标记 Init:初始化中,Fail:安装失败,Starting:启动中,Running:运行,Shutdown:关闭中,Shutoff:已关闭,Delete:已删除,Upgrading:升级中,Promoting:提升为独库进行中,Recovering:恢复中,Recover fail:恢复失败 + // DB状态标记 Init:初始化中,Fail:安装失败,Starting:启动中,Running:运行,Shutdown:关闭中,Shutoff:已关闭,Delete:已删除,Upgrading:升级中,Promoting:提升为独库进行中,Recovering:恢复中,Recover fail:恢复失败,Remakeing:重做中,RemakeFail:重做失败 State string // 子网ID @@ -170,6 +170,18 @@ type UDBSlaveInstanceSet struct { Zone string } +/* +UFileDataSet - 增加ufile的描述 +*/ +type UFileDataSet struct { + + // bucket名称 + Bucket string + + // Ufile的令牌tokenid + TokenID string +} + /* UDBInstanceSet - DescribeUDBInstance */ @@ -196,6 +208,9 @@ type UDBInstanceSet struct { // 跨可用区高可用备库所在可用区 BackupZone string + // 0区分大小写, 1不分区 + CaseSensitivityParam int + // Year, Month, Dynamic,Trial,默认: Dynamic ChargeType string @@ -211,6 +226,9 @@ type UDBInstanceSet struct { // DB实例id DBId string + // mysql实例提供具体小版本信息 + DBSubVersion string + // DB类型id,mysql/mongodb按版本细分各有一个id 目前id的取值范围为[1,7],数值对应的版本如下: 1:mysql-5.5,2:mysql-5.1,3:percona-5.5 4:mongodb-2.4,5:mongodb-2.6,6:mysql-5.6, 7:percona-5.6 DBTypeId string @@ -238,7 +256,7 @@ type UDBInstanceSet struct { // UDB数据库机型 InstanceType string - // UDB数据库机型ID + // UDB数据库机型ID (已弃用) InstanceTypeId int // DB实例日志文件大小,单位GB @@ -268,7 +286,7 @@ type UDBInstanceSet struct { // 对mysql的slave而言是master的DBId,对master则为空, 对mongodb则是副本集id SrcDBId string - // DB状态标记 Init:初始化中,Fail:安装失败,Starting:启动中,Running:运行,Shutdown:关闭中,Shutoff:已关闭,Delete:已删除,Upgrading:升级中,Promoting:提升为独库进行中,Recovering:恢复中,Recover fail:恢复失败 + // DB状态标记 Init:初始化中,Fail:安装失败,Starting:启动中,Running:运行,Shutdown:关闭中,Shutoff:已关闭,Delete:已删除,Upgrading:升级中,Promoting:提升为独库进行中,Recovering:恢复中,Recover fail:恢复失败, Remakeing:重做中,RemakeFail:重做失败,VersionUpgrading:小版本升级中,VersionUpgradeWaitForSwitch:高可用等待切换,VersionUpgradeFail:小版本升级失败 State string // 子网ID @@ -352,6 +370,9 @@ type LogPackageDataSet struct { // 跨可用区高可用备库所在可用区 BackupZone string + // binlog备份类型 Manual //手动备份 Auto //自动备份 + BinlogType string + // dbid DBId string @@ -448,6 +469,9 @@ UDBTypeSet - DescribeUDBType */ type UDBTypeSet struct { + // mysql子版本,如mysql-8.0.25,mysql-8.0.16 + DBSubVersion string + // DB类型id,mysql/mongodb按版本细分各有一个id, 目前id的取值范围为[1,7],数值对应的版本如下: 1:mysql-5.5,2:mysql-5.1,3:percona-5.5 4:mongodb-2.4,5:mongodb-2.6,6:mysql-5.6, 7:percona-5.6 DBTypeId string } diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/apis.go index 0c79006ea9..091cf705ca 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/apis.go @@ -96,6 +96,9 @@ type CloneUDiskRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // 快照服务备份策略。默认采用基础版套餐开通,“Base”:基础版,“ Ultimate”:旗舰版,“ Custom”:自定义备份链 + BackupMode *string `required:"false"` + // Year , Month, Dynamic,Postpay,Trial 默认: Month ChargeType *string `required:"false"` @@ -105,9 +108,18 @@ type CloneUDiskRequest struct { // 使用的代金券id CouponId *string `required:"false"` + // BackupMode为Custom时,进行设置, 以5天级为基础进行倍数扩增,如5、10、15、20、25、30 + Day *int `required:"false"` + // Host实例ID。克隆出的云盘可直接挂载到该主机上。 HostId *string `required:"false"` + // BackupMode为Custom时,进行设置, 以24小时级为基础进行倍数扩增,如24、48、72、96 + Hour *int `required:"false"` + + // BackupMode为Custom时,进行设置, 以12小时秒级为基础进行倍数扩增,如12、24、36、48 + Journal *int `required:"false"` + // 实例名称 Name *string `required:"true"` @@ -117,6 +129,9 @@ type CloneUDiskRequest struct { // RDMA集群id。指定RSSD云盘克隆到对应的RDMA集群。 RdmaClusterId *string `required:"false"` + // 新克隆UDisk的大小,单位:GB。指定Size须大于等于源盘Size,小于源盘Size或者不指定该参数均按源盘Size克隆新盘。普通数据盘:范围[1~8000];SSD数据盘:范围[1~8000];RSSD数据盘:范围[1~32000];高效数据盘:范围[1~32000]。 + Size *int `required:"false"` + // 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No SnapshotService *string `required:"false"` @@ -182,6 +197,9 @@ type CloneUDiskSnapshotRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // 快照服务备份策略。默认采用基础版套餐开通,“Base”:基础版,“ Ultimate”:旗舰版,“ Custom”:自定义备份链 + BackupMode *string `required:"false"` + // Year , Month, Dynamic,Postpay 默认: Dynamic ChargeType *string `required:"false"` @@ -191,9 +209,18 @@ type CloneUDiskSnapshotRequest struct { // 使用的代金券id CouponId *string `required:"false"` + // BackupMode为Custom时,进行设置, 以5天级为基础进行倍数扩增,如5、10、15、20、25、30 + Day *int `required:"false"` + // Host实例ID。克隆出的云盘可直接挂载到该主机上。 HostId *string `required:"false"` + // BackupMode为Custom时,进行设置, 以24小时级为基础进行倍数扩增,如24、48、72、96 + Hour *int `required:"false"` + + // BackupMode为Custom时,进行设置, 以12小时秒级为基础进行倍数扩增,如12、24、36、48 + Journal *int `required:"false"` + // 实例名称 Name *string `required:"true"` @@ -203,7 +230,7 @@ type CloneUDiskSnapshotRequest struct { // RDMA集群id。指定RSSD云盘克隆到对应的RDMA集群。 RdmaClusterId *string `required:"false"` - // 购买UDisk大小,单位:GB,范围[1~8000]。(UDisk大小设定对本地盘快照有效,对云盘快照无效) + // 新克隆UDisk的大小,单位:GB。指定Size须大于等于源盘Size,小于源盘Size或者不指定该参数均按源盘Size克隆新盘。普通数据盘:范围[1~8000];SSD数据盘:范围[1~8000];RSSD数据盘:范围[1~32000];高效数据盘:范围[1~32000]。 Size *int `required:"false"` // 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No @@ -271,6 +298,9 @@ type CloneUDiskUDataArkRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // 快照服务备份策略。默认采用基础版套餐开通,“Base”:基础版,“ Ultimate”:旗舰版,“ Custom”:自定义备份链 + BackupMode *string `required:"false"` + // Year , Month, Dynamic,Postpay 默认: Dynamic ChargeType *string `required:"false"` @@ -280,9 +310,18 @@ type CloneUDiskUDataArkRequest struct { // 使用的代金券id CouponId *string `required:"false"` + // BackupMode为Custom时,进行设置, 以5天级为基础进行倍数扩增,如5、10、15、20、25、30 + Day *int `required:"false"` + // Host实例ID。克隆出的云盘可直接挂载到该主机上。 HostId *string `required:"false"` + // BackupMode为Custom时,进行设置, 以24小时级为基础进行倍数扩增,如24、48、72、96 + Hour *int `required:"false"` + + // BackupMode为Custom时,进行设置, 以12小时秒级为基础进行倍数扩增,如12、24、36、48 + Journal *int `required:"false"` + // 实例名称 Name *string `required:"true"` @@ -292,7 +331,7 @@ type CloneUDiskUDataArkRequest struct { // RDMA集群id。指定RSSD云盘克隆到对应的RDMA集群。 RdmaClusterId *string `required:"false"` - // 购买UDisk大小,单位:GB,范围[1~8000]。(UDisk大小设定对本地盘备份有效,对云盘备份无效) + // 新克隆UDisk的大小,单位:GB。指定Size须大于等于源盘Size,小于源盘Size或者不指定该参数均按源盘Size克隆新盘。普通数据盘:范围[1~8000];SSD数据盘:范围[1~8000];RSSD数据盘:范围[1~32000];高效数据盘:范围[1~32000]。 Size *int `required:"false"` // 是否开启快照服务(开启快照服务,可免费开启数据方舟)。Yes:开启,No:不开启,默认值:No @@ -363,6 +402,9 @@ type CreateAttachUDiskRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // 快照服务备份策略。默认采用基础版套餐开通,“Base”:基础版,“ Ultimate”:旗舰版,“ Custom”:自定义备份链 + BackupMode *string `required:"false"` + // Year , Month, Dynamic, Postpay, Trial 。 Size小于等于2000时,默认为Dynamic;Size大于2000时,默认为Month。 ChargeType *string `required:"false"` @@ -372,12 +414,21 @@ type CreateAttachUDiskRequest struct { // 使用的代金券id CouponId *string `required:"false"` + // BackupMode为Custom时,进行设置, 以5天级为基础进行倍数扩增,如5、10、15、20、25、30 + Day *int `required:"false"` + // UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),EfficiencyDataDisk(高效数据盘),默认值(DataDisk) DiskType *string `required:"false"` // Host实例ID。当创建云盘类型为RSSDDataDisk时,根据传入的HostId,创建与虚机在同一PodId下的云盘。 HostId *string `required:"false"` + // BackupMode为Custom时,进行设置, 以24小时级为基础进行倍数扩增,如24、48、72、96 + Hour *int `required:"false"` + + // BackupMode为Custom时,进行设置, 以12小时秒级为基础进行倍数扩增,如12、24、36、48 + Journal *int `required:"false"` + // 是否允许多点挂载(Yes: 允许多点挂载, No: 不允许多点挂载, 不填默认Yes ) MultiAttach *string `required:"false"` @@ -467,6 +518,9 @@ type CreateUDiskRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // 快照服务备份策略。默认采用基础版套餐开通,“Base”:基础版,“ Ultimate”:旗舰版,“ Custom”:自定义备份链 + BackupMode *string `required:"false"` + // Year , Month, Dynamic, Postpay, Trial 。默认为Dynamic。 ChargeType *string `required:"false"` @@ -476,9 +530,18 @@ type CreateUDiskRequest struct { // 使用的代金券id CouponId *string `required:"false"` + // BackupMode为Custom时,进行设置, 以5天级为基础进行倍数扩增,如5、10、15、20、25、30 + Day *int `required:"false"` + // UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),EfficiencyDataDisk(高效数据盘),默认值(DataDisk) DiskType *string `required:"false"` + // BackupMode为Custom时,进行设置, 以24小时级为基础进行倍数扩增,如24、48、72、96 + Hour *int `required:"false"` + + // BackupMode为Custom时,进行设置, 以12小时秒级为基础进行倍数扩增,如12、24、36、48 + Journal *int `required:"false"` + // 实例名称 Name *string `required:"true"` @@ -893,15 +956,27 @@ type DescribeUDiskPriceRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // 快照服务备份策略。默认采用基础版套餐开通,“Base”:基础版,“ Ultimate”:旗舰版,“ Custom”:自定义备份链 + BackupMode *string `required:"false"` + // Year , Month, Dynamic,Postpay,Trial 默认: Month ChargeType *string `required:"false"` + // BackupMode为Custom时,进行设置, 以5天级为基础进行倍数扩增,如5、10、15、20、25、30 + Day *int `required:"false"` + // UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),EfficiencyDataDisk(高效数据盘),SystemDisk(普通系统盘),SSDSystemDisk(SSD系统盘),RSSDSystemDisk(RSSD系统盘),EfficiencySystemDisk(高效系统盘),默认值(DataDisk) DiskType *string `required:"false"` + // BackupMode为Custom时,进行设置, 以24小时级为基础进行倍数扩增,如24、48、72、96 + Hour *int `required:"false"` + // 是否将快照服务(数据方舟),云硬盘放入一张订单, 是:"Yes",否:"No",默认是"No" IsTotalPrice *string `required:"false"` + // BackupMode为Custom时,进行设置, 以12小时秒级为基础进行倍数扩增,如12、24、36、48 + Journal *int `required:"false"` + // 云主机机型(V2.0),枚举值["N", "C", "G", "O", "OM"]。参考[[api:uhost-api:uhost_type|云主机机型说明]]。 MachineType *string `required:"false"` @@ -1038,9 +1113,21 @@ type DescribeUDiskUpgradePriceRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // 快照服务备份策略。默认采用基础版套餐开通,“Base”:基础版,“ Ultimate”:旗舰版,“ Custom”:自定义备份链 + BackupMode *string `required:"false"` + + // BackupMode为Custom时,进行设置, 以5天级为基础进行倍数扩增,如5、10、15、20、25、30 + Day *int `required:"false"` + // 【已废弃】UDisk 类型: DataDisk(普通数据盘),SSDDataDisk(SSD数据盘),RSSDDataDisk(RSSD数据盘),EfficiencyDataDisk(高效数据盘),SystemDisk(普通系统盘),SSDSystemDisk(SSD系统盘),RSSDSystemDisk(RSSD系统盘),EfficiencySystemDisk(高效系统盘),默认值(DataDisk) DiskType *string `required:"false"` + // BackupMode为Custom时,进行设置, 以24小时级为基础进行倍数扩增,如24、48、72、96 + Hour *int `required:"false"` + + // BackupMode为Custom时,进行设置, 以12小时秒级为基础进行倍数扩增,如12、24、36、48 + Journal *int `required:"false"` + // 【已废弃】云主机机型(V2.0),枚举值["N", "C", "G", "O", "OM"]。参考[[api:uhost-api:uhost_type|云主机机型说明]]。 MachineType *string `required:"false"` @@ -1099,6 +1186,77 @@ func (c *UDiskClient) DescribeUDiskUpgradePrice(req *DescribeUDiskUpgradePriceRe return &res, nil } +// DetachDeleteUDiskRequest is request schema for DetachDeleteUDisk action +type DetachDeleteUDiskRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"false"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Zone *string `required:"false"` + + // 是否删除快照服务。Yes:删除,No:不删除,默认值:Yes。 + DeleteSnapshotService *string `required:"false"` + + // Host实例ID + HostId *string `required:"false"` + + // 需要卸载的UDisk实例ID + UDiskId *string `required:"true"` + + // UHost实例ID。【UHostId和HostId必须选填一个,本字段即将废弃,建议使用HostId】 + UHostId *string `required:"false"` +} + +// DetachDeleteUDiskResponse is response schema for DetachDeleteUDisk action +type DetachDeleteUDiskResponse struct { + response.CommonBase + + // 卸载的Host实例ID + HostId string + + // 卸载删除的UDisk实例ID + UDiskId string + + // 卸载的UHost实例ID。【即将废弃,建议使用HostId】 + UHostId string +} + +// NewDetachDeleteUDiskRequest will create request of DetachDeleteUDisk action. +func (c *UDiskClient) NewDetachDeleteUDiskRequest() *DetachDeleteUDiskRequest { + req := &DetachDeleteUDiskRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: DetachDeleteUDisk + +卸载删除某个已经挂载在指定UHost实例上的UDisk +*/ +func (c *UDiskClient) DetachDeleteUDisk(req *DetachDeleteUDiskRequest) (*DetachDeleteUDiskResponse, error) { + var err error + var res DetachDeleteUDiskResponse + + reqCopier := *req + + err = c.Client.InvokeAction("DetachDeleteUDisk", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // DetachUDiskRequest is request schema for DetachUDisk action type DetachUDiskRequest struct { request.CommonBase diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/doc.go index 95749f7a55..6f529c5f25 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/doc.go @@ -5,8 +5,8 @@ Package udisk include resources of ucloud udisk product See also - - API: https://docs.ucloud.cn/api/udisk-api/index - - Product: https://www.ucloud.cn/site/product/udisk.html + - API: https://docs.ucloud.cn/api/udisk-api/index + - Product: https://www.ucloud.cn/site/product/udisk.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/models.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/models.go index 16b1a1c230..4904178734 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/models.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/udisk/models.go @@ -163,13 +163,13 @@ UDiskSnapshotSet - DescribeUDiskSnapshot */ type UDiskSnapshotSet struct { - // 该快照的cmk id + // 【已废弃】该快照的cmk id CmkId string - // cmk id 别名 + // 【已废弃】cmk id 别名 CmkIdAlias string - // 该快照cmk的状态, Enabled(正常),Disabled(失效),Deleted(删除),NoCmkId(非加密盘) + // 【已废弃】该快照cmk的状态, Enabled(正常),Disabled(失效),Deleted(删除),NoCmkId(非加密盘) CmkIdStatus string // 快照描述 @@ -178,13 +178,13 @@ type UDiskSnapshotSet struct { // 创建时间 CreateTime int - // 该快照的密文密钥 + // 【已废弃】该快照的密文密钥 DataKey string // 磁盘类型,0:普通数据盘;1:普通系统盘;2:SSD数据盘;3:SSD系统盘;4:RSSD数据盘;5:RSSD系统盘。 DiskType int - // 过期时间 + // 【已废弃】过期时间 ExpiredTime int // 对应磁盘是否处于可用状态 @@ -211,7 +211,7 @@ type UDiskSnapshotSet struct { // 对应磁盘制作快照时所挂载的主机 UHostId string - // 是否是加密盘快照,是:"Yes", 否:"No" + // 【已废弃】是否是加密盘快照,是:"Yes", 否:"No" UKmsMode string // 快照版本 diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/udpn/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/udpn/doc.go index a23893a54a..0aa3157ba9 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/udpn/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/udpn/doc.go @@ -5,8 +5,8 @@ Package udpn include resources of ucloud udpn product See also - - API: https://docs.ucloud.cn/api/udpn-api/index - - Product: https://www.ucloud.cn/site/product/udpn.html + - API: https://docs.ucloud.cn/api/udpn-api/index + - Product: https://www.ucloud.cn/site/product/udpn.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/apis.go index 181f579301..6998ae8acd 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/apis.go @@ -195,6 +195,12 @@ func (c *UHostClient) CreateIsolationGroup(req *CreateIsolationGroupRequest) (*C return &res, nil } +/* +UHostDiskCustomBackup is request schema for complex param +*/ +type UHostDiskCustomBackup struct { +} + /* CreateUHostInstanceParamNetworkInterfaceIPv6 is request schema for complex param */ @@ -226,21 +232,9 @@ type CreateUHostInstanceParamNetworkInterfaceEIP struct { } /* -UHostDiskCustomBackup is request schema for complex param -*/ -type UHostDiskCustomBackup struct { -} - -/* -CreateUHostInstanceParamNetworkInterface is request schema for complex param +CreateUHostInstanceParamSecGroupId is request schema for complex param */ -type CreateUHostInstanceParamNetworkInterface struct { - - // 申请并绑定一个教育网EIP。True为申请并绑定,False为不会申请绑定,默认False。当前只支持具有HPC特性的机型。 - CreateCernetIp *bool `required:"false"` - - // - EIP *CreateUHostInstanceParamNetworkInterfaceEIP `required:"false"` +type CreateUHostInstanceParamSecGroupId struct { } /* @@ -278,14 +272,23 @@ type UHostDisk struct { // 磁盘大小,单位GB。请参考[[api:uhost-api:disk_type|磁盘类型]]。 Size *int `required:"true"` + // 从快照创建盘时所用快照id,目前仅支持数据盘 + SnapshotId *string `required:"false"` + // 磁盘类型。请参考[[api:uhost-api:disk_type|磁盘类型]]。 Type *string `required:"true"` } /* -CreateUHostInstanceParamSecGroupId is request schema for complex param +CreateUHostInstanceParamNetworkInterface is request schema for complex param */ -type CreateUHostInstanceParamSecGroupId struct { +type CreateUHostInstanceParamNetworkInterface struct { + + // 申请并绑定一个教育网EIP。True为申请并绑定,False为不会申请绑定,默认False。当前只支持具有HPC特性的机型。 + CreateCernetIp *bool `required:"false"` + + // + EIP *CreateUHostInstanceParamNetworkInterfaceEIP `required:"false"` } /* @@ -322,7 +325,7 @@ type CreateUHostInstanceRequest struct { // 虚拟CPU核数。可选参数:1-64(具体机型与CPU的对应关系参照控制台)。默认值: 4。 CPU *int `required:"false"` - // 计费模式。枚举值为: \\ > Year,按年付费; \\ > Month,按月付费;\\ > Dynamic,按小时预付费 \\ > Postpay,按小时后付费(支持关机不收费,目前仅部分可用区支持,请联系您的客户经理) \\Preemptive计费为抢占式实例(内测阶段) \\ 默认为月付 + // 计费模式。枚举值为: \\ > Year,按年付费; \\ > Month,按月付费;\\ > Dynamic,按小时预付费 \\ > Postpay,按小时后付费(支持关机不收费,目前仅部分可用区支持,请联系您的客户经理) \\ > Spot计费为抢占式实例(内测阶段) \\ 默认为月付 ChargeType *string `required:"false"` // 主机代金券ID。请通过DescribeCoupon接口查询,或登录用户中心查看 @@ -343,6 +346,9 @@ type CreateUHostInstanceRequest struct { // GPU类型,枚举值["K80", "P40", "V100", "T4","T4A", "T4S","2080Ti","2080Ti-4C","1080Ti", "T4/4", "MI100", "V100S",2080","2080TiS","2080TiPro","3090","A100"],MachineType为G时必填 GpuType *string `required:"false"` + // 【私有专区属性】专区云主机开启宿住关联属性 + HostBinding *bool `required:"false"` + // 【该字段已废弃,请谨慎使用】 HostType *string `required:"false" deprecated:"true"` @@ -427,6 +433,12 @@ type CreateUHostInstanceRequest struct { // 【该字段已废弃,请谨慎使用】 TimemachineFeature *string `required:"false" deprecated:"true"` + // 【私有专区属性】专区宿主机id + UDHostId *string `required:"false"` + + // 【私有专区属性】专区id + UDSetId *string `required:"false"` + // 【建议后续不再使用】云主机机型(V1.0),在本字段和字段MachineType中,仅需要其中1个字段即可。参考[[api:uhost-api:uhost_type|云主机机型说明]]。 UHostType *string `required:"false"` @@ -660,8 +672,10 @@ type DescribeAvailableInstanceTypesRequest struct { // Region *string `required:"true"` // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) - // Zone *string `required:"true"` + // Zone *string `required:"false"` + // 指定机型列表 + MachineTypes []string `required:"false"` } // DescribeAvailableInstanceTypesResponse is response schema for DescribeAvailableInstanceTypes action @@ -670,6 +684,9 @@ type DescribeAvailableInstanceTypesResponse struct { // AvailableInstanceTypes AvailableInstanceTypes []AvailableInstanceTypes + + // 当前区域是否可售 + Status string } // NewDescribeAvailableInstanceTypesRequest will create request of DescribeAvailableInstanceTypes action. @@ -739,14 +756,14 @@ type DescribeImageRequest struct { type DescribeImageResponse struct { response.CommonBase - // 操作名称 - Action string + // 【该字段已废弃,请谨慎使用】 + Action string `deprecated:"true"` // 镜像列表详见 UHostImageSet ImageSet []UHostImageSet - // 返回码 - RetCode int + // 【该字段已废弃,请谨慎使用】 + RetCode int `deprecated:"true"` // 满足条件的镜像总数 TotalCount int @@ -1151,12 +1168,6 @@ type getUHostInstancePriceParamDisks struct { Type *string `required:"true"` } -/* -GetUHostInstancePriceParamVirtualGpu is request schema for complex param -*/ -type GetUHostInstancePriceParamVirtualGpu struct { -} - // GetUHostInstancePriceRequest is request schema for GetUHostInstancePrice action type GetUHostInstancePriceRequest struct { request.CommonBase @@ -1191,7 +1202,7 @@ type GetUHostInstancePriceRequest struct { // GPU卡核心数。仅GPU机型支持此字段。 GPU *int `required:"false"` - // GPU类型,枚举值["K80", "P40", "V100", "T4","T4S","2080Ti","2080Ti-4C","1080Ti"] + // GPU类型,枚举值["K80", "P40", "V100", "T4","T4S","2080Ti","2080Ti-4C","1080Ti", "T4/4","MI100","V100S"] GpuType *string `required:"false"` // 镜像Id,可通过 [DescribeImage](describe_image.html) 获取镜像ID, 如果镜像ID不传,系统盘大小必传 @@ -1200,7 +1211,7 @@ type GetUHostInstancePriceRequest struct { // 【该字段已废弃,请谨慎使用】 LifeCycle *int `required:"false" deprecated:"true"` - // 云主机机型(V2版本概念)。枚举值["N", "C", "G", "O", "OS", "OPRO", "OMAX", "O.BM"]。参考[[api:uhost-api:uhost_type|云主机机型说明]]。 + // 云主机机型(V2版本概念)。枚举值["N", "C", "G", "O", "OS", "OPRO", "OMAX", "O.BM", "O.EPC"]。参考[[api:uhost-api:uhost_type|云主机机型说明]]。 MachineType *string `required:"false"` // 内存大小。单位:MB。范围 :[1024, 262144],取值为1024的倍数(可选范围参照好控制台)。默认值:8192 @@ -1212,12 +1223,18 @@ type GetUHostInstancePriceRequest struct { // 购买时长。默认: 1。按小时购买(Dynamic)时无需此参数。 月付时,此参数传0,代表了购买至月末。 Quantity *int `required:"false"` + // 返回价格详细信息 + ShowPriceDetails *bool `required:"false"` + // 【该字段已废弃,请谨慎使用】 StorageType *string `required:"false" deprecated:"true"` // 【该字段已废弃,请谨慎使用】 TimemachineFeature *string `required:"false" deprecated:"true"` + // 专区云主机。如果要在专区宿主机上创建云主机,该参数可以填写为true + UDSetUHostInstance *bool `required:"false"` + // 【待废弃】云主机机型(V1版本概念)。参考[[api:uhost-api:uhost_type|云主机机型说明]]。 UHostType *string `required:"false"` @@ -1332,6 +1349,115 @@ func (c *UHostClient) GetUHostInstanceVncInfo(req *GetUHostInstanceVncInfoReques return &res, nil } +// GetUHostRefundPriceRequest is request schema for GetUHostRefundPrice action +type GetUHostRefundPriceRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"false"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 【数组】UHost实例ID。参见 [DescribeUHostInstance](describe_uhost_instance.html) + UHostIds []string `required:"true"` +} + +// GetUHostRefundPriceResponse is response schema for GetUHostRefundPrice action +type GetUHostRefundPriceResponse struct { + response.CommonBase + + // 主机删除扣除费用详情 + RefundPriceSet []UHostRefundPriceSet +} + +// NewGetUHostRefundPriceRequest will create request of GetUHostRefundPrice action. +func (c *UHostClient) NewGetUHostRefundPriceRequest() *GetUHostRefundPriceRequest { + req := &GetUHostRefundPriceRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: GetUHostRefundPrice + +获取主机删除扣除费用。包括主机、磁盘、快照服务、EIP等资源的费用 +*/ +func (c *UHostClient) GetUHostRefundPrice(req *GetUHostRefundPriceRequest) (*GetUHostRefundPriceResponse, error) { + var err error + var res GetUHostRefundPriceResponse + + reqCopier := *req + + err = c.Client.InvokeAction("GetUHostRefundPrice", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + +// GetUHostRenewPriceRequest is request schema for GetUHostRenewPrice action +type GetUHostRenewPriceRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"false"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 计费类型。Year,Month,Dynamic,默认返回全部计费方式对应的价格 + ChargeType *string `required:"true"` + + // UHost实例ID + UHostId *string `required:"true"` +} + +// GetUHostRenewPriceResponse is response schema for GetUHostRenewPrice action +type GetUHostRenewPriceResponse struct { + response.CommonBase + + // 价格列表 + PriceSet []BasePriceSet +} + +// NewGetUHostRenewPriceRequest will create request of GetUHostRenewPrice action. +func (c *UHostClient) NewGetUHostRenewPriceRequest() *GetUHostRenewPriceRequest { + req := &GetUHostRenewPriceRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: GetUHostRenewPrice + +获取主机续费价格 +*/ +func (c *UHostClient) GetUHostRenewPrice(req *GetUHostRenewPriceRequest) (*GetUHostRenewPriceResponse, error) { + var err error + var res GetUHostRenewPriceResponse + + reqCopier := *req + + err = c.Client.InvokeAction("GetUHostRenewPrice", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // GetUHostUpgradePriceRequest is request schema for GetUHostUpgradePrice action type GetUHostUpgradePriceRequest struct { request.CommonBase diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/doc.go index a1b1a9bdfb..d6074ec90d 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/doc.go @@ -5,8 +5,8 @@ Package uhost include resources of ucloud uhost product See also - - API: https://docs.ucloud.cn/api/uhost-api/index - - Product: https://www.ucloud.cn/site/product/uhost.html + - API: https://docs.ucloud.cn/api/uhost-api/index + - Product: https://www.ucloud.cn/site/product/uhost.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/models.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/models.go index 76f94bd431..95f52e8001 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/models.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/uhost/models.go @@ -104,33 +104,6 @@ type MachineSizes struct { Gpu int } -/* -Features - 虚机可支持的特性 -*/ -type Features struct { - - // 可以提供的模式类别 - Modes []FeatureModes - - // 可支持的特性名称。目前支持的特性网络增强|NetCapability、热升级|Hotplug - Name string -} - -/* -Disks - 磁盘信息 -*/ -type Disks struct { - - // 系统盘信息 - BootDisk []BootDiskInfo - - // 数据盘信息 - DataDisk []DataDiskInfo - - // 磁盘介质类别信息,磁盘主要分类如下:云盘|cloudDisk、普通本地盘|normalLocalDisk和SSD本地盘|ssdLocalDisk。 - Name string -} - /* CpuPlatforms - CPU平台信息 */ @@ -170,6 +143,33 @@ type GraphicsMemory struct { Value int } +/* +Features - 虚机可支持的特性 +*/ +type Features struct { + + // 可以提供的模式类别 + Modes []FeatureModes + + // 可支持的特性名称。目前支持的特性网络增强|NetCapability、热升级|Hotplug + Name string +} + +/* +Disks - 磁盘信息 +*/ +type Disks struct { + + // 系统盘信息 + BootDisk []BootDiskInfo + + // 数据盘信息 + DataDisk []DataDiskInfo + + // 磁盘介质类别信息,磁盘主要分类如下:云盘|cloudDisk、普通本地盘|normalLocalDisk和SSD本地盘|ssdLocalDisk。 + Name string +} + /* AvailableInstanceTypes - https://ushare.ucloudadmin.com/pages/viewpage.action?pageId=104662646 */ @@ -201,6 +201,9 @@ type AvailableInstanceTypes struct { // 机型状态:可售|Normal 、 公测|Beta、售罄|Soldout、隐藏|Hidden Status string + + // 可用区信息 + Zone string } /* @@ -211,7 +214,7 @@ type UHostImageSet struct { // 创建时间,格式为Unix时间戳 CreateTime int - // 特殊状态标识, 目前包含NetEnhnced(网络增强1.0), NetEnhanced_Ultra](网络增强2.0), HotPlug(热升级), CloudInit, IPv6 + // 特殊状态标识, 目前包含NetEnhnced(网络增强1.0), NetEnhanced_Ultra(网络增强2.0), HotPlug(热升级), GPU(GPU镜像),CloudInit, IPv6(支持IPv6网络),RssdAttachable(支持RSSD云盘),Vgpu_AMD(支持AMD的vgpu),Vgpu_NVIDIA(支持NVIDIA的vgpu),Aarch64_Type(支持arm64架构) Features []string // 行业镜像类型(仅行业镜像将返回这个值) @@ -247,9 +250,18 @@ type UHostImageSet struct { // 操作系统类型:Linux,Windows OsType string - // 镜像状态, 可用:Available,制作中:Making, 不可用:Unavailable + // 主要安装软件 + PrimarySoftware string + + // 场景分类,目前包含Featured(精选),PreInstalledDrivers(预装驱动),AIPainting(AI绘画),AIModels(AI模型),HPC(高性能计算) + SceneCategories []string + + // 镜像状态, 可用:Available,制作中:Making, 不可用:Unavailable,复制中:Copying State string + // 支持的GPU机型 + SupportedGPUTypes []string + // 供应商(仅行业镜像将返回这个值) Vendor string @@ -287,6 +299,60 @@ type IsolationGroup struct { SpreadInfoSet []SpreadInfo } +/* +UHostKeyPair - 主机密钥信息 +*/ +type UHostKeyPair struct { + + // 密钥对ID + KeyPairId string + + // 主机密钥对状态,Normal 正常,Deleted 删除 + KeyPairState string +} + +/* +UHostDiskSet - DescribeUHostInstance +*/ +type UHostDiskSet struct { + + // 备份方案。若开通了数据方舟,则为DATAARK + BackupType string + + // 磁盘ID + DiskId string + + // 磁盘类型。请参考[[api:uhost-api:disk_type|磁盘类型]]。 + DiskType string + + // 磁盘盘符 + Drive string + + // "true": 加密盘 "false":非加密盘 + Encrypted string + + // 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 + IsBoot string + + // UDisk名字(仅当磁盘是UDisk时返回) + Name string + + // 磁盘大小,单位: GB + Size int + + // 【建议不再使用】磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk + Type string +} + +/* +SpotAttribute - 竞价实例属性 +*/ +type SpotAttribute struct { + + // 回收时间 + RecycleTime int +} + /* UHostIPSet - DescribeUHostInstance */ @@ -327,48 +393,18 @@ type UHostIPSet struct { } /* -UHostDiskSet - DescribeUHostInstance +UDSetUDHostAttribute - 私有专区对应的宿主机属性 */ -type UHostDiskSet struct { - - // 备份方案。若开通了数据方舟,则为DATAARK - BackupType string - - // 磁盘ID - DiskId string +type UDSetUDHostAttribute struct { - // 磁盘类型。请参考[[api:uhost-api:disk_type|磁盘类型]]。 - DiskType string - - // 磁盘盘符 - Drive string - - // "true": 加密盘 "false":非加密盘 - Encrypted string - - // 是否是系统盘。枚举值:\\ > True,是系统盘 \\ > False,是数据盘(默认)。Disks数组中有且只能有一块盘是系统盘。 - IsBoot string - - // UDisk名字(仅当磁盘是UDisk时返回) - Name string - - // 磁盘大小,单位: GB - Size int - - // 【建议不再使用】磁盘类型。系统盘: Boot,数据盘: Data,网络盘:Udisk - Type string -} - -/* -UHostKeyPair - 主机密钥信息 -*/ -type UHostKeyPair struct { + // 是否绑定私有专区宿主机 + HostBinding bool - // 密钥对ID - KeyPairId string + // 私有专区宿主机 + UDHostId string - // 主机密钥对状态,Normal 正常,Deleted 删除 - KeyPairState string + // 私有专区 + UDSetId string } /* @@ -394,7 +430,7 @@ type UHostInstanceSet struct { // 计费模式,枚举值为: Year,按年付费; Month,按月付费; Dynamic,按需付费(需开启权限);Preemptive 为抢占式实例; ChargeType string - // true,支持cloutinit方式初始化;false,不支持 + // true: 支持cloutinit方式初始化;false: 不支持 CloudInitFeature bool // 云主机CPU平台。参考[[api:uhost-api:uhost_type#主机概念20版本|云主机机型说明]]。 @@ -409,15 +445,27 @@ type UHostInstanceSet struct { // 磁盘信息见 UHostDiskSet DiskSet []UHostDiskSet + // true: 高性能计算主机;false: 不是 + EpcInstance bool + // 到期时间,格式为Unix时间戳 ExpireTime int // GPU个数 GPU int + // GPU类型;枚举值["K80", "P40", "V100", "T4", "T4S","2080Ti","2080Ti-4C","1080Ti", "T4/4", "MI100", "V100S"] + GpuType string + + // true: 开启 hidden kvm 功能;false: 不是 + HiddenKvm bool + // 【建议不再使用】主机系列:N2,表示系列2;N1,表示系列1 HostType string + // 热升级支持的最大CPU个数 + HotPlugMaxCpu int + // true: 开启热升级; false,未开启热升级 HotplugFeature bool @@ -430,7 +478,7 @@ type UHostInstanceSet struct { // IPs []string `deprecated:"true"` - // true:有ipv6特性;false,没有ipv6特性 + // true: 有ipv6特性;false,没有ipv6特性 IPv6Feature bool // 【建议不再使用】主机的系统盘ID。 @@ -475,6 +523,12 @@ type UHostInstanceSet struct { // 仅抢占式实例返回,LowSpeed为低速模式,PowerOff为关机模式 RestrictMode string + // true: 绑定了安全组的主机;false: 不是 + SecGroupInstance bool + + // 竞价实例信息 + SpotAttribute SpotAttribute + // 实例状态,枚举值:\\ >初始化: Initializing; \\ >启动中: Starting; \\> 运行中: Running; \\> 关机中: Stopping; \\ >关机: Stopped \\ >安装失败: Install Fail; \\ >重启中: Rebooting; \\ > 未知(空字符串,获取状态超时或出错):"" State string @@ -493,6 +547,9 @@ type UHostInstanceSet struct { // 总的数据盘存储空间。 TotalDiskSpace int + // 私有专区宿主机属性 + UDHostAttribute UDSetUDHostAttribute + // UHost实例ID UHostId string @@ -539,6 +596,24 @@ type UHostTagSet struct { Zone string } +/* +PriceDetail - 价格详细信息 +*/ +type PriceDetail struct { + + // 快照价格 + Snapshot float64 + + // 云盘价格 + UDisk float64 + + // 主机价格 + UHost float64 + + // 数据卷价格 + Volume float64 +} + /* UHostPriceSet - 主机价格 */ @@ -550,6 +625,48 @@ type UHostPriceSet struct { // 产品列表价。 ListPrice float64 + // 列表价详细信息(只有询价接口返回)。 + ListPriceDetail PriceDetail + + // 限时优惠的折前原价(即列表价乘以商务折扣后的单价)。 + OriginalPrice float64 + + // 原价详细信息(只有询价接口返回)。 + OriginalPriceDetail PriceDetail + + // 价格,单位: 元,保留小数点后两位有效数字 + Price float64 + + // 价格详细信息(只有询价接口返回)。 + PriceDetail PriceDetail +} + +/* +UHostRefundPriceSet - 删除退费详情 +*/ +type UHostRefundPriceSet struct { + + // 实例操作结果的错误码。0为成功 + Code int + + // 当 Code 非 0 时提供详细的描述信息 + Message string + + // 实例的删除退费金额 + RefundPrice float64 + + // UHost实例ID + UHostId string +} + +/* +BasePriceSet - 价格信息 +*/ +type BasePriceSet struct { + + // 计费类型 + ChargeType string + // 限时优惠的折前原价(即列表价乘以商务折扣后的单价)。 OriginalPrice float64 diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/apis.go index 39825ac06e..0fe83a6408 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/apis.go @@ -9,6 +9,98 @@ import ( // ULB API Schema +/* +AddTargetsParamTargets is request schema for complex param +*/ +type AddTargetsParamTargets struct { + + // 服务节点是否启用。默认值true + Enabled *bool `required:"false"` + + // 服务节点是否为备节点。默认值false + IsBackup *bool `required:"false"` + + // 服务节点的端口。限定取值:[1-65535],默认值80 + Port *int `required:"false"` + + // 服务节点的IP。在IP类型时,必传 + ResourceIP *string `required:"false"` + + // 服务节点的资源ID。在非IP类型时,必传 + ResourceId *string `required:"false"` + + // 服务节点的类型。限定枚举值:"UHost" / "UNI"/"UPM"/"IP",默认值:"UHost";非IP类型,如果该资源有多个IP,将只能添加主IP;非IP类型,展示时,会显示相关资源信息,IP类型只展示IP信息。在相关资源被删除时,非IP类型会把相关资源从lb中剔除,IP类型不保证这个逻辑 + ResourceType *string `required:"false"` + + // 服务节点的子网资源ID。在IP类型时,必传 + SubnetId *string `required:"false"` + + // 服务节点的VPC资源ID。在IP类型时,必传 + VPCId *string `required:"false"` + + // 服务节点的权重。限定取值:[1-100],默认值1;仅在加权轮询算法时有效 + Weight *int `required:"false"` +} + +// AddTargetsRequest is request schema for AddTargets action +type AddTargetsRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 监听器的ID + ListenerId *string `required:"true"` + + // 负载均衡实例的ID + LoadBalancerId *string `required:"true"` + + // + Targets []AddTargetsParamTargets `required:"false"` +} + +// AddTargetsResponse is response schema for AddTargets action +type AddTargetsResponse struct { + response.CommonBase + + // 服务节点信息 + Targets []TargetSet +} + +// NewAddTargetsRequest will create request of AddTargets action. +func (c *ULBClient) NewAddTargetsRequest() *AddTargetsRequest { + req := &AddTargetsRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(false) + return req +} + +/* +API: AddTargets + +给应用型负载均衡监听器添加后端服务节点 +*/ +func (c *ULBClient) AddTargets(req *AddTargetsRequest) (*AddTargetsResponse, error) { + var err error + var res AddTargetsResponse + + reqCopier := *req + + err = c.Client.InvokeAction("AddTargets", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // AllocateBackendRequest is request schema for AllocateBackend action type AllocateBackendRequest struct { request.CommonBase @@ -28,22 +120,22 @@ type AllocateBackendRequest struct { // 所添加的后端资源服务端口,取值范围[1-65535],默认80 Port *int `required:"false"` - // 所添加的后端服务器的资源实例IP,当ResourceType 为 UHybrid 时有效,且必填 + // 所添加的后端服务器的资源实例IP,当ResourceType 为 UHybrid 或 IP时有效,且必填;与ResourceId二选一必填 ResourceIP *string `required:"false"` - // 所添加的后端资源的资源ID - ResourceId *string `required:"true"` + // 所添加的后端资源的资源ID;与ResourceIP二选一必填 + ResourceId *string `required:"false"` - // 所添加的后端资源的类型,枚举值:UHost -> 云主机;UNI -> 虚拟网卡;UPM -> 物理云主机; UDHost -> 私有专区主机;UDocker -> 容器;UHybrid->混合云主机;CUBE->Cube,USDP->智能大数据平台;默认值为UHost。报文转发模式不支持UDocker、UHybrid、CUBE + // 所添加的后端资源的类型,枚举值:UHost -> 云主机;UNI -> 虚拟网卡;UPM -> 物理云主机;UHybrid->混合云主机;CUBE->Cube, IP->IP类型;默认值为UHost。报文转发模式不支持UHybrid、CUBE、IP ResourceType *string `required:"true"` - // 所添加的后端服务器所在的子网,当ResourceType 为 UHybrid 时有效,且必填 + // 所添加的后端服务器所在的子网,当ResourceType 为 UHybrid 或 IP 时有效,且必填 SubnetId *string `required:"false"` - // 负载均衡实例的ID + // 传统型负载均衡实例的ID ULBId *string `required:"true"` - // 所添加的后端服务器所在的vpc,当ResourceType 为 UHybrid 时有效,且必填 + // 所添加的后端服务器所在的vpc,当ResourceType 为 UHybrid 或 IP 时有效,且必填 VPCId *string `required:"false"` // VServer实例的ID @@ -57,7 +149,7 @@ type AllocateBackendRequest struct { type AllocateBackendResponse struct { response.CommonBase - // 所添加的后端资源在ULB中的对象ID,(为ULB系统中使用,与资源自身ID无关),可用于 UpdateBackendAttribute/UpdateBackendAttributeBatch/ReleaseBackend + // 所添加的后端资源在CLB中的对象ID,(为CLB系统中使用,与资源自身ID无关),可用于 UpdateBackendAttribute/UpdateBackendAttributeBatch/ReleaseBackend BackendId string } @@ -76,7 +168,7 @@ func (c *ULBClient) NewAllocateBackendRequest() *AllocateBackendRequest { /* API: AllocateBackend -添加ULB后端资源实例 +添加CLB后端资源实例 */ func (c *ULBClient) AllocateBackend(req *AllocateBackendRequest) (*AllocateBackendResponse, error) { var err error @@ -131,8 +223,6 @@ func (c *ULBClient) NewAllocateBackendBatchRequest() *AllocateBackendBatchReques /* API: AllocateBackendBatch - - */ func (c *ULBClient) AllocateBackendBatch(req *AllocateBackendBatchRequest) (*AllocateBackendBatchResponse, error) { var err error @@ -152,16 +242,16 @@ func (c *ULBClient) AllocateBackendBatch(req *AllocateBackendBatchRequest) (*All type BindSSLRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"true"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` // SSL证书的Id SSLId *string `required:"true"` - // 所绑定ULB实例ID + // 所绑定CLB实例ID ULBId *string `required:"true"` // 所绑定VServer实例ID @@ -188,7 +278,7 @@ func (c *ULBClient) NewBindSSLRequest() *BindSSLRequest { /* API: BindSSL -将SSL证书绑定到VServer +将SSL证书绑定到传统型负载均衡VServer */ func (c *ULBClient) BindSSL(req *BindSSLRequest) (*BindSSLResponse, error) { var err error @@ -204,32 +294,243 @@ func (c *ULBClient) BindSSL(req *BindSSLRequest) (*BindSSLResponse, error) { return &res, nil } +/* +CreateListenerParamStickinessConfig is request schema for complex param +*/ +type CreateListenerParamStickinessConfig struct { + + // (应用型专用)自定义Cookie。当StickinessType取值"UserDefined"时有效;限定字符长度:[0-255] + CookieName *string `required:"false"` + + // 是否开启会话保持功能。应用型负载均衡实例基于Cookie实现;默认值为:false + Enabled *bool `required:"false"` + + // (应用型专用)Cookie处理方式。限定枚举值:"ServerInsert" / "UserDefined";默认值为:“ServerInsert” + Type *string `required:"false"` +} + +/* +CreateListenerParamHealthCheckConfig is request schema for complex param +*/ +type CreateListenerParamHealthCheckConfig struct { + + // (应用型专用)HTTP检查域名 + Domain *string `required:"false"` + + // 是否开启健康检查功能。暂时不支持关闭。默认值为:true + Enabled *bool `required:"false"` + + // (应用型专用)HTTP检查路径 + Path *string `required:"false"` + + // 健康检查方式。应用型限定取值:“Port”/"HTTP",默认值:“Port” + Type *string `required:"false"` +} + +// CreateListenerRequest is request schema for CreateListener action +type CreateListenerRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // (应用型专用)服务器默认证书ID。仅HTTPS监听支持,且必填;暂时只支持最大长度为1 + Certificates []string `required:"false"` + + // (应用型专用)是否开启数据压缩功能。目前只支持使用gzip对特定文件类型进行压缩。默认值为:false + CompressionEnabled *bool `required:"false"` + + // (应用型专用)是否开启HTTP/2特性。仅HTTPS监听支持开启;默认值为:false + HTTP2Enabled *bool `required:"false"` + + // + HealthCheckConfig *CreateListenerParamHealthCheckConfig `required:"false"` + + // 连接空闲超时时间。单位:秒。应用型限定取值:[1-86400];默认值60 + IdleTimeout *int `required:"false"` + + // 监听器的监听端口。应用型限定取值:[1-65535],默认值80 + ListenerPort *int `required:"false"` + + // 监听协议。应用型限定取值:“HTTP”/"HTTPS",默认值“HTTP” + ListenerProtocol *string `required:"false"` + + // 负载均衡实例的ID + LoadBalancerId *string `required:"true"` + + // 监听器的名称。限定字符长度:[1-255];限定特殊字符,仅支持:“-”,“_”,“.”;默认值:listener + Name *string `required:"false"` + + // (应用型专用)是否开启HTTP重定向到HTTPS。仅HTTP监听支持开启;默认值为:false + RedirectEnabled *bool `required:"false"` + + // (应用型专用)重定向端口。限定取值:[1-65535],默认值443 + RedirectPort *int `required:"false"` + + // 监听器的备注信息。限定字符长度:[0-255] + Remark *string `required:"false"` + + // 负载均衡算法。应用型限定取值:"Roundrobin"/"Source"/"WeightRoundrobin"/" Leastconn"/"Backup",默认值"Roundrobin" + Scheduler *string `required:"false"` + + // (应用型专用)安全策略组ID。仅HTTPS监听支持绑定;默认值“Default”,表示绑定原生策略 + SecurityPolicyId *string `required:"false"` + + // + StickinessConfig *CreateListenerParamStickinessConfig `required:"false"` +} + +// CreateListenerResponse is response schema for CreateListener action +type CreateListenerResponse struct { + response.CommonBase + + // 监听器的ID + ListenerId string +} + +// NewCreateListenerRequest will create request of CreateListener action. +func (c *ULBClient) NewCreateListenerRequest() *CreateListenerRequest { + req := &CreateListenerRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(false) + return req +} + +/* +API: CreateListener + +创建一个应用型负载均衡的监听器 +*/ +func (c *ULBClient) CreateListener(req *CreateListenerRequest) (*CreateListenerResponse, error) { + var err error + var res CreateListenerResponse + + reqCopier := *req + + err = c.Client.InvokeAction("CreateListener", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + +// CreateLoadBalancerRequest is request schema for CreateLoadBalancer action +type CreateLoadBalancerRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 付费模式。限定枚举值:"Year" / "Month"/"Day"/"Dynamic",默认值为:“Month” + ChargeType *string `required:"false"` + + // 代金券code + CouponId *string `required:"false"` + + // 负载均衡实例的IP协议。限定枚举值:"IPv4" / "IPv6"/"DualStack",默认值为:“IPv4” + IPVersion *string `required:"false"` + + // 负载均衡实例的名称。默认值:lb;特殊字符仅支持:“-”,“_”,“.”;限定字符长度:[1-255] + Name *string `required:"false"` + + // 购买的时长, 默认: 1; 0-> 购买至月末(0只在月付费有效,其余付费模式传0,实际收费按一个周期计费) + Quantity *int `required:"false"` + + // 负载均衡实例的备注信息。限定字符长度:[0-255] + Remark *string `required:"false"` + + // 负载均衡实例所属的子网资源ID。负载均衡实例的内网VIP和SNAT场景的源IP限定在该子网内;指定子网不影响添加后端服务节点时的范围,依旧是整个VPC下支持的资源 + SubnetId *string `required:"true"` + + // 负载均衡实例所属的业务组ID。默认值为“Default”; 传空则为Default业务组 + Tag *string `required:"false"` + + // 负载均衡实例的类型。限定枚举值:"Application" / "Network",默认值:"Application" + Type *string `required:"false"` + + // 负载均衡实例所属的VPC资源ID + VPCId *string `required:"true"` +} + +// CreateLoadBalancerResponse is response schema for CreateLoadBalancer action +type CreateLoadBalancerResponse struct { + response.CommonBase + + // 负载均衡实例的ID + LoadBalancerId string +} + +// NewCreateLoadBalancerRequest will create request of CreateLoadBalancer action. +func (c *ULBClient) NewCreateLoadBalancerRequest() *CreateLoadBalancerRequest { + req := &CreateLoadBalancerRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(false) + return req +} + +/* +API: CreateLoadBalancer + +创建一个应用型负载均衡实例 +*/ +func (c *ULBClient) CreateLoadBalancer(req *CreateLoadBalancerRequest) (*CreateLoadBalancerResponse, error) { + var err error + var res CreateLoadBalancerResponse + + reqCopier := *req + + err = c.Client.InvokeAction("CreateLoadBalancer", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // CreatePolicyRequest is request schema for CreatePolicy action type CreatePolicyRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"true"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // 内容转发策略应用的后端资源实例的ID,来源于 AllocateBackend 返回的 BackendId + // 内容转发策略应用的传统型负载均衡后端资源实例的ID,来源于 AllocateBackend 返回的 BackendId BackendId []string `required:"true"` + // 内容转发规则中域名的匹配方式,默认与原本一致。枚举值:Regular,正则;Wildcard,泛域名 + DomainMatchMode *string `required:"false"` + // 内容转发匹配字段 Match *string `required:"true"` - // 策略优先级,1-9999 + // 策略优先级,1-9999;只针对路径规则生效 PolicyPriority *int `required:"false"` // 内容转发匹配字段的类型 Type *string `required:"false"` - // 需要添加内容转发策略的负载均衡实例ID + // 需要添加内容转发策略的传统型负载均衡实例ID ULBId *string `required:"true"` - // 需要添加内容转发策略的VServer实例ID + // 需要添加内容转发策略的传统型负载均衡VServer实例ID VServerId *string `required:"true"` } @@ -256,7 +557,7 @@ func (c *ULBClient) NewCreatePolicyRequest() *CreatePolicyRequest { /* API: CreatePolicy -创建VServer内容转发策略 +传统型负载均衡创建VServer内容转发策略 */ func (c *ULBClient) CreatePolicy(req *CreatePolicyRequest) (*CreatePolicyResponse, error) { var err error @@ -462,7 +763,7 @@ type CreateULBRequest struct { // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // ULB 所属的业务组ID,如果不传则使用默认的业务组 + // CLB 所属的业务组ID,如果不传则使用默认的业务组 BusinessId *string `required:"false"` // 付费方式, 枚举值为: Year, 按年付费; Month, 按月付费; Dynamic, 按时付费 @@ -471,13 +772,13 @@ type CreateULBRequest struct { // 防火墙ID,如果不传,则默认不绑定防火墙 FirewallId *string `required:"false"` - // 创建的ULB是否为内网模式 + // 创建的CLB是否为内网模式 InnerMode *string `required:"false"` - // ULB 监听器类型,外网ULB默认RequestProxy,内网ULB默认PacketsTransmit。枚举值:RequestProxy,请求代理; PacketsTransmit ,报文转发。 + // CLB 监听器类型,外网CLB默认RequestProxy,内网ULB默认PacketsTransmit。枚举值:RequestProxy,请求代理; PacketsTransmit ,报文转发。 ListenType *string `required:"false"` - // 创建的ULB是否为外网模式,默认即为外网模式 + // 创建的CLB是否为外网模式,默认即为外网模式 OuterMode *string `required:"false"` // 【该字段已废弃,请谨慎使用】 @@ -486,7 +787,7 @@ type CreateULBRequest struct { // 备注 Remark *string `required:"false"` - // ULB 所属的子网ID,如果不传则随机选择一个。 + // CLB 所属的子网ID,如果不传则随机选择一个。 SubnetId *string `required:"false"` // 业务组 @@ -495,7 +796,7 @@ type CreateULBRequest struct { // 负载均衡的名字,默认值为“ULB” ULBName *string `required:"false"` - // ULB所在的VPC的ID, 如果不传则使用默认的VPC + // CLB所在的VPC的ID。 如果不传则使用默认的VPC,若不传且无默认VPC则接口报错 VPCId *string `required:"false"` } @@ -506,7 +807,7 @@ type CreateULBResponse struct { // IPv6地址Id IPv6AddressId string - // 负载均衡实例的Id + // 传统型负载均衡实例的Id ULBId string } @@ -525,7 +826,7 @@ func (c *ULBClient) NewCreateULBRequest() *CreateULBRequest { /* API: CreateULB -创建负载均衡实例,可以选择内网或者外网 +创建传统型负载均衡负载均衡实例,可以选择内网或者外网 */ func (c *ULBClient) CreateULB(req *CreateULBRequest) (*CreateULBResponse, error) { var err error @@ -599,7 +900,7 @@ type CreateVServerRequest struct { // 安全策略组ID,默认值'Default' SecurityPolicyId *string `required:"false"` - // 负载均衡实例ID + // 传统型负载均衡实例ID ULBId *string `required:"true"` // VServer实例名称,默认为"VServer" @@ -629,7 +930,7 @@ func (c *ULBClient) NewCreateVServerRequest() *CreateVServerRequest { /* API: CreateVServer -创建VServer实例,定义监听的协议和端口以及负载均衡算法 +创建CLB的VServer实例,定义监听的协议和端口以及负载均衡算法 */ func (c *ULBClient) CreateVServer(req *CreateVServerRequest) (*CreateVServerResponse, error) { var err error @@ -645,34 +946,34 @@ func (c *ULBClient) CreateVServer(req *CreateVServerRequest) (*CreateVServerResp return &res, nil } -// DeletePolicyRequest is request schema for DeletePolicy action -type DeletePolicyRequest struct { +// DeleteListenerRequest is request schema for DeleteListener action +type DeleteListenerRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"true"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // 【该字段已废弃,请谨慎使用】 - GroupId *string `required:"false" deprecated:"true"` + // 应用型负载均衡监听器的ID + ListenerId *string `required:"true"` - // 内容转发策略ID - PolicyId *string `required:"true"` + // 应用型负载均衡实例的ID + LoadBalancerId *string `required:"true"` - // VServer 资源ID - VServerId *string `required:"false"` + // 是否关闭相关监听器的重定向功能。默认为false,即有其他监听器重定向到本监听器,则删除失败。为true时,会先关闭相关监听器的重定向功能,再删除本监听器。默认值为:false + RelatedRedirectDisabled *bool `required:"true"` } -// DeletePolicyResponse is response schema for DeletePolicy action -type DeletePolicyResponse struct { +// DeleteListenerResponse is response schema for DeleteListener action +type DeleteListenerResponse struct { response.CommonBase } -// NewDeletePolicyRequest will create request of DeletePolicy action. -func (c *ULBClient) NewDeletePolicyRequest() *DeletePolicyRequest { - req := &DeletePolicyRequest{} +// NewDeleteListenerRequest will create request of DeleteListener action. +func (c *ULBClient) NewDeleteListenerRequest() *DeleteListenerRequest { + req := &DeleteListenerRequest{} // setup request with client config c.Client.SetupRequest(req) @@ -683,17 +984,17 @@ func (c *ULBClient) NewDeletePolicyRequest() *DeletePolicyRequest { } /* -API: DeletePolicy +API: DeleteListener -删除内容转发策略 +删除一个应用型负载均衡监听器 */ -func (c *ULBClient) DeletePolicy(req *DeletePolicyRequest) (*DeletePolicyResponse, error) { +func (c *ULBClient) DeleteListener(req *DeleteListenerRequest) (*DeleteListenerResponse, error) { var err error - var res DeletePolicyResponse + var res DeleteListenerResponse reqCopier := *req - err = c.Client.InvokeAction("DeletePolicy", &reqCopier, &res) + err = c.Client.InvokeAction("DeleteListener", &reqCopier, &res) if err != nil { return &res, err } @@ -701,25 +1002,28 @@ func (c *ULBClient) DeletePolicy(req *DeletePolicyRequest) (*DeletePolicyRespons return &res, nil } -// DeletePolicyGroupRequest is request schema for DeletePolicyGroup action -type DeletePolicyGroupRequest struct { +// DeleteLoadBalancerRequest is request schema for DeleteLoadBalancer action +type DeleteLoadBalancerRequest struct { request.CommonBase - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // 内容转发策略组ID - GroupId *string `required:"true"` + // 应用型负载均衡实例的ID + LoadBalancerId *string `required:"true"` } -// DeletePolicyGroupResponse is response schema for DeletePolicyGroup action -type DeletePolicyGroupResponse struct { +// DeleteLoadBalancerResponse is response schema for DeleteLoadBalancer action +type DeleteLoadBalancerResponse struct { response.CommonBase } -// NewDeletePolicyGroupRequest will create request of DeletePolicyGroup action. -func (c *ULBClient) NewDeletePolicyGroupRequest() *DeletePolicyGroupRequest { - req := &DeletePolicyGroupRequest{} +// NewDeleteLoadBalancerRequest will create request of DeleteLoadBalancer action. +func (c *ULBClient) NewDeleteLoadBalancerRequest() *DeleteLoadBalancerRequest { + req := &DeleteLoadBalancerRequest{} // setup request with client config c.Client.SetupRequest(req) @@ -730,17 +1034,17 @@ func (c *ULBClient) NewDeletePolicyGroupRequest() *DeletePolicyGroupRequest { } /* -API: DeletePolicyGroup +API: DeleteLoadBalancer -删除内容转发策略组 +删除一个应用型负载均衡实例 */ -func (c *ULBClient) DeletePolicyGroup(req *DeletePolicyGroupRequest) (*DeletePolicyGroupResponse, error) { +func (c *ULBClient) DeleteLoadBalancer(req *DeleteLoadBalancerRequest) (*DeleteLoadBalancerResponse, error) { var err error - var res DeletePolicyGroupResponse + var res DeleteLoadBalancerResponse reqCopier := *req - err = c.Client.InvokeAction("DeletePolicyGroup", &reqCopier, &res) + err = c.Client.InvokeAction("DeleteLoadBalancer", &reqCopier, &res) if err != nil { return &res, err } @@ -748,24 +1052,183 @@ func (c *ULBClient) DeletePolicyGroup(req *DeletePolicyGroupRequest) (*DeletePol return &res, nil } -// DeleteSSLRequest is request schema for DeleteSSL action -type DeleteSSLRequest struct { +// DeletePolicyRequest is request schema for DeletePolicy action +type DeletePolicyRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"true"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // SSL证书的ID - SSLId *string `required:"true"` -} + // 【该字段已废弃,请谨慎使用】 + GroupId *string `required:"false" deprecated:"true"` -// DeleteSSLResponse is response schema for DeleteSSL action -type DeleteSSLResponse struct { - response.CommonBase -} + // CLB的内容转发策略ID + PolicyId *string `required:"true"` + + // CLB的VServer 资源ID + VServerId *string `required:"false"` +} + +// DeletePolicyResponse is response schema for DeletePolicy action +type DeletePolicyResponse struct { + response.CommonBase +} + +// NewDeletePolicyRequest will create request of DeletePolicy action. +func (c *ULBClient) NewDeletePolicyRequest() *DeletePolicyRequest { + req := &DeletePolicyRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: DeletePolicy + +删除传统型负载均衡的内容转发策略 +*/ +func (c *ULBClient) DeletePolicy(req *DeletePolicyRequest) (*DeletePolicyResponse, error) { + var err error + var res DeletePolicyResponse + + reqCopier := *req + + err = c.Client.InvokeAction("DeletePolicy", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + +// DeletePolicyGroupRequest is request schema for DeletePolicyGroup action +type DeletePolicyGroupRequest struct { + request.CommonBase + + // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // Region *string `required:"true"` + + // 内容转发策略组ID + GroupId *string `required:"true"` +} + +// DeletePolicyGroupResponse is response schema for DeletePolicyGroup action +type DeletePolicyGroupResponse struct { + response.CommonBase +} + +// NewDeletePolicyGroupRequest will create request of DeletePolicyGroup action. +func (c *ULBClient) NewDeletePolicyGroupRequest() *DeletePolicyGroupRequest { + req := &DeletePolicyGroupRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: DeletePolicyGroup + +删除内容转发策略组 +*/ +func (c *ULBClient) DeletePolicyGroup(req *DeletePolicyGroupRequest) (*DeletePolicyGroupResponse, error) { + var err error + var res DeletePolicyGroupResponse + + reqCopier := *req + + err = c.Client.InvokeAction("DeletePolicyGroup", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + +// DeleteRuleRequest is request schema for DeleteRule action +type DeleteRuleRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 应用型负载均衡监听器的ID + ListenerId *string `required:"true"` + + // 应用型负载均衡实例的ID + LoadBalancerId *string `required:"true"` + + // 应用型负载均衡的转发规则的ID + RuleId *string `required:"true"` +} + +// DeleteRuleResponse is response schema for DeleteRule action +type DeleteRuleResponse struct { + response.CommonBase +} + +// NewDeleteRuleRequest will create request of DeleteRule action. +func (c *ULBClient) NewDeleteRuleRequest() *DeleteRuleRequest { + req := &DeleteRuleRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: DeleteRule + +删除应用型负载均衡监听器的一条转发规则 +*/ +func (c *ULBClient) DeleteRule(req *DeleteRuleRequest) (*DeleteRuleResponse, error) { + var err error + var res DeleteRuleResponse + + reqCopier := *req + + err = c.Client.InvokeAction("DeleteRule", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + +// DeleteSSLRequest is request schema for DeleteSSL action +type DeleteSSLRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // Region *string `required:"true"` + + // SSL证书的ID + SSLId *string `required:"true"` +} + +// DeleteSSLResponse is response schema for DeleteSSL action +type DeleteSSLResponse struct { + response.CommonBase +} // NewDeleteSSLRequest will create request of DeleteSSL action. func (c *ULBClient) NewDeleteSSLRequest() *DeleteSSLRequest { @@ -852,16 +1315,16 @@ func (c *ULBClient) DeleteSecurityPolicy(req *DeleteSecurityPolicyRequest) (*Del type DeleteULBRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // 删除ulb时是否释放绑定的EIP,false标识只解绑EIP,true表示会释放绑定的EIP,默认是false。Anycast IP 此参数无效 + // 删除clb时是否释放绑定的EIP,false标识只解绑EIP,true表示会释放绑定的EIP,默认是false。Anycast IP 此参数无效 ReleaseEip *bool `required:"false"` - // 负载均衡实例的ID + // 传统型负载均衡实例的ID ULBId *string `required:"true"` } @@ -885,7 +1348,7 @@ func (c *ULBClient) NewDeleteULBRequest() *DeleteULBRequest { /* API: DeleteULB -删除负载均衡实例 +删除传统型负载均衡实例 */ func (c *ULBClient) DeleteULB(req *DeleteULBRequest) (*DeleteULBResponse, error) { var err error @@ -905,16 +1368,16 @@ func (c *ULBClient) DeleteULB(req *DeleteULBRequest) (*DeleteULBResponse, error) type DeleteVServerRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"true"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // 负载均衡实例的ID + // 传统型负载均衡实例的ID ULBId *string `required:"true"` - // VServer实例的ID + // CLB下的VServer实例的ID VServerId *string `required:"true"` } @@ -938,7 +1401,7 @@ func (c *ULBClient) NewDeleteVServerRequest() *DeleteVServerRequest { /* API: DeleteVServer -删除VServer实例 +删除CLB的VServer实例 */ func (c *ULBClient) DeleteVServer(req *DeleteVServerRequest) (*DeleteVServerResponse, error) { var err error @@ -1056,7 +1519,7 @@ func (c *ULBClient) NewDescribeSSLRequest() *DescribeSSLRequest { /* API: DescribeSSL -获取SSL证书信息 +获取SSL证书信息,仅能获取SSL证书与传统型负载均衡监听器的绑定关系 */ func (c *ULBClient) DescribeSSL(req *DescribeSSLRequest) (*DescribeSSLResponse, error) { var err error @@ -1072,6 +1535,68 @@ func (c *ULBClient) DescribeSSL(req *DescribeSSLRequest) (*DescribeSSLResponse, return &res, nil } +// DescribeSSLV2Request is request schema for DescribeSSLV2 action +type DescribeSSLV2Request struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 数据分页值,默认为20 + Limit *int `required:"false"` + + // 数据偏移量,默认值为0 + Offset *int `required:"false"` + + // SSL证书的Id + SSLId *string `required:"false"` +} + +// DescribeSSLV2Response is response schema for DescribeSSLV2 action +type DescribeSSLV2Response struct { + response.CommonBase + + // SSL证书详细信息,具体结构见SSLInfo + DataSet []SSLInfo + + // 满足条件的SSL证书总数 + TotalCount int +} + +// NewDescribeSSLV2Request will create request of DescribeSSLV2 action. +func (c *ULBClient) NewDescribeSSLV2Request() *DescribeSSLV2Request { + req := &DescribeSSLV2Request{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: DescribeSSLV2 + +获取SSL证书信息,该接口可以同时获取SSL与传统型和应用型负载均衡监听器的绑定关系 +*/ +func (c *ULBClient) DescribeSSLV2(req *DescribeSSLV2Request) (*DescribeSSLV2Response, error) { + var err error + var res DescribeSSLV2Response + + reqCopier := *req + + err = c.Client.InvokeAction("DescribeSSLV2", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // DescribeSecurityPoliciesRequest is request schema for DescribeSecurityPolicies action type DescribeSecurityPoliciesRequest struct { request.CommonBase @@ -1118,7 +1643,7 @@ func (c *ULBClient) NewDescribeSecurityPoliciesRequest() *DescribeSecurityPolici /* API: DescribeSecurityPolicies -获取安全策略的信息 +获取安全策略的信息,绑定关系仅能获取安全策略与传统型负载均衡监听器的绑定关系 */ func (c *ULBClient) DescribeSecurityPolicies(req *DescribeSecurityPoliciesRequest) (*DescribeSecurityPoliciesResponse, error) { var err error @@ -1134,6 +1659,68 @@ func (c *ULBClient) DescribeSecurityPolicies(req *DescribeSecurityPoliciesReques return &res, nil } +// DescribeSecurityPoliciesV2Request is request schema for DescribeSecurityPoliciesV2 action +type DescribeSecurityPoliciesV2Request struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 数据分页值 + Limit *int `required:"false"` + + // 数据偏移量 + Offset *int `required:"false"` + + // 安全策略ID + SecurityPolicyId *string `required:"false"` +} + +// DescribeSecurityPoliciesV2Response is response schema for DescribeSecurityPoliciesV2 action +type DescribeSecurityPoliciesV2Response struct { + response.CommonBase + + // 安全策略列表,每项参数详见SecurityPolicyInfo + DataSet []SecurityPolicyInfo + + // 满足条件的安全策略总数 + TotalCount int +} + +// NewDescribeSecurityPoliciesV2Request will create request of DescribeSecurityPoliciesV2 action. +func (c *ULBClient) NewDescribeSecurityPoliciesV2Request() *DescribeSecurityPoliciesV2Request { + req := &DescribeSecurityPoliciesV2Request{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: DescribeSecurityPoliciesV2 + +获取安全策略的信息,可以同时获取安全策略与传统型和应用性负载均衡监听器的绑定关系 +*/ +func (c *ULBClient) DescribeSecurityPoliciesV2(req *DescribeSecurityPoliciesV2Request) (*DescribeSecurityPoliciesV2Response, error) { + var err error + var res DescribeSecurityPoliciesV2Response + + reqCopier := *req + + err = c.Client.InvokeAction("DescribeSecurityPoliciesV2", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // DescribeSupportCiphersRequest is request schema for DescribeSupportCiphers action type DescribeSupportCiphersRequest struct { request.CommonBase @@ -1195,7 +1782,7 @@ type DescribeULBRequest struct { // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // ULB所属的业务组ID + // CLB所属的业务组ID BusinessId *string `required:"false"` // 数据分页值,默认为20 @@ -1204,13 +1791,13 @@ type DescribeULBRequest struct { // 数据偏移量,默认为0 Offset *int `required:"false"` - // ULB所属的子网ID + // CLB所属的子网ID SubnetId *string `required:"false"` - // 负载均衡实例的Id。 若指定则返回指定的负载均衡实例的信息; 若不指定则返回当前数据中心中所有的负载均衡实例的信息 + // 传统型负载均衡实例的Id。 若指定则返回指定的传统型负载均衡实例的信息; 若不指定则返回当前数据中心中所有的传统型负载均衡实例的信息 ULBId *string `required:"false"` - // ULB所属的VPC + // CLB所属的VPC VPCId *string `required:"false"` } @@ -1218,10 +1805,10 @@ type DescribeULBRequest struct { type DescribeULBResponse struct { response.CommonBase - // ULB列表,每项参数详见 ULBSet + // CLB列表,每项参数详见 ULBSet DataSet []ULBSet - // 满足条件的ULB总数 + // 满足条件的CLB总数 TotalCount int } @@ -1240,7 +1827,7 @@ func (c *ULBClient) NewDescribeULBRequest() *DescribeULBRequest { /* API: DescribeULB -获取ULB详细信息 +获取CLB详细信息 */ func (c *ULBClient) DescribeULB(req *DescribeULBRequest) (*DescribeULBResponse, error) { var err error @@ -1260,13 +1847,13 @@ func (c *ULBClient) DescribeULB(req *DescribeULBRequest) (*DescribeULBResponse, type DescribeULBSimpleRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // ULB所属的业务组ID + // CLB所属的业务组ID BusinessId *string `required:"false"` // 数据分页值,默认为10000 @@ -1275,13 +1862,13 @@ type DescribeULBSimpleRequest struct { // 数据偏移量,默认为0 Offset *int `required:"false"` - // ULB所属的子网ID + // CLB所属的子网ID SubnetId *string `required:"false"` - // 负载均衡实例的Id。 若指定则返回指定的负载均衡实例的信息; 若不指定则返回当前数据中心中所有的负载均衡实例的信息 + // 传统型负载均衡实例的Id。 若指定则返回指定的传统型负载均衡实例的信息; 若不指定则返回当前数据中心中所有的传统型负载均衡实例的信息 ULBId *string `required:"false"` - // ULB所属的VPC + // CLB所属的VPC VPCId *string `required:"false"` } @@ -1289,10 +1876,10 @@ type DescribeULBSimpleRequest struct { type DescribeULBSimpleResponse struct { response.CommonBase - // ULB列表,每项参数详见 ULBSimpleSet + // CLB列表,每项参数详见 ULBSimpleSet DataSet []ULBSimpleSet - // 满足条件的ULB总数 + // 满足条件的CLB总数 TotalCount int } @@ -1311,7 +1898,7 @@ func (c *ULBClient) NewDescribeULBSimpleRequest() *DescribeULBSimpleRequest { /* API: DescribeULBSimple -获取ULB信息 +获取CLB信息 */ func (c *ULBClient) DescribeULBSimple(req *DescribeULBSimpleRequest) (*DescribeULBSimpleResponse, error) { var err error @@ -1343,10 +1930,10 @@ type DescribeVServerRequest struct { // 数据偏移量 Offset *int `required:"false"` - // 负载均衡实例的Id + // 传统型负载均衡实例的Id ULBId *string `required:"false"` - // VServer实例的Id;若指定则返回指定的VServer实例的信息; 若不指定则返回当前负载均衡实例下所有VServer的信息 + // CLB下的VServer实例的Id;若指定则返回指定的VServer实例的信息; 若不指定则返回当前传统型负载均衡实例下所有VServer的信息 VServerId *string `required:"false"` } @@ -1376,7 +1963,7 @@ func (c *ULBClient) NewDescribeVServerRequest() *DescribeVServerRequest { /* API: DescribeVServer -获取ULB下的VServer的详细信息 +获取CLB下的VServer的详细信息 */ func (c *ULBClient) DescribeVServer(req *DescribeVServerRequest) (*DescribeVServerResponse, error) { var err error @@ -1396,16 +1983,16 @@ func (c *ULBClient) DescribeVServer(req *DescribeVServerRequest) (*DescribeVServ type ReleaseBackendRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"true"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // 后端资源实例的ID(ULB后端ID,非资源自身ID) + // 后端资源实例的ID(CLB后端ID,非资源自身ID) BackendId *string `required:"true"` - // 负载均衡实例的ID + // 传统型负载均衡实例的ID ULBId *string `required:"true"` } @@ -1429,7 +2016,7 @@ func (c *ULBClient) NewReleaseBackendRequest() *ReleaseBackendRequest { /* API: ReleaseBackend -从VServer释放后端资源实例 +从CLB的VServer释放后端资源实例 */ func (c *ULBClient) ReleaseBackend(req *ReleaseBackendRequest) (*ReleaseBackendResponse, error) { var err error @@ -1445,6 +2032,62 @@ func (c *ULBClient) ReleaseBackend(req *ReleaseBackendRequest) (*ReleaseBackendR return &res, nil } +// RemoveTargetsRequest is request schema for RemoveTargets action +type RemoveTargetsRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 服务节点的标识ID。不超过20个; + Ids []string `required:"true"` + + // 监听器的ID + ListenerId *string `required:"true"` + + // 负载均衡实例的ID + LoadBalancerId *string `required:"true"` +} + +// RemoveTargetsResponse is response schema for RemoveTargets action +type RemoveTargetsResponse struct { + response.CommonBase +} + +// NewRemoveTargetsRequest will create request of RemoveTargets action. +func (c *ULBClient) NewRemoveTargetsRequest() *RemoveTargetsRequest { + req := &RemoveTargetsRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: RemoveTargets + +从应用型负载均衡监听器删除后端服务节点 +*/ +func (c *ULBClient) RemoveTargets(req *RemoveTargetsRequest) (*RemoveTargetsResponse, error) { + var err error + var res RemoveTargetsResponse + + reqCopier := *req + + err = c.Client.InvokeAction("RemoveTargets", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // UnBindSecurityPolicyRequest is request schema for UnBindSecurityPolicy action type UnBindSecurityPolicyRequest struct { request.CommonBase @@ -1479,7 +2122,7 @@ func (c *ULBClient) NewUnBindSecurityPolicyRequest() *UnBindSecurityPolicyReques /* API: UnBindSecurityPolicy -批量解绑安全策略 +批量解绑安全策略,会同时解绑与传统型和应用型负载均衡监听器的绑定关系 */ func (c *ULBClient) UnBindSecurityPolicy(req *UnBindSecurityPolicyRequest) (*UnBindSecurityPolicyResponse, error) { var err error @@ -1499,19 +2142,19 @@ func (c *ULBClient) UnBindSecurityPolicy(req *UnBindSecurityPolicyRequest) (*UnB type UnbindSSLRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"true"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` // SSL证书的Id SSLId *string `required:"true"` - // 所绑定ULB实例ID + // 所绑定CLB实例ID ULBId *string `required:"true"` - // 所绑定VServer实例ID + // CLB所绑定VServer实例ID VServerId *string `required:"true"` } @@ -1535,7 +2178,7 @@ func (c *ULBClient) NewUnbindSSLRequest() *UnbindSSLRequest { /* API: UnbindSSL -从VServer解绑SSL证书 +从CLB下的VServer解绑SSL证书 */ func (c *ULBClient) UnbindSSL(req *UnbindSSLRequest) (*UnbindSSLResponse, error) { var err error @@ -1561,7 +2204,7 @@ type UpdateBackendAttributeRequest struct { // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // 后端资源实例的ID(ULB后端ID,非资源自身ID) + // 后端资源实例的ID(CLB后端ID,非资源自身ID) BackendId *string `required:"true"` // 后端实例状态开关 @@ -1573,7 +2216,7 @@ type UpdateBackendAttributeRequest struct { // 后端资源服务端口,取值范围[1-65535] Port *int `required:"false"` - // 负载均衡资源ID + // 传统型负载均衡资源ID ULBId *string `required:"true"` // 所添加的后端RS权重(在加权轮询算法下有效),取值范围[1-100],默认为1 @@ -1600,7 +2243,7 @@ func (c *ULBClient) NewUpdateBackendAttributeRequest() *UpdateBackendAttributeRe /* API: UpdateBackendAttribute -更新ULB后端资源实例(服务节点)属性 +更新CLB后端资源实例(服务节点)属性 */ func (c *ULBClient) UpdateBackendAttribute(req *UpdateBackendAttributeRequest) (*UpdateBackendAttributeResponse, error) { var err error @@ -1616,32 +2259,314 @@ func (c *ULBClient) UpdateBackendAttribute(req *UpdateBackendAttributeRequest) ( return &res, nil } +/* +UpdateBackendBatchParamAttributes is request schema for complex param +*/ +type UpdateBackendBatchParamAttributes struct { + + // 后端资源实例的ID(ULB后端ID,非资源自身ID) + BackendId *string `required:"true"` + + // 后端实例状态开关 + Enabled *int `required:"false"` + + // 是否为backup 0:主rs 1:备rs 默认为0 + IsBackup *int `required:"false"` + + // 后端资源服务端口,取值范围[1-65535] + Port *int `required:"false"` + + // 所添加的后端RS权重(在加权轮询算法下有效),取值范围[0-100],默认为1 + Weight *int `required:"false"` +} + +// UpdateBackendBatchRequest is request schema for UpdateBackendBatch action +type UpdateBackendBatchRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // + Attributes []UpdateBackendBatchParamAttributes `required:"false"` + + // 负载均衡资源ID + ULBId *string `required:"true"` +} + +// UpdateBackendBatchResponse is response schema for UpdateBackendBatch action +type UpdateBackendBatchResponse struct { + response.CommonBase + + // 返回ulb对每个rs的修改是否成功 + BackendSet []BackendMsg +} + +// NewUpdateBackendBatchRequest will create request of UpdateBackendBatch action. +func (c *ULBClient) NewUpdateBackendBatchRequest() *UpdateBackendBatchRequest { + req := &UpdateBackendBatchRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: UpdateBackendBatch + +批量更新ULB后端资源实例(服务节点)属性 +*/ +func (c *ULBClient) UpdateBackendBatch(req *UpdateBackendBatchRequest) (*UpdateBackendBatchResponse, error) { + var err error + var res UpdateBackendBatchResponse + + reqCopier := *req + + err = c.Client.InvokeAction("UpdateBackendBatch", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + +/* +UpdateListenerAttributeParamHealthCheckConfig is request schema for complex param +*/ +type UpdateListenerAttributeParamHealthCheckConfig struct { + + // (应用型专用)HTTP检查域名 + Domain *string `required:"false"` + + // 是否开启健康检查功能。暂时不支持关闭;默认值为:true + Enabled *bool `required:"false"` + + // (应用型专用)HTTP检查路径 + Path *string `required:"false"` + + // 健康检查方式。应用型限定取值:“Port”/"HTTP";默认值:“Port” + Type *string `required:"false"` +} + +/* +UpdateListenerAttributeParamStickinessConfig is request schema for complex param +*/ +type UpdateListenerAttributeParamStickinessConfig struct { + + // (应用型专用)自定义Cookie。当StickinessType取值"UserDefined"时有效;限定字符长度:[0-255] + CookieName *string `required:"false"` + + // 是否开启会话保持功能。应用型负载均衡实例基于Cookie实现,网络型负载均衡则基于源IP,保证在对应的空闲超时时间内,同一个源IP送到同一个服务节点。默认值为:false + Enabled *bool `required:"false"` + + // (应用型专用)Cookie处理方式。限定枚举值:"ServerInsert" / "UserDefined",默认值为:“ServerInsert” + Type *string `required:"false"` +} + +// UpdateListenerAttributeRequest is request schema for UpdateListenerAttribute action +type UpdateListenerAttributeRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // (应用型专用)服务器默认证书ID。仅HTTPS监听支持 + Certificates []string `required:"false"` + + // (应用型专用)是否开启数据压缩功能。目前只支持使用gzip对特定文件类型进行压缩 + CompressionEnabled *bool `required:"false"` + + // (应用型专用)是否开启HTTP/2特性。仅HTTPS监听支持开启 + HTTP2Enabled *bool `required:"false"` + + // + HealthCheckConfig *UpdateListenerAttributeParamHealthCheckConfig `required:"false"` + + // 连接空闲超时时间。单位:秒。应用型限定取值:[1-86400] + IdleTimeout *int `required:"false"` + + // 监听器的ID + ListenerId *string `required:"true"` + + // 负载均衡实例的ID + LoadBalancerId *string `required:"true"` + + // 监听器的名称。限定字符长度:[1-255];限定特殊字符,仅支持:-_. + Name *string `required:"false"` + + // (应用型专用)是否开启HTTP重定向到HTTPS。仅HTTP监听支持开启 + RedirectEnabled *bool `required:"false"` + + // (应用型专用)重定向端口。限定取值:[1-65535] + RedirectPort *int `required:"false"` + + // 监听器的备注信息。限定字符长度:[0-255] + Remark *string `required:"false"` + + // 负载均衡算法。应用型限定取值:"Roundrobin"/"Source"/"WeightRoundrobin"/" Leastconn"/"Backup" + Scheduler *string `required:"false"` + + // (应用型专用)安全策略组ID。仅HTTPS监听支持绑定。“Default”,表示绑定原生策略 + SecurityPolicyId *string `required:"false"` + + // + StickinessConfig *UpdateListenerAttributeParamStickinessConfig `required:"false"` +} + +// UpdateListenerAttributeResponse is response schema for UpdateListenerAttribute action +type UpdateListenerAttributeResponse struct { + response.CommonBase +} + +// NewUpdateListenerAttributeRequest will create request of UpdateListenerAttribute action. +func (c *ULBClient) NewUpdateListenerAttributeRequest() *UpdateListenerAttributeRequest { + req := &UpdateListenerAttributeRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: UpdateListenerAttribute + +更新一个应用型负载均衡监听器的属性 +*/ +func (c *ULBClient) UpdateListenerAttribute(req *UpdateListenerAttributeRequest) (*UpdateListenerAttributeResponse, error) { + var err error + var res UpdateListenerAttributeResponse + + reqCopier := *req + + err = c.Client.InvokeAction("UpdateListenerAttribute", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + +/* +UpdateLoadBalancerAttributeParamAccessLogConfig is request schema for complex param +*/ +type UpdateLoadBalancerAttributeParamAccessLogConfig struct { + + // (应用型专用)是否开启访问日志记录功能 + Enabled *bool `required:"false"` + + // (应用型专用)用于存储访问日志的bucket + US3BucketName *string `required:"false"` + + // (应用型专用)上传访问日志到bucket所需的token + US3TokenId *string `required:"false"` +} + +// UpdateLoadBalancerAttributeRequest is request schema for UpdateLoadBalancerAttribute action +type UpdateLoadBalancerAttributeRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // + AccessLogConfig *UpdateLoadBalancerAttributeParamAccessLogConfig `required:"false"` + + // 负载均衡实例的ID + LoadBalancerId *string `required:"true"` + + // 负载均衡实例的名称,不传则默认不修改 + Name *string `required:"false"` + + // 负载均衡实例的备注信息,不传则默认不修改,限定字符长度:[0-255] + Remark *string `required:"false"` + + // 负载均衡实例所属的业务组ID,不传则默认不修改 + Tag *string `required:"false"` +} + +// UpdateLoadBalancerAttributeResponse is response schema for UpdateLoadBalancerAttribute action +type UpdateLoadBalancerAttributeResponse struct { + response.CommonBase +} + +// NewUpdateLoadBalancerAttributeRequest will create request of UpdateLoadBalancerAttribute action. +func (c *ULBClient) NewUpdateLoadBalancerAttributeRequest() *UpdateLoadBalancerAttributeRequest { + req := &UpdateLoadBalancerAttributeRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: UpdateLoadBalancerAttribute + +更新一个应用型负载均衡实例的属性 +*/ +func (c *ULBClient) UpdateLoadBalancerAttribute(req *UpdateLoadBalancerAttributeRequest) (*UpdateLoadBalancerAttributeResponse, error) { + var err error + var res UpdateLoadBalancerAttributeResponse + + reqCopier := *req + + err = c.Client.InvokeAction("UpdateLoadBalancerAttribute", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // UpdatePolicyRequest is request schema for UpdatePolicy action type UpdatePolicyRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"true"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // 内容转发策略应用的后端资源实例的ID,来源于 AllocateBackend 返回的 BackendId,不传表示更新转发节点为空 + // 内容转发策略应用的后端资源实例的ID(CLB的后端节点Id),来源于 AllocateBackend 返回的 BackendId,不传表示更新转发节点为空 BackendId []string `required:"false"` + // 内容转发规则中域名的匹配方式,默认与原本一致。枚举值:Regular,正则;Wildcard,泛域名 + DomainMatchMode *string `required:"false"` + // 内容转发匹配字段 Match *string `required:"true"` - // 转发规则的ID,当Type为Default时,可以不传或为空 + // 传统型负载均衡转发规则的ID,当Type为Default时,可以不传或为空 PolicyId *string `required:"false"` + // 策略优先级,1-9999;只针对路径规则生效 + PolicyPriority *int `required:"false"` + // 内容转发匹配字段的类型,枚举值:Domain -> 域名转发规则;Path -> 路径转发规则;Default -> 默认转发规则,不传默认值Domain Type *string `required:"false"` - // 需要添加内容转发策略的负载均衡实例ID + // 需要添加内容转发策略的传统型负载均衡实例ID ULBId *string `required:"true"` - // 需要添加内容转发策略的VServer实例ID,只支持请求代理模式下,HTTP或HTTPS协议的VServer + // 需要添加内容转发策略的VServer实例ID,只支持请求代理模式下,HTTP或HTTPS协议的CLB下的VServer VServerId *string `required:"true"` } @@ -1668,7 +2593,7 @@ func (c *ULBClient) NewUpdatePolicyRequest() *UpdatePolicyRequest { /* API: UpdatePolicy -更新内容转发规则,包括转发规则后的服务节点 +更新传统型负载均衡内容转发规则,包括转发规则后的服务节点 */ func (c *ULBClient) UpdatePolicy(req *UpdatePolicyRequest) (*UpdatePolicyResponse, error) { var err error @@ -1734,6 +2659,140 @@ func (c *ULBClient) UpdatePolicyGroupAttribute(req *UpdatePolicyGroupAttributeRe return &res, nil } +/* +UpdateRuleAttributeParamRuleActionsForwardConfigTargets is request schema for complex param +*/ +type UpdateRuleAttributeParamRuleActionsForwardConfigTargets struct { + + // 转发的后端服务节点的标识ID。限定在监听器的服务节点池里;数组长度可以是0;转发服务节点配置的数组长度不为0时,Id必填 + Id *string `required:"false"` + + // 转发的后端服务节点的权重。仅监听器负载均衡算法是加权轮询是有效 + Weight *int `required:"false"` +} + +/* +UpdateRuleAttributeParamRuleActionsForwardConfig is request schema for complex param +*/ +type UpdateRuleAttributeParamRuleActionsForwardConfig struct { + + // + Targets []UpdateRuleAttributeParamRuleActionsForwardConfigTargets `required:"false"` +} + +/* +UpdateRuleAttributeParamRuleConditionsPathConfig is request schema for complex param +*/ +type UpdateRuleAttributeParamRuleConditionsPathConfig struct { + + // 取值。暂时只支持数组长度为1;取值需符合相关条件;修改路径匹配时必填 + Values []string `required:"false"` +} + +/* +UpdateRuleAttributeParamRuleConditionsHostConfig is request schema for complex param +*/ +type UpdateRuleAttributeParamRuleConditionsHostConfig struct { + + // 匹配方式。限定枚举值:"Regular"/"Wildcard",默认值:"Regular" + MatchMode *string `required:"false"` + + // 取值。暂时只支持数组长度为1;取值需符合相关匹配方式的条件;修改域名匹配时必填 + Values []string `required:"false"` +} + +/* +UpdateRuleAttributeParamRuleActions is request schema for complex param +*/ +type UpdateRuleAttributeParamRuleActions struct { + + // + ForwardConfig *UpdateRuleAttributeParamRuleActionsForwardConfig `required:"false"` + + // 动作类型。限定枚举值:"Forward";RuleActions数组长度不为0时必填 + Type *string `required:"false"` +} + +/* +UpdateRuleAttributeParamRuleConditions is request schema for complex param +*/ +type UpdateRuleAttributeParamRuleConditions struct { + + // + HostConfig *UpdateRuleAttributeParamRuleConditionsHostConfig `required:"false"` + + // + PathConfig *UpdateRuleAttributeParamRuleConditionsPathConfig `required:"false"` + + // 匹配条件类型。限定枚举值:"Host"/"Path";RuleConditions数组长度不为0时必填 + Type *string `required:"false"` +} + +// UpdateRuleAttributeRequest is request schema for UpdateRuleAttribute action +type UpdateRuleAttributeRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 监听器的ID + ListenerId *string `required:"true"` + + // 负载均衡实例的ID + LoadBalancerId *string `required:"true"` + + // 当转发的服务节点为空时,规则是否忽略。默认转发规则不可更改 + Pass *bool `required:"false"` + + // + RuleActions []UpdateRuleAttributeParamRuleActions `required:"false"` + + // + RuleConditions []UpdateRuleAttributeParamRuleConditions `required:"false"` + + // 转发规则的ID + RuleId *string `required:"true"` +} + +// UpdateRuleAttributeResponse is response schema for UpdateRuleAttribute action +type UpdateRuleAttributeResponse struct { + response.CommonBase +} + +// NewUpdateRuleAttributeRequest will create request of UpdateRuleAttribute action. +func (c *ULBClient) NewUpdateRuleAttributeRequest() *UpdateRuleAttributeRequest { + req := &UpdateRuleAttributeRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: UpdateRuleAttribute + +更新应用型负载均衡监听器的一条转发规则的属性 +*/ +func (c *ULBClient) UpdateRuleAttribute(req *UpdateRuleAttributeRequest) (*UpdateRuleAttributeResponse, error) { + var err error + var res UpdateRuleAttributeResponse + + reqCopier := *req + + err = c.Client.InvokeAction("UpdateRuleAttribute", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // UpdateSSLAttributeRequest is request schema for UpdateSSLAttribute action type UpdateSSLAttributeRequest struct { request.CommonBase @@ -1787,6 +2846,65 @@ func (c *ULBClient) UpdateSSLAttribute(req *UpdateSSLAttributeRequest) (*UpdateS return &res, nil } +// UpdateSSLBindingRequest is request schema for UpdateSSLBinding action +type UpdateSSLBindingRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 所操作监听器实例ID(仅ListenerId传参时,将更换该监听器所有原证书为OldSSLId的绑定关系;LoadBalancerId和ListenerId都不传参则将更新该项目下所有原证书为OldSSLId的绑定关系;若LoadBalancerId与ListenerId皆有传参,则会强校验ULB与Vsserver的所属关系,将更换该ulb下vserver所绑定的OldSSLId为NewSSLId)(监听器指VServer或Listener) + ListenerId *string `required:"false"` + + // 所操作LB实例ID(仅LoadBalancerId传参时,将更换该LB所有原证书为OldSSLId的绑定关系;LoadBalancerId和ListenerId都不传参则将更新该项目下所有原证书为OldSSLId的绑定关系)(LB指CLB或ALB) + LoadBalancerId *string `required:"false"` + + // 监听器实例需要绑定的新的证书 + NewSSLId *string `required:"true"` + + // 监听器实例绑定的旧的证书 + OldSSLId *string `required:"true"` +} + +// UpdateSSLBindingResponse is response schema for UpdateSSLBinding action +type UpdateSSLBindingResponse struct { + response.CommonBase +} + +// NewUpdateSSLBindingRequest will create request of UpdateSSLBinding action. +func (c *ULBClient) NewUpdateSSLBindingRequest() *UpdateSSLBindingRequest { + req := &UpdateSSLBindingRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: UpdateSSLBinding + +将传统型或应用型负载均衡监听器绑定的证书更换为另一个证书, +*/ +func (c *ULBClient) UpdateSSLBinding(req *UpdateSSLBindingRequest) (*UpdateSSLBindingResponse, error) { + var err error + var res UpdateSSLBindingResponse + + reqCopier := *req + + err = c.Client.InvokeAction("UpdateSSLBinding", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // UpdateSecurityPolicyRequest is request schema for UpdateSecurityPolicy action type UpdateSecurityPolicyRequest struct { request.CommonBase @@ -1846,26 +2964,115 @@ func (c *ULBClient) UpdateSecurityPolicy(req *UpdateSecurityPolicyRequest) (*Upd return &res, nil } +/* +UpdateTargetsAttributeParamTargets is request schema for complex param +*/ +type UpdateTargetsAttributeParamTargets struct { + + // 服务节点是否启用。默认值true;要更新的Targets数组长度至少为1,不超过20个 + Enabled *bool `required:"false"` + + // 服务节点的标识ID。限定枚举值:"UHost" / "UNI"/"UPM"/"IP";要更新的Targets数组长度至少为1,不超过20个 + Id *string `required:"false"` + + // 服务节点是否为备节点。默认值false;要更新的Targets数组长度至少为1,不超过20个 + IsBackup *bool `required:"false"` + + // 服务节点的权重。限定取值:[1-100],默认值1;仅在加权轮询算法时有效;要更新的Targets数组长度至少为1,不超过20个 + Weight *int `required:"false"` +} + +// UpdateTargetsAttributeRequest is request schema for UpdateTargetsAttribute action +type UpdateTargetsAttributeRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 监听器的ID + ListenerId *string `required:"true"` + + // 负载均衡实例的ID + LoadBalancerId *string `required:"true"` + + // + Targets []UpdateTargetsAttributeParamTargets `required:"false"` +} + +// UpdateTargetsAttributeResponse is response schema for UpdateTargetsAttribute action +type UpdateTargetsAttributeResponse struct { + response.CommonBase +} + +// NewUpdateTargetsAttributeRequest will create request of UpdateTargetsAttribute action. +func (c *ULBClient) NewUpdateTargetsAttributeRequest() *UpdateTargetsAttributeRequest { + req := &UpdateTargetsAttributeRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: UpdateTargetsAttribute + +更新应用型负载均衡监听器后端服务节点的属性 +*/ +func (c *ULBClient) UpdateTargetsAttribute(req *UpdateTargetsAttributeRequest) (*UpdateTargetsAttributeResponse, error) { + var err error + var res UpdateTargetsAttributeResponse + + reqCopier := *req + + err = c.Client.InvokeAction("UpdateTargetsAttribute", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // UpdateULBAttributeRequest is request schema for UpdateULBAttribute action type UpdateULBAttributeRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"true"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // 名字 + // 设置用于存储ulb日志的bucket + BucketName *string `required:"false"` + + // 日志开关,1代表开启日志,0代表关闭日志,传1时必须同时传BucketName,TokenName与TokenId二选一 + EnableLog *int `required:"false"` + + // 是否开启WAF。枚举类型:Yes,No,默认值为No + IsWAFOn *string `required:"false"` + + // 名字,不传则默认不修改 Name *string `required:"false"` - // 备注 + // 备注,不传则默认不修改 Remark *string `required:"false"` - // 业务 + // 业务,不传则默认不修改 Tag *string `required:"false"` - // ULB资源ID + // 用于指定上传到bucket所需的token,与TokenName选填其一即可 + TokenId *string `required:"false"` + + // 用于指定上传到bucket所需的token,与TokenId选填其一即可 + TokenName *string `required:"false"` + + // CLB资源ID ULBId *string `required:"true"` } @@ -1889,7 +3096,7 @@ func (c *ULBClient) NewUpdateULBAttributeRequest() *UpdateULBAttributeRequest { /* API: UpdateULBAttribute -更新ULB名字业务组备注等属性字段 +更新CLB名字业务组备注等属性字段 */ func (c *ULBClient) UpdateULBAttribute(req *UpdateULBAttributeRequest) (*UpdateULBAttributeResponse, error) { var err error @@ -1957,10 +3164,10 @@ type UpdateVServerAttributeRequest struct { // 安全策略组ID SecurityPolicyId *string `required:"false"` - // 负载均衡实例ID + // 传统型负载均衡实例ID ULBId *string `required:"true"` - // VServer实例ID + // 传统型负载均衡VServer实例ID VServerId *string `required:"true"` // VServer实例名称,若无此字段则不做修改 @@ -1987,7 +3194,7 @@ func (c *ULBClient) NewUpdateVServerAttributeRequest() *UpdateVServerAttributeRe /* API: UpdateVServerAttribute -更新VServer实例属性 +更新传统型负载均衡VServer实例属性 */ func (c *ULBClient) UpdateVServerAttribute(req *UpdateVServerAttributeRequest) (*UpdateVServerAttributeResponse, error) { var err error diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/doc.go index f0bf5988b8..75a98df9d9 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/doc.go @@ -5,8 +5,8 @@ Package ulb include resources of ucloud ulb product See also - - API: https://docs.ucloud.cn/api/ulb-api/index - - Product: https://www.ucloud.cn/site/product/ulb.html + - API: https://docs.ucloud.cn/api/ulb-api/index + - Product: https://www.ucloud.cn/site/product/ulb.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/models.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/models.go index 2850e60487..9fa47efc51 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/models.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/ulb/models.go @@ -2,6 +2,45 @@ package ulb +/* +TargetSet - 服务节点信息 +*/ +type TargetSet struct { + + // 服务节点是否启用。 默认值:true + Enabled bool + + // 服务节点的标识ID。 + Id string + + // 服务节点是否为备节点。 默认值:false + IsBackup bool + + // 服务节点的端口。限定取值:[1-65535]; 默认值:80 + Port int + + // 服务节点的IP。在IP类型时,必传 + ResourceIP string + + // 服务节点的资源ID。在非IP类型时,必传 + ResourceId string + + // 服务节点的类型。限定枚举值:UHost -> 云主机,UNI -> 虚拟网卡,UPM -> 物理云主机,IP -> IP类型; 默认值:"UHost"; 非IP类型,如果该资源有多个IP,将只能添加主IP; 非IP类型,展示时,会显示相关资源信息,IP类型只展示IP信息。 在相关资源被删除时,非IP类型会把相关资源从lb中剔除,IP类型不保证这个逻辑 + ResourceType string + + // 服务节点的健康检查状态。限定枚举值:Healthy -> 健康,Unhealthy -> 不健康 + State string + + // 服务节点的子网资源ID。在IP类型时,必传 + SubnetId string + + // 服务节点的VPC资源ID。在IP类型时,必传 + VPCId string + + // 服务节点的权重。限定取值:[1-100]; 仅在加权轮询算法时有效; 默认值:1 + Weight int +} + /* BackendSet - */ @@ -100,6 +139,75 @@ type ULBSSLSet struct { // SSL证书的HASH值 HashValue string + // 证书过期时间,只有当SSLSource为1时才出现 + NotAfter int + + // 证书颁发时间,只有当SSLSource为1时才出现 + NotBefore int + + // SSL证书的内容 + SSLContent string + + // SSL证书的Id + SSLId string + + // SSL证书的名字 + SSLName string + + // SSL证书来源,SSL证书来源,0代表证书来自于ULB平台,1代表证书来自于USSL平台 + SSLSource int + + // SSL证书类型,暂时只有 Pem 一种类型 + SSLType string + + // USSL证书平台的编号,只有当SSLSource为1时才出现 + USSLId string +} + +/* +SSLRelation - SSL证书绑定到的对象 +*/ +type SSLRelation struct { + + // 是否为监听器默认SSL证书 + IsDefault bool + + // 监听器的ID + ListenerId string + + // 监听器的名称 + ListenerName string + + // 负载均衡实例的ID + LoadBalancerId string + + // 负载均衡实例的名称 + LoadBalancerName string +} + +/* +SSLInfo - SSL返回信息 +*/ +type SSLInfo struct { + + // SSL证书的创建时间 + CreateTime int + + // USSL证书平台的域名,只有当SSLSource为1时才出现 + Domains string + + // SSL证书的HASH值 + HashValue string + + // 证书过期时间,只有当SSLSource为1时才出现 + NotAfter int + + // 证书颁发时间,只有当SSLSource为1时才出现 + NotBefore int + + // SSL绑定ULB和ALB的关系 + Relations []SSLRelation + // SSL证书的内容 SSLContent string @@ -161,6 +269,48 @@ type SecurityPolicy struct { VServerSet []BindVServerInfo } +/* +SecurityPolicyRelation - 关联的监听 +*/ +type SecurityPolicyRelation struct { + + // 监听器的ID + ListenerId string + + // 监听器的名称 + ListenerName string + + // 监听端口 + ListenerPort int + + // 负载均衡实例的ID + LoadBalancerId string +} + +/* +SecurityPolicyInfo - 安全策略信息 +*/ +type SecurityPolicyInfo struct { + + // 关联的监听 + Relations []SecurityPolicyRelation + + // 加密套件 + SSLCiphers []string + + // 安全策略ID + SecurityPolicyId string + + // 安全策略名称 + SecurityPolicyName string + + // 安全策略类型 0:预定义 1:自定义 + SecurityPolicyType int + + // TLS最低版本 + TLSVersion string +} + /* TLSAndCiphers - */ @@ -206,57 +356,6 @@ type PolicyBackendSet struct { SubResourceType string } -/* -ULBBackendSet - DescribeULB -*/ -type ULBBackendSet struct { - - // 后端资源实例的Id - BackendId string - - // 后端提供服务的实例启用与否,枚举值:0 禁用 1 启用 - Enabled int - - // 是否为backup,只有当vserver的Backup属性为1时才会有此字段,说明:0:主rs1:备rs - IsBackup int - - // 后端提供服务的端口 - Port int - - // 后端提供服务的内网IP - PrivateIP string - - // 资源实例的资源Id - ResourceId string - - // 资源实例的资源名称 - ResourceName string - - // 资源实例的类型 - ResourceType string - - // 后端提供服务的实例运行状态,枚举值:0健康检查健康状态 1 健康检查异常 - Status int - - // 资源绑定的虚拟网卡实例的资源Id - SubResourceId string - - // 资源绑定的虚拟网卡实例的资源名称 - SubResourceName string - - // 资源绑定的虚拟网卡实例的类型 - SubResourceType string - - // 后端提供服务的资源所在的子网的ID - SubnetId string - - // 后端服务器所在的VPC - VPCId string - - // 后端RS权重(在加权轮询算法下有效) - Weight int -} - /* BindSecurityPolicy - VServer绑定的安全策略组信息 */ @@ -311,6 +410,57 @@ type ULBPolicySet struct { VServerId string } +/* +ULBBackendSet - DescribeULB +*/ +type ULBBackendSet struct { + + // 后端资源实例的Id + BackendId string + + // 后端提供服务的实例启用与否,枚举值:0 禁用 1 启用 + Enabled int + + // 是否为backup,只有当vserver的Backup属性为1时才会有此字段,说明:0:主rs1:备rs + IsBackup int + + // 后端提供服务的端口 + Port int + + // 后端提供服务的内网IP + PrivateIP string + + // 资源实例的资源Id + ResourceId string + + // 资源实例的资源名称 + ResourceName string + + // 资源实例的类型 + ResourceType string + + // 后端提供服务的实例运行状态,枚举值:0健康检查健康状态 1 健康检查异常 + Status int + + // 资源绑定的虚拟网卡实例的资源Id + SubResourceId string + + // 资源绑定的虚拟网卡实例的资源名称 + SubResourceName string + + // 资源绑定的虚拟网卡实例的类型 + SubResourceType string + + // 后端提供服务的资源所在的子网的ID + SubnetId string + + // 后端服务器所在的VPC + VPCId string + + // 后端RS权重(在加权轮询算法下有效) + Weight int +} + /* LoggerSet - ulb日志信息 */ @@ -326,27 +476,6 @@ type LoggerSet struct { TokenName string } -/* -ULBIPSet - DescribeULB -*/ -type ULBIPSet struct { - - // 弹性IP的带宽值(暂未对外开放) - Bandwidth int - - // 弹性IP的带宽类型,枚举值:1 表示是共享带宽,0 普通带宽类型(暂未对外开放) - BandwidthType int - - // 弹性IP地址 - EIP string - - // 弹性IP的ID - EIPId string - - // 弹性IP的运营商信息,枚举值为: Bgp:BGP IP International:国际IP - OperatorName string -} - /* ULBVServerSet - DescribeULB */ @@ -422,6 +551,27 @@ type ULBVServerSet struct { VServerName string } +/* +ULBIPSet - DescribeULB +*/ +type ULBIPSet struct { + + // 弹性IP的带宽值(暂未对外开放) + Bandwidth int + + // 弹性IP的带宽类型,枚举值:1 表示是共享带宽,0 普通带宽类型(暂未对外开放) + BandwidthType int + + // 弹性IP地址 + EIP string + + // 弹性IP的ID + EIPId string + + // 弹性IP的运营商信息,枚举值为: Bgp:BGP IP International:国际IP + OperatorName string +} + /* FirewallSet - ulb防火墙信息 */ @@ -484,6 +634,9 @@ type ULBSet struct { // ULB的详细信息列表(废弃) Resource []string `deprecated:"true"` + // ULB后向代理IP,仅当有代理IP时返回否 + SnatIps []string + // ULB 为 InnerMode 时,ULB 所属的子网ID,默认为空 SubnetId string @@ -550,6 +703,9 @@ type ULBSimpleSet struct { // 负载均衡的备注 Remark string + // ULB后向代理IP,仅当有代理IP时返回否 + SnatIps []string + // ULB 为 InnerMode 时,ULB 所属的子网ID SubnetId string @@ -567,4 +723,22 @@ type ULBSimpleSet struct { // ulb下vserver数量 VServerCount int + + // WAF功能状态,枚举类型:Unavailable:无法创建WAF;NoWAF:未绑定WAF;Intranet:内网回源Waf;Extranet:外网回源Waf + WAFMode string +} + +/* +BackendMsg - ulb修rs状态时返回的信息 +*/ +type BackendMsg struct { + + // rs的资源ID + BackendId string + + // 修改rs返回的消息 + SubMessage string + + // 修改rs的返回值 + SubRetCode int } diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/apis.go index 4ec2392a79..79f676b0e5 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/apis.go @@ -202,47 +202,65 @@ func (c *UMemClient) CreateUMemBackup(req *CreateUMemBackupRequest) (*CreateUMem type CreateUMemSpaceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` - // Year , Month, Dynamic, Trial 默认: Month + // 分片个数 + BlockCnt *int `required:"false"` + + // Year , Month, Dynamic 默认: Month ChargeType *string `required:"false"` + // 是否是cluster模式(参数为cluster创建redis cluster,其他参数或者不传该参数仍然创建老版本分布式) + ClusterMode *string `required:"false"` + // 使用的代金券id CouponId *string `required:"false"` + // 是否创建性能增强性。默认为false,或者不填,填true为性能增强型。 + HighPerformance *bool `required:"false"` + // 空间名称,长度(6<=size<=63) Name *string `required:"true"` - // 【该字段已废弃,请谨慎使用】 - Password *string `required:"false" deprecated:"true"` + // URedis密码。请遵照[[api:uhost-api:specification|字段规范]]设定密码。密码需使用base64进行编码,举例如下:# echo -n Password1 | base64UGFzc3dvcmQx。 + Password *string `required:"false"` // 协议:memcache, redis (默认redis).注意:redis无single类型 Protocol *string `required:"false"` + // 分布式代理CPU核数 + ProxySize *int `required:"false"` + // 购买时长 默认: 1 Quantity *int `required:"false"` // 内存大小, 单位:GB, 范围[1~1024] Size *int `required:"true"` - // + // 跨机房UDRedis,slave所在可用区(必须和Zone在同一Region,且不可相同) + SlaveZone *string `required:"false"` + + // 子网ID SubnetId *string `required:"false"` - // 【该字段已废弃,请谨慎使用】 - Tag *string `required:"false" deprecated:"true"` + // + Tag *string `required:"false"` // 空间类型:single(无热备),double(热备)(默认: double) Type *string `required:"false"` - // + // VPC的ID VPCId *string `required:"false"` + + // 分布式分片版本(默认版本是4.0,其他版本见DescribeUDRedisBlockVersion) + Version *string `required:"false"` } // CreateUMemSpaceResponse is response schema for CreateUMemSpace action @@ -276,6 +294,8 @@ func (c *UMemClient) CreateUMemSpace(req *CreateUMemSpaceRequest) (*CreateUMemSp reqCopier := *req + reqCopier.Password = request.ToBase64Query(reqCopier.Password) + err = c.Client.InvokeAction("CreateUMemSpace", &reqCopier, &res) if err != nil { return &res, err @@ -436,13 +456,13 @@ func (c *UMemClient) CreateURedisBackup(req *CreateURedisBackupRequest) (*Create type CreateURedisGroupRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` // 是否自动备份,enable或disable,默认disable @@ -457,7 +477,7 @@ type CreateURedisGroupRequest struct { // 计费模式,Year , Month, Dynamic 默认: Month ChargeType *string `required:"false"` - // 配置ID,目前支持 3.0版本配置ID:"03f58ca9-b64d-4bdd-abc7-c6b9a46fd801",3.2版本配置ID:"3e45ac48-f8a2-a9q2-261d-l342dab130gf", 4.0版本配置ID:"6c9298a3-9d7f-428c-b1d0-e87ab3b8a1ea",默认版本3.0,从备份创建为必传项 + // 配置ID,目前支持 4.0版本配置ID:"6c9298a3-9d7f-428c-b1d0-e87ab3b8a1ea", 5.0版本配置ID:"3cdeeb90-dcbf-46e8-95cd-a05d8860a22c",6.0版本配置ID:"1d990520-aac8-4e0f-9384-f58611e8eb28",7.0版本配置ID:"48dcf534-db41-11ec-a1a6-52670028d520",默认版本4.0,从备份创建为必传项 ConfigId *string `required:"false"` // 代金券ID @@ -469,6 +489,9 @@ type CreateURedisGroupRequest struct { // 是否开启高可用,enable或disable HighAvailability *string `required:"true"` + // 是否创建高性能Redis, 默认为false, 或者不填, 创建高性能为true + HighPerformance *bool `required:"false"` + // Master Redis Group的ID,创建只读Slave时,必须填写 MasterGroupId *string `required:"false"` @@ -496,7 +519,7 @@ type CreateURedisGroupRequest struct { // VPC的ID VPCId *string `required:"false"` - // Redis版本信息(详见DescribeURedisVersion返回结果),默认版本3.0 + // Redis版本信息(详见DescribeURedisVersion返回结果),默认版本4.0 Version *string `required:"false"` } @@ -757,13 +780,13 @@ func (c *UMemClient) DescribeUDRedisProxyInfo(req *DescribeUDRedisProxyInfoReque type DescribeUDRedisSlowlogRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` // 实例id @@ -771,6 +794,9 @@ type DescribeUDRedisSlowlogRequest struct { // 分页显示的条目数,默认为10 Limit *int `required:"false"` + + // 代理Id + ProxyId *string `required:"false"` } // DescribeUDRedisSlowlogResponse is response schema for DescribeUDRedisSlowlog action @@ -1085,9 +1111,18 @@ type DescribeUMemPriceRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // umem 分片个数 + BlockCnt *int `required:"false"` + // Year, Month, Dynamic 如果不指定,则一次性获取三种计费 ChargeType *string `required:"false"` + // 实例类型是否为性能增强型。默认为false,或者不填,true为性能增强型。 + HighPerformance *bool `required:"false"` + + // umem 代理CPU核心数 + ProxySize *int `required:"false"` + // 购买UMem的时长,默认值为1 Quantity *int `required:"false"` @@ -1726,18 +1761,21 @@ func (c *UMemClient) DescribeURedisGroup(req *DescribeURedisGroupRequest) (*Desc type DescribeURedisPriceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` // 计费模式,Year, Month, Dynamic;如果不指定,则一次性获取三种计费 ChargeType *string `required:"false"` + // 查询高性能Redis, 默认为false, 或者不填, 查询高性能为true + HighPerformance *bool `required:"false"` + // 产品类型:MS_Redis(标准主备版),S_Redis(从库),默认为MS_Redis ProductType *string `required:"false"` @@ -1777,7 +1815,7 @@ func (c *UMemClient) NewDescribeURedisPriceRequest() *DescribeURedisPriceRequest /* API: DescribeURedisPrice -取uredis价格信息 +获取URedis价格信息 */ func (c *UMemClient) DescribeURedisPrice(req *DescribeURedisPriceRequest) (*DescribeURedisPriceResponse, error) { var err error @@ -2095,65 +2133,6 @@ func (c *UMemClient) GetUMemSpaceState(req *GetUMemSpaceStateRequest) (*GetUMemS return &res, nil } -// GetURedisSizeRequest is request schema for GetURedisSize action -type GetURedisSizeRequest struct { - request.CommonBase - - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) - // ProjectId *string `required:"false"` - - // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) - // Region *string `required:"true"` - - // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) - // Zone *string `required:"true"` - - // 是否查询高性能Redis, 默认为false, 或者不填, 查询高性能为true - HighPerformance *bool `required:"false"` - - // 是否是跨机房实例,默认为false,跨机房为true。 - RegionFlag *bool `required:"false"` -} - -// GetURedisSizeResponse is response schema for GetURedisSize action -type GetURedisSizeResponse struct { - response.CommonBase - - // 容量大小 - DataSize []string -} - -// NewGetURedisSizeRequest will create request of GetURedisSize action. -func (c *UMemClient) NewGetURedisSizeRequest() *GetURedisSizeRequest { - req := &GetURedisSizeRequest{} - - // setup request with client config - c.Client.SetupRequest(req) - - // setup retryable with default retry policy (retry for non-create action and common error) - req.SetRetryable(true) - return req -} - -/* -API: GetURedisSize - -获取容量范围 -*/ -func (c *UMemClient) GetURedisSize(req *GetURedisSizeRequest) (*GetURedisSizeResponse, error) { - var err error - var res GetURedisSizeResponse - - reqCopier := *req - - err = c.Client.InvokeAction("GetURedisSize", &reqCopier, &res) - if err != nil { - return &res, err - } - - return &res, nil -} - // ISolationURedisGroupRequest is request schema for ISolationURedisGroup action type ISolationURedisGroupRequest struct { request.CommonBase @@ -2269,6 +2248,71 @@ func (c *UMemClient) ModifyUMemSpaceName(req *ModifyUMemSpaceNameRequest) (*Modi return &res, nil } +// ModifyURedisConfigRequest is request schema for ModifyURedisConfig action +type ModifyURedisConfigRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"false"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Zone *string `required:"true"` + + // 配置文件的ID + ConfigId *string `required:"true"` + + // 如果实例使用默认配置创建,修改配置信息需要填写GroupId + GroupId *string `required:"false"` + + // 参数名称 + Key *string `required:"true"` + + // 是否是跨机房URedis(默认false) + RegionFlag *bool `required:"false"` + + // 对应参数的值 + Value *string `required:"true"` +} + +// ModifyURedisConfigResponse is response schema for ModifyURedisConfig action +type ModifyURedisConfigResponse struct { + response.CommonBase +} + +// NewModifyURedisConfigRequest will create request of ModifyURedisConfig action. +func (c *UMemClient) NewModifyURedisConfigRequest() *ModifyURedisConfigRequest { + req := &ModifyURedisConfigRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: ModifyURedisConfig + +修改主备Redis配置文件参数 +*/ +func (c *UMemClient) ModifyURedisConfig(req *ModifyURedisConfigRequest) (*ModifyURedisConfigResponse, error) { + var err error + var res ModifyURedisConfigResponse + + reqCopier := *req + + err = c.Client.InvokeAction("ModifyURedisConfig", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // ModifyURedisGroupNameRequest is request schema for ModifyURedisGroupName action type ModifyURedisGroupNameRequest struct { request.CommonBase @@ -2467,8 +2511,6 @@ func (c *UMemClient) NewResizeUDredisSpaceRequest() *ResizeUDredisSpaceRequest { /* API: ResizeUDredisSpace - - */ func (c *UMemClient) ResizeUDredisSpace(req *ResizeUDredisSpaceRequest) (*ResizeUDredisSpaceResponse, error) { var err error @@ -2488,14 +2530,14 @@ func (c *UMemClient) ResizeUDredisSpace(req *ResizeUDredisSpaceRequest) (*Resize type ResizeUMemSpaceRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) - // Zone *string `required:"false"` + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Zone *string `required:"true"` // 【该字段已废弃,请谨慎使用】 ChargeType *string `required:"false" deprecated:"true"` @@ -2509,8 +2551,8 @@ type ResizeUMemSpaceRequest struct { // UMem 内存空间Id SpaceId *string `required:"true"` - // 【该字段已废弃,请谨慎使用】 - Type *string `required:"false" deprecated:"true"` + // 空间类型:single(无热备),double(热备)(默认: double) + Type *string `required:"false"` } // ResizeUMemSpaceResponse is response schema for ResizeUMemSpace action @@ -2533,7 +2575,7 @@ func (c *UMemClient) NewResizeUMemSpaceRequest() *ResizeUMemSpaceRequest { /* API: ResizeUMemSpace -调整内存空间容量 +调整内存空间容量,只支持存量老分布式产品,不支持高性能分布式 */ func (c *UMemClient) ResizeUMemSpace(req *ResizeUMemSpaceRequest) (*ResizeUMemSpaceResponse, error) { var err error @@ -2818,13 +2860,13 @@ func (c *UMemClient) StartURedisGroup(req *StartURedisGroupRequest) (*StartURedi type UpdateURedisBackupStrategyRequest struct { request.CommonBase - // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](../summary/get_project_list.html) + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) // ProjectId *string `required:"false"` - // [公共参数] 地域。 参见 [地域和可用区列表](../summary/regionlist.html) + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Region *string `required:"true"` - // [公共参数] 可用区。参见 [可用区列表](../summary/regionlist.html) + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"false"` // 是否打开默认备份功能。enable(打开),disable(关闭),默认enable @@ -2875,3 +2917,62 @@ func (c *UMemClient) UpdateURedisBackupStrategy(req *UpdateURedisBackupStrategyR return &res, nil } + +// UpdateURedisRewriteTimeRequest is request schema for UpdateURedisRewriteTime action +type UpdateURedisRewriteTimeRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"false"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Zone *string `required:"true"` + + // 实例名称 + GroupId *string `required:"true"` + + // 重写时间 + RewriteTime *int `required:"true"` + + // 跨机房URedis,slave所在可用区(必须和Zone在同一Region,且不可相同) + SlaveZone *string `required:"false"` +} + +// UpdateURedisRewriteTimeResponse is response schema for UpdateURedisRewriteTime action +type UpdateURedisRewriteTimeResponse struct { + response.CommonBase +} + +// NewUpdateURedisRewriteTimeRequest will create request of UpdateURedisRewriteTime action. +func (c *UMemClient) NewUpdateURedisRewriteTimeRequest() *UpdateURedisRewriteTimeRequest { + req := &UpdateURedisRewriteTimeRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: UpdateURedisRewriteTime + +修改主备redis重写时间 +*/ +func (c *UMemClient) UpdateURedisRewriteTime(req *UpdateURedisRewriteTimeRequest) (*UpdateURedisRewriteTimeResponse, error) { + var err error + var res UpdateURedisRewriteTimeResponse + + reqCopier := *req + + err = c.Client.InvokeAction("UpdateURedisRewriteTime", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/doc.go index fbf07ef894..7f6c2d47a0 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/doc.go @@ -5,8 +5,8 @@ Package umem include resources of ucloud umem product See also - - API: https://docs.ucloud.cn/api/umem-api/index - - Product: https://www.ucloud.cn/site/product/umem.html + - API: https://docs.ucloud.cn/api/umem-api/index + - Product: https://www.ucloud.cn/site/product/umem.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/models.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/models.go index 95196a1023..51b5aca280 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/models.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/umem/models.go @@ -38,18 +38,6 @@ type UDRedisSlowlogSet struct { StartTime int } -/* -UMemSpaceAddressSet - DescribeUMemSpace -*/ -type UMemSpaceAddressSet struct { - - // UMem实例访问IP - IP string - - // UMem实例访问Port - Port int -} - /* UMemSlaveDataSet - DescribeUMem */ @@ -125,6 +113,18 @@ type UMemSlaveDataSet struct { Zone string } +/* +UMemSpaceAddressSet - DescribeUMemSpace +*/ +type UMemSpaceAddressSet struct { + + // UMem实例访问IP + IP string + + // UMem实例访问Port + Port int +} + /* UMemDataSet - DescribeUMem */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/apis.go index 084447af7a..ba6c516e22 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/apis.go @@ -111,6 +111,9 @@ type AllocateShareBandwidthRequest struct { // 共享带宽名字 Name *string `required:"true"` + // 共享带宽线路:BGP 国内多线,International 国际多线,ChinaMobile 移动单线,Unicom 联通单线,Telecom 电信单线,BGPPro 精品BGP(仅香港支持精品BGP) + OperatorName *string `required:"false"` + // 购买时长 Quantity *int `required:"false"` @@ -710,10 +713,10 @@ type DescribeFirewallRequest struct { // 列表起始位置偏移量,默认为0 Offset *int `required:"false"` - // 绑定防火墙组的资源ID + // 绑定防火墙组的资源ID。 ResourceId *string `required:"false"` - // 绑定防火墙组的资源类型,默认为全部资源类型。枚举值为:"unatgw",NAT网关; "uhost",云主机;“uni”,虚拟网卡; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计. + // 绑定防火墙的资源类型,仅获取资源对应防火墙信息时需要。枚举值为:"unatgw",NAT网关; "uhost",云主机; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计;”uni“,虚拟网卡;“cube”,Cube容器实例;“ulb”,负载均衡实例。 ResourceType *string `required:"false"` } @@ -1110,6 +1113,62 @@ func (c *UNetClient) DisassociateFirewall(req *DisassociateFirewallRequest) (*Di return &res, nil } +// GetEIPExclusiveUTPInfoRequest is request schema for GetEIPExclusiveUTPInfo action +type GetEIPExclusiveUTPInfoRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"false"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Zone *string `required:"true"` + + // EIP资源Id + EIPId *string `required:"true"` +} + +// GetEIPExclusiveUTPInfoResponse is response schema for GetEIPExclusiveUTPInfo action +type GetEIPExclusiveUTPInfoResponse struct { + response.CommonBase + + // EIP专属流量包信息 + EIPExclusiveInfo EIPExclusiveInfo +} + +// NewGetEIPExclusiveUTPInfoRequest will create request of GetEIPExclusiveUTPInfo action. +func (c *UNetClient) NewGetEIPExclusiveUTPInfoRequest() *GetEIPExclusiveUTPInfoRequest { + req := &GetEIPExclusiveUTPInfoRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: GetEIPExclusiveUTPInfo + +获取EIP专属流量包信息 +*/ +func (c *UNetClient) GetEIPExclusiveUTPInfo(req *GetEIPExclusiveUTPInfoRequest) (*GetEIPExclusiveUTPInfoResponse, error) { + var err error + var res GetEIPExclusiveUTPInfoResponse + + reqCopier := *req + + err = c.Client.InvokeAction("GetEIPExclusiveUTPInfo", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // GetEIPPayModeRequest is request schema for GetEIPPayMode action type GetEIPPayModeRequest struct { request.CommonBase @@ -1365,7 +1424,7 @@ type GrantFirewallRequest struct { // 所应用资源ID ResourceId *string `required:"true"` - // 绑定防火墙组的资源类型,默认为全部资源类型。枚举值为:"unatgw",NAT网关; "uhost",云主机; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计,”uni“,虚拟网卡,“cube”,Cube容器实例。 + // 绑定防火墙的资源类型,枚举值为:"unatgw",NAT网关; "uhost",云主机; "upm",物理云主机; "hadoophost",hadoop节点; "fortresshost",堡垒机; "udhost",私有专区主机;"udockhost",容器;"dbaudit",数据库审计;”uni“,虚拟网卡;“cube”,Cube容器实例;“ulb”,负载均衡实例。 ResourceType *string `required:"true"` } diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/doc.go index 540319adad..70b60177ea 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/doc.go @@ -5,8 +5,8 @@ Package unet include resources of ucloud unet product See also - - API: https://docs.ucloud.cn/api/unet-api/index - - Product: https://www.ucloud.cn/site/product/unet.html + - API: https://docs.ucloud.cn/api/unet-api/index + - Product: https://www.ucloud.cn/site/product/unet.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/models.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/models.go index 18f23bbe67..b1d7f1187f 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/models.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/unet/models.go @@ -3,14 +3,14 @@ package unet /* -UnetEIPAddrSet - DescribeEIP +UnetEIPAddrSet - AllocateEIP */ type UnetEIPAddrSet struct { // IP地址 IP string - // 运营商信息如: 电信: Telecom, 联通: Unicom, 国际: International, Duplet: 双线IP(电信+联通), BGP: Bgp + // 运营商信息如: 国际: International, BGP: BGP OperatorName string } @@ -77,6 +77,21 @@ type UnetBandwidthUsageEIPSet struct { EIPId string } +/* +ShareBandwidthSet - DescribeEIP +*/ +type ShareBandwidthSet struct { + + // 共享带宽带宽值 + ShareBandwidth int + + // 共享带宽ID + ShareBandwidthId string + + // 共享带宽的资源名称 + ShareBandwidthName string +} + /* UnetEIPResourceSet - DescribeEIP */ @@ -108,18 +123,18 @@ type UnetEIPResourceSet struct { } /* -ShareBandwidthSet - DescribeEIP +EIPBinding - EIP绑定内网IP关系数据 */ -type ShareBandwidthSet struct { +type EIPBinding struct { - // 共享带宽带宽值 - ShareBandwidth int + // 外网ip + EIP string - // 共享带宽ID - ShareBandwidthId string + // 内网ip + PrivateIP string - // 共享带宽的资源名称 - ShareBandwidthName string + // 内网ip类型:PrimaryIP(默认)、SecondaryIP(非默认) + PrivateIPType string } /* @@ -142,6 +157,9 @@ type UnetEIPSet struct { // 弹性IP的详细信息列表, 具体结构见下方 UnetEIPAddrSet EIPAddr []UnetEIPAddrSet + // EIP绑定内网IP关系数据 + EIPBinding EIPBinding + // 弹性IP的资源ID EIPId string @@ -323,6 +341,36 @@ type UnetShareBandwidthSet struct { ShareBandwidthId string } +/* +EIPExclusiveInfo - EIP专属流量包信息 +*/ +type EIPExclusiveInfo struct { + + // + AccountId int + + // 专属流量包剩余可用规格(单位MB) + AvailableSize int + + // 资源创建时间 + CreateTime int + + // EIP资源Id + EIPId string + + // 专属流量包上次重置时间 + LastResetTime int + + // 专属流量包下次重置时间 + NextResetTime int + + // 专属流量包重置策略枚举:Day、Month、Year + ResetPolicy string + + // 专属流量包总规格(单位MB) + TotalSize int +} + /* EIPPayModeSet - GetEIPPayModeEIP */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/apis.go index c0ccc714db..b7353e1203 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/apis.go @@ -9,6 +9,36 @@ import ( // UPHost API Schema +/* +CreatePHostParamNetworkInterfaceEIP is request schema for complex param +*/ +type CreatePHostParamNetworkInterfaceEIP struct { + + // 【若绑定EIP,此参数必填】弹性IP的外网带宽, 单位为Mbps. 共享带宽模式必须指定0M带宽, 非共享带宽模式必须指定非0Mbps带宽. 各地域非共享带宽的带宽范围如下: 流量计费[1-300],带宽计费[1-800] + Bandwidth *string `required:"false"` + + // 当前EIP代金券id。请通过DescribeCoupon接口查询,或登录用户中心查看。 + CouponId *string `required:"false"` + + // 【若绑定EIP,此参数必填】弹性IP的线路。枚举值: 国际: International BGP: Bgp 各地域允许的线路参数如下: cn-sh1: Bgp cn-sh2: Bgp cn-gd: Bgp cn-bj1: Bgp cn-bj2: Bgp hk: International us-ca: International th-bkk: International kr-seoul:International us-ws:International ge-fra:International sg:International tw-kh:International.其他海外线路均为 International + OperatorName *string `required:"false"` + + // 弹性IP的计费模式. 枚举值: "Traffic", 流量计费; "Bandwidth", 带宽计费; "ShareBandwidth",共享带宽模式. "Free":免费带宽模式,默认为 "Bandwidth" + PayMode *string `required:"false"` + + // 绑定的共享带宽Id,仅当PayMode为ShareBandwidth时有效 + ShareBandwidthId *string `required:"false"` +} + +/* +CreatePHostParamNetworkInterface is request schema for complex param +*/ +type CreatePHostParamNetworkInterface struct { + + // + EIP *CreatePHostParamNetworkInterfaceEIP `required:"false"` +} + /* CreatePHostParamDisks is request schema for complex param */ @@ -40,7 +70,10 @@ type CreatePHostRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` - // 计费模式,枚举值为:year, 按年付费; month,按月付费;默认为按月付费 + // 短期促销活动时所需参数 + ActivityId *int `required:"false"` + + // 计费模式,枚举值为:Year, 按年付费; Month,按月付费;默认按月付费 ChargeType *string `required:"false"` // 网络环境,可选千兆:1G ,万兆:10G, 默认1G。智能网卡可以选择25G。 @@ -61,18 +94,24 @@ type CreatePHostRequest struct { // 物理机名称,默认为phost Name *string `required:"false"` + // + NetworkInterface []CreatePHostParamNetworkInterface `required:"false"` + // 密码(密码需使用base64进行编码) Password *string `required:"true"` // 购买时长,1-10个月或1-10年;默认值为1。月付时,此参数传0,代表购买至月末,1代表整月。 Quantity *string `required:"false"` - // Raid配置,默认Raid10 支持:Raid0、Raid1、Raid5、Raid10,NoRaid + // 本地盘和裸金属1.0需要的参数。Raid配置,默认Raid10 支持:Raid0、Raid1、Raid5、Raid10,NoRaid Raid *string `required:"false"` // 物理机备注,默认为空 Remark *string `required:"false"` + // 短期促销活动时所需参数 + RuleId *int `required:"false"` + // 防火墙ID,默认:Web推荐防火墙。如何查询SecurityGroupId请参见 [DescribeFirewall](api/unet-api/describe_firewall.html)。 SecurityGroupId *string `required:"false"` @@ -206,6 +245,9 @@ type DescribeBaremetalMachineTypeRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // 请求版本。仅支持v2,不传或传其他值表示请求旧版本 + APIVersion *string `required:"false"` + // 具体机型。若不填写,则返回全部机型 Type *string `required:"false"` } @@ -214,8 +256,8 @@ type DescribeBaremetalMachineTypeRequest struct { type DescribeBaremetalMachineTypeResponse struct { response.CommonBase - // 机型列表,模型:PHostCloudMachineTypeSet - MachineTypes []PHostCloudMachineTypeSet + // 机型列表,模型:PHostCloudMachineTypeSetV2,仅在入参Version=v2时返回 + MachineTypes []PHostCloudMachineTypeSetV2 } // NewDescribeBaremetalMachineTypeRequest will create request of DescribeBaremetalMachineType action. @@ -333,6 +375,9 @@ type DescribePHostImageRequest struct { // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) // Zone *string `required:"true"` + // 机器的网络集群,MachineType传是必须传,默认25G + Cluster *string `required:"false"` + // 镜像ID ImageId []string `required:"false"` @@ -399,10 +444,13 @@ type DescribePHostMachineTypeRequest struct { // ProjectId *string `required:"false"` // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) - // Region *string `required:"true"` + // Region *string `required:"false"` // [公共参数] 可用区。参见 [可用区列表](https://docs.ucloud.cn/api/summary/regionlist) - // Zone *string `required:"true"` + // Zone *string `required:"false"` + + // 请求版本。仅支持v2,不传或传其他值表示请求旧版本 + APIVersion *string `required:"false"` // 具体机型。若不填写,则返回全部机型 Type *string `required:"false"` @@ -412,8 +460,8 @@ type DescribePHostMachineTypeRequest struct { type DescribePHostMachineTypeResponse struct { response.CommonBase - // 机型列表,模型:PHostMachineTypeSet - MachineTypes []PHostMachineTypeSet + // 机型列表,模型:PHostCloudMachineTypeSetV2,仅在入参Version=v2时返回 + MachineTypes []PHostCloudMachineTypeSetV2 } // NewDescribePHostMachineTypeRequest will create request of DescribePHostMachineType action. diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/doc.go index f513e9e38b..61b4dbca86 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/doc.go @@ -5,8 +5,8 @@ Package uphost include resources of ucloud uphost product See also - - API: https://docs.ucloud.cn/api/uphost-api/index - - Product: https://www.ucloud.cn/site/product/uphost.html + - API: https://docs.ucloud.cn/api/uphost-api/index + - Product: https://www.ucloud.cn/site/product/uphost.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/models.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/models.go index d0c9b4801a..4157e3f4bf 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/models.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/uphost/models.go @@ -15,21 +15,54 @@ type PHostComponentSet struct { } /* -PHostClusterSet - 物理云主机集群库存信息 +PHostGpuInfoV2 - 裸金属Gpu信息V2版本 */ -type PHostClusterSet struct { +type PHostGpuInfoV2 struct { - // 集群名。枚举值:千兆网络集群:1G;万兆网络集群:10G;智能网卡网络:25G; + // GPU数量 + Count int + + // GPU显存大小 + Memory string + + // GPU名称,例如:NVIDIA_V100S Name string - // 库存状态。枚举值:有库存:Available;无库存:SoldOut - StockStatus string + // GPU性能指标 + Performance string } /* -PHostCPUSet - DescribePHost +PHostDiskSetV2 - 裸金属磁盘信息V2版本 */ -type PHostCPUSet struct { +type PHostDiskSetV2 struct { + + // 磁盘类型 + DiskType int + + // IO性能 + IoCap int + + // 磁盘名 + Name string + + // 数量 + Number int + + // Raid级别 + RaidLevel int + + // 空间大小 + Space int + + // 转换单位 + UnitSize int +} + +/* +PHostCPUSetV2 - 裸金属磁盘信息V2版本 +*/ +type PHostCPUSetV2 struct { // CPU核数 CoreCount int @@ -38,58 +71,85 @@ type PHostCPUSet struct { Count int // CPU主频 - Frequence float64 + Frequency string // CPU型号 Model string } /* -PHostCloudMachineTypeSet - 裸金属云盘的MachineTypeSet +PHostCloudMachineTypeSetV2 - 裸金属云盘的MachineTypeSet V2版本 */ -type PHostCloudMachineTypeSet struct { +type PHostCloudMachineTypeSetV2 struct { // CPU信息 - CPU PHostCPUSet + CPU PHostCPUSetV2 - // 集群库存信息 - Clusters []PHostClusterSet + // 集群名。枚举值:千兆网络集群:1G;万兆网络集群:10G;智能网卡网络:25G; + Cluster string - // 其他组件信息 - Components PHostComponentSet + // 组件信息 + Components []PHostComponentSet + + // 磁盘信息 + Disks []PHostDiskSetV2 + + // GPU信息 + GpuInfo PHostGpuInfoV2 + + // 是否是裸金属机型 + IsBaremetal bool + + // 是否是GPU机型 + IsGpu bool + + // 是否需要加新机型标记 + IsNew bool // 内存大小,单位MB Memory int - // 物理云主机机型别名,全网唯一。 + // 通常获取到的都是可售卖的 + OnSale bool + + // 参考价格。字典类型,default:为默认价格;cn-wlcb-01:乌兰察布A可用区价格 + Price string + + // 是否支持做Raid。枚举值:可以:Yes;不可以:No + RaidSupported string + + // 适用场景。例如:ai表示AI学习场景; + Scene []string + + // 库存数量 + Stock int + + // 库存状态。枚举值:有库存:Available;无库存:SoldOut + StockStatus string + + // 物理云主机机型别名 Type string + + // 机型所在可用区 + Zone string } /* -PHostIPSet - DescribePHost +PHostCPUSet - DescribePHost */ -type PHostIPSet struct { - - // IP对应带宽,单位Mb,内网IP不显示带宽信息 - Bandwidth int - - // IP地址, - IPAddr string - - // IP资源ID(内网IP无资源ID)(待废弃) - IPId string +type PHostCPUSet struct { - // MAC地址 - MACAddr string + // CPU核数 + CoreCount int - // 国际: Internation, BGP: BGP, 内网: Private - OperatorName string + // CPU个数 + Count int - // 子网ID - SubnetId string + // CPU主频 + Frequence float64 - // VPC ID - VPCId string + // CPU型号 + Model string } /* @@ -122,6 +182,33 @@ type PHostDescDiskSet struct { Type string } +/* +PHostIPSet - DescribePHost +*/ +type PHostIPSet struct { + + // IP对应带宽,单位Mb,内网IP不显示带宽信息 + Bandwidth int + + // IP地址, + IPAddr string + + // IP资源ID(内网IP无资源ID)(待废弃) + IPId string + + // MAC地址 + MACAddr string + + // 国际: Internation, BGP: BGP, 内网: Private + OperatorName string + + // 子网ID + SubnetId string + + // VPC ID + VPCId string +} + /* PHostSet - DescribePHost */ @@ -130,6 +217,9 @@ type PHostSet struct { // 自动续费 AutoRenew string + // 裸金属机型字段。枚举值:Normal=>正常、ImageMaking=>镜像制作中。 + BootDiskState string + // CPU信息,见 PHostCPUSet CPUSet PHostCPUSet @@ -190,6 +280,9 @@ type PHostSet struct { // 是否支持Raid。枚举值:Yes:支持;No:不支持。 RaidSupported string + // RDMA集群id,仅云盘裸金属返回该值;其他类型物理云主机返回""。当物理机的此值与RSSD云盘的RdmaClusterId相同时,RSSD可以挂载到这台物理机。 + RdmaClusterId string + // 物理机备注 Remark string @@ -209,7 +302,7 @@ PHostImageSet - DescribePHostImage type PHostImageSet struct { // 裸金属2.0参数。镜像创建时间。 - CreateTime int + CreateTime string // 镜像描述 ImageDescription string @@ -242,54 +335,6 @@ type PHostImageSet struct { Version string } -/* -PHostDiskSet - GetPHostTypeInfo -*/ -type PHostDiskSet struct { - - // 磁盘数量 - Count int - - // 磁盘IO性能,单位MB/s(待废弃) - IOCap int - - // 磁盘名称,sys/data - Name string - - // 单盘大小,单位GB - Space int - - // 磁盘属性 - Type string -} - -/* -PHostMachineTypeSet - 物理云主机机型列表 -*/ -type PHostMachineTypeSet struct { - - // CPU信息 - CPU PHostCPUSet - - // 集群库存信息 - Clusters []PHostClusterSet - - // 其他组件信息 - Components PHostComponentSet - - // 磁盘信息 - Disks []PHostDiskSet - - // 内存大小,单位MB - Memory int - - // 是否支持Raid。枚举值:支持:YES;不支持:NO - RaidSupported string - - // 物理云主机机型别名,全网唯一。 - Type string -} - /* PHostTagSet - DescribePHostTags */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/vpc/apis.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/vpc/apis.go index 8166b55c9c..87ea64c796 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/vpc/apis.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/vpc/apis.go @@ -1541,6 +1541,56 @@ func (c *VPCClient) DeleteNetworkAclEntry(req *DeleteNetworkAclEntryRequest) (*D return &res, nil } +// DeleteNetworkInterfaceRequest is request schema for DeleteNetworkInterface action +type DeleteNetworkInterfaceRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 虚拟网卡ID + InterfaceId *string `required:"true"` +} + +// DeleteNetworkInterfaceResponse is response schema for DeleteNetworkInterface action +type DeleteNetworkInterfaceResponse struct { + response.CommonBase +} + +// NewDeleteNetworkInterfaceRequest will create request of DeleteNetworkInterface action. +func (c *VPCClient) NewDeleteNetworkInterfaceRequest() *DeleteNetworkInterfaceRequest { + req := &DeleteNetworkInterfaceRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: DeleteNetworkInterface + +删除网卡 +*/ +func (c *VPCClient) DeleteNetworkInterface(req *DeleteNetworkInterfaceRequest) (*DeleteNetworkInterfaceResponse, error) { + var err error + var res DeleteNetworkInterfaceResponse + + reqCopier := *req + + err = c.Client.InvokeAction("DeleteNetworkInterface", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // DeleteRouteTableRequest is request schema for DeleteRouteTable action type DeleteRouteTableRequest struct { request.CommonBase @@ -3129,6 +3179,59 @@ func (c *VPCClient) DescribeWhiteListResource(req *DescribeWhiteListResourceRequ return &res, nil } +// DetachNetworkInterfaceRequest is request schema for DetachNetworkInterface action +type DetachNetworkInterfaceRequest struct { + request.CommonBase + + // [公共参数] 项目ID。不填写为默认项目,子帐号必须填写。 请参考[GetProjectList接口](https://docs.ucloud.cn/api/summary/get_project_list) + // ProjectId *string `required:"true"` + + // [公共参数] 地域。 参见 [地域和可用区列表](https://docs.ucloud.cn/api/summary/regionlist) + // Region *string `required:"true"` + + // 云主机ID + InstanceId *string `required:"true"` + + // 虚拟网卡ID + InterfaceId *string `required:"true"` +} + +// DetachNetworkInterfaceResponse is response schema for DetachNetworkInterface action +type DetachNetworkInterfaceResponse struct { + response.CommonBase +} + +// NewDetachNetworkInterfaceRequest will create request of DetachNetworkInterface action. +func (c *VPCClient) NewDetachNetworkInterfaceRequest() *DetachNetworkInterfaceRequest { + req := &DetachNetworkInterfaceRequest{} + + // setup request with client config + c.Client.SetupRequest(req) + + // setup retryable with default retry policy (retry for non-create action and common error) + req.SetRetryable(true) + return req +} + +/* +API: DetachNetworkInterface + +解绑云主机关联网卡 +*/ +func (c *VPCClient) DetachNetworkInterface(req *DetachNetworkInterfaceRequest) (*DetachNetworkInterfaceResponse, error) { + var err error + var res DetachNetworkInterfaceResponse + + reqCopier := *req + + err = c.Client.InvokeAction("DetachNetworkInterface", &reqCopier, &res) + if err != nil { + return &res, err + } + + return &res, nil +} + // EnableWhiteListRequest is request schema for EnableWhiteList action type EnableWhiteListRequest struct { request.CommonBase diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/services/vpc/doc.go b/vendor/github.com/ucloud/ucloud-sdk-go/services/vpc/doc.go index 018b3f7a45..2b6d635010 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/services/vpc/doc.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/services/vpc/doc.go @@ -5,8 +5,8 @@ Package vpc include resources of ucloud vpc product See also - - API: https://docs.ucloud.cn/api/vpc-api/index - - Product: https://www.ucloud.cn/site/product/vpc.html + - API: https://docs.ucloud.cn/api/vpc-api/index + - Product: https://www.ucloud.cn/site/product/vpc.html for detail. */ diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/ucloud/client.go b/vendor/github.com/ucloud/ucloud-sdk-go/ucloud/client.go index 6cfcabf7b5..4095851c3b 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/ucloud/client.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/ucloud/client.go @@ -5,17 +5,17 @@ package ucloud import ( "fmt" - "github.com/ucloud/ucloud-sdk-go/ucloud/version" + stdhttp "net/http" "time" - "github.com/ucloud/ucloud-sdk-go/private/utils" - "github.com/ucloud/ucloud-sdk-go/private/protocol/http" + "github.com/ucloud/ucloud-sdk-go/private/utils" "github.com/ucloud/ucloud-sdk-go/ucloud/auth" uerr "github.com/ucloud/ucloud-sdk-go/ucloud/error" "github.com/ucloud/ucloud-sdk-go/ucloud/log" "github.com/ucloud/ucloud-sdk-go/ucloud/request" "github.com/ucloud/ucloud-sdk-go/ucloud/response" + "github.com/ucloud/ucloud-sdk-go/ucloud/version" ) // Version is the version of sdk @@ -52,6 +52,8 @@ type Client struct { // client information injection meta ClientMeta + + transport stdhttp.RoundTripper } // NewClient will create an client of ucloud sdk @@ -86,6 +88,10 @@ func (c *Client) SetHttpClient(httpClient http.Client) error { return nil } +func (c *Client) SetTransport(transport stdhttp.RoundTripper) { + c.transport = transport +} + // GetCredential will return the credential config of client. func (c *Client) GetCredential() *auth.Credential { return c.credential @@ -164,7 +170,12 @@ func (c *Client) InvokeActionWithPatcher(action string, req request.Common, resp } if c.httpClient == nil { - httpClient := http.NewHttpClient() + var httpClient http.HttpClient + if c.transport == nil { + httpClient = http.NewHttpClient() + } else { + httpClient = http.NewHttpClientWithTransport(c.transport) + } c.httpClient = &httpClient } diff --git a/vendor/github.com/ucloud/ucloud-sdk-go/ucloud/version/version.go b/vendor/github.com/ucloud/ucloud-sdk-go/ucloud/version/version.go index 397421192d..db1f4efff9 100644 --- a/vendor/github.com/ucloud/ucloud-sdk-go/ucloud/version/version.go +++ b/vendor/github.com/ucloud/ucloud-sdk-go/ucloud/version/version.go @@ -1,3 +1,3 @@ package version -const Version = "0.21.42" +const Version = "0.22.10" diff --git a/vendor/modules.txt b/vendor/modules.txt index e38a9c5915..6356fcd6b6 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -23,7 +23,7 @@ github.com/spf13/cobra github.com/spf13/cobra/doc # github.com/spf13/pflag v1.0.3 => github.com/lixiaojun629/pflag v1.0.5 github.com/spf13/pflag -# github.com/ucloud/ucloud-sdk-go v0.21.42 +# github.com/ucloud/ucloud-sdk-go v0.22.10 github.com/ucloud/ucloud-sdk-go/private/protocol/http github.com/ucloud/ucloud-sdk-go/private/services/pathx github.com/ucloud/ucloud-sdk-go/private/services/udb