# frozen_string_literal: true # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. module TencentCloud module Dts module V20180330 # ActivateSubscribe请求参数结构体 class ActivateSubscribeRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 订阅实例ID。 # @type SubscribeId: String # @param InstanceId: 数据库实例ID # @type InstanceId: String # @param SubscribeObjectType: 数据订阅类型0-全实例订阅,1数据订阅,2结构订阅,3数据订阅与结构订阅 # @type SubscribeObjectType: Integer # @param Objects: 订阅对象 # @type Objects: :class:`Tencentcloud::Dts.v20180330.models.SubscribeObject` # @param UniqSubnetId: 数据订阅服务所在子网。默认为数据库实例所在的子网内。 # @type UniqSubnetId: String # @param Vport: 订阅服务端口;默认为7507 # @type Vport: Integer attr_accessor :SubscribeId, :InstanceId, :SubscribeObjectType, :Objects, :UniqSubnetId, :Vport def initialize(subscribeid=nil, instanceid=nil, subscribeobjecttype=nil, objects=nil, uniqsubnetid=nil, vport=nil) @SubscribeId = subscribeid @InstanceId = instanceid @SubscribeObjectType = subscribeobjecttype @Objects = objects @UniqSubnetId = uniqsubnetid @Vport = vport end def deserialize(params) @SubscribeId = params['SubscribeId'] @InstanceId = params['InstanceId'] @SubscribeObjectType = params['SubscribeObjectType'] unless params['Objects'].nil? @Objects = SubscribeObject.new @Objects.deserialize(params['Objects']) end @UniqSubnetId = params['UniqSubnetId'] @Vport = params['Vport'] end end # ActivateSubscribe返回参数结构体 class ActivateSubscribeResponse < TencentCloud::Common::AbstractModel # @param AsyncRequestId: 配置数据订阅任务ID。 # @type AsyncRequestId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AsyncRequestId, :RequestId def initialize(asyncrequestid=nil, requestid=nil) @AsyncRequestId = asyncrequestid @RequestId = requestid end def deserialize(params) @AsyncRequestId = params['AsyncRequestId'] @RequestId = params['RequestId'] end end # CompleteMigrateJob请求参数结构体 class CompleteMigrateJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String # @param CompleteMode: 完成任务的方式,仅支持旧版MySQL迁移任务。waitForSync-等待主从差距为0才停止,immediately-立即完成,不会等待主从差距一致。默认为waitForSync # @type CompleteMode: String attr_accessor :JobId, :CompleteMode def initialize(jobid=nil, completemode=nil) @JobId = jobid @CompleteMode = completemode end def deserialize(params) @JobId = params['JobId'] @CompleteMode = params['CompleteMode'] end end # CompleteMigrateJob返回参数结构体 class CompleteMigrateJobResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 抽样检验时的抽样参数 class ConsistencyParams < TencentCloud::Common::AbstractModel # @param SelectRowsPerTable: 数据内容检测参数。表中选出用来数据对比的行,占表的总行数的百分比。取值范围是整数[1-100] # @type SelectRowsPerTable: Integer # @param TablesSelectAll: 数据内容检测参数。迁移库表中,要进行数据内容检测的表,占所有表的百分比。取值范围是整数[1-100] # @type TablesSelectAll: Integer # @param TablesSelectCount: 数据数量检测,检测表行数是否一致。迁移库表中,要进行数据数量检测的表,占所有表的百分比。取值范围是整数[1-100] # @type TablesSelectCount: Integer attr_accessor :SelectRowsPerTable, :TablesSelectAll, :TablesSelectCount def initialize(selectrowspertable=nil, tablesselectall=nil, tablesselectcount=nil) @SelectRowsPerTable = selectrowspertable @TablesSelectAll = tablesselectall @TablesSelectCount = tablesselectcount end def deserialize(params) @SelectRowsPerTable = params['SelectRowsPerTable'] @TablesSelectAll = params['TablesSelectAll'] @TablesSelectCount = params['TablesSelectCount'] end end # CreateMigrateCheckJob请求参数结构体 class CreateMigrateCheckJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String attr_accessor :JobId def initialize(jobid=nil) @JobId = jobid end def deserialize(params) @JobId = params['JobId'] end end # CreateMigrateCheckJob返回参数结构体 class CreateMigrateCheckJobResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # CreateMigrateJob请求参数结构体 class CreateMigrateJobRequest < TencentCloud::Common::AbstractModel # @param JobName: 数据迁移任务名称 # @type JobName: String # @param MigrateOption: 迁移任务配置选项 # @type MigrateOption: :class:`Tencentcloud::Dts.v20180330.models.MigrateOption` # @param SrcDatabaseType: 源实例数据库类型,目前支持:mysql,redis,mongodb,postgresql,mariadb,percona,sqlserver 不同地域数据库类型的具体支持情况,请参考控制台创建迁移页面。 # @type SrcDatabaseType: String # @param SrcAccessType: 源实例接入类型,值包括:extranet(外网),cvm(CVM自建实例),dcg(专线接入的实例),vpncloud(云VPN接入的实例),cdb(腾讯云数据库实例),ccn(云联网实例) # @type SrcAccessType: String # @param SrcInfo: 源实例信息,具体内容跟迁移任务类型相关 # @type SrcInfo: :class:`Tencentcloud::Dts.v20180330.models.SrcInfo` # @param DstDatabaseType: 目标实例数据库类型,目前支持:mysql,redis,mongodb,postgresql,mariadb,percona,sqlserver,cynosdbmysql。不同地域数据库类型的具体支持情况,请参考控制台创建迁移页面。 # @type DstDatabaseType: String # @param DstAccessType: 目标实例接入类型,目前支持:cdb(腾讯云数据库实例) # @type DstAccessType: String # @param DstInfo: 目标实例信息 # @type DstInfo: :class:`Tencentcloud::Dts.v20180330.models.DstInfo` # @param DatabaseInfo: 需要迁移的源数据库表信息,用json格式的字符串描述。当MigrateOption.MigrateObject配置为2(指定库表迁移)时必填。 # 对于database-table两级结构的数据库: # [{"Database":"db1","Table":["table1","table2"]},{"Database":"db2"}] # 对于database-schema-table三级结构: # [{"Database":"db1","Schema":"s1","Table":["table1","table2"]},{"Database":"db1","Schema":"s2","Table":["table1","table2"]},{"Database":"db2","Schema":"s1","Table":["table1","table2"]},{"Database":"db3"},{"Database":"db4","Schema":"s1"}] # @type DatabaseInfo: String # @param Tags: 迁移实例的tag # @type Tags: Array attr_accessor :JobName, :MigrateOption, :SrcDatabaseType, :SrcAccessType, :SrcInfo, :DstDatabaseType, :DstAccessType, :DstInfo, :DatabaseInfo, :Tags def initialize(jobname=nil, migrateoption=nil, srcdatabasetype=nil, srcaccesstype=nil, srcinfo=nil, dstdatabasetype=nil, dstaccesstype=nil, dstinfo=nil, databaseinfo=nil, tags=nil) @JobName = jobname @MigrateOption = migrateoption @SrcDatabaseType = srcdatabasetype @SrcAccessType = srcaccesstype @SrcInfo = srcinfo @DstDatabaseType = dstdatabasetype @DstAccessType = dstaccesstype @DstInfo = dstinfo @DatabaseInfo = databaseinfo @Tags = tags end def deserialize(params) @JobName = params['JobName'] unless params['MigrateOption'].nil? @MigrateOption = MigrateOption.new @MigrateOption.deserialize(params['MigrateOption']) end @SrcDatabaseType = params['SrcDatabaseType'] @SrcAccessType = params['SrcAccessType'] unless params['SrcInfo'].nil? @SrcInfo = SrcInfo.new @SrcInfo.deserialize(params['SrcInfo']) end @DstDatabaseType = params['DstDatabaseType'] @DstAccessType = params['DstAccessType'] unless params['DstInfo'].nil? @DstInfo = DstInfo.new @DstInfo.deserialize(params['DstInfo']) end @DatabaseInfo = params['DatabaseInfo'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end end end # CreateMigrateJob返回参数结构体 class CreateMigrateJobResponse < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :JobId, :RequestId def initialize(jobid=nil, requestid=nil) @JobId = jobid @RequestId = requestid end def deserialize(params) @JobId = params['JobId'] @RequestId = params['RequestId'] end end # CreateSubscribe请求参数结构体 class CreateSubscribeRequest < TencentCloud::Common::AbstractModel # @param Product: 订阅的数据库类型,目前支持的有 mysql # @type Product: String # @param PayType: 实例付费类型,1小时计费,0包年包月 # @type PayType: Integer # @param Duration: 购买时长。PayType为0时必填。单位为月,最大支持120 # @type Duration: Integer # @param Count: 购买数量,默认为1,最大为10 # @type Count: Integer # @param AutoRenew: 是否自动续费,默认为0,1表示自动续费。小时计费实例设置该标识无效。 # @type AutoRenew: Integer # @param Tags: 实例资源标签 # @type Tags: Array attr_accessor :Product, :PayType, :Duration, :Count, :AutoRenew, :Tags def initialize(product=nil, paytype=nil, duration=nil, count=nil, autorenew=nil, tags=nil) @Product = product @PayType = paytype @Duration = duration @Count = count @AutoRenew = autorenew @Tags = tags end def deserialize(params) @Product = params['Product'] @PayType = params['PayType'] @Duration = params['Duration'] @Count = params['Count'] @AutoRenew = params['AutoRenew'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end end end # CreateSubscribe返回参数结构体 class CreateSubscribeResponse < TencentCloud::Common::AbstractModel # @param SubscribeIds: 数据订阅实例的ID数组 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SubscribeIds: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SubscribeIds, :RequestId def initialize(subscribeids=nil, requestid=nil) @SubscribeIds = subscribeids @RequestId = requestid end def deserialize(params) @SubscribeIds = params['SubscribeIds'] @RequestId = params['RequestId'] end end # DeleteMigrateJob请求参数结构体 class DeleteMigrateJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String attr_accessor :JobId def initialize(jobid=nil) @JobId = jobid end def deserialize(params) @JobId = params['JobId'] end end # DeleteMigrateJob返回参数结构体 class DeleteMigrateJobResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # DescribeAsyncRequestInfo请求参数结构体 class DescribeAsyncRequestInfoRequest < TencentCloud::Common::AbstractModel # @param AsyncRequestId: 任务 ID # @type AsyncRequestId: String attr_accessor :AsyncRequestId def initialize(asyncrequestid=nil) @AsyncRequestId = asyncrequestid end def deserialize(params) @AsyncRequestId = params['AsyncRequestId'] end end # DescribeAsyncRequestInfo返回参数结构体 class DescribeAsyncRequestInfoResponse < TencentCloud::Common::AbstractModel # @param Info: 任务执行结果信息 # @type Info: String # @param Status: 任务执行状态,可能的值有:success,failed,running # @type Status: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Info, :Status, :RequestId def initialize(info=nil, status=nil, requestid=nil) @Info = info @Status = status @RequestId = requestid end def deserialize(params) @Info = params['Info'] @Status = params['Status'] @RequestId = params['RequestId'] end end # DescribeMigrateCheckJob请求参数结构体 class DescribeMigrateCheckJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String attr_accessor :JobId def initialize(jobid=nil) @JobId = jobid end def deserialize(params) @JobId = params['JobId'] end end # DescribeMigrateCheckJob返回参数结构体 class DescribeMigrateCheckJobResponse < TencentCloud::Common::AbstractModel # @param Status: 校验任务状态:unavailable(当前不可用), starting(开始中),running(校验中),finished(校验完成) # @type Status: String # @param ErrorCode: 任务的错误码 # @type ErrorCode: Integer # @param ErrorMessage: 任务的错误信息 # @type ErrorMessage: String # @param Progress: Check任务总进度,如:"30"表示30% # @type Progress: String # @param CheckFlag: 校验是否通过,0-未通过,1-校验通过, 3-未校验 # @type CheckFlag: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Status, :ErrorCode, :ErrorMessage, :Progress, :CheckFlag, :RequestId def initialize(status=nil, errorcode=nil, errormessage=nil, progress=nil, checkflag=nil, requestid=nil) @Status = status @ErrorCode = errorcode @ErrorMessage = errormessage @Progress = progress @CheckFlag = checkflag @RequestId = requestid end def deserialize(params) @Status = params['Status'] @ErrorCode = params['ErrorCode'] @ErrorMessage = params['ErrorMessage'] @Progress = params['Progress'] @CheckFlag = params['CheckFlag'] @RequestId = params['RequestId'] end end # DescribeMigrateJobs请求参数结构体 class DescribeMigrateJobsRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String # @param JobName: 数据迁移任务名称 # @type JobName: String # @param Order: 排序字段,可以取值为JobId、Status、JobName、MigrateType、RunMode、CreateTime # @type Order: String # @param OrderSeq: 排序方式,升序为ASC,降序为DESC # @type OrderSeq: String # @param Offset: 偏移量,默认为0 # @type Offset: Integer # @param Limit: 返回实例数量,默认20,有效区间[1,100] # @type Limit: Integer # @param TagFilters: 标签过滤条件 # @type TagFilters: Array attr_accessor :JobId, :JobName, :Order, :OrderSeq, :Offset, :Limit, :TagFilters def initialize(jobid=nil, jobname=nil, order=nil, orderseq=nil, offset=nil, limit=nil, tagfilters=nil) @JobId = jobid @JobName = jobname @Order = order @OrderSeq = orderseq @Offset = offset @Limit = limit @TagFilters = tagfilters end def deserialize(params) @JobId = params['JobId'] @JobName = params['JobName'] @Order = params['Order'] @OrderSeq = params['OrderSeq'] @Offset = params['Offset'] @Limit = params['Limit'] unless params['TagFilters'].nil? @TagFilters = [] params['TagFilters'].each do |i| tagfilter_tmp = TagFilter.new tagfilter_tmp.deserialize(i) @TagFilters << tagfilter_tmp end end end end # DescribeMigrateJobs返回参数结构体 class DescribeMigrateJobsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 任务数目 # @type TotalCount: Integer # @param JobList: 任务详情数组 # @type JobList: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :JobList, :RequestId def initialize(totalcount=nil, joblist=nil, requestid=nil) @TotalCount = totalcount @JobList = joblist @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['JobList'].nil? @JobList = [] params['JobList'].each do |i| migratejobinfo_tmp = MigrateJobInfo.new migratejobinfo_tmp.deserialize(i) @JobList << migratejobinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeRegionConf请求参数结构体 class DescribeRegionConfRequest < TencentCloud::Common::AbstractModel def initialize() end def deserialize(params) end end # DescribeRegionConf返回参数结构体 class DescribeRegionConfResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 可售卖地域的数量 # @type TotalCount: Integer # @param Items: 可售卖地域详情 # @type Items: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Items, :RequestId def initialize(totalcount=nil, items=nil, requestid=nil) @TotalCount = totalcount @Items = items @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Items'].nil? @Items = [] params['Items'].each do |i| subscriberegionconf_tmp = SubscribeRegionConf.new subscriberegionconf_tmp.deserialize(i) @Items << subscriberegionconf_tmp end end @RequestId = params['RequestId'] end end # DescribeSubscribeConf请求参数结构体 class DescribeSubscribeConfRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 订阅实例ID # @type SubscribeId: String attr_accessor :SubscribeId def initialize(subscribeid=nil) @SubscribeId = subscribeid end def deserialize(params) @SubscribeId = params['SubscribeId'] end end # DescribeSubscribeConf返回参数结构体 class DescribeSubscribeConfResponse < TencentCloud::Common::AbstractModel # @param SubscribeId: 订阅实例ID # @type SubscribeId: String # @param SubscribeName: 订阅实例名称 # @type SubscribeName: String # @param ChannelId: 订阅通道 # @type ChannelId: String # @param Product: 订阅数据库类型 # @type Product: String # @param InstanceId: 被订阅的实例 # @type InstanceId: String # @param InstanceStatus: 被订阅的实例的状态,可能的值有running,offline,isolate # @type InstanceStatus: String # @param SubsStatus: 订阅实例状态,可能的值有unconfigure-未配置,configuring-配置中,configured-已配置 # @type SubsStatus: String # @param Status: 订阅实例生命周期状态,可能的值有:normal-正常,isolating-隔离中,isolated-已隔离,offlining-下线中 # @type Status: String # @param CreateTime: 订阅实例创建时间 # @type CreateTime: String # @param IsolateTime: 订阅实例被隔离时间 # @type IsolateTime: String # @param ExpireTime: 订阅实例到期时间 # @type ExpireTime: String # @param OfflineTime: 订阅实例下线时间 # @type OfflineTime: String # @param ConsumeStartTime: 订阅实例消费时间起点。 # @type ConsumeStartTime: String # @param PayType: 订阅实例计费类型,1-小时计费,0-包年包月 # @type PayType: Integer # @param Vip: 订阅通道Vip # @type Vip: String # @param Vport: 订阅通道Port # @type Vport: Integer # @param UniqVpcId: 订阅通道所在VpcId # @type UniqVpcId: String # @param UniqSubnetId: 订阅通道所在SubnetId # @type UniqSubnetId: String # @param SdkConsumedTime: 当前SDK消费时间位点 # @type SdkConsumedTime: String # @param SdkHost: 订阅SDK IP地址 # @type SdkHost: String # @param SubscribeObjectType: 订阅对象类型0-全实例订阅,1-DDL数据订阅,2-DML结构订阅,3-DDL数据订阅+DML结构订阅 # @type SubscribeObjectType: Integer # @param SubscribeObjects: 订阅对象,当SubscribeObjectType 为0时,此字段为空数组 # @type SubscribeObjects: Array # @param ModifyTime: 修改时间 # @type ModifyTime: String # @param Region: 地域 # @type Region: String # @param Tags: 订阅实例的标签 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tags: Array # @param AutoRenewFlag: 自动续费标识,0-不自动续费,1-自动续费 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AutoRenewFlag: Integer # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :SubscribeId, :SubscribeName, :ChannelId, :Product, :InstanceId, :InstanceStatus, :SubsStatus, :Status, :CreateTime, :IsolateTime, :ExpireTime, :OfflineTime, :ConsumeStartTime, :PayType, :Vip, :Vport, :UniqVpcId, :UniqSubnetId, :SdkConsumedTime, :SdkHost, :SubscribeObjectType, :SubscribeObjects, :ModifyTime, :Region, :Tags, :AutoRenewFlag, :RequestId def initialize(subscribeid=nil, subscribename=nil, channelid=nil, product=nil, instanceid=nil, instancestatus=nil, subsstatus=nil, status=nil, createtime=nil, isolatetime=nil, expiretime=nil, offlinetime=nil, consumestarttime=nil, paytype=nil, vip=nil, vport=nil, uniqvpcid=nil, uniqsubnetid=nil, sdkconsumedtime=nil, sdkhost=nil, subscribeobjecttype=nil, subscribeobjects=nil, modifytime=nil, region=nil, tags=nil, autorenewflag=nil, requestid=nil) @SubscribeId = subscribeid @SubscribeName = subscribename @ChannelId = channelid @Product = product @InstanceId = instanceid @InstanceStatus = instancestatus @SubsStatus = subsstatus @Status = status @CreateTime = createtime @IsolateTime = isolatetime @ExpireTime = expiretime @OfflineTime = offlinetime @ConsumeStartTime = consumestarttime @PayType = paytype @Vip = vip @Vport = vport @UniqVpcId = uniqvpcid @UniqSubnetId = uniqsubnetid @SdkConsumedTime = sdkconsumedtime @SdkHost = sdkhost @SubscribeObjectType = subscribeobjecttype @SubscribeObjects = subscribeobjects @ModifyTime = modifytime @Region = region @Tags = tags @AutoRenewFlag = autorenewflag @RequestId = requestid end def deserialize(params) @SubscribeId = params['SubscribeId'] @SubscribeName = params['SubscribeName'] @ChannelId = params['ChannelId'] @Product = params['Product'] @InstanceId = params['InstanceId'] @InstanceStatus = params['InstanceStatus'] @SubsStatus = params['SubsStatus'] @Status = params['Status'] @CreateTime = params['CreateTime'] @IsolateTime = params['IsolateTime'] @ExpireTime = params['ExpireTime'] @OfflineTime = params['OfflineTime'] @ConsumeStartTime = params['ConsumeStartTime'] @PayType = params['PayType'] @Vip = params['Vip'] @Vport = params['Vport'] @UniqVpcId = params['UniqVpcId'] @UniqSubnetId = params['UniqSubnetId'] @SdkConsumedTime = params['SdkConsumedTime'] @SdkHost = params['SdkHost'] @SubscribeObjectType = params['SubscribeObjectType'] unless params['SubscribeObjects'].nil? @SubscribeObjects = [] params['SubscribeObjects'].each do |i| subscribeobject_tmp = SubscribeObject.new subscribeobject_tmp.deserialize(i) @SubscribeObjects << subscribeobject_tmp end end @ModifyTime = params['ModifyTime'] @Region = params['Region'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end @AutoRenewFlag = params['AutoRenewFlag'] @RequestId = params['RequestId'] end end # DescribeSubscribes请求参数结构体 class DescribeSubscribesRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 数据订阅的实例ID # @type SubscribeId: String # @param SubscribeName: 数据订阅的实例名称 # @type SubscribeName: String # @param InstanceId: 绑定数据库实例的ID # @type InstanceId: String # @param ChannelId: 数据订阅实例的通道ID # @type ChannelId: String # @param PayType: 计费模式筛选,可能的值:0-包年包月,1-按量计费 # @type PayType: String # @param Product: 订阅的数据库产品,如mysql # @type Product: String # @param Status: 数据订阅实例的状态,creating - 创建中,normal - 正常运行,isolating - 隔离中,isolated - 已隔离,offlining - 下线中 # @type Status: Array # @param SubsStatus: 数据订阅实例的配置状态,unconfigure - 未配置, configuring - 配置中,configured - 已配置 # @type SubsStatus: Array # @param Offset: 返回记录的起始偏移量 # @type Offset: Integer # @param Limit: 单次返回的记录数量 # @type Limit: Integer # @param OrderDirection: 排序方向,可选的值为"DESC"和"ASC",默认为"DESC",按创建时间逆序排序 # @type OrderDirection: String # @param TagFilters: 标签过滤条件 # @type TagFilters: Array # @param SubscribeVersion: 订阅实例版本;txdts-旧版数据订阅,kafka-kafka版本数据订阅 # @type SubscribeVersion: String attr_accessor :SubscribeId, :SubscribeName, :InstanceId, :ChannelId, :PayType, :Product, :Status, :SubsStatus, :Offset, :Limit, :OrderDirection, :TagFilters, :SubscribeVersion def initialize(subscribeid=nil, subscribename=nil, instanceid=nil, channelid=nil, paytype=nil, product=nil, status=nil, subsstatus=nil, offset=nil, limit=nil, orderdirection=nil, tagfilters=nil, subscribeversion=nil) @SubscribeId = subscribeid @SubscribeName = subscribename @InstanceId = instanceid @ChannelId = channelid @PayType = paytype @Product = product @Status = status @SubsStatus = subsstatus @Offset = offset @Limit = limit @OrderDirection = orderdirection @TagFilters = tagfilters @SubscribeVersion = subscribeversion end def deserialize(params) @SubscribeId = params['SubscribeId'] @SubscribeName = params['SubscribeName'] @InstanceId = params['InstanceId'] @ChannelId = params['ChannelId'] @PayType = params['PayType'] @Product = params['Product'] @Status = params['Status'] @SubsStatus = params['SubsStatus'] @Offset = params['Offset'] @Limit = params['Limit'] @OrderDirection = params['OrderDirection'] unless params['TagFilters'].nil? @TagFilters = [] params['TagFilters'].each do |i| tagfilter_tmp = TagFilter.new tagfilter_tmp.deserialize(i) @TagFilters << tagfilter_tmp end end @SubscribeVersion = params['SubscribeVersion'] end end # DescribeSubscribes返回参数结构体 class DescribeSubscribesResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合查询条件的实例总数 # @type TotalCount: Integer # @param Items: 数据订阅实例的信息列表 # @type Items: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Items, :RequestId def initialize(totalcount=nil, items=nil, requestid=nil) @TotalCount = totalcount @Items = items @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Items'].nil? @Items = [] params['Items'].each do |i| subscribeinfo_tmp = SubscribeInfo.new subscribeinfo_tmp.deserialize(i) @Items << subscribeinfo_tmp end end @RequestId = params['RequestId'] end end # 目的实例信息,具体内容跟迁移任务类型相关 class DstInfo < TencentCloud::Common::AbstractModel # @param Region: 目标实例地域,如ap-guangzhou # @type Region: String # @param InstanceId: 目标实例ID,如cdb-jd92ijd8 # @type InstanceId: String # @param Ip: 目标实例vip。已废弃,无需填写 # @type Ip: String # @param Port: 目标实例vport。已废弃,无需填写 # @type Port: Integer # @param ReadOnly: 目前只对MySQL有效。当为整实例迁移时,1-只读,0-可读写。 # @type ReadOnly: Integer # @param User: 目标数据库账号 # @type User: String # @param Password: 目标数据库密码 # @type Password: String attr_accessor :Region, :InstanceId, :Ip, :Port, :ReadOnly, :User, :Password def initialize(region=nil, instanceid=nil, ip=nil, port=nil, readonly=nil, user=nil, password=nil) @Region = region @InstanceId = instanceid @Ip = ip @Port = port @ReadOnly = readonly @User = user @Password = password end def deserialize(params) @Region = params['Region'] @InstanceId = params['InstanceId'] @Ip = params['Ip'] @Port = params['Port'] @ReadOnly = params['ReadOnly'] @User = params['User'] @Password = params['Password'] end end # 迁移任务错误信息及提示 class ErrorInfo < TencentCloud::Common::AbstractModel # @param ErrorLog: 具体的报错日志, 包含错误码和错误信息 # @type ErrorLog: String # @param HelpDoc: 报错对应的帮助文档Ur # @type HelpDoc: String attr_accessor :ErrorLog, :HelpDoc def initialize(errorlog=nil, helpdoc=nil) @ErrorLog = errorlog @HelpDoc = helpdoc end def deserialize(params) @ErrorLog = params['ErrorLog'] @HelpDoc = params['HelpDoc'] end end # IsolateSubscribe请求参数结构体 class IsolateSubscribeRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 订阅实例ID # @type SubscribeId: String attr_accessor :SubscribeId def initialize(subscribeid=nil) @SubscribeId = subscribeid end def deserialize(params) @SubscribeId = params['SubscribeId'] end end # IsolateSubscribe返回参数结构体 class IsolateSubscribeResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 描述详细迁移过程 class MigrateDetailInfo < TencentCloud::Common::AbstractModel # @param StepAll: 总步骤数 # @type StepAll: Integer # @param StepNow: 当前步骤 # @type StepNow: Integer # @param Progress: 总进度,如:"10" # @type Progress: String # @param CurrentStepProgress: 当前步骤进度,如:"1" # @type CurrentStepProgress: String # @param MasterSlaveDistance: 主从差距,MB;在增量同步阶段有效,目前支持产品为:redis和mysql # @type MasterSlaveDistance: Integer # @param SecondsBehindMaster: 主从差距,秒;在增量同步阶段有效,目前支持产品为:mysql # @type SecondsBehindMaster: Integer # @param StepInfo: 步骤信息 # @type StepInfo: Array attr_accessor :StepAll, :StepNow, :Progress, :CurrentStepProgress, :MasterSlaveDistance, :SecondsBehindMaster, :StepInfo def initialize(stepall=nil, stepnow=nil, progress=nil, currentstepprogress=nil, masterslavedistance=nil, secondsbehindmaster=nil, stepinfo=nil) @StepAll = stepall @StepNow = stepnow @Progress = progress @CurrentStepProgress = currentstepprogress @MasterSlaveDistance = masterslavedistance @SecondsBehindMaster = secondsbehindmaster @StepInfo = stepinfo end def deserialize(params) @StepAll = params['StepAll'] @StepNow = params['StepNow'] @Progress = params['Progress'] @CurrentStepProgress = params['CurrentStepProgress'] @MasterSlaveDistance = params['MasterSlaveDistance'] @SecondsBehindMaster = params['SecondsBehindMaster'] unless params['StepInfo'].nil? @StepInfo = [] params['StepInfo'].each do |i| migratestepdetailinfo_tmp = MigrateStepDetailInfo.new migratestepdetailinfo_tmp.deserialize(i) @StepInfo << migratestepdetailinfo_tmp end end end end # 迁移任务详情 class MigrateJobInfo < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String # @param JobName: 数据迁移任务名称 # @type JobName: String # @param MigrateOption: 迁移任务配置选项 # @type MigrateOption: :class:`Tencentcloud::Dts.v20180330.models.MigrateOption` # @param SrcDatabaseType: 源实例数据库类型:mysql,redis,mongodb,postgresql,mariadb,percona # @type SrcDatabaseType: String # @param SrcAccessType: 源实例接入类型,值包括:extranet(外网),cvm(cvm自建实例),dcg(专线接入的实例),vpncloud(云vpn接入的实例),cdb(腾讯云数据库实例),ccn(云联网实例) # @type SrcAccessType: String # @param SrcInfo: 源实例信息,具体内容跟迁移任务类型相关 # @type SrcInfo: :class:`Tencentcloud::Dts.v20180330.models.SrcInfo` # @param DstDatabaseType: 目标实例数据库类型:mysql,redis,mongodb,postgresql,mariadb,percona # @type DstDatabaseType: String # @param DstAccessType: 目标实例接入类型,目前支持:cdb(腾讯云数据库实例) # @type DstAccessType: String # @param DstInfo: 目标实例信息 # @type DstInfo: :class:`Tencentcloud::Dts.v20180330.models.DstInfo` # @param DatabaseInfo: 需要迁移的源数据库表信息,如果需要迁移的是整个实例,该字段为[] # @type DatabaseInfo: String # @param CreateTime: 任务创建(提交)时间 # @type CreateTime: String # @param StartTime: 任务开始执行时间 # @type StartTime: String # @param EndTime: 任务执行结束时间 # @type EndTime: String # @param Status: 任务状态,取值为:1-创建中(Creating),3-校验中(Checking)4-校验通过(CheckPass),5-校验不通过(CheckNotPass),7-任务运行(Running),8-准备完成(ReadyComplete),9-任务成功(Success),10-任务失败(Failed),11-撤销中(Stopping),12-完成中(Completing) # @type Status: Integer # @param Detail: 任务详情 # @type Detail: :class:`Tencentcloud::Dts.v20180330.models.MigrateDetailInfo` # @param ErrorInfo: 任务错误信息提示,当任务发生错误时,不为null或者空值 # @type ErrorInfo: Array # @param Tags: 标签 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tags: Array attr_accessor :JobId, :JobName, :MigrateOption, :SrcDatabaseType, :SrcAccessType, :SrcInfo, :DstDatabaseType, :DstAccessType, :DstInfo, :DatabaseInfo, :CreateTime, :StartTime, :EndTime, :Status, :Detail, :ErrorInfo, :Tags def initialize(jobid=nil, jobname=nil, migrateoption=nil, srcdatabasetype=nil, srcaccesstype=nil, srcinfo=nil, dstdatabasetype=nil, dstaccesstype=nil, dstinfo=nil, databaseinfo=nil, createtime=nil, starttime=nil, endtime=nil, status=nil, detail=nil, errorinfo=nil, tags=nil) @JobId = jobid @JobName = jobname @MigrateOption = migrateoption @SrcDatabaseType = srcdatabasetype @SrcAccessType = srcaccesstype @SrcInfo = srcinfo @DstDatabaseType = dstdatabasetype @DstAccessType = dstaccesstype @DstInfo = dstinfo @DatabaseInfo = databaseinfo @CreateTime = createtime @StartTime = starttime @EndTime = endtime @Status = status @Detail = detail @ErrorInfo = errorinfo @Tags = tags end def deserialize(params) @JobId = params['JobId'] @JobName = params['JobName'] unless params['MigrateOption'].nil? @MigrateOption = MigrateOption.new @MigrateOption.deserialize(params['MigrateOption']) end @SrcDatabaseType = params['SrcDatabaseType'] @SrcAccessType = params['SrcAccessType'] unless params['SrcInfo'].nil? @SrcInfo = SrcInfo.new @SrcInfo.deserialize(params['SrcInfo']) end @DstDatabaseType = params['DstDatabaseType'] @DstAccessType = params['DstAccessType'] unless params['DstInfo'].nil? @DstInfo = DstInfo.new @DstInfo.deserialize(params['DstInfo']) end @DatabaseInfo = params['DatabaseInfo'] @CreateTime = params['CreateTime'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] @Status = params['Status'] unless params['Detail'].nil? @Detail = MigrateDetailInfo.new @Detail.deserialize(params['Detail']) end unless params['ErrorInfo'].nil? @ErrorInfo = [] params['ErrorInfo'].each do |i| errorinfo_tmp = ErrorInfo.new errorinfo_tmp.deserialize(i) @ErrorInfo << errorinfo_tmp end end unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end end end # 迁移任务配置选项 class MigrateOption < TencentCloud::Common::AbstractModel # @param RunMode: 任务运行模式,值包括:1-立即执行,2-定时执行 # @type RunMode: Integer # @param ExpectTime: 期望执行时间,当runMode=2时,该字段必填,时间格式:yyyy-mm-dd hh:mm:ss # @type ExpectTime: String # @param MigrateType: 数据迁移类型,值包括:1-结构迁移,2-全量迁移,3-全量+增量迁移 # @type MigrateType: Integer # @param MigrateObject: 迁移对象,1-整个实例,2-指定库表 # @type MigrateObject: Integer # @param ConsistencyType: 抽样数据一致性检测参数,1-未配置,2-全量检测,3-抽样检测, 4-仅校验不一致表,5-不检测 # @type ConsistencyType: Integer # @param IsOverrideRoot: 是否用源库Root账户覆盖目标库,值包括:0-不覆盖,1-覆盖,选择库表或者结构迁移时应该为0 # @type IsOverrideRoot: Integer # @param ExternParams: 不同数据库用到的额外参数.以JSON格式描述. # Redis可定义如下的参数: # { # "ClientOutputBufferHardLimit":512, 从机缓冲区的硬性容量限制(MB) # "ClientOutputBufferSoftLimit":512, 从机缓冲区的软性容量限制(MB) # "ClientOutputBufferPersistTime":60, 从机缓冲区的软性限制持续时间(秒) # "ReplBacklogSize":512, 环形缓冲区容量限制(MB) # "ReplTimeout":120, 复制超时时间(秒) # } # MongoDB可定义如下的参数: # { # 'SrcAuthDatabase':'admin', # 'SrcAuthFlag': "1", # 'SrcAuthMechanism':"SCRAM-SHA-1" # } # MySQL暂不支持额外参数设置。 # @type ExternParams: String # @param ConsistencyParams: 仅用于“抽样数据一致性检测”,ConsistencyType配置为抽样检测时,必选 # @type ConsistencyParams: :class:`Tencentcloud::Dts.v20180330.models.ConsistencyParams` attr_accessor :RunMode, :ExpectTime, :MigrateType, :MigrateObject, :ConsistencyType, :IsOverrideRoot, :ExternParams, :ConsistencyParams def initialize(runmode=nil, expecttime=nil, migratetype=nil, migrateobject=nil, consistencytype=nil, isoverrideroot=nil, externparams=nil, consistencyparams=nil) @RunMode = runmode @ExpectTime = expecttime @MigrateType = migratetype @MigrateObject = migrateobject @ConsistencyType = consistencytype @IsOverrideRoot = isoverrideroot @ExternParams = externparams @ConsistencyParams = consistencyparams end def deserialize(params) @RunMode = params['RunMode'] @ExpectTime = params['ExpectTime'] @MigrateType = params['MigrateType'] @MigrateObject = params['MigrateObject'] @ConsistencyType = params['ConsistencyType'] @IsOverrideRoot = params['IsOverrideRoot'] @ExternParams = params['ExternParams'] unless params['ConsistencyParams'].nil? @ConsistencyParams = ConsistencyParams.new @ConsistencyParams.deserialize(params['ConsistencyParams']) end end end # 迁移中的步骤信息 class MigrateStepDetailInfo < TencentCloud::Common::AbstractModel # @param StepNo: 步骤序列 # @type StepNo: Integer # @param StepName: 步骤展现名称 # @type StepName: String # @param StepId: 步骤英文标识 # @type StepId: String # @param Status: 步骤状态:0-默认值,1-成功,2-失败,3-执行中,4-未执行 # @type Status: Integer # @param StartTime: 当前步骤开始的时间,格式为"yyyy-mm-dd hh:mm:ss",该字段不存在或者为空是无意义 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StartTime: String attr_accessor :StepNo, :StepName, :StepId, :Status, :StartTime def initialize(stepno=nil, stepname=nil, stepid=nil, status=nil, starttime=nil) @StepNo = stepno @StepName = stepname @StepId = stepid @Status = status @StartTime = starttime end def deserialize(params) @StepNo = params['StepNo'] @StepName = params['StepName'] @StepId = params['StepId'] @Status = params['Status'] @StartTime = params['StartTime'] end end # ModifyMigrateJob请求参数结构体 class ModifyMigrateJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 待修改的数据迁移任务ID # @type JobId: String # @param JobName: 数据迁移任务名称 # @type JobName: String # @param MigrateOption: 迁移任务配置选项 # @type MigrateOption: :class:`Tencentcloud::Dts.v20180330.models.MigrateOption` # @param SrcAccessType: 源实例接入类型,值包括:extranet(外网),cvm(CVM自建实例),dcg(专线接入的实例),vpncloud(云VPN接入的实例),cdb(云上CDB实例) # @type SrcAccessType: String # @param SrcInfo: 源实例信息,具体内容跟迁移任务类型相关 # @type SrcInfo: :class:`Tencentcloud::Dts.v20180330.models.SrcInfo` # @param DstAccessType: 目标实例接入类型,值包括:extranet(外网),cvm(CVM自建实例),dcg(专线接入的实例),vpncloud(云VPN接入的实例),cdb(云上CDB实例). 目前只支持cdb. # @type DstAccessType: String # @param DstInfo: 目标实例信息, 其中目标实例地域不允许修改. # @type DstInfo: :class:`Tencentcloud::Dts.v20180330.models.DstInfo` # @param DatabaseInfo: 当选择'指定库表'迁移的时候, 需要设置待迁移的源数据库表信息,用符合json数组格式的字符串描述, 如下所例。 # 对于database-table两级结构的数据库: # [{"Database":"db1","Table":["table1","table2"]},{"Database":"db2"}] # 对于database-schema-table三级结构: # [{"Database":"db1","Schema":"s1","Table":["table1","table2"]},{"Database":"db1","Schema":"s2","Table":["table1","table2"]},{"Database":"db2","Schema":"s1","Table":["table1","table2"]},{"Database":"db3"},{"Database":"db4","Schema":"s1"}] # 如果是'整个实例'的迁移模式,不需设置该字段 # @type DatabaseInfo: String attr_accessor :JobId, :JobName, :MigrateOption, :SrcAccessType, :SrcInfo, :DstAccessType, :DstInfo, :DatabaseInfo def initialize(jobid=nil, jobname=nil, migrateoption=nil, srcaccesstype=nil, srcinfo=nil, dstaccesstype=nil, dstinfo=nil, databaseinfo=nil) @JobId = jobid @JobName = jobname @MigrateOption = migrateoption @SrcAccessType = srcaccesstype @SrcInfo = srcinfo @DstAccessType = dstaccesstype @DstInfo = dstinfo @DatabaseInfo = databaseinfo end def deserialize(params) @JobId = params['JobId'] @JobName = params['JobName'] unless params['MigrateOption'].nil? @MigrateOption = MigrateOption.new @MigrateOption.deserialize(params['MigrateOption']) end @SrcAccessType = params['SrcAccessType'] unless params['SrcInfo'].nil? @SrcInfo = SrcInfo.new @SrcInfo.deserialize(params['SrcInfo']) end @DstAccessType = params['DstAccessType'] unless params['DstInfo'].nil? @DstInfo = DstInfo.new @DstInfo.deserialize(params['DstInfo']) end @DatabaseInfo = params['DatabaseInfo'] end end # ModifyMigrateJob返回参数结构体 class ModifyMigrateJobResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifySubscribeAutoRenewFlag请求参数结构体 class ModifySubscribeAutoRenewFlagRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 订阅实例ID,例如:subs-8uey736k # @type SubscribeId: String # @param AutoRenewFlag: 自动续费标识。1-自动续费,0-不自动续费 # @type AutoRenewFlag: Integer attr_accessor :SubscribeId, :AutoRenewFlag def initialize(subscribeid=nil, autorenewflag=nil) @SubscribeId = subscribeid @AutoRenewFlag = autorenewflag end def deserialize(params) @SubscribeId = params['SubscribeId'] @AutoRenewFlag = params['AutoRenewFlag'] end end # ModifySubscribeAutoRenewFlag返回参数结构体 class ModifySubscribeAutoRenewFlagResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifySubscribeConsumeTime请求参数结构体 class ModifySubscribeConsumeTimeRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 数据订阅实例的ID # @type SubscribeId: String # @param ConsumeStartTime: 消费时间起点,也即是指定订阅数据的时间起点,时间格式如:Y-m-d h:m:s,取值范围为过去24小时之内 # @type ConsumeStartTime: String attr_accessor :SubscribeId, :ConsumeStartTime def initialize(subscribeid=nil, consumestarttime=nil) @SubscribeId = subscribeid @ConsumeStartTime = consumestarttime end def deserialize(params) @SubscribeId = params['SubscribeId'] @ConsumeStartTime = params['ConsumeStartTime'] end end # ModifySubscribeConsumeTime返回参数结构体 class ModifySubscribeConsumeTimeResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifySubscribeName请求参数结构体 class ModifySubscribeNameRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 数据订阅实例的ID # @type SubscribeId: String # @param SubscribeName: 数据订阅实例的名称,长度限制为[1,60] # @type SubscribeName: String attr_accessor :SubscribeId, :SubscribeName def initialize(subscribeid=nil, subscribename=nil) @SubscribeId = subscribeid @SubscribeName = subscribename end def deserialize(params) @SubscribeId = params['SubscribeId'] @SubscribeName = params['SubscribeName'] end end # ModifySubscribeName返回参数结构体 class ModifySubscribeNameResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ModifySubscribeObjects请求参数结构体 class ModifySubscribeObjectsRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 数据订阅实例的ID # @type SubscribeId: String # @param SubscribeObjectType: 数据订阅的类型,可选的值有:0 - 全实例订阅;1 - 数据订阅;2 - 结构订阅;3 - 数据订阅+结构订阅 # @type SubscribeObjectType: Integer # @param Objects: 订阅的数据库表信息 # @type Objects: Array attr_accessor :SubscribeId, :SubscribeObjectType, :Objects def initialize(subscribeid=nil, subscribeobjecttype=nil, objects=nil) @SubscribeId = subscribeid @SubscribeObjectType = subscribeobjecttype @Objects = objects end def deserialize(params) @SubscribeId = params['SubscribeId'] @SubscribeObjectType = params['SubscribeObjectType'] unless params['Objects'].nil? @Objects = [] params['Objects'].each do |i| subscribeobject_tmp = SubscribeObject.new subscribeobject_tmp.deserialize(i) @Objects << subscribeobject_tmp end end end end # ModifySubscribeObjects返回参数结构体 class ModifySubscribeObjectsResponse < TencentCloud::Common::AbstractModel # @param AsyncRequestId: 异步任务的ID # @type AsyncRequestId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :AsyncRequestId, :RequestId def initialize(asyncrequestid=nil, requestid=nil) @AsyncRequestId = asyncrequestid @RequestId = requestid end def deserialize(params) @AsyncRequestId = params['AsyncRequestId'] @RequestId = params['RequestId'] end end # ModifySubscribeVipVport请求参数结构体 class ModifySubscribeVipVportRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 数据订阅实例的ID # @type SubscribeId: String # @param DstUniqSubnetId: 指定目的子网,如果传此参数,DstIp必须在目的子网内 # @type DstUniqSubnetId: String # @param DstIp: 目标IP,与DstPort至少传一个 # @type DstIp: String # @param DstPort: 目标PORT,支持范围为:[1025-65535] # @type DstPort: Integer attr_accessor :SubscribeId, :DstUniqSubnetId, :DstIp, :DstPort def initialize(subscribeid=nil, dstuniqsubnetid=nil, dstip=nil, dstport=nil) @SubscribeId = subscribeid @DstUniqSubnetId = dstuniqsubnetid @DstIp = dstip @DstPort = dstport end def deserialize(params) @SubscribeId = params['SubscribeId'] @DstUniqSubnetId = params['DstUniqSubnetId'] @DstIp = params['DstIp'] @DstPort = params['DstPort'] end end # ModifySubscribeVipVport返回参数结构体 class ModifySubscribeVipVportResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # OfflineIsolatedSubscribe请求参数结构体 class OfflineIsolatedSubscribeRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 数据订阅实例的ID # @type SubscribeId: String attr_accessor :SubscribeId def initialize(subscribeid=nil) @SubscribeId = subscribeid end def deserialize(params) @SubscribeId = params['SubscribeId'] end end # OfflineIsolatedSubscribe返回参数结构体 class OfflineIsolatedSubscribeResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # ResetSubscribe请求参数结构体 class ResetSubscribeRequest < TencentCloud::Common::AbstractModel # @param SubscribeId: 数据订阅实例的ID # @type SubscribeId: String attr_accessor :SubscribeId def initialize(subscribeid=nil) @SubscribeId = subscribeid end def deserialize(params) @SubscribeId = params['SubscribeId'] end end # ResetSubscribe返回参数结构体 class ResetSubscribeResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 源实例信息 class SrcInfo < TencentCloud::Common::AbstractModel # @param AccessKey: 阿里云AccessKey。源库是阿里云RDS5.6适用 # @type AccessKey: String # @param Ip: 实例的IP地址 # @type Ip: String # @param Port: 实例的端口 # @type Port: Integer # @param User: 实例的用户名 # @type User: String # @param Password: 实例的密码 # @type Password: String # @param RdsInstanceId: 阿里云RDS实例ID。源库是阿里云RDS5.6/5.6适用 # @type RdsInstanceId: String # @param CvmInstanceId: CVM实例短ID,格式如:ins-olgl39y8,与云服务器控制台页面显示的实例ID相同。如果是CVM自建实例,需要传递此字段 # @type CvmInstanceId: String # @param UniqDcgId: 专线网关ID,格式如:dcg-0rxtqqxb # @type UniqDcgId: String # @param VpcId: 私有网络ID,格式如:vpc-92jblxto # @type VpcId: String # @param SubnetId: 私有网络下的子网ID,格式如:subnet-3paxmkdz # @type SubnetId: String # @param UniqVpnGwId: VPN网关ID,格式如:vpngw-9ghexg7q # @type UniqVpnGwId: String # @param InstanceId: 数据库实例ID,格式如:cdb-powiqx8q # @type InstanceId: String # @param Region: 地域英文名,如:ap-guangzhou # @type Region: String # @param Supplier: 当实例为RDS实例时,填写为aliyun, 其他情况均填写others # @type Supplier: String # @param CcnId: 云联网ID,如:ccn-afp6kltc # 注意:此字段可能返回 null,表示取不到有效值。 # @type CcnId: String # @param EngineVersion: 数据库版本,当实例为RDS实例时才有效,格式如:5.6或者5.7,默认为5.6 # @type EngineVersion: String attr_accessor :AccessKey, :Ip, :Port, :User, :Password, :RdsInstanceId, :CvmInstanceId, :UniqDcgId, :VpcId, :SubnetId, :UniqVpnGwId, :InstanceId, :Region, :Supplier, :CcnId, :EngineVersion def initialize(accesskey=nil, ip=nil, port=nil, user=nil, password=nil, rdsinstanceid=nil, cvminstanceid=nil, uniqdcgid=nil, vpcid=nil, subnetid=nil, uniqvpngwid=nil, instanceid=nil, region=nil, supplier=nil, ccnid=nil, engineversion=nil) @AccessKey = accesskey @Ip = ip @Port = port @User = user @Password = password @RdsInstanceId = rdsinstanceid @CvmInstanceId = cvminstanceid @UniqDcgId = uniqdcgid @VpcId = vpcid @SubnetId = subnetid @UniqVpnGwId = uniqvpngwid @InstanceId = instanceid @Region = region @Supplier = supplier @CcnId = ccnid @EngineVersion = engineversion end def deserialize(params) @AccessKey = params['AccessKey'] @Ip = params['Ip'] @Port = params['Port'] @User = params['User'] @Password = params['Password'] @RdsInstanceId = params['RdsInstanceId'] @CvmInstanceId = params['CvmInstanceId'] @UniqDcgId = params['UniqDcgId'] @VpcId = params['VpcId'] @SubnetId = params['SubnetId'] @UniqVpnGwId = params['UniqVpnGwId'] @InstanceId = params['InstanceId'] @Region = params['Region'] @Supplier = params['Supplier'] @CcnId = params['CcnId'] @EngineVersion = params['EngineVersion'] end end # StartMigrateJob请求参数结构体 class StartMigrateJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String attr_accessor :JobId def initialize(jobid=nil) @JobId = jobid end def deserialize(params) @JobId = params['JobId'] end end # StartMigrateJob返回参数结构体 class StartMigrateJobResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # StopMigrateJob请求参数结构体 class StopMigrateJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String attr_accessor :JobId def initialize(jobid=nil) @JobId = jobid end def deserialize(params) @JobId = params['JobId'] end end # StopMigrateJob返回参数结构体 class StopMigrateJobResponse < TencentCloud::Common::AbstractModel # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :RequestId def initialize(requestid=nil) @RequestId = requestid end def deserialize(params) @RequestId = params['RequestId'] end end # 订阅实例信息 class SubscribeInfo < TencentCloud::Common::AbstractModel # @param SubscribeId: 数据订阅的实例ID # @type SubscribeId: String # @param SubscribeName: 数据订阅实例的名称 # @type SubscribeName: String # @param ChannelId: 数据订阅实例绑定的通道ID # @type ChannelId: String # @param Product: 数据订阅绑定实例对应的产品名称 # @type Product: String # @param InstanceId: 数据订阅实例绑定的数据库实例ID # @type InstanceId: String # @param InstanceStatus: 数据订阅实例绑定的数据库实例状态 # @type InstanceStatus: String # @param SubsStatus: 数据订阅实例的配置状态,unconfigure - 未配置, configuring - 配置中,configured - 已配置 # @type SubsStatus: String # @param ModifyTime: 上次修改时间 # @type ModifyTime: String # @param CreateTime: 创建时间 # @type CreateTime: String # @param IsolateTime: 隔离时间 # @type IsolateTime: String # @param ExpireTime: 到期时间 # @type ExpireTime: String # @param OfflineTime: 下线时间 # @type OfflineTime: String # @param ConsumeStartTime: 最近一次修改的消费时间起点,如果从未修改则为零值 # @type ConsumeStartTime: String # @param Region: 数据订阅实例所属地域 # @type Region: String # @param PayType: 计费方式,0 - 包年包月,1 - 按量计费 # @type PayType: Integer # @param Vip: 数据订阅实例的Vip # @type Vip: String # @param Vport: 数据订阅实例的Vport # @type Vport: Integer # @param UniqVpcId: 数据订阅实例Vip所在VPC的唯一ID # @type UniqVpcId: String # @param UniqSubnetId: 数据订阅实例Vip所在子网的唯一ID # @type UniqSubnetId: String # @param Status: 数据订阅实例的状态,creating - 创建中,normal - 正常运行,isolating - 隔离中,isolated - 已隔离,offlining - 下线中,offline - 已下线 # @type Status: String # @param SdkConsumedTime: SDK最后一条确认消息的时间戳,如果SDK一直消费,也可以作为SDK当前消费时间点 # @type SdkConsumedTime: String # @param Tags: 标签 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tags: Array # @param AutoRenewFlag: 自动续费标识。0-不自动续费,1-自动续费 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AutoRenewFlag: Integer # @param SubscribeVersion: 订阅实例版本;txdts-旧版数据订阅,kafka-kafka版本数据订阅 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SubscribeVersion: String attr_accessor :SubscribeId, :SubscribeName, :ChannelId, :Product, :InstanceId, :InstanceStatus, :SubsStatus, :ModifyTime, :CreateTime, :IsolateTime, :ExpireTime, :OfflineTime, :ConsumeStartTime, :Region, :PayType, :Vip, :Vport, :UniqVpcId, :UniqSubnetId, :Status, :SdkConsumedTime, :Tags, :AutoRenewFlag, :SubscribeVersion def initialize(subscribeid=nil, subscribename=nil, channelid=nil, product=nil, instanceid=nil, instancestatus=nil, subsstatus=nil, modifytime=nil, createtime=nil, isolatetime=nil, expiretime=nil, offlinetime=nil, consumestarttime=nil, region=nil, paytype=nil, vip=nil, vport=nil, uniqvpcid=nil, uniqsubnetid=nil, status=nil, sdkconsumedtime=nil, tags=nil, autorenewflag=nil, subscribeversion=nil) @SubscribeId = subscribeid @SubscribeName = subscribename @ChannelId = channelid @Product = product @InstanceId = instanceid @InstanceStatus = instancestatus @SubsStatus = subsstatus @ModifyTime = modifytime @CreateTime = createtime @IsolateTime = isolatetime @ExpireTime = expiretime @OfflineTime = offlinetime @ConsumeStartTime = consumestarttime @Region = region @PayType = paytype @Vip = vip @Vport = vport @UniqVpcId = uniqvpcid @UniqSubnetId = uniqsubnetid @Status = status @SdkConsumedTime = sdkconsumedtime @Tags = tags @AutoRenewFlag = autorenewflag @SubscribeVersion = subscribeversion end def deserialize(params) @SubscribeId = params['SubscribeId'] @SubscribeName = params['SubscribeName'] @ChannelId = params['ChannelId'] @Product = params['Product'] @InstanceId = params['InstanceId'] @InstanceStatus = params['InstanceStatus'] @SubsStatus = params['SubsStatus'] @ModifyTime = params['ModifyTime'] @CreateTime = params['CreateTime'] @IsolateTime = params['IsolateTime'] @ExpireTime = params['ExpireTime'] @OfflineTime = params['OfflineTime'] @ConsumeStartTime = params['ConsumeStartTime'] @Region = params['Region'] @PayType = params['PayType'] @Vip = params['Vip'] @Vport = params['Vport'] @UniqVpcId = params['UniqVpcId'] @UniqSubnetId = params['UniqSubnetId'] @Status = params['Status'] @SdkConsumedTime = params['SdkConsumedTime'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end @AutoRenewFlag = params['AutoRenewFlag'] @SubscribeVersion = params['SubscribeVersion'] end end # 数据数据订阅的对象 class SubscribeObject < TencentCloud::Common::AbstractModel # @param ObjectsType: 数据订阅对象的类型,0-数据库,1-数据库内的表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ObjectsType: Integer # @param DatabaseName: 订阅数据库的名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DatabaseName: String # @param TableNames: 订阅数据库中表名称数组 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TableNames: Array attr_accessor :ObjectsType, :DatabaseName, :TableNames def initialize(objectstype=nil, databasename=nil, tablenames=nil) @ObjectsType = objectstype @DatabaseName = databasename @TableNames = tablenames end def deserialize(params) @ObjectsType = params['ObjectsType'] @DatabaseName = params['DatabaseName'] @TableNames = params['TableNames'] end end # 数据订阅地域售卖信息 class SubscribeRegionConf < TencentCloud::Common::AbstractModel # @param RegionName: 地域名称,如广州 # 注意:此字段可能返回 null,表示取不到有效值。 # @type RegionName: String # @param Region: 地区标识,如ap-guangzhou # 注意:此字段可能返回 null,表示取不到有效值。 # @type Region: String # @param Area: 地域名称,如华南地区 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Area: String # @param IsDefaultRegion: 是否为默认地域,0 - 不是,1 - 是的 # 注意:此字段可能返回 null,表示取不到有效值。 # @type IsDefaultRegion: Integer # @param Status: 当前地域的售卖情况,1 - 正常, 2-灰度,3 - 停售 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: Integer attr_accessor :RegionName, :Region, :Area, :IsDefaultRegion, :Status def initialize(regionname=nil, region=nil, area=nil, isdefaultregion=nil, status=nil) @RegionName = regionname @Region = region @Area = area @IsDefaultRegion = isdefaultregion @Status = status end def deserialize(params) @RegionName = params['RegionName'] @Region = params['Region'] @Area = params['Area'] @IsDefaultRegion = params['IsDefaultRegion'] @Status = params['Status'] end end # 标签过滤 class TagFilter < TencentCloud::Common::AbstractModel # @param TagKey: 标签键值 # @type TagKey: String # @param TagValue: 标签值 # @type TagValue: Array attr_accessor :TagKey, :TagValue def initialize(tagkey=nil, tagvalue=nil) @TagKey = tagkey @TagValue = tagvalue end def deserialize(params) @TagKey = params['TagKey'] @TagValue = params['TagValue'] end end # 标签 class TagItem < TencentCloud::Common::AbstractModel # @param TagKey: 标签键值 # @type TagKey: String # @param TagValue: 标签值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TagValue: String attr_accessor :TagKey, :TagValue def initialize(tagkey=nil, tagvalue=nil) @TagKey = tagkey @TagValue = tagvalue end def deserialize(params) @TagKey = params['TagKey'] @TagValue = params['TagValue'] end end end end end