# 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 V20211206 # 检查步骤 class CheckStep < TencentCloud::Common::AbstractModel # @param StepNo: 步骤编号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepNo: Integer # @param StepId: 步骤Id, 如:ConnectDBCheck、VersionCheck、SrcPrivilegeCheck等,具体校验项和源目标实例相关 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepId: String # @param StepName: 步骤名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepName: String # @param StepStatus: 此检查步骤的结果,pass(校验通过)、failed(校验失败)、notStarted(校验还未开始进行)、blocked(检验阻塞)、warning(校验有告警,但仍通过) # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepStatus: String # @param StepMessage: 此检查步骤的错误消息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepMessage: String # @param DetailCheckItems: 每个检查步骤里的具体检查项 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DetailCheckItems: Array # @param HasSkipped: 是否已跳过 # 注意:此字段可能返回 null,表示取不到有效值。 # @type HasSkipped: Boolean attr_accessor :StepNo, :StepId, :StepName, :StepStatus, :StepMessage, :DetailCheckItems, :HasSkipped def initialize(stepno=nil, stepid=nil, stepname=nil, stepstatus=nil, stepmessage=nil, detailcheckitems=nil, hasskipped=nil) @StepNo = stepno @StepId = stepid @StepName = stepname @StepStatus = stepstatus @StepMessage = stepmessage @DetailCheckItems = detailcheckitems @HasSkipped = hasskipped end def deserialize(params) @StepNo = params['StepNo'] @StepId = params['StepId'] @StepName = params['StepName'] @StepStatus = params['StepStatus'] @StepMessage = params['StepMessage'] unless params['DetailCheckItems'].nil? @DetailCheckItems = [] params['DetailCheckItems'].each do |i| detailcheckitem_tmp = DetailCheckItem.new detailcheckitem_tmp.deserialize(i) @DetailCheckItems << detailcheckitem_tmp end end @HasSkipped = params['HasSkipped'] end end # 校验任务运行详情 class CheckStepInfo < TencentCloud::Common::AbstractModel # @param StartAt: 任务开始时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StartAt: String # @param EndAt: 任务结束时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type EndAt: String # @param Progress: 任务步骤信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Progress: :class:`Tencentcloud::Dts.v20211206.models.ProcessProgress` attr_accessor :StartAt, :EndAt, :Progress def initialize(startat=nil, endat=nil, progress=nil) @StartAt = startat @EndAt = endat @Progress = progress end def deserialize(params) @StartAt = params['StartAt'] @EndAt = params['EndAt'] unless params['Progress'].nil? @Progress = ProcessProgress.new @Progress.deserialize(params['Progress']) end end end # 数据同步中的列信息 class Column < TencentCloud::Common::AbstractModel # @param ColumnName: 列名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ColumnName: String # @param NewColumnName: 新列名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewColumnName: String attr_accessor :ColumnName, :NewColumnName def initialize(columnname=nil, newcolumnname=nil) @ColumnName = columnname @NewColumnName = newcolumnname end def deserialize(params) @ColumnName = params['ColumnName'] @NewColumnName = params['NewColumnName'] end end # 一致性校验摘要信息 class CompareAbstractInfo < TencentCloud::Common::AbstractModel # @param Options: 校验配置参数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Options: :class:`Tencentcloud::Dts.v20211206.models.CompareOptions` # @param Objects: 一致性校验对比对象 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Objects: :class:`Tencentcloud::Dts.v20211206.models.CompareObject` # @param Conclusion: 对比结论: same,different # 注意:此字段可能返回 null,表示取不到有效值。 # @type Conclusion: String # @param Status: 任务状态: success,failed # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param TotalTables: 总的表数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TotalTables: Integer # @param CheckedTables: 已校验的表数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CheckedTables: Integer # @param DifferentTables: 不一致的表数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DifferentTables: Integer # @param SkippedTables: 跳过校验的表数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SkippedTables: Integer # @param NearlyTableCount: 预估表总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NearlyTableCount: Integer # @param DifferentRows: 不一致的数据行数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DifferentRows: Integer # @param SrcSampleRows: 源库行数,当对比类型为**行数对比**时此项有意义 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcSampleRows: Integer # @param DstSampleRows: 目标库行数,当对比类型为**行数对比**时此项有意义 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstSampleRows: Integer # @param StartedAt: 开始时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StartedAt: String # @param FinishedAt: 结束时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FinishedAt: String attr_accessor :Options, :Objects, :Conclusion, :Status, :TotalTables, :CheckedTables, :DifferentTables, :SkippedTables, :NearlyTableCount, :DifferentRows, :SrcSampleRows, :DstSampleRows, :StartedAt, :FinishedAt def initialize(options=nil, objects=nil, conclusion=nil, status=nil, totaltables=nil, checkedtables=nil, differenttables=nil, skippedtables=nil, nearlytablecount=nil, differentrows=nil, srcsamplerows=nil, dstsamplerows=nil, startedat=nil, finishedat=nil) @Options = options @Objects = objects @Conclusion = conclusion @Status = status @TotalTables = totaltables @CheckedTables = checkedtables @DifferentTables = differenttables @SkippedTables = skippedtables @NearlyTableCount = nearlytablecount @DifferentRows = differentrows @SrcSampleRows = srcsamplerows @DstSampleRows = dstsamplerows @StartedAt = startedat @FinishedAt = finishedat end def deserialize(params) unless params['Options'].nil? @Options = CompareOptions.new @Options.deserialize(params['Options']) end unless params['Objects'].nil? @Objects = CompareObject.new @Objects.deserialize(params['Objects']) end @Conclusion = params['Conclusion'] @Status = params['Status'] @TotalTables = params['TotalTables'] @CheckedTables = params['CheckedTables'] @DifferentTables = params['DifferentTables'] @SkippedTables = params['SkippedTables'] @NearlyTableCount = params['NearlyTableCount'] @DifferentRows = params['DifferentRows'] @SrcSampleRows = params['SrcSampleRows'] @DstSampleRows = params['DstSampleRows'] @StartedAt = params['StartedAt'] @FinishedAt = params['FinishedAt'] end end # 列选项 class CompareColumnItem < TencentCloud::Common::AbstractModel # @param ColumnName: 列名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ColumnName: String attr_accessor :ColumnName def initialize(columnname=nil) @ColumnName = columnname end def deserialize(params) @ColumnName = params['ColumnName'] end end # 一致性校验详细信息 class CompareDetailInfo < TencentCloud::Common::AbstractModel # @param Difference: 数据不一致的表详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Difference: :class:`Tencentcloud::Dts.v20211206.models.DifferenceDetail` # @param Skipped: 跳过校验的表详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Skipped: :class:`Tencentcloud::Dts.v20211206.models.SkippedDetail` attr_accessor :Difference, :Skipped def initialize(difference=nil, skipped=nil) @Difference = difference @Skipped = skipped end def deserialize(params) unless params['Difference'].nil? @Difference = DifferenceDetail.new @Difference.deserialize(params['Difference']) end unless params['Skipped'].nil? @Skipped = SkippedDetail.new @Skipped.deserialize(params['Skipped']) end end end # 一致性对比对象配置 class CompareObject < TencentCloud::Common::AbstractModel # @param ObjectMode: 对象模式 整实例-all,部分对象-partial # 注意:此字段可能返回 null,表示取不到有效值。 # @type ObjectMode: String # @param ObjectItems: 对象列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ObjectItems: Array # @param AdvancedObjects: 高级对象类型,如account(账号),index(索引),shardkey(片键,后面可能会调整),schema(库表结构) # 注意:此字段可能返回 null,表示取不到有效值。 # @type AdvancedObjects: Array attr_accessor :ObjectMode, :ObjectItems, :AdvancedObjects def initialize(objectmode=nil, objectitems=nil, advancedobjects=nil) @ObjectMode = objectmode @ObjectItems = objectitems @AdvancedObjects = advancedobjects end def deserialize(params) @ObjectMode = params['ObjectMode'] unless params['ObjectItems'].nil? @ObjectItems = [] params['ObjectItems'].each do |i| compareobjectitem_tmp = CompareObjectItem.new compareobjectitem_tmp.deserialize(i) @ObjectItems << compareobjectitem_tmp end end @AdvancedObjects = params['AdvancedObjects'] end end # 一致性校验库表对象 class CompareObjectItem < TencentCloud::Common::AbstractModel # @param DbName: 数据库名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DbName: String # @param DbMode: 数据库选择模式: all 为当前对象下的所有对象,partial 为部分对象 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DbMode: String # @param SchemaName: schema名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SchemaName: String # @param TableMode: 表选择模式: all 为当前对象下的所有表对象,partial 为部分表对象 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TableMode: String # @param Tables: 用于一致性校验的表配置,当 TableMode 为 partial 时,需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tables: Array # @param ViewMode: 视图选择模式: all 为当前对象下的所有视图对象,partial 为部分视图对象(一致性校验不校验视图,当前参数未启作用) # 注意:此字段可能返回 null,表示取不到有效值。 # @type ViewMode: String # @param Views: 用于一致性校验的视图配置,当 ViewMode 为 partial 时, 需要填写(一致性校验不校验视图,当前参数未启作用) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Views: Array attr_accessor :DbName, :DbMode, :SchemaName, :TableMode, :Tables, :ViewMode, :Views def initialize(dbname=nil, dbmode=nil, schemaname=nil, tablemode=nil, tables=nil, viewmode=nil, views=nil) @DbName = dbname @DbMode = dbmode @SchemaName = schemaname @TableMode = tablemode @Tables = tables @ViewMode = viewmode @Views = views end def deserialize(params) @DbName = params['DbName'] @DbMode = params['DbMode'] @SchemaName = params['SchemaName'] @TableMode = params['TableMode'] unless params['Tables'].nil? @Tables = [] params['Tables'].each do |i| comparetableitem_tmp = CompareTableItem.new comparetableitem_tmp.deserialize(i) @Tables << comparetableitem_tmp end end @ViewMode = params['ViewMode'] unless params['Views'].nil? @Views = [] params['Views'].each do |i| compareviewitem_tmp = CompareViewItem.new compareviewitem_tmp.deserialize(i) @Views << compareviewitem_tmp end end end end # 一致性校验选项 class CompareOptions < TencentCloud::Common::AbstractModel # @param Method: 对比类型:dataCheck(完整数据对比)、sampleDataCheck(抽样数据对比)、rowsCount(行数对比) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Method: String # @param SampleRate: 抽样比例;范围0,100 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SampleRate: Integer # @param ThreadCount: 线程数,取值1-5,默认为1 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ThreadCount: Integer attr_accessor :Method, :SampleRate, :ThreadCount def initialize(method=nil, samplerate=nil, threadcount=nil) @Method = method @SampleRate = samplerate @ThreadCount = threadcount end def deserialize(params) @Method = params['Method'] @SampleRate = params['SampleRate'] @ThreadCount = params['ThreadCount'] end end # 用于一致性校验的表配置 class CompareTableItem < TencentCloud::Common::AbstractModel # @param TableName: 表名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TableName: String # @param ColumnMode: column 模式,all 为全部,partial 表示部分(该参数仅对数据同步任务有效) # 注意:此字段可能返回 null,表示取不到有效值。 # @type ColumnMode: String # @param Columns: 当 ColumnMode 为 partial 时必填(该参数仅对数据同步任务有效) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Columns: Array attr_accessor :TableName, :ColumnMode, :Columns def initialize(tablename=nil, columnmode=nil, columns=nil) @TableName = tablename @ColumnMode = columnmode @Columns = columns end def deserialize(params) @TableName = params['TableName'] @ColumnMode = params['ColumnMode'] unless params['Columns'].nil? @Columns = [] params['Columns'].each do |i| comparecolumnitem_tmp = CompareColumnItem.new comparecolumnitem_tmp.deserialize(i) @Columns << comparecolumnitem_tmp end end end end # 数据一致性校验结果 class CompareTaskInfo < TencentCloud::Common::AbstractModel # @param CompareTaskId: 一致性校验任务Id # 注意:此字段可能返回 null,表示取不到有效值。 # @type CompareTaskId: String # @param Status: 一致性校验结果,包括:unstart(未启动)、running(校验中)、canceled(已终止)、failed(校验任务失败)、inconsistent(不一致)、consistent(一致)、notexist(不存在校验任务) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String attr_accessor :CompareTaskId, :Status def initialize(comparetaskid=nil, status=nil) @CompareTaskId = comparetaskid @Status = status end def deserialize(params) @CompareTaskId = params['CompareTaskId'] @Status = params['Status'] end end # 一致性校验对象信息 class CompareTaskItem < TencentCloud::Common::AbstractModel # @param JobId: 任务id # 注意:此字段可能返回 null,表示取不到有效值。 # @type JobId: String # @param CompareTaskId: 对比任务 Id # 注意:此字段可能返回 null,表示取不到有效值。 # @type CompareTaskId: String # @param TaskName: 对比任务名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TaskName: String # @param Status: 对比任务状态, 可能的值:created - 创建完成;readyRun - 等待运行;running - 运行中;success - 成功;stopping - 结束中;failed - 失败;canceled - 已终止 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param Config: 对比任务配置 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Config: :class:`Tencentcloud::Dts.v20211206.models.CompareObject` # @param CheckProcess: 对比任务校验详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CheckProcess: :class:`Tencentcloud::Dts.v20211206.models.ProcessProgress` # @param CompareProcess: 对比任务运行详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CompareProcess: :class:`Tencentcloud::Dts.v20211206.models.ProcessProgress` # @param Conclusion: 对比结果, 可能的值:same - 一致;different - 不一致;skipAll - 跳过 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Conclusion: String # @param CreatedAt: 任务创建时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CreatedAt: String # @param StartedAt: 任务启动时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StartedAt: String # @param FinishedAt: 对比结束时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FinishedAt: String # @param Method: 对比类型,dataCheck(完整数据对比)、sampleDataCheck(抽样数据对比)、rowsCount(行数对比) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Method: String # @param Options: 对比配置信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Options: :class:`Tencentcloud::Dts.v20211206.models.CompareOptions` # @param Message: 一致性校验提示信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Message: String attr_accessor :JobId, :CompareTaskId, :TaskName, :Status, :Config, :CheckProcess, :CompareProcess, :Conclusion, :CreatedAt, :StartedAt, :FinishedAt, :Method, :Options, :Message def initialize(jobid=nil, comparetaskid=nil, taskname=nil, status=nil, config=nil, checkprocess=nil, compareprocess=nil, conclusion=nil, createdat=nil, startedat=nil, finishedat=nil, method=nil, options=nil, message=nil) @JobId = jobid @CompareTaskId = comparetaskid @TaskName = taskname @Status = status @Config = config @CheckProcess = checkprocess @CompareProcess = compareprocess @Conclusion = conclusion @CreatedAt = createdat @StartedAt = startedat @FinishedAt = finishedat @Method = method @Options = options @Message = message end def deserialize(params) @JobId = params['JobId'] @CompareTaskId = params['CompareTaskId'] @TaskName = params['TaskName'] @Status = params['Status'] unless params['Config'].nil? @Config = CompareObject.new @Config.deserialize(params['Config']) end unless params['CheckProcess'].nil? @CheckProcess = ProcessProgress.new @CheckProcess.deserialize(params['CheckProcess']) end unless params['CompareProcess'].nil? @CompareProcess = ProcessProgress.new @CompareProcess.deserialize(params['CompareProcess']) end @Conclusion = params['Conclusion'] @CreatedAt = params['CreatedAt'] @StartedAt = params['StartedAt'] @FinishedAt = params['FinishedAt'] @Method = params['Method'] unless params['Options'].nil? @Options = CompareOptions.new @Options.deserialize(params['Options']) end @Message = params['Message'] end end # 用于一致性校验的视图配置 class CompareViewItem < TencentCloud::Common::AbstractModel # @param ViewName: 视图名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ViewName: String attr_accessor :ViewName def initialize(viewname=nil) @ViewName = viewname end def deserialize(params) @ViewName = params['ViewName'] 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 # ConfigureSyncJob请求参数结构体 class ConfigureSyncJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 同步实例id(即标识一个同步作业),形如sync-werwfs23 # @type JobId: String # @param SrcAccessType: 源端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云),注意具体可选值依赖当前链路 # @type SrcAccessType: String # @param DstAccessType: 目标端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云)、ckafka(CKafka实例),注意具体可选值依赖当前链路 # @type DstAccessType: String # @param Objects: 同步库表对象信息 # @type Objects: :class:`Tencentcloud::Dts.v20211206.models.Objects` # @param JobName: 同步任务名称 # @type JobName: String # @param JobMode: 枚举值是 liteMode 和 fullMode ,分别对应精简模式或正常模式 # @type JobMode: String # @param RunMode: 运行模式,取值如:Immediate(表示立即运行,默认为此项值)、Timed(表示定时运行) # @type RunMode: String # @param ExpectRunTime: 期待启动时间,当RunMode取值为Timed时,此值必填,形如:"2006-01-02 15:04:05" # @type ExpectRunTime: String # @param SrcInfo: 源端信息,单节点数据库使用,且SrcNodeType传single # @type SrcInfo: :class:`Tencentcloud::Dts.v20211206.models.Endpoint` # @param SrcInfos: 源端信息,多节点数据库使用,且SrcNodeType传cluster # @type SrcInfos: :class:`Tencentcloud::Dts.v20211206.models.SyncDBEndpointInfos` # @param SrcNodeType: 枚举值:cluster、single。源库为单节点数据库使用single,多节点使用cluster # @type SrcNodeType: String # @param DstInfo: 目标端信息,单节点数据库使用 # @type DstInfo: :class:`Tencentcloud::Dts.v20211206.models.Endpoint` # @param DstInfos: 目标端信息,多节点数据库使用,且DstNodeType传cluster # @type DstInfos: :class:`Tencentcloud::Dts.v20211206.models.SyncDBEndpointInfos` # @param DstNodeType: 枚举值:cluster、single。目标库为单节点数据库使用single,多节点使用cluster # @type DstNodeType: String # @param Options: 同步任务选项;该字段下的RateLimitOption暂时无法生效、如果需要修改限速、可通过ModifySyncRateLimit接口完成限速 # @type Options: :class:`Tencentcloud::Dts.v20211206.models.Options` # @param AutoRetryTimeRangeMinutes: 自动重试的时间段、可设置5至720分钟、0表示不重试 # @type AutoRetryTimeRangeMinutes: Integer attr_accessor :JobId, :SrcAccessType, :DstAccessType, :Objects, :JobName, :JobMode, :RunMode, :ExpectRunTime, :SrcInfo, :SrcInfos, :SrcNodeType, :DstInfo, :DstInfos, :DstNodeType, :Options, :AutoRetryTimeRangeMinutes def initialize(jobid=nil, srcaccesstype=nil, dstaccesstype=nil, objects=nil, jobname=nil, jobmode=nil, runmode=nil, expectruntime=nil, srcinfo=nil, srcinfos=nil, srcnodetype=nil, dstinfo=nil, dstinfos=nil, dstnodetype=nil, options=nil, autoretrytimerangeminutes=nil) @JobId = jobid @SrcAccessType = srcaccesstype @DstAccessType = dstaccesstype @Objects = objects @JobName = jobname @JobMode = jobmode @RunMode = runmode @ExpectRunTime = expectruntime @SrcInfo = srcinfo @SrcInfos = srcinfos @SrcNodeType = srcnodetype @DstInfo = dstinfo @DstInfos = dstinfos @DstNodeType = dstnodetype @Options = options @AutoRetryTimeRangeMinutes = autoretrytimerangeminutes end def deserialize(params) @JobId = params['JobId'] @SrcAccessType = params['SrcAccessType'] @DstAccessType = params['DstAccessType'] unless params['Objects'].nil? @Objects = Objects.new @Objects.deserialize(params['Objects']) end @JobName = params['JobName'] @JobMode = params['JobMode'] @RunMode = params['RunMode'] @ExpectRunTime = params['ExpectRunTime'] unless params['SrcInfo'].nil? @SrcInfo = Endpoint.new @SrcInfo.deserialize(params['SrcInfo']) end unless params['SrcInfos'].nil? @SrcInfos = SyncDBEndpointInfos.new @SrcInfos.deserialize(params['SrcInfos']) end @SrcNodeType = params['SrcNodeType'] unless params['DstInfo'].nil? @DstInfo = Endpoint.new @DstInfo.deserialize(params['DstInfo']) end unless params['DstInfos'].nil? @DstInfos = SyncDBEndpointInfos.new @DstInfos.deserialize(params['DstInfos']) end @DstNodeType = params['DstNodeType'] unless params['Options'].nil? @Options = Options.new @Options.deserialize(params['Options']) end @AutoRetryTimeRangeMinutes = params['AutoRetryTimeRangeMinutes'] end end # ConfigureSyncJob返回参数结构体 class ConfigureSyncJobResponse < 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 ConflictHandleOption < TencentCloud::Common::AbstractModel # @param ConditionColumn: 条件覆盖的列 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ConditionColumn: String # @param ConditionOperator: 条件覆盖操作 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ConditionOperator: String # @param ConditionOrderInSrcAndDst: 条件覆盖优先级处理 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ConditionOrderInSrcAndDst: String attr_accessor :ConditionColumn, :ConditionOperator, :ConditionOrderInSrcAndDst def initialize(conditioncolumn=nil, conditionoperator=nil, conditionorderinsrcanddst=nil) @ConditionColumn = conditioncolumn @ConditionOperator = conditionoperator @ConditionOrderInSrcAndDst = conditionorderinsrcanddst end def deserialize(params) @ConditionColumn = params['ConditionColumn'] @ConditionOperator = params['ConditionOperator'] @ConditionOrderInSrcAndDst = params['ConditionOrderInSrcAndDst'] end end # 数据一致性校验选项, 默认为不开启一致性校验 class ConsistencyOption < TencentCloud::Common::AbstractModel # @param Mode: 一致性检测类型: full(全量检测迁移对象)、noCheck(不检测)、notConfigured(未配置) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Mode: String attr_accessor :Mode def initialize(mode=nil) @Mode = mode end def deserialize(params) @Mode = params['Mode'] end end # ContinueMigrateJob请求参数结构体 class ContinueMigrateJobRequest < 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 # ContinueMigrateJob返回参数结构体 class ContinueMigrateJobResponse < 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 # ContinueSyncJob请求参数结构体 class ContinueSyncJobRequest < 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 # ContinueSyncJob返回参数结构体 class ContinueSyncJobResponse < 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 # CreateCheckSyncJob请求参数结构体 class CreateCheckSyncJobRequest < 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 # CreateCheckSyncJob返回参数结构体 class CreateCheckSyncJobResponse < 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 # CreateCompareTask请求参数结构体 class CreateCompareTaskRequest < TencentCloud::Common::AbstractModel # @param JobId: 任务 Id # @type JobId: String # @param TaskName: 数据对比任务名称,若为空则默认给CompareTaskId相同值 # @type TaskName: String # @param ObjectMode: 数据对比对象模式,sameAsMigrate(全部迁移对象, 默认为此项配置),custom(自定义模式) # @type ObjectMode: String # @param Objects: 一致性对比对象配置 # @type Objects: :class:`Tencentcloud::Dts.v20211206.models.CompareObject` # @param Options: 一致性校验选项 # @type Options: :class:`Tencentcloud::Dts.v20211206.models.CompareOptions` attr_accessor :JobId, :TaskName, :ObjectMode, :Objects, :Options def initialize(jobid=nil, taskname=nil, objectmode=nil, objects=nil, options=nil) @JobId = jobid @TaskName = taskname @ObjectMode = objectmode @Objects = objects @Options = options end def deserialize(params) @JobId = params['JobId'] @TaskName = params['TaskName'] @ObjectMode = params['ObjectMode'] unless params['Objects'].nil? @Objects = CompareObject.new @Objects.deserialize(params['Objects']) end unless params['Options'].nil? @Options = CompareOptions.new @Options.deserialize(params['Options']) end end end # CreateCompareTask返回参数结构体 class CreateCompareTaskResponse < TencentCloud::Common::AbstractModel # @param CompareTaskId: 数据对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CompareTaskId: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :CompareTaskId, :RequestId def initialize(comparetaskid=nil, requestid=nil) @CompareTaskId = comparetaskid @RequestId = requestid end def deserialize(params) @CompareTaskId = params['CompareTaskId'] @RequestId = params['RequestId'] 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 # CreateMigrationService请求参数结构体 class CreateMigrationServiceRequest < TencentCloud::Common::AbstractModel # @param SrcDatabaseType: 源实例数据库类型,如mysql,redis,percona,mongodb,postgresql,sqlserver,mariadb,cynosdbmysql # @type SrcDatabaseType: String # @param DstDatabaseType: 目标实例数据库类型,如mysql,redis,percona,mongodb,postgresql,sqlserver,mariadb,cynosdbmysql # @type DstDatabaseType: String # @param SrcRegion: 源实例地域,如:ap-guangzhou # @type SrcRegion: String # @param DstRegion: 目标实例地域,如:ap-guangzhou。注意,目标地域必须和API请求地域保持一致。 # @type DstRegion: String # @param InstanceClass: 实例规格,包括:small、medium、large、xlarge、2xlarge # @type InstanceClass: String # @param Count: 购买数量,范围为[1,15],默认为1 # @type Count: Integer # @param JobName: 迁移服务名称,最大长度128 # @type JobName: String # @param Tags: 标签信息 # @type Tags: Array attr_accessor :SrcDatabaseType, :DstDatabaseType, :SrcRegion, :DstRegion, :InstanceClass, :Count, :JobName, :Tags def initialize(srcdatabasetype=nil, dstdatabasetype=nil, srcregion=nil, dstregion=nil, instanceclass=nil, count=nil, jobname=nil, tags=nil) @SrcDatabaseType = srcdatabasetype @DstDatabaseType = dstdatabasetype @SrcRegion = srcregion @DstRegion = dstregion @InstanceClass = instanceclass @Count = count @JobName = jobname @Tags = tags end def deserialize(params) @SrcDatabaseType = params['SrcDatabaseType'] @DstDatabaseType = params['DstDatabaseType'] @SrcRegion = params['SrcRegion'] @DstRegion = params['DstRegion'] @InstanceClass = params['InstanceClass'] @Count = params['Count'] @JobName = params['JobName'] 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 # CreateMigrationService返回参数结构体 class CreateMigrationServiceResponse < TencentCloud::Common::AbstractModel # @param JobIds: 下单成功随机生成的迁移任务id列表,形如:dts-c1f6rs21 # 注意:此字段可能返回 null,表示取不到有效值。 # @type JobIds: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :JobIds, :RequestId def initialize(jobids=nil, requestid=nil) @JobIds = jobids @RequestId = requestid end def deserialize(params) @JobIds = params['JobIds'] @RequestId = params['RequestId'] end end # CreateModifyCheckSyncJob请求参数结构体 class CreateModifyCheckSyncJobRequest < 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 # CreateModifyCheckSyncJob返回参数结构体 class CreateModifyCheckSyncJobResponse < 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 # CreateSyncJob请求参数结构体 class CreateSyncJobRequest < TencentCloud::Common::AbstractModel # @param PayMode: 付款类型, 如:PrePay(表示包年包月)、PostPay(表示按时按量) # @type PayMode: String # @param SrcDatabaseType: 源端数据库类型,如mysql,cynosdbmysql,tdapg,tdpg,tdsqlmysql等 # @type SrcDatabaseType: String # @param SrcRegion: 源端数据库所在地域,如ap-guangzhou # @type SrcRegion: String # @param DstDatabaseType: 目标端数据库类型,如mysql,cynosdbmysql,tdapg,tdpg,tdsqlmysql,kafka等 # @type DstDatabaseType: String # @param DstRegion: 目标端数据库所在地域,如ap-guangzhou # @type DstRegion: String # @param Specification: 同步任务规格,Standard:标准版 # @type Specification: String # @param Tags: 标签信息 # @type Tags: Array # @param Count: 一次购买的同步任务数量,取值范围为[1, 10],默认为1 # @type Count: Integer # @param AutoRenew: 自动续费标识,当PayMode值为PrePay则此项配置有意义,取值为:1(表示自动续费)、0(不自动续费,默认为此值) # @type AutoRenew: Integer # @param InstanceClass: 同步链路规格,如micro,small,medium,large,默认为medium # @type InstanceClass: String # @param JobName: 同步任务名称 # @type JobName: String # @param ExistedJobId: 创建类似任务的现有任务Id # @type ExistedJobId: String attr_accessor :PayMode, :SrcDatabaseType, :SrcRegion, :DstDatabaseType, :DstRegion, :Specification, :Tags, :Count, :AutoRenew, :InstanceClass, :JobName, :ExistedJobId def initialize(paymode=nil, srcdatabasetype=nil, srcregion=nil, dstdatabasetype=nil, dstregion=nil, specification=nil, tags=nil, count=nil, autorenew=nil, instanceclass=nil, jobname=nil, existedjobid=nil) @PayMode = paymode @SrcDatabaseType = srcdatabasetype @SrcRegion = srcregion @DstDatabaseType = dstdatabasetype @DstRegion = dstregion @Specification = specification @Tags = tags @Count = count @AutoRenew = autorenew @InstanceClass = instanceclass @JobName = jobname @ExistedJobId = existedjobid end def deserialize(params) @PayMode = params['PayMode'] @SrcDatabaseType = params['SrcDatabaseType'] @SrcRegion = params['SrcRegion'] @DstDatabaseType = params['DstDatabaseType'] @DstRegion = params['DstRegion'] @Specification = params['Specification'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end @Count = params['Count'] @AutoRenew = params['AutoRenew'] @InstanceClass = params['InstanceClass'] @JobName = params['JobName'] @ExistedJobId = params['ExistedJobId'] end end # CreateSyncJob返回参数结构体 class CreateSyncJobResponse < TencentCloud::Common::AbstractModel # @param JobIds: 同步任务ids # @type JobIds: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :JobIds, :RequestId def initialize(jobids=nil, requestid=nil) @JobIds = jobids @RequestId = requestid end def deserialize(params) @JobIds = params['JobIds'] @RequestId = params['RequestId'] end end # 实例信息 class DBEndpointInfo < TencentCloud::Common::AbstractModel # @param Region: 实例所在地域 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Region: String # @param AccessType: 实例网络接入类型,如:extranet(外网)、ipv6(公网ipv6)、cvm(云主机自建)、dcg(专线接入)、vpncloud(vpn接入的实例)、cdb(云数据库)、ccn(云联网)、intranet(自研上云)、vpc(私有网络)等,注意具体可选值依赖当前链路 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AccessType: String # @param DatabaseType: 实例数据库类型,如:mysql,redis,mongodb,postgresql,mariadb,percona 等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DatabaseType: String # @param NodeType: 节点类型,为空或者simple表示普通节点、cluster表示集群节点;对于mongo业务,取值为replicaset(mongodb副本集)、standalone(mongodb单节点)、cluster(mongodb集群);对于redis实例,为空或simple(单节点)、cluster(集群)、cluster-cache(cache集群)、cluster-proxy(代理集群) # 注意:此字段可能返回 null,表示取不到有效值。 # @type NodeType: String # @param Info: 数据库信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Info: Array # @param Supplier: 实例服务提供商,如:"aliyun","others" # 注意:此字段可能返回 null,表示取不到有效值。 # @type Supplier: String # @param ExtraAttr: MongoDB可定义如下的参数: ['AuthDatabase':'admin', # 'AuthFlag': "1", 'AuthMechanism':"SCRAM-SHA-1"] # 注意:此字段可能返回 null,表示取不到有效值。 # @type ExtraAttr: Array # @param DatabaseNetEnv: 数据库所属网络环境,AccessType为云联网(ccn)时必填, UserIDC表示用户IDC、TencentVPC表示腾讯云VPC; # 注意:此字段可能返回 null,表示取不到有效值。 # @type DatabaseNetEnv: String attr_accessor :Region, :AccessType, :DatabaseType, :NodeType, :Info, :Supplier, :ExtraAttr, :DatabaseNetEnv def initialize(region=nil, accesstype=nil, databasetype=nil, nodetype=nil, info=nil, supplier=nil, extraattr=nil, databasenetenv=nil) @Region = region @AccessType = accesstype @DatabaseType = databasetype @NodeType = nodetype @Info = info @Supplier = supplier @ExtraAttr = extraattr @DatabaseNetEnv = databasenetenv end def deserialize(params) @Region = params['Region'] @AccessType = params['AccessType'] @DatabaseType = params['DatabaseType'] @NodeType = params['NodeType'] unless params['Info'].nil? @Info = [] params['Info'].each do |i| dbinfo_tmp = DBInfo.new dbinfo_tmp.deserialize(i) @Info << dbinfo_tmp end end @Supplier = params['Supplier'] unless params['ExtraAttr'].nil? @ExtraAttr = [] params['ExtraAttr'].each do |i| keyvaluepairoption_tmp = KeyValuePairOption.new keyvaluepairoption_tmp.deserialize(i) @ExtraAttr << keyvaluepairoption_tmp end end @DatabaseNetEnv = params['DatabaseNetEnv'] end end # 数据库信息 class DBInfo < TencentCloud::Common::AbstractModel # @param Role: 表示节点角色,针对分布式数据库,如mongodb中的mongos节点 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Role: String # @param DbKernel: 内核版本,针对mariadb的不同内核版本等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DbKernel: String # @param Host: 实例的IP地址,对于公网、专线、VPN、云联网、自研上云、VPC等接入方式此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Host: String # @param Port: 实例的端口,对于公网、云主机自建、专线、VPN、云联网、自研上云、VPC等接入方式此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Port: Integer # @param User: 实例的用户名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type User: String # @param Password: 实例的密码 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Password: String # @param CvmInstanceId: CVM实例短ID,格式如:ins-olgl39y8;与云服务器控制台页面显示的实例ID相同;如果接入类型为云主机自建的方式,此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CvmInstanceId: String # @param UniqVpnGwId: VPN网关ID,格式如:vpngw-9ghexg7q;如果接入类型为vpncloud的方式,此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UniqVpnGwId: String # @param UniqDcgId: 专线网关ID,格式如:dcg-0rxtqqxb;如果接入类型为专线接入的方式,此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UniqDcgId: String # @param InstanceId: 数据库实例ID,格式如:cdb-powiqx8q;如果接入类型为云数据库的方式,此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type InstanceId: String # @param CcnGwId: 云联网ID,如:ccn-afp6kltc 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CcnGwId: String # @param VpcId: 私有网络ID,格式如:vpc-92jblxto;如果接入类型为vpc、vpncloud、ccn、dcg的方式,此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type VpcId: String # @param SubnetId: 私有网络下的子网ID,格式如:subnet-3paxmkdz;如果接入类型为vpc、vpncloud、ccn、dcg的方式,此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SubnetId: String # @param EngineVersion: 数据库版本,当实例为RDS实例时才有效,格式如:5.6或者5.7,默认为5.6 # 注意:此字段可能返回 null,表示取不到有效值。 # @type EngineVersion: String # @param Account: 实例所属账号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Account: String # @param AccountRole: 跨账号迁移时的角色,只允许[a-zA-Z0-9\-\_]+ # 注意:此字段可能返回 null,表示取不到有效值。 # @type AccountRole: String # @param AccountMode: 资源所属账号 为空或self(表示本账号内资源)、other(表示其他账户资源) # 注意:此字段可能返回 null,表示取不到有效值。 # @type AccountMode: String # @param TmpSecretId: 临时密钥Id,可通过 获取联合身份临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48195 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TmpSecretId: String # @param TmpSecretKey: 临时密钥Key,可通过 获取联合身份临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48195 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TmpSecretKey: String # @param TmpToken: 临时Token,可通过 获取联合身份临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48195 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TmpToken: String attr_accessor :Role, :DbKernel, :Host, :Port, :User, :Password, :CvmInstanceId, :UniqVpnGwId, :UniqDcgId, :InstanceId, :CcnGwId, :VpcId, :SubnetId, :EngineVersion, :Account, :AccountRole, :AccountMode, :TmpSecretId, :TmpSecretKey, :TmpToken def initialize(role=nil, dbkernel=nil, host=nil, port=nil, user=nil, password=nil, cvminstanceid=nil, uniqvpngwid=nil, uniqdcgid=nil, instanceid=nil, ccngwid=nil, vpcid=nil, subnetid=nil, engineversion=nil, account=nil, accountrole=nil, accountmode=nil, tmpsecretid=nil, tmpsecretkey=nil, tmptoken=nil) @Role = role @DbKernel = dbkernel @Host = host @Port = port @User = user @Password = password @CvmInstanceId = cvminstanceid @UniqVpnGwId = uniqvpngwid @UniqDcgId = uniqdcgid @InstanceId = instanceid @CcnGwId = ccngwid @VpcId = vpcid @SubnetId = subnetid @EngineVersion = engineversion @Account = account @AccountRole = accountrole @AccountMode = accountmode @TmpSecretId = tmpsecretid @TmpSecretKey = tmpsecretkey @TmpToken = tmptoken end def deserialize(params) @Role = params['Role'] @DbKernel = params['DbKernel'] @Host = params['Host'] @Port = params['Port'] @User = params['User'] @Password = params['Password'] @CvmInstanceId = params['CvmInstanceId'] @UniqVpnGwId = params['UniqVpnGwId'] @UniqDcgId = params['UniqDcgId'] @InstanceId = params['InstanceId'] @CcnGwId = params['CcnGwId'] @VpcId = params['VpcId'] @SubnetId = params['SubnetId'] @EngineVersion = params['EngineVersion'] @Account = params['Account'] @AccountRole = params['AccountRole'] @AccountMode = params['AccountMode'] @TmpSecretId = params['TmpSecretId'] @TmpSecretKey = params['TmpSecretKey'] @TmpToken = params['TmpToken'] end end # 迁移对象信息,在配置库表视图等对象信息时大小写敏感 class DBItem < TencentCloud::Common::AbstractModel # @param DbName: 需要迁移或同步的库名,当ObjectMode为partial时,此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DbName: String # @param NewDbName: 迁移或同步后的库名,默认与源库相同 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewDbName: String # @param SchemaName: 迁移或同步的 schema # 注意:此字段可能返回 null,表示取不到有效值。 # @type SchemaName: String # @param NewSchemaName: 迁移或同步后的 schema name # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewSchemaName: String # @param DBMode: DB选择模式: all(为当前对象下的所有对象),partial(部分对象),当ObjectMode为partial时,此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DBMode: String # @param SchemaMode: schema选择模式: all(为当前对象下的所有对象),partial(部分对象) # 注意:此字段可能返回 null,表示取不到有效值。 # @type SchemaMode: String # @param TableMode: 表选择模式: all(为当前对象下的所有对象),partial(部分对象),当DBMode为partial时此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TableMode: String # @param Tables: 表图对象集合,当 TableMode 为 partial 时,此项需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tables: Array # @param ViewMode: 视图选择模式: all 为当前对象下的所有视图对象,partial 为部分视图对象 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ViewMode: String # @param Views: 视图对象集合,当 ViewMode 为 partial 时, 此项需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Views: Array # @param RoleMode: postgresql独有参数,角色选择模式: all 为当前对象下的所有角色对象,partial 为部分角色对象 # 注意:此字段可能返回 null,表示取不到有效值。 # @type RoleMode: String # @param Roles: postgresql独有参数,当 RoleMode 为 partial 时, 此项需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Roles: Array # @param FunctionMode: 选择要同步的模式,partial为部分,all为整选 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FunctionMode: String # @param TriggerMode: 选择要同步的模式,partial为部分,all为整选 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TriggerMode: String # @param EventMode: 选择要同步的模式,partial为部分,all为整选 # 注意:此字段可能返回 null,表示取不到有效值。 # @type EventMode: String # @param ProcedureMode: 选择要同步的模式,partial为部分,all为整选 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ProcedureMode: String # @param Functions: FunctionMode取值为partial时需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Functions: Array # @param Procedures: ProcedureMode取值为partial时需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Procedures: Array # @param Events: EventMode取值为partial时需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Events: Array # @param Triggers: TriggerMode取值为partial时需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Triggers: Array attr_accessor :DbName, :NewDbName, :SchemaName, :NewSchemaName, :DBMode, :SchemaMode, :TableMode, :Tables, :ViewMode, :Views, :RoleMode, :Roles, :FunctionMode, :TriggerMode, :EventMode, :ProcedureMode, :Functions, :Procedures, :Events, :Triggers def initialize(dbname=nil, newdbname=nil, schemaname=nil, newschemaname=nil, dbmode=nil, schemamode=nil, tablemode=nil, tables=nil, viewmode=nil, views=nil, rolemode=nil, roles=nil, functionmode=nil, triggermode=nil, eventmode=nil, proceduremode=nil, functions=nil, procedures=nil, events=nil, triggers=nil) @DbName = dbname @NewDbName = newdbname @SchemaName = schemaname @NewSchemaName = newschemaname @DBMode = dbmode @SchemaMode = schemamode @TableMode = tablemode @Tables = tables @ViewMode = viewmode @Views = views @RoleMode = rolemode @Roles = roles @FunctionMode = functionmode @TriggerMode = triggermode @EventMode = eventmode @ProcedureMode = proceduremode @Functions = functions @Procedures = procedures @Events = events @Triggers = triggers end def deserialize(params) @DbName = params['DbName'] @NewDbName = params['NewDbName'] @SchemaName = params['SchemaName'] @NewSchemaName = params['NewSchemaName'] @DBMode = params['DBMode'] @SchemaMode = params['SchemaMode'] @TableMode = params['TableMode'] unless params['Tables'].nil? @Tables = [] params['Tables'].each do |i| tableitem_tmp = TableItem.new tableitem_tmp.deserialize(i) @Tables << tableitem_tmp end end @ViewMode = params['ViewMode'] unless params['Views'].nil? @Views = [] params['Views'].each do |i| viewitem_tmp = ViewItem.new viewitem_tmp.deserialize(i) @Views << viewitem_tmp end end @RoleMode = params['RoleMode'] unless params['Roles'].nil? @Roles = [] params['Roles'].each do |i| roleitem_tmp = RoleItem.new roleitem_tmp.deserialize(i) @Roles << roleitem_tmp end end @FunctionMode = params['FunctionMode'] @TriggerMode = params['TriggerMode'] @EventMode = params['EventMode'] @ProcedureMode = params['ProcedureMode'] @Functions = params['Functions'] @Procedures = params['Procedures'] @Events = params['Events'] @Triggers = params['Triggers'] end end # 需要同步的库表对象 class Database < TencentCloud::Common::AbstractModel # @param DbName: 需要迁移或同步的库名,当ObjectMode为Partial时,此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DbName: String # @param NewDbName: 迁移或同步后的库名,默认与源库相同 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewDbName: String # @param DbMode: DB选择模式: All(为当前对象下的所有对象),Partial(部分对象),当Mode为Partial时,此项必填。注意,高级对象的同步不依赖此值,如果整库同步此处应该为All。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DbMode: String # @param SchemaName: 迁移或同步的 schema # 注意:此字段可能返回 null,表示取不到有效值。 # @type SchemaName: String # @param NewSchemaName: 迁移或同步后的 schema name # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewSchemaName: String # @param TableMode: 表选择模式: All(为当前对象下的所有对象),Partial(部分对象),当DBMode为Partial时此项必填,如果整库同步此处应该为All。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TableMode: String # @param Tables: 表图对象集合,当 TableMode 为 Partial 时,此项需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tables: Array # @param ViewMode: 视图选择模式: All 为当前对象下的所有视图对象,Partial 为部分视图对象,如果整库同步此处应该为All。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ViewMode: String # @param Views: 视图对象集合,当 ViewMode 为 Partial 时, 此项需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Views: Array # @param FunctionMode: 选择要同步的模式,Partial为部分,All为整选,如果整库同步此处应该为All。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FunctionMode: String # @param Functions: FunctionMode取值为Partial时需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Functions: Array # @param ProcedureMode: 选择要同步的模式,Partial为部分,All为整选,如果整库同步此处应该为All。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ProcedureMode: String # @param Procedures: ProcedureMode取值为Partial时需要填写 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Procedures: Array # @param TriggerMode: 触发器迁移模式,All(为当前对象下的所有对象),Partial(部分对象),如果整库同步此处应该为All。数据同步暂不支持此高级对象。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TriggerMode: String # @param Triggers: 当TriggerMode为partial,指定要迁移的触发器名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Triggers: Array # @param EventMode: 事件迁移模式,All(为当前对象下的所有对象),Partial(部分对象),如果整库同步此处应该为All。数据同步暂不支持此高级对象。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type EventMode: String # @param Events: 当EventMode为partial,指定要迁移的事件名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Events: Array attr_accessor :DbName, :NewDbName, :DbMode, :SchemaName, :NewSchemaName, :TableMode, :Tables, :ViewMode, :Views, :FunctionMode, :Functions, :ProcedureMode, :Procedures, :TriggerMode, :Triggers, :EventMode, :Events def initialize(dbname=nil, newdbname=nil, dbmode=nil, schemaname=nil, newschemaname=nil, tablemode=nil, tables=nil, viewmode=nil, views=nil, functionmode=nil, functions=nil, proceduremode=nil, procedures=nil, triggermode=nil, triggers=nil, eventmode=nil, events=nil) @DbName = dbname @NewDbName = newdbname @DbMode = dbmode @SchemaName = schemaname @NewSchemaName = newschemaname @TableMode = tablemode @Tables = tables @ViewMode = viewmode @Views = views @FunctionMode = functionmode @Functions = functions @ProcedureMode = proceduremode @Procedures = procedures @TriggerMode = triggermode @Triggers = triggers @EventMode = eventmode @Events = events end def deserialize(params) @DbName = params['DbName'] @NewDbName = params['NewDbName'] @DbMode = params['DbMode'] @SchemaName = params['SchemaName'] @NewSchemaName = params['NewSchemaName'] @TableMode = params['TableMode'] unless params['Tables'].nil? @Tables = [] params['Tables'].each do |i| table_tmp = Table.new table_tmp.deserialize(i) @Tables << table_tmp end end @ViewMode = params['ViewMode'] unless params['Views'].nil? @Views = [] params['Views'].each do |i| view_tmp = View.new view_tmp.deserialize(i) @Views << view_tmp end end @FunctionMode = params['FunctionMode'] @Functions = params['Functions'] @ProcedureMode = params['ProcedureMode'] @Procedures = params['Procedures'] @TriggerMode = params['TriggerMode'] @Triggers = params['Triggers'] @EventMode = params['EventMode'] @Events = params['Events'] end end # 迁移对象选项,需要告知迁移服务迁移哪些库表对象 class DatabaseTableObject < TencentCloud::Common::AbstractModel # @param ObjectMode: 迁移对象类型 all(全实例),partial(部分对象) # 注意:此字段可能返回 null,表示取不到有效值。 # @type ObjectMode: String # @param Databases: 迁移对象,当 ObjectMode 为 partial 时,不为空 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Databases: Array # @param AdvancedObjects: 高级对象类型,如trigger、function、procedure、event。注意:如果要迁移同步高级对象,此配置中应该包含对应的高级对象类型 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AdvancedObjects: Array attr_accessor :ObjectMode, :Databases, :AdvancedObjects def initialize(objectmode=nil, databases=nil, advancedobjects=nil) @ObjectMode = objectmode @Databases = databases @AdvancedObjects = advancedobjects end def deserialize(params) @ObjectMode = params['ObjectMode'] unless params['Databases'].nil? @Databases = [] params['Databases'].each do |i| dbitem_tmp = DBItem.new dbitem_tmp.deserialize(i) @Databases << dbitem_tmp end end @AdvancedObjects = params['AdvancedObjects'] end end # 数据同步中的ddl同步处理 class DdlOption < TencentCloud::Common::AbstractModel # @param DdlObject: ddl类型,如Database,Table,View,Index等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DdlObject: String # @param DdlValue: ddl具体值,对于Database可取值[Create,Drop,Alter]
对于Table可取值[Create,Drop,Alter,Truncate,Rename]
对于View可取值[Create,Drop]
对于Index可取值[Create,Drop] # 注意:此字段可能返回 null,表示取不到有效值。 # @type DdlValue: Array attr_accessor :DdlObject, :DdlValue def initialize(ddlobject=nil, ddlvalue=nil) @DdlObject = ddlobject @DdlValue = ddlvalue end def deserialize(params) @DdlObject = params['DdlObject'] @DdlValue = params['DdlValue'] end end # DeleteCompareTask请求参数结构体 class DeleteCompareTaskRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务 Id # @type JobId: String # @param CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9 # @type CompareTaskId: String attr_accessor :JobId, :CompareTaskId def initialize(jobid=nil, comparetaskid=nil) @JobId = jobid @CompareTaskId = comparetaskid end def deserialize(params) @JobId = params['JobId'] @CompareTaskId = params['CompareTaskId'] end end # DeleteCompareTask返回参数结构体 class DeleteCompareTaskResponse < 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 # DescribeCheckSyncJobResult请求参数结构体 class DescribeCheckSyncJobResultRequest < TencentCloud::Common::AbstractModel # @param JobId: 同步实例id(即标识一个同步作业),形如sync-werwfs23,此值必填 # @type JobId: String attr_accessor :JobId def initialize(jobid=nil) @JobId = jobid end def deserialize(params) @JobId = params['JobId'] end end # DescribeCheckSyncJobResult返回参数结构体 class DescribeCheckSyncJobResultResponse < TencentCloud::Common::AbstractModel # @param Status: 校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param StepCount: 步骤总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepCount: Integer # @param StepCur: 当前所在步骤 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepCur: Integer # @param Progress: 总体进度,范围为[0,100] # 注意:此字段可能返回 null,表示取不到有效值。 # @type Progress: Integer # @param StepInfos: 步骤信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepInfos: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Status, :StepCount, :StepCur, :Progress, :StepInfos, :RequestId def initialize(status=nil, stepcount=nil, stepcur=nil, progress=nil, stepinfos=nil, requestid=nil) @Status = status @StepCount = stepcount @StepCur = stepcur @Progress = progress @StepInfos = stepinfos @RequestId = requestid end def deserialize(params) @Status = params['Status'] @StepCount = params['StepCount'] @StepCur = params['StepCur'] @Progress = params['Progress'] unless params['StepInfos'].nil? @StepInfos = [] params['StepInfos'].each do |i| stepinfo_tmp = StepInfo.new stepinfo_tmp.deserialize(i) @StepInfos << stepinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeCompareReport请求参数结构体 class DescribeCompareReportRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务 Id # @type JobId: String # @param CompareTaskId: 校验任务 Id # @type CompareTaskId: String # @param DifferenceLimit: 校验不一致结果的 limit # @type DifferenceLimit: Integer # @param DifferenceOffset: 不一致的 Offset # @type DifferenceOffset: Integer # @param DifferenceDB: 搜索条件,不一致的库名 # @type DifferenceDB: String # @param DifferenceTable: 搜索条件,不一致的表名 # @type DifferenceTable: String # @param SkippedLimit: 未校验的 Limit # @type SkippedLimit: Integer # @param SkippedOffset: 未校验的 Offset # @type SkippedOffset: Integer # @param SkippedDB: 搜索条件,未校验的库名 # @type SkippedDB: String # @param SkippedTable: 搜索条件,未校验的表名 # @type SkippedTable: String attr_accessor :JobId, :CompareTaskId, :DifferenceLimit, :DifferenceOffset, :DifferenceDB, :DifferenceTable, :SkippedLimit, :SkippedOffset, :SkippedDB, :SkippedTable def initialize(jobid=nil, comparetaskid=nil, differencelimit=nil, differenceoffset=nil, differencedb=nil, differencetable=nil, skippedlimit=nil, skippedoffset=nil, skippeddb=nil, skippedtable=nil) @JobId = jobid @CompareTaskId = comparetaskid @DifferenceLimit = differencelimit @DifferenceOffset = differenceoffset @DifferenceDB = differencedb @DifferenceTable = differencetable @SkippedLimit = skippedlimit @SkippedOffset = skippedoffset @SkippedDB = skippeddb @SkippedTable = skippedtable end def deserialize(params) @JobId = params['JobId'] @CompareTaskId = params['CompareTaskId'] @DifferenceLimit = params['DifferenceLimit'] @DifferenceOffset = params['DifferenceOffset'] @DifferenceDB = params['DifferenceDB'] @DifferenceTable = params['DifferenceTable'] @SkippedLimit = params['SkippedLimit'] @SkippedOffset = params['SkippedOffset'] @SkippedDB = params['SkippedDB'] @SkippedTable = params['SkippedTable'] end end # DescribeCompareReport返回参数结构体 class DescribeCompareReportResponse < TencentCloud::Common::AbstractModel # @param Abstract: 一致性校验摘要信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Abstract: :class:`Tencentcloud::Dts.v20211206.models.CompareAbstractInfo` # @param Detail: 一致性校验详细信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Detail: :class:`Tencentcloud::Dts.v20211206.models.CompareDetailInfo` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Abstract, :Detail, :RequestId def initialize(abstract=nil, detail=nil, requestid=nil) @Abstract = abstract @Detail = detail @RequestId = requestid end def deserialize(params) unless params['Abstract'].nil? @Abstract = CompareAbstractInfo.new @Abstract.deserialize(params['Abstract']) end unless params['Detail'].nil? @Detail = CompareDetailInfo.new @Detail.deserialize(params['Detail']) end @RequestId = params['RequestId'] end end # DescribeCompareTasks请求参数结构体 class DescribeCompareTasksRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务 Id # @type JobId: String # @param Limit: 分页设置,表示每页显示多少条任务,默认为 20 # @type Limit: Integer # @param Offset: 分页偏移量 # @type Offset: Integer # @param CompareTaskId: 校验任务 ID # @type CompareTaskId: String # @param Status: 任务状态过滤,可能的值:created - 创建完成;readyRun - 等待运行;running - 运行中;success - 成功;stopping - 结束中;failed - 失败;canceled - 已终止 # @type Status: Array attr_accessor :JobId, :Limit, :Offset, :CompareTaskId, :Status def initialize(jobid=nil, limit=nil, offset=nil, comparetaskid=nil, status=nil) @JobId = jobid @Limit = limit @Offset = offset @CompareTaskId = comparetaskid @Status = status end def deserialize(params) @JobId = params['JobId'] @Limit = params['Limit'] @Offset = params['Offset'] @CompareTaskId = params['CompareTaskId'] @Status = params['Status'] end end # DescribeCompareTasks返回参数结构体 class DescribeCompareTasksResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TotalCount: Integer # @param Items: 一致性校验列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @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| comparetaskitem_tmp = CompareTaskItem.new comparetaskitem_tmp.deserialize(i) @Items << comparetaskitem_tmp end end @RequestId = params['RequestId'] end end # DescribeMigrateDBInstances请求参数结构体 class DescribeMigrateDBInstancesRequest < TencentCloud::Common::AbstractModel # @param DatabaseType: 数据库类型,如mysql # @type DatabaseType: String # @param MigrateRole: 实例作为迁移的源还是目标,src(表示源),dst(表示目标) # @type MigrateRole: String # @param InstanceId: 云数据库实例ID # @type InstanceId: String # @param InstanceName: 云数据库名称 # @type InstanceName: String # @param Limit: 返回数量限制 # @type Limit: Integer # @param Offset: 偏移量 # @type Offset: Integer # @param AccountMode: 资源所属账号 为空值或self(表示本账号内资源)、other(表示其他账户资源) # @type AccountMode: String # @param TmpSecretId: 临时密钥Id,若为跨账号资源此项必填 # @type TmpSecretId: String # @param TmpSecretKey: 临时密钥Key,若为跨账号资源此项必填 # @type TmpSecretKey: String # @param TmpToken: 临时密钥Token,若为跨账号资源此项必填 # @type TmpToken: String attr_accessor :DatabaseType, :MigrateRole, :InstanceId, :InstanceName, :Limit, :Offset, :AccountMode, :TmpSecretId, :TmpSecretKey, :TmpToken def initialize(databasetype=nil, migraterole=nil, instanceid=nil, instancename=nil, limit=nil, offset=nil, accountmode=nil, tmpsecretid=nil, tmpsecretkey=nil, tmptoken=nil) @DatabaseType = databasetype @MigrateRole = migraterole @InstanceId = instanceid @InstanceName = instancename @Limit = limit @Offset = offset @AccountMode = accountmode @TmpSecretId = tmpsecretid @TmpSecretKey = tmpsecretkey @TmpToken = tmptoken end def deserialize(params) @DatabaseType = params['DatabaseType'] @MigrateRole = params['MigrateRole'] @InstanceId = params['InstanceId'] @InstanceName = params['InstanceName'] @Limit = params['Limit'] @Offset = params['Offset'] @AccountMode = params['AccountMode'] @TmpSecretId = params['TmpSecretId'] @TmpSecretKey = params['TmpSecretKey'] @TmpToken = params['TmpToken'] end end # DescribeMigrateDBInstances返回参数结构体 class DescribeMigrateDBInstancesResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 符合筛选条件的数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TotalCount: Integer # @param Instances: 实例列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Instances: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :TotalCount, :Instances, :RequestId def initialize(totalcount=nil, instances=nil, requestid=nil) @TotalCount = totalcount @Instances = instances @RequestId = requestid end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Instances'].nil? @Instances = [] params['Instances'].each do |i| migratedbitem_tmp = MigrateDBItem.new migratedbitem_tmp.deserialize(i) @Instances << migratedbitem_tmp end end @RequestId = params['RequestId'] end end # DescribeMigrationCheckJob请求参数结构体 class DescribeMigrationCheckJobRequest < 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 # DescribeMigrationCheckJob返回参数结构体 class DescribeMigrationCheckJobResponse < TencentCloud::Common::AbstractModel # @param Status: 校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param BriefMsg: 校验任务结果输出简要信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BriefMsg: String # @param StepInfo: 检查步骤 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepInfo: Array # @param CheckFlag: 校验结果,如:checkPass(校验通过)、checkNotPass(校验未通过) # @type CheckFlag: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Status, :BriefMsg, :StepInfo, :CheckFlag, :RequestId def initialize(status=nil, briefmsg=nil, stepinfo=nil, checkflag=nil, requestid=nil) @Status = status @BriefMsg = briefmsg @StepInfo = stepinfo @CheckFlag = checkflag @RequestId = requestid end def deserialize(params) @Status = params['Status'] @BriefMsg = params['BriefMsg'] unless params['StepInfo'].nil? @StepInfo = [] params['StepInfo'].each do |i| checkstep_tmp = CheckStep.new checkstep_tmp.deserialize(i) @StepInfo << checkstep_tmp end end @CheckFlag = params['CheckFlag'] @RequestId = params['RequestId'] end end # DescribeMigrationDetail请求参数结构体 class DescribeMigrationDetailRequest < 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 # DescribeMigrationDetail返回参数结构体 class DescribeMigrationDetailResponse < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type JobId: String # @param JobName: 数据迁移任务名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type JobName: String # @param CreateTime: 任务创建(提交)时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type CreateTime: String # @param UpdateTime: 任务更新时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type UpdateTime: String # @param StartTime: 任务开始执行时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type StartTime: String # @param EndTime: 任务执行结束时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type EndTime: String # @param BriefMsg: 迁移任务简要错误信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BriefMsg: String # @param Status: 任务状态,取值为:created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行中)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中)、 # pausing(暂停中)、 # manualPaused(已暂停) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param Action: 任务操作信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Action: :class:`Tencentcloud::Dts.v20211206.models.MigrateAction` # @param StepInfo: 迁移执行过程信息,在校验阶段显示校验过程步骤信息,在迁移阶段会显示迁移步骤信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepInfo: :class:`Tencentcloud::Dts.v20211206.models.MigrateDetailInfo` # @param SrcInfo: 源实例信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcInfo: :class:`Tencentcloud::Dts.v20211206.models.DBEndpointInfo` # @param DstInfo: 目标端信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstInfo: :class:`Tencentcloud::Dts.v20211206.models.DBEndpointInfo` # @param CompareTask: 数据一致性校验结果 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CompareTask: :class:`Tencentcloud::Dts.v20211206.models.CompareTaskInfo` # @param Tags: 标签信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tags: Array # @param RunMode: 运行模式,取值如:immediate(表示立即运行)、timed(表示定时运行) # 注意:此字段可能返回 null,表示取不到有效值。 # @type RunMode: String # @param ExpectRunTime: 期待启动时间,当RunMode取值为timed时,此值必填,形如:"2006-01-02 15:04:05" # 注意:此字段可能返回 null,表示取不到有效值。 # @type ExpectRunTime: String # @param MigrateOption: 迁移选项,描述任务如何执行迁移等一系列配置信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type MigrateOption: :class:`Tencentcloud::Dts.v20211206.models.MigrateOption` # @param CheckStepInfo: 校验任务运行详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CheckStepInfo: :class:`Tencentcloud::Dts.v20211206.models.CheckStepInfo` # @param TradeInfo: 描述计费相关的信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TradeInfo: :class:`Tencentcloud::Dts.v20211206.models.TradeInfo` # @param ErrorInfo: 任务错误信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ErrorInfo: Array # @param DumperResumeCtrl: 全量导出可重入标识:enum::"yes"/"no"。yes表示当前任务可重入、no表示当前任务处于全量导出且不可重入阶段;如果在该值为no时重启任务导出流程不支持断点续传 # @type DumperResumeCtrl: String # @param RateLimitOption: 任务的限速信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type RateLimitOption: :class:`Tencentcloud::Dts.v20211206.models.RateLimitOption` # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :JobId, :JobName, :CreateTime, :UpdateTime, :StartTime, :EndTime, :BriefMsg, :Status, :Action, :StepInfo, :SrcInfo, :DstInfo, :CompareTask, :Tags, :RunMode, :ExpectRunTime, :MigrateOption, :CheckStepInfo, :TradeInfo, :ErrorInfo, :DumperResumeCtrl, :RateLimitOption, :RequestId def initialize(jobid=nil, jobname=nil, createtime=nil, updatetime=nil, starttime=nil, endtime=nil, briefmsg=nil, status=nil, action=nil, stepinfo=nil, srcinfo=nil, dstinfo=nil, comparetask=nil, tags=nil, runmode=nil, expectruntime=nil, migrateoption=nil, checkstepinfo=nil, tradeinfo=nil, errorinfo=nil, dumperresumectrl=nil, ratelimitoption=nil, requestid=nil) @JobId = jobid @JobName = jobname @CreateTime = createtime @UpdateTime = updatetime @StartTime = starttime @EndTime = endtime @BriefMsg = briefmsg @Status = status @Action = action @StepInfo = stepinfo @SrcInfo = srcinfo @DstInfo = dstinfo @CompareTask = comparetask @Tags = tags @RunMode = runmode @ExpectRunTime = expectruntime @MigrateOption = migrateoption @CheckStepInfo = checkstepinfo @TradeInfo = tradeinfo @ErrorInfo = errorinfo @DumperResumeCtrl = dumperresumectrl @RateLimitOption = ratelimitoption @RequestId = requestid end def deserialize(params) @JobId = params['JobId'] @JobName = params['JobName'] @CreateTime = params['CreateTime'] @UpdateTime = params['UpdateTime'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] @BriefMsg = params['BriefMsg'] @Status = params['Status'] unless params['Action'].nil? @Action = MigrateAction.new @Action.deserialize(params['Action']) end unless params['StepInfo'].nil? @StepInfo = MigrateDetailInfo.new @StepInfo.deserialize(params['StepInfo']) end unless params['SrcInfo'].nil? @SrcInfo = DBEndpointInfo.new @SrcInfo.deserialize(params['SrcInfo']) end unless params['DstInfo'].nil? @DstInfo = DBEndpointInfo.new @DstInfo.deserialize(params['DstInfo']) end unless params['CompareTask'].nil? @CompareTask = CompareTaskInfo.new @CompareTask.deserialize(params['CompareTask']) end unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end @RunMode = params['RunMode'] @ExpectRunTime = params['ExpectRunTime'] unless params['MigrateOption'].nil? @MigrateOption = MigrateOption.new @MigrateOption.deserialize(params['MigrateOption']) end unless params['CheckStepInfo'].nil? @CheckStepInfo = CheckStepInfo.new @CheckStepInfo.deserialize(params['CheckStepInfo']) end unless params['TradeInfo'].nil? @TradeInfo = TradeInfo.new @TradeInfo.deserialize(params['TradeInfo']) end unless params['ErrorInfo'].nil? @ErrorInfo = [] params['ErrorInfo'].each do |i| errorinfoitem_tmp = ErrorInfoItem.new errorinfoitem_tmp.deserialize(i) @ErrorInfo << errorinfoitem_tmp end end @DumperResumeCtrl = params['DumperResumeCtrl'] unless params['RateLimitOption'].nil? @RateLimitOption = RateLimitOption.new @RateLimitOption.deserialize(params['RateLimitOption']) end @RequestId = params['RequestId'] end end # DescribeMigrationJobs请求参数结构体 class DescribeMigrationJobsRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID,如:dts-amm1jw5q # @type JobId: String # @param JobName: 数据迁移任务名称 # @type JobName: String # @param Status: 数据迁移任务状态,可取值包括:created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行中)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中) # @type Status: Array # @param SrcInstanceId: 源实例ID,格式如:cdb-c1nl9rpv # @type SrcInstanceId: String # @param SrcRegion: 源实例地域,如:ap-guangzhou # @type SrcRegion: String # @param SrcDatabaseType: 源实例数据库类型,如:sqlserver,mysql,mongodb,redis,tendis,keewidb,clickhouse,cynosdbmysql,percona,tdsqlpercona,mariadb,tdsqlmysql,postgresql # @type SrcDatabaseType: Array # @param SrcAccessType: 源实例接入类型,值包括:extranet(外网)、vpncloud(云vpn接入的实例)、dcg(专线接入的实例)、ccn(云联网接入的实例)、cdb(云上cdb实例)、cvm(cvm自建实例) # @type SrcAccessType: Array # @param DstInstanceId: 目标实例ID,格式如:cdb-c1nl9rpv # @type DstInstanceId: String # @param DstRegion: 目标实例地域,如:ap-guangzhou # @type DstRegion: String # @param DstDatabaseType: 目标源实例数据库类型,如:sqlserver,mysql,mongodb,redis,tendis,keewidb,clickhouse,cynosdbmysql,percona,tdsqlpercona,mariadb,tdsqlmysql,postgresql # @type DstDatabaseType: Array # @param DstAccessType: 目标实例接入类型,值包括:extranet(外网)、vpncloud(云vpn接入的实例)、dcg(专线接入的实例)、ccn(云联网接入的实例)、cdb(云上cdb实例)、cvm(cvm自建实例) # @type DstAccessType: Array # @param RunMode: 任务运行模式,值包括:immediate(立即运行),timed(定时运行) # @type RunMode: String # @param OrderSeq: 排序方式,可能取值为asc、desc,默认按照创建时间倒序 # @type OrderSeq: String # @param Limit: 返回实例数量,默认20,有效区间[1,100] # @type Limit: Integer # @param Offset: 偏移量,默认为0 # @type Offset: Integer # @param TagFilters: 标签过滤 # @type TagFilters: Array attr_accessor :JobId, :JobName, :Status, :SrcInstanceId, :SrcRegion, :SrcDatabaseType, :SrcAccessType, :DstInstanceId, :DstRegion, :DstDatabaseType, :DstAccessType, :RunMode, :OrderSeq, :Limit, :Offset, :TagFilters def initialize(jobid=nil, jobname=nil, status=nil, srcinstanceid=nil, srcregion=nil, srcdatabasetype=nil, srcaccesstype=nil, dstinstanceid=nil, dstregion=nil, dstdatabasetype=nil, dstaccesstype=nil, runmode=nil, orderseq=nil, limit=nil, offset=nil, tagfilters=nil) @JobId = jobid @JobName = jobname @Status = status @SrcInstanceId = srcinstanceid @SrcRegion = srcregion @SrcDatabaseType = srcdatabasetype @SrcAccessType = srcaccesstype @DstInstanceId = dstinstanceid @DstRegion = dstregion @DstDatabaseType = dstdatabasetype @DstAccessType = dstaccesstype @RunMode = runmode @OrderSeq = orderseq @Limit = limit @Offset = offset @TagFilters = tagfilters end def deserialize(params) @JobId = params['JobId'] @JobName = params['JobName'] @Status = params['Status'] @SrcInstanceId = params['SrcInstanceId'] @SrcRegion = params['SrcRegion'] @SrcDatabaseType = params['SrcDatabaseType'] @SrcAccessType = params['SrcAccessType'] @DstInstanceId = params['DstInstanceId'] @DstRegion = params['DstRegion'] @DstDatabaseType = params['DstDatabaseType'] @DstAccessType = params['DstAccessType'] @RunMode = params['RunMode'] @OrderSeq = params['OrderSeq'] @Limit = params['Limit'] @Offset = params['Offset'] 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 # DescribeMigrationJobs返回参数结构体 class DescribeMigrationJobsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 迁移任务数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TotalCount: Integer # @param JobList: 迁移任务列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @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| jobitem_tmp = JobItem.new jobitem_tmp.deserialize(i) @JobList << jobitem_tmp end end @RequestId = params['RequestId'] end end # DescribeModifyCheckSyncJobResult请求参数结构体 class DescribeModifyCheckSyncJobResultRequest < 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 # DescribeModifyCheckSyncJobResult返回参数结构体 class DescribeModifyCheckSyncJobResultResponse < TencentCloud::Common::AbstractModel # @param Status: 校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功) # @type Status: String # @param StepCount: 校验的步骤总数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepCount: Integer # @param StepCur: 当前所在步骤 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepCur: Integer # @param Progress: 总体进度,范围为[0,100] # 注意:此字段可能返回 null,表示取不到有效值。 # @type Progress: Integer # @param StepInfos: 步骤详细信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepInfos: Array # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Status, :StepCount, :StepCur, :Progress, :StepInfos, :RequestId def initialize(status=nil, stepcount=nil, stepcur=nil, progress=nil, stepinfos=nil, requestid=nil) @Status = status @StepCount = stepcount @StepCur = stepcur @Progress = progress @StepInfos = stepinfos @RequestId = requestid end def deserialize(params) @Status = params['Status'] @StepCount = params['StepCount'] @StepCur = params['StepCur'] @Progress = params['Progress'] unless params['StepInfos'].nil? @StepInfos = [] params['StepInfos'].each do |i| stepinfo_tmp = StepInfo.new stepinfo_tmp.deserialize(i) @StepInfos << stepinfo_tmp end end @RequestId = params['RequestId'] end end # DescribeSyncJobs请求参数结构体 class DescribeSyncJobsRequest < TencentCloud::Common::AbstractModel # @param JobId: 同步任务id,如sync-werwfs23 # @type JobId: String # @param JobName: 同步任务名 # @type JobName: String # @param Order: 排序字段,可以取值为CreateTime # @type Order: String # @param OrderSeq: 排序方式,升序为ASC,降序为DESC,默认为CreateTime降序 # @type OrderSeq: String # @param Offset: 偏移量,默认为0 # @type Offset: Integer # @param Limit: 返回同步任务实例数量,默认20,有效区间[1,100] # @type Limit: Integer # @param Status: 状态集合,如Initialized,CheckPass,Running,ResumableErr,Stopped # @type Status: Array # @param RunMode: 运行模式,如Immediate:立即运行,Timed:定时运行 # @type RunMode: String # @param JobType: 任务类型,如mysql2mysql:msyql同步到mysql # @type JobType: String # @param PayMode: 付费类型,PrePay:预付费,PostPay:后付费 # @type PayMode: String # @param TagFilters: tag # @type TagFilters: Array attr_accessor :JobId, :JobName, :Order, :OrderSeq, :Offset, :Limit, :Status, :RunMode, :JobType, :PayMode, :TagFilters def initialize(jobid=nil, jobname=nil, order=nil, orderseq=nil, offset=nil, limit=nil, status=nil, runmode=nil, jobtype=nil, paymode=nil, tagfilters=nil) @JobId = jobid @JobName = jobname @Order = order @OrderSeq = orderseq @Offset = offset @Limit = limit @Status = status @RunMode = runmode @JobType = jobtype @PayMode = paymode @TagFilters = tagfilters end def deserialize(params) @JobId = params['JobId'] @JobName = params['JobName'] @Order = params['Order'] @OrderSeq = params['OrderSeq'] @Offset = params['Offset'] @Limit = params['Limit'] @Status = params['Status'] @RunMode = params['RunMode'] @JobType = params['JobType'] @PayMode = params['PayMode'] 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 # DescribeSyncJobs返回参数结构体 class DescribeSyncJobsResponse < TencentCloud::Common::AbstractModel # @param TotalCount: 任务数目 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TotalCount: Integer # @param JobList: 任务详情数组 # 注意:此字段可能返回 null,表示取不到有效值。 # @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| syncjobinfo_tmp = SyncJobInfo.new syncjobinfo_tmp.deserialize(i) @JobList << syncjobinfo_tmp end end @RequestId = params['RequestId'] end end # DestroyMigrateJob请求参数结构体 class DestroyMigrateJobRequest < 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 # DestroyMigrateJob返回参数结构体 class DestroyMigrateJobResponse < 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 # DestroySyncJob请求参数结构体 class DestroySyncJobRequest < 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 # DestroySyncJob返回参数结构体 class DestroySyncJobResponse < 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 DetailCheckItem < TencentCloud::Common::AbstractModel # @param CheckItemName: 检查项的名称,如:源实例权限检查 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CheckItemName: String # @param Description: 检查项详细内容 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Description: String # @param CheckResult: pass(通过),failed(失败), warning(校验有警告,但仍通过) # 注意:此字段可能返回 null,表示取不到有效值。 # @type CheckResult: String # @param FailureReason: 检查项失败原因 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FailureReason: String # @param Solution: 解决方案 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Solution: String # @param ErrorLog: 运行报错日志 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ErrorLog: Array # @param HelpDoc: 详细帮助的文档链接 # 注意:此字段可能返回 null,表示取不到有效值。 # @type HelpDoc: Array # @param SkipInfo: 跳过风险文案 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SkipInfo: String attr_accessor :CheckItemName, :Description, :CheckResult, :FailureReason, :Solution, :ErrorLog, :HelpDoc, :SkipInfo def initialize(checkitemname=nil, description=nil, checkresult=nil, failurereason=nil, solution=nil, errorlog=nil, helpdoc=nil, skipinfo=nil) @CheckItemName = checkitemname @Description = description @CheckResult = checkresult @FailureReason = failurereason @Solution = solution @ErrorLog = errorlog @HelpDoc = helpdoc @SkipInfo = skipinfo end def deserialize(params) @CheckItemName = params['CheckItemName'] @Description = params['Description'] @CheckResult = params['CheckResult'] @FailureReason = params['FailureReason'] @Solution = params['Solution'] @ErrorLog = params['ErrorLog'] @HelpDoc = params['HelpDoc'] @SkipInfo = params['SkipInfo'] end end # 数据不一致的表详情 class DifferenceDetail < TencentCloud::Common::AbstractModel # @param TotalCount: 数据不一致的表数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TotalCount: Integer # @param Items: 校验不一致的表详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Items: Array attr_accessor :TotalCount, :Items def initialize(totalcount=nil, items=nil) @TotalCount = totalcount @Items = items end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Items'].nil? @Items = [] params['Items'].each do |i| differenceitem_tmp = DifferenceItem.new differenceitem_tmp.deserialize(i) @Items << differenceitem_tmp end end end end # 校验不一致的表详情 class DifferenceItem < TencentCloud::Common::AbstractModel # @param Db: 数据库名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Db: String # @param Table: 表名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Table: String # @param Chunk: 分块号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Chunk: Integer # @param SrcItem: 源库数值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcItem: String # @param DstItem: 目标库数值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstItem: String # @param IndexName: 索引名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type IndexName: String # @param LowerBoundary: 索引下边界 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LowerBoundary: String # @param UpperBoundary: 索引上边界 # 注意:此字段可能返回 null,表示取不到有效值。 # @type UpperBoundary: String # @param CostTime: 对比消耗时间,单位为 ms # 注意:此字段可能返回 null,表示取不到有效值。 # @type CostTime: Float # @param FinishedAt: 完成时间 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FinishedAt: String attr_accessor :Db, :Table, :Chunk, :SrcItem, :DstItem, :IndexName, :LowerBoundary, :UpperBoundary, :CostTime, :FinishedAt def initialize(db=nil, table=nil, chunk=nil, srcitem=nil, dstitem=nil, indexname=nil, lowerboundary=nil, upperboundary=nil, costtime=nil, finishedat=nil) @Db = db @Table = table @Chunk = chunk @SrcItem = srcitem @DstItem = dstitem @IndexName = indexname @LowerBoundary = lowerboundary @UpperBoundary = upperboundary @CostTime = costtime @FinishedAt = finishedat end def deserialize(params) @Db = params['Db'] @Table = params['Table'] @Chunk = params['Chunk'] @SrcItem = params['SrcItem'] @DstItem = params['DstItem'] @IndexName = params['IndexName'] @LowerBoundary = params['LowerBoundary'] @UpperBoundary = params['UpperBoundary'] @CostTime = params['CostTime'] @FinishedAt = params['FinishedAt'] end end # 数据同步中的选项 class DynamicOptions < TencentCloud::Common::AbstractModel # @param OpTypes: 所要同步的DML和DDL的选项,Insert(插入操作)、Update(更新操作)、Delete(删除操作)、DDL(结构同步),PartialDDL(自定义,和DdlOptions一起起作用 );必填、dts会用该值覆盖原有的值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type OpTypes: Array # @param DdlOptions: DDL同步选项,具体描述要同步那些DDL; 当OpTypes取值PartialDDL时、字段不能为空;必填、dts会用该值覆盖原有的值 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DdlOptions: Array # @param ConflictHandleType: 冲突处理选项,ReportError(报错)、Ignore(忽略)、Cover(覆盖)、ConditionCover(条件覆盖); 目前目标端为kafka的链路不支持修改该配置 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ConflictHandleType: String # @param ConflictHandleOption: 冲突处理的详细选项,如条件覆盖中的条件行和条件操作;不能部分更新该选项的内部字段;有更新时、需要全量更新该字段 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ConflictHandleOption: :class:`Tencentcloud::Dts.v20211206.models.ConflictHandleOption` attr_accessor :OpTypes, :DdlOptions, :ConflictHandleType, :ConflictHandleOption def initialize(optypes=nil, ddloptions=nil, conflicthandletype=nil, conflicthandleoption=nil) @OpTypes = optypes @DdlOptions = ddloptions @ConflictHandleType = conflicthandletype @ConflictHandleOption = conflicthandleoption end def deserialize(params) @OpTypes = params['OpTypes'] unless params['DdlOptions'].nil? @DdlOptions = [] params['DdlOptions'].each do |i| ddloption_tmp = DdlOption.new ddloption_tmp.deserialize(i) @DdlOptions << ddloption_tmp end end @ConflictHandleType = params['ConflictHandleType'] unless params['ConflictHandleOption'].nil? @ConflictHandleOption = ConflictHandleOption.new @ConflictHandleOption.deserialize(params['ConflictHandleOption']) end end end # 数据同步中的描述源端和目的端的信息 class Endpoint < TencentCloud::Common::AbstractModel # @param Region: 地域英文名,如:ap-guangzhou # 注意:此字段可能返回 null,表示取不到有效值。 # @type Region: String # @param Role: tdsql mysql版的节点类型,枚举值为proxy、set # 注意:此字段可能返回 null,表示取不到有效值。 # @type Role: String # @param DbKernel: 数据库内核类型,tdsql中用于区分不同内核:percona,mariadb,mysql # 注意:此字段可能返回 null,表示取不到有效值。 # @type DbKernel: String # @param InstanceId: 数据库实例ID,格式如:cdb-powiqx8q # 注意:此字段可能返回 null,表示取不到有效值。 # @type InstanceId: String # @param Ip: 实例的IP地址,接入类型为非cdb时此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Ip: String # @param Port: 实例端口,接入类型为非cdb时此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Port: Integer # @param User: 用户名,对于访问需要用户名密码认证的实例必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type User: String # @param Password: 密码,对于访问需要用户名密码认证的实例必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Password: String # @param DbName: 数据库名,数据库为cdwpg时,需要提供 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DbName: String # @param VpcId: 私有网络ID,对于私有网络、专线、VPN的接入方式此项必填,格式如:vpc-92jblxto # 注意:此字段可能返回 null,表示取不到有效值。 # @type VpcId: String # @param SubnetId: 私有网络下的子网ID,对于私有网络、专线、VPN的接入方式此项必填,格式如:subnet-3paxmkdz # 注意:此字段可能返回 null,表示取不到有效值。 # @type SubnetId: String # @param CvmInstanceId: CVM实例短ID,格式如:ins-olgl39y8,与云服务器控制台页面显示的实例ID相同。如果是CVM自建实例,需要传递此字段 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CvmInstanceId: String # @param UniqDcgId: 专线网关ID,对于专线接入类型此项必填,格式如:dcg-0rxtqqxb # 注意:此字段可能返回 null,表示取不到有效值。 # @type UniqDcgId: String # @param UniqVpnGwId: VPN网关ID,对于vpn接入类型此项必填,格式如:vpngw-9ghexg7q # 注意:此字段可能返回 null,表示取不到有效值。 # @type UniqVpnGwId: String # @param CcnId: 云联网ID,对于云联网接入类型此项必填,如:ccn-afp6kltc # 注意:此字段可能返回 null,表示取不到有效值。 # @type CcnId: String # @param Supplier: 云厂商类型,当实例为RDS实例时,填写为aliyun, 其他情况均填写others,默认为others # 注意:此字段可能返回 null,表示取不到有效值。 # @type Supplier: String # @param EngineVersion: 数据库版本,当实例为RDS实例时才有效,其他实例忽略,格式如:5.6或者5.7,默认为5.6 # 注意:此字段可能返回 null,表示取不到有效值。 # @type EngineVersion: String # @param Account: 实例所属账号,如果为跨账号实例此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Account: String # @param AccountMode: 资源所属账号 为空或self(表示本账号内资源)、other(表示跨账号资源) # 注意:此字段可能返回 null,表示取不到有效值。 # @type AccountMode: String # @param AccountRole: 跨账号同步时的角色,只允许[a-zA-Z0-9\-\_]+,如果为跨账号实例此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AccountRole: String # @param RoleExternalId: 外部角色id # 注意:此字段可能返回 null,表示取不到有效值。 # @type RoleExternalId: String # @param TmpSecretId: 临时密钥Id,可通过获取联合身份临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48195,如果为跨账号实例此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TmpSecretId: String # @param TmpSecretKey: 临时密钥Key,可通过获取联合身份临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48195,,如果为跨账号实例此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TmpSecretKey: String # @param TmpToken: 临时Token,可通过获取联合身份临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48195,,如果为跨账号实例此项必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TmpToken: String # @param EncryptConn: 是否走加密传输、UnEncrypted表示不走加密传输,Encrypted表示走加密传输,默认UnEncrypted # 注意:此字段可能返回 null,表示取不到有效值。 # @type EncryptConn: String # @param DatabaseNetEnv: 数据库所属网络环境,AccessType为云联网(ccn)时必填, UserIDC表示用户IDC、TencentVPC表示腾讯云VPC; # 注意:此字段可能返回 null,表示取不到有效值。 # @type DatabaseNetEnv: String # @param CcnOwnerUin: 数据库为跨账号云联网下的实例时、表示云联网所属主账号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CcnOwnerUin: String attr_accessor :Region, :Role, :DbKernel, :InstanceId, :Ip, :Port, :User, :Password, :DbName, :VpcId, :SubnetId, :CvmInstanceId, :UniqDcgId, :UniqVpnGwId, :CcnId, :Supplier, :EngineVersion, :Account, :AccountMode, :AccountRole, :RoleExternalId, :TmpSecretId, :TmpSecretKey, :TmpToken, :EncryptConn, :DatabaseNetEnv, :CcnOwnerUin def initialize(region=nil, role=nil, dbkernel=nil, instanceid=nil, ip=nil, port=nil, user=nil, password=nil, dbname=nil, vpcid=nil, subnetid=nil, cvminstanceid=nil, uniqdcgid=nil, uniqvpngwid=nil, ccnid=nil, supplier=nil, engineversion=nil, account=nil, accountmode=nil, accountrole=nil, roleexternalid=nil, tmpsecretid=nil, tmpsecretkey=nil, tmptoken=nil, encryptconn=nil, databasenetenv=nil, ccnowneruin=nil) @Region = region @Role = role @DbKernel = dbkernel @InstanceId = instanceid @Ip = ip @Port = port @User = user @Password = password @DbName = dbname @VpcId = vpcid @SubnetId = subnetid @CvmInstanceId = cvminstanceid @UniqDcgId = uniqdcgid @UniqVpnGwId = uniqvpngwid @CcnId = ccnid @Supplier = supplier @EngineVersion = engineversion @Account = account @AccountMode = accountmode @AccountRole = accountrole @RoleExternalId = roleexternalid @TmpSecretId = tmpsecretid @TmpSecretKey = tmpsecretkey @TmpToken = tmptoken @EncryptConn = encryptconn @DatabaseNetEnv = databasenetenv @CcnOwnerUin = ccnowneruin end def deserialize(params) @Region = params['Region'] @Role = params['Role'] @DbKernel = params['DbKernel'] @InstanceId = params['InstanceId'] @Ip = params['Ip'] @Port = params['Port'] @User = params['User'] @Password = params['Password'] @DbName = params['DbName'] @VpcId = params['VpcId'] @SubnetId = params['SubnetId'] @CvmInstanceId = params['CvmInstanceId'] @UniqDcgId = params['UniqDcgId'] @UniqVpnGwId = params['UniqVpnGwId'] @CcnId = params['CcnId'] @Supplier = params['Supplier'] @EngineVersion = params['EngineVersion'] @Account = params['Account'] @AccountMode = params['AccountMode'] @AccountRole = params['AccountRole'] @RoleExternalId = params['RoleExternalId'] @TmpSecretId = params['TmpSecretId'] @TmpSecretKey = params['TmpSecretKey'] @TmpToken = params['TmpToken'] @EncryptConn = params['EncryptConn'] @DatabaseNetEnv = params['DatabaseNetEnv'] @CcnOwnerUin = params['CcnOwnerUin'] end end # 错误信息及其解决方案 class ErrInfo < TencentCloud::Common::AbstractModel # @param Reason: 错误原因 # @type Reason: String # @param Message: 错误信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Message: String # @param Solution: 解决方案 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Solution: String attr_accessor :Reason, :Message, :Solution def initialize(reason=nil, message=nil, solution=nil) @Reason = reason @Message = message @Solution = solution end def deserialize(params) @Reason = params['Reason'] @Message = params['Message'] @Solution = params['Solution'] end end # 任务错误信息 class ErrorInfoItem < TencentCloud::Common::AbstractModel # @param Code: 错误码 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Code: String # @param Solution: 解决方案 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Solution: String # @param ErrorLog: 错误日志信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ErrorLog: String # @param HelpDoc: 文档提示 # 注意:此字段可能返回 null,表示取不到有效值。 # @type HelpDoc: String attr_accessor :Code, :Solution, :ErrorLog, :HelpDoc def initialize(code=nil, solution=nil, errorlog=nil, helpdoc=nil) @Code = code @Solution = solution @ErrorLog = errorlog @HelpDoc = helpdoc end def deserialize(params) @Code = params['Code'] @Solution = params['Solution'] @ErrorLog = params['ErrorLog'] @HelpDoc = params['HelpDoc'] end end # IsolateMigrateJob请求参数结构体 class IsolateMigrateJobRequest < 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 # IsolateMigrateJob返回参数结构体 class IsolateMigrateJobResponse < 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 # IsolateSyncJob请求参数结构体 class IsolateSyncJobRequest < 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 # IsolateSyncJob返回参数结构体 class IsolateSyncJobResponse < 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 JobItem < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # 注意:此字段可能返回 null,表示取不到有效值。 # @type JobId: String # @param JobName: 数据迁移任务名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type JobName: String # @param CreateTime: 任务创建(提交)时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type CreateTime: String # @param UpdateTime: 任务更新时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type UpdateTime: String # @param StartTime: 任务开始执行时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type StartTime: String # @param EndTime: 任务执行结束时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type EndTime: String # @param BriefMsg: 迁移任务错误信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type BriefMsg: String # @param Status: 任务状态,取值为:creating(创建中)、created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中)、 # pausing(暂停中)、 # manualPaused(已暂停) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param RunMode: 任务运行模式,值包括:immediate(立即运行),timed(定时运行) # 注意:此字段可能返回 null,表示取不到有效值。 # @type RunMode: String # @param ExpectRunTime: 期待启动时间,当RunMode取值为timed时,此值必填,形如:2022-07-11 16:20:49 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ExpectRunTime: String # @param Action: 任务操作信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Action: :class:`Tencentcloud::Dts.v20211206.models.MigrateAction` # @param StepInfo: 迁移执行过程信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepInfo: :class:`Tencentcloud::Dts.v20211206.models.MigrateDetailInfo` # @param SrcInfo: 源实例信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcInfo: :class:`Tencentcloud::Dts.v20211206.models.DBEndpointInfo` # @param DstInfo: 目标端信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstInfo: :class:`Tencentcloud::Dts.v20211206.models.DBEndpointInfo` # @param CompareTask: 数据一致性校验结果 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CompareTask: :class:`Tencentcloud::Dts.v20211206.models.CompareTaskInfo` # @param TradeInfo: 计费状态信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TradeInfo: :class:`Tencentcloud::Dts.v20211206.models.TradeInfo` # @param Tags: 标签信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tags: Array # @param AutoRetryTimeRangeMinutes: 自动重试时间段信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AutoRetryTimeRangeMinutes: Integer # @param DumperResumeCtrl: 全量导出可重入标识:enum::"yes"/"no"。yes表示当前任务可重入、no表示当前任务处于全量导出且不可重入阶段;如果在该值为no时重启任务导出流程不支持断点续传 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DumperResumeCtrl: String attr_accessor :JobId, :JobName, :CreateTime, :UpdateTime, :StartTime, :EndTime, :BriefMsg, :Status, :RunMode, :ExpectRunTime, :Action, :StepInfo, :SrcInfo, :DstInfo, :CompareTask, :TradeInfo, :Tags, :AutoRetryTimeRangeMinutes, :DumperResumeCtrl def initialize(jobid=nil, jobname=nil, createtime=nil, updatetime=nil, starttime=nil, endtime=nil, briefmsg=nil, status=nil, runmode=nil, expectruntime=nil, action=nil, stepinfo=nil, srcinfo=nil, dstinfo=nil, comparetask=nil, tradeinfo=nil, tags=nil, autoretrytimerangeminutes=nil, dumperresumectrl=nil) @JobId = jobid @JobName = jobname @CreateTime = createtime @UpdateTime = updatetime @StartTime = starttime @EndTime = endtime @BriefMsg = briefmsg @Status = status @RunMode = runmode @ExpectRunTime = expectruntime @Action = action @StepInfo = stepinfo @SrcInfo = srcinfo @DstInfo = dstinfo @CompareTask = comparetask @TradeInfo = tradeinfo @Tags = tags @AutoRetryTimeRangeMinutes = autoretrytimerangeminutes @DumperResumeCtrl = dumperresumectrl end def deserialize(params) @JobId = params['JobId'] @JobName = params['JobName'] @CreateTime = params['CreateTime'] @UpdateTime = params['UpdateTime'] @StartTime = params['StartTime'] @EndTime = params['EndTime'] @BriefMsg = params['BriefMsg'] @Status = params['Status'] @RunMode = params['RunMode'] @ExpectRunTime = params['ExpectRunTime'] unless params['Action'].nil? @Action = MigrateAction.new @Action.deserialize(params['Action']) end unless params['StepInfo'].nil? @StepInfo = MigrateDetailInfo.new @StepInfo.deserialize(params['StepInfo']) end unless params['SrcInfo'].nil? @SrcInfo = DBEndpointInfo.new @SrcInfo.deserialize(params['SrcInfo']) end unless params['DstInfo'].nil? @DstInfo = DBEndpointInfo.new @DstInfo.deserialize(params['DstInfo']) end unless params['CompareTask'].nil? @CompareTask = CompareTaskInfo.new @CompareTask.deserialize(params['CompareTask']) end unless params['TradeInfo'].nil? @TradeInfo = TradeInfo.new @TradeInfo.deserialize(params['TradeInfo']) end unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end @AutoRetryTimeRangeMinutes = params['AutoRetryTimeRangeMinutes'] @DumperResumeCtrl = params['DumperResumeCtrl'] end end # 目标端为kakfa时添加的同步选项字段 class KafkaOption < TencentCloud::Common::AbstractModel # @param DataType: 投递到kafka的数据类型,如Avro,Json # @type DataType: String # @param TopicType: 同步topic策略,如Single(集中投递到单topic),Multi (自定义topic名称) # @type TopicType: String # @param DDLTopicName: 用于存储ddl的topic # @type DDLTopicName: String # @param TopicRules: 单topic和自定义topic的描述 # @type TopicRules: Array attr_accessor :DataType, :TopicType, :DDLTopicName, :TopicRules def initialize(datatype=nil, topictype=nil, ddltopicname=nil, topicrules=nil) @DataType = datatype @TopicType = topictype @DDLTopicName = ddltopicname @TopicRules = topicrules end def deserialize(params) @DataType = params['DataType'] @TopicType = params['TopicType'] @DDLTopicName = params['DDLTopicName'] unless params['TopicRules'].nil? @TopicRules = [] params['TopicRules'].each do |i| topicrule_tmp = TopicRule.new topicrule_tmp.deserialize(i) @TopicRules << topicrule_tmp end end end end # 存放配置时的额外信息 class KeyValuePairOption < TencentCloud::Common::AbstractModel # @param Key: 选项key # 注意:此字段可能返回 null,表示取不到有效值。 # @type Key: String # @param Value: 选项value # 注意:此字段可能返回 null,表示取不到有效值。 # @type Value: String attr_accessor :Key, :Value def initialize(key=nil, value=nil) @Key = key @Value = value end def deserialize(params) @Key = params['Key'] @Value = params['Value'] end end # 任务操作信息,包含迁移任务的所有操作列表,及迁移任务在当前状态下允许的操作列表 class MigrateAction < TencentCloud::Common::AbstractModel # @param AllAction: 任务的所有操作列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AllAction: Array # @param AllowedAction: 任务在当前状态下允许的操作列表 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AllowedAction: Array attr_accessor :AllAction, :AllowedAction def initialize(allaction=nil, allowedaction=nil) @AllAction = allaction @AllowedAction = allowedaction end def deserialize(params) @AllAction = params['AllAction'] @AllowedAction = params['AllowedAction'] end end # 查询迁移实例列表的实例对象 class MigrateDBItem < TencentCloud::Common::AbstractModel # @param InstanceId: 实例ID # @type InstanceId: String # @param InstanceName: 实例名称 # @type InstanceName: String # @param Vip: 实例Vip # @type Vip: String # @param Vport: 实例Vport # @type Vport: Integer # @param Usable: 是否可以作为迁移对象,1-可以,0-不可以 # @type Usable: Integer # @param Hint: 不可以作为迁移对象的原因 # @type Hint: String attr_accessor :InstanceId, :InstanceName, :Vip, :Vport, :Usable, :Hint def initialize(instanceid=nil, instancename=nil, vip=nil, vport=nil, usable=nil, hint=nil) @InstanceId = instanceid @InstanceName = instancename @Vip = vip @Vport = vport @Usable = usable @Hint = hint end def deserialize(params) @InstanceId = params['InstanceId'] @InstanceName = params['InstanceName'] @Vip = params['Vip'] @Vport = params['Vport'] @Usable = params['Usable'] @Hint = params['Hint'] end end # 迁移执行过程信息 class MigrateDetailInfo < TencentCloud::Common::AbstractModel # @param StepAll: 总步骤数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepAll: Integer # @param StepNow: 当前步骤 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepNow: Integer # @param MasterSlaveDistance: 主从差距,MB;只在任务正常,迁移或者同步的最后一步(追Binlog的阶段才有校),如果是非法值,返回-1 # 注意:此字段可能返回 null,表示取不到有效值。 # @type MasterSlaveDistance: Integer # @param SecondsBehindMaster: 主从差距,秒;只在任务正常,迁移或者同步的最后一步(追Binlog的阶段才有校),如果是非法值,返回-1 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SecondsBehindMaster: Integer # @param StepInfo: 步骤信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepInfo: Array attr_accessor :StepAll, :StepNow, :MasterSlaveDistance, :SecondsBehindMaster, :StepInfo def initialize(stepall=nil, stepnow=nil, masterslavedistance=nil, secondsbehindmaster=nil, stepinfo=nil) @StepAll = stepall @StepNow = stepnow @MasterSlaveDistance = masterslavedistance @SecondsBehindMaster = secondsbehindmaster @StepInfo = stepinfo end def deserialize(params) @StepAll = params['StepAll'] @StepNow = params['StepNow'] @MasterSlaveDistance = params['MasterSlaveDistance'] @SecondsBehindMaster = params['SecondsBehindMaster'] unless params['StepInfo'].nil? @StepInfo = [] params['StepInfo'].each do |i| stepdetailinfo_tmp = StepDetailInfo.new stepdetailinfo_tmp.deserialize(i) @StepInfo << stepdetailinfo_tmp end end end end # 迁移选项,描述任务如何执行迁移等一系列配置信息 class MigrateOption < TencentCloud::Common::AbstractModel # @param DatabaseTable: 迁移对象选项,需要告知迁移服务迁移哪些库表对象 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DatabaseTable: :class:`Tencentcloud::Dts.v20211206.models.DatabaseTableObject` # @param MigrateType: 迁移类型,full(全量迁移),structure(结构迁移),fullAndIncrement(全量加增量迁移), 默认为fullAndIncrement # 注意:此字段可能返回 null,表示取不到有效值。 # @type MigrateType: String # @param Consistency: 数据一致性校验选项, 默认为不开启一致性校验 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Consistency: :class:`Tencentcloud::Dts.v20211206.models.ConsistencyOption` # @param IsMigrateAccount: 是否迁移账号,yes(迁移账号),no(不迁移账号) # 注意:此字段可能返回 null,表示取不到有效值。 # @type IsMigrateAccount: Boolean # @param IsOverrideRoot: 是否用源库Root账户覆盖目标库,值包括:false-不覆盖,true-覆盖,选择库表或者结构迁移时应该为false,注意只对旧版迁移有效 # 注意:此字段可能返回 null,表示取不到有效值。 # @type IsOverrideRoot: Boolean # @param IsDstReadOnly: 是否在迁移时设置目标库只读(仅对mysql有效),true(设置只读)、false(不设置只读,默认此值) # 注意:此字段可能返回 null,表示取不到有效值。 # @type IsDstReadOnly: Boolean # @param ExtraAttr: 其他附加信息,对于特定库可设置额外参数,Redis可定义如下的参数: # ["DstWriteMode":normal, 目标库写入模式,可取值clearData(清空目标实例数据)、overwrite(以覆盖写的方式执行任务)、normal(跟正常流程一样,不做额外动作) "IsDstReadOnly":true, 是否在迁移时设置目标库只读,true(设置只读)、false(不设置只读) "ClientOutputBufferHardLimit":512, 从机缓冲区的硬性容量限制(MB) "ClientOutputBufferSoftLimit":512, 从机缓冲区的软性容量限制(MB) "ClientOutputBufferPersistTime":60, 从机缓冲区的软性限制持续时间(秒) "ReplBacklogSize":512, 环形缓冲区容量限制(MB) "ReplTimeout":120, 复制超时时间(秒) ] # 注意:此字段可能返回 null,表示取不到有效值。 # @type ExtraAttr: Array attr_accessor :DatabaseTable, :MigrateType, :Consistency, :IsMigrateAccount, :IsOverrideRoot, :IsDstReadOnly, :ExtraAttr def initialize(databasetable=nil, migratetype=nil, consistency=nil, ismigrateaccount=nil, isoverrideroot=nil, isdstreadonly=nil, extraattr=nil) @DatabaseTable = databasetable @MigrateType = migratetype @Consistency = consistency @IsMigrateAccount = ismigrateaccount @IsOverrideRoot = isoverrideroot @IsDstReadOnly = isdstreadonly @ExtraAttr = extraattr end def deserialize(params) unless params['DatabaseTable'].nil? @DatabaseTable = DatabaseTableObject.new @DatabaseTable.deserialize(params['DatabaseTable']) end @MigrateType = params['MigrateType'] unless params['Consistency'].nil? @Consistency = ConsistencyOption.new @Consistency.deserialize(params['Consistency']) end @IsMigrateAccount = params['IsMigrateAccount'] @IsOverrideRoot = params['IsOverrideRoot'] @IsDstReadOnly = params['IsDstReadOnly'] unless params['ExtraAttr'].nil? @ExtraAttr = [] params['ExtraAttr'].each do |i| keyvaluepairoption_tmp = KeyValuePairOption.new keyvaluepairoption_tmp.deserialize(i) @ExtraAttr << keyvaluepairoption_tmp end end end end # ModifyCompareTaskName请求参数结构体 class ModifyCompareTaskNameRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务 Id # @type JobId: String # @param CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9 # @type CompareTaskId: String # @param TaskName: 一致性校验任务名称 # @type TaskName: String attr_accessor :JobId, :CompareTaskId, :TaskName def initialize(jobid=nil, comparetaskid=nil, taskname=nil) @JobId = jobid @CompareTaskId = comparetaskid @TaskName = taskname end def deserialize(params) @JobId = params['JobId'] @CompareTaskId = params['CompareTaskId'] @TaskName = params['TaskName'] end end # ModifyCompareTaskName返回参数结构体 class ModifyCompareTaskNameResponse < 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 # ModifyCompareTask请求参数结构体 class ModifyCompareTaskRequest < TencentCloud::Common::AbstractModel # @param JobId: 任务 Id # @type JobId: String # @param CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9 # @type CompareTaskId: String # @param TaskName: 任务名称 # @type TaskName: String # @param ObjectMode: 数据对比对象模式,sameAsMigrate(全部迁移对象, 默认为此项配置)、custom(自定义),注意自定义对比对象必须是迁移对象的子集 # @type ObjectMode: String # @param Objects: 对比对象,若CompareObjectMode取值为custom,则此项必填 # @type Objects: :class:`Tencentcloud::Dts.v20211206.models.CompareObject` # @param Options: 一致性校验选项 # @type Options: :class:`Tencentcloud::Dts.v20211206.models.CompareOptions` attr_accessor :JobId, :CompareTaskId, :TaskName, :ObjectMode, :Objects, :Options def initialize(jobid=nil, comparetaskid=nil, taskname=nil, objectmode=nil, objects=nil, options=nil) @JobId = jobid @CompareTaskId = comparetaskid @TaskName = taskname @ObjectMode = objectmode @Objects = objects @Options = options end def deserialize(params) @JobId = params['JobId'] @CompareTaskId = params['CompareTaskId'] @TaskName = params['TaskName'] @ObjectMode = params['ObjectMode'] unless params['Objects'].nil? @Objects = CompareObject.new @Objects.deserialize(params['Objects']) end unless params['Options'].nil? @Options = CompareOptions.new @Options.deserialize(params['Options']) end end end # ModifyCompareTask返回参数结构体 class ModifyCompareTaskResponse < 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 # ModifyMigrateJobSpec请求参数结构体 class ModifyMigrateJobSpecRequest < TencentCloud::Common::AbstractModel # @param JobId: 任务id # @type JobId: String # @param NewInstanceClass: 新实例规格大小,包括:micro、small、medium、large、xlarge、2xlarge # @type NewInstanceClass: String attr_accessor :JobId, :NewInstanceClass def initialize(jobid=nil, newinstanceclass=nil) @JobId = jobid @NewInstanceClass = newinstanceclass end def deserialize(params) @JobId = params['JobId'] @NewInstanceClass = params['NewInstanceClass'] end end # ModifyMigrateJobSpec返回参数结构体 class ModifyMigrateJobSpecResponse < 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 # ModifyMigrateName请求参数结构体 class ModifyMigrateNameRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务id # @type JobId: String # @param JobName: 修改后的迁移任务名 # @type JobName: String attr_accessor :JobId, :JobName def initialize(jobid=nil, jobname=nil) @JobId = jobid @JobName = jobname end def deserialize(params) @JobId = params['JobId'] @JobName = params['JobName'] end end # ModifyMigrateName返回参数结构体 class ModifyMigrateNameResponse < 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 # ModifyMigrateRateLimit请求参数结构体 class ModifyMigrateRateLimitRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务ID # @type JobId: String # @param DumpThread: 迁移任务全量导出线程数、有效值为 1-16 # @type DumpThread: Integer # @param DumpRps: 迁移全量导出的 Rps 限制、需要大于 0 # @type DumpRps: Integer # @param LoadThread: 迁移任务全量导入线程数、有效值为 1-16 # @type LoadThread: Integer # @param SinkerThread: 迁移任务增量导入线程数、有效值为 1-128 # @type SinkerThread: Integer # @param LoadRps: 全量导入Rps限制 # @type LoadRps: Integer attr_accessor :JobId, :DumpThread, :DumpRps, :LoadThread, :SinkerThread, :LoadRps def initialize(jobid=nil, dumpthread=nil, dumprps=nil, loadthread=nil, sinkerthread=nil, loadrps=nil) @JobId = jobid @DumpThread = dumpthread @DumpRps = dumprps @LoadThread = loadthread @SinkerThread = sinkerthread @LoadRps = loadrps end def deserialize(params) @JobId = params['JobId'] @DumpThread = params['DumpThread'] @DumpRps = params['DumpRps'] @LoadThread = params['LoadThread'] @SinkerThread = params['SinkerThread'] @LoadRps = params['LoadRps'] end end # ModifyMigrateRateLimit返回参数结构体 class ModifyMigrateRateLimitResponse < 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 # ModifyMigrateRuntimeAttribute请求参数结构体 class ModifyMigrateRuntimeAttributeRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务id,如:dts-2rgv0f09 # @type JobId: String # @param OtherOptions: 需要修改的属性,此结构设计为通用结构,用于屏蔽多个业务的定制属性。
例如对于Redis:
{
"Key": "DstWriteMode", //目标库写入模式
"Value": "normal" //clearData(清空目标实例数据)、overwrite(以覆盖写的方式执行任务)、normal(跟正常流程一样,不做额外动作,默认为此值)
},
{
"Key": "IsDstReadOnly", //是否在迁移时设置目标库只读
"Value": "true" //true(设置只读)、false(不设置只读)
} # @type OtherOptions: Array attr_accessor :JobId, :OtherOptions def initialize(jobid=nil, otheroptions=nil) @JobId = jobid @OtherOptions = otheroptions end def deserialize(params) @JobId = params['JobId'] unless params['OtherOptions'].nil? @OtherOptions = [] params['OtherOptions'].each do |i| keyvaluepairoption_tmp = KeyValuePairOption.new keyvaluepairoption_tmp.deserialize(i) @OtherOptions << keyvaluepairoption_tmp end end end end # ModifyMigrateRuntimeAttribute返回参数结构体 class ModifyMigrateRuntimeAttributeResponse < 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 # ModifyMigrationJob请求参数结构体 class ModifyMigrationJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 任务id # @type JobId: String # @param RunMode: 运行模式,取值如:immediate(表示立即运行)、timed(表示定时运行) # @type RunMode: String # @param MigrateOption: 迁移任务配置选项,描述任务如何执行迁移等一系列配置信息;字段下的RateLimitOption不可配置、如果需要修改任务的限速信息、请在任务运行后通过ModifyMigrateRateLimit接口修改 # @type MigrateOption: :class:`Tencentcloud::Dts.v20211206.models.MigrateOption` # @param SrcInfo: 源实例信息 # @type SrcInfo: :class:`Tencentcloud::Dts.v20211206.models.DBEndpointInfo` # @param DstInfo: 目标实例信息 # @type DstInfo: :class:`Tencentcloud::Dts.v20211206.models.DBEndpointInfo` # @param JobName: 迁移任务名称,最大长度128 # @type JobName: String # @param ExpectRunTime: 期待启动时间,当RunMode取值为timed时,此值必填,形如:"2006-01-02 15:04:05" # @type ExpectRunTime: String # @param Tags: 标签信息 # @type Tags: Array # @param AutoRetryTimeRangeMinutes: 自动重试的时间段、可设置5至720分钟、0表示不重试 # @type AutoRetryTimeRangeMinutes: Integer attr_accessor :JobId, :RunMode, :MigrateOption, :SrcInfo, :DstInfo, :JobName, :ExpectRunTime, :Tags, :AutoRetryTimeRangeMinutes def initialize(jobid=nil, runmode=nil, migrateoption=nil, srcinfo=nil, dstinfo=nil, jobname=nil, expectruntime=nil, tags=nil, autoretrytimerangeminutes=nil) @JobId = jobid @RunMode = runmode @MigrateOption = migrateoption @SrcInfo = srcinfo @DstInfo = dstinfo @JobName = jobname @ExpectRunTime = expectruntime @Tags = tags @AutoRetryTimeRangeMinutes = autoretrytimerangeminutes end def deserialize(params) @JobId = params['JobId'] @RunMode = params['RunMode'] unless params['MigrateOption'].nil? @MigrateOption = MigrateOption.new @MigrateOption.deserialize(params['MigrateOption']) end unless params['SrcInfo'].nil? @SrcInfo = DBEndpointInfo.new @SrcInfo.deserialize(params['SrcInfo']) end unless params['DstInfo'].nil? @DstInfo = DBEndpointInfo.new @DstInfo.deserialize(params['DstInfo']) end @JobName = params['JobName'] @ExpectRunTime = params['ExpectRunTime'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end @AutoRetryTimeRangeMinutes = params['AutoRetryTimeRangeMinutes'] end end # ModifyMigrationJob返回参数结构体 class ModifyMigrationJobResponse < 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 # ModifySyncJobConfig请求参数结构体 class ModifySyncJobConfigRequest < TencentCloud::Common::AbstractModel # @param JobId: 同步任务id # @type JobId: String # @param DynamicObjects: 修改后的同步对象 # @type DynamicObjects: :class:`Tencentcloud::Dts.v20211206.models.Objects` # @param DynamicOptions: 修改后的同步任务选项 # @type DynamicOptions: :class:`Tencentcloud::Dts.v20211206.models.DynamicOptions` attr_accessor :JobId, :DynamicObjects, :DynamicOptions def initialize(jobid=nil, dynamicobjects=nil, dynamicoptions=nil) @JobId = jobid @DynamicObjects = dynamicobjects @DynamicOptions = dynamicoptions end def deserialize(params) @JobId = params['JobId'] unless params['DynamicObjects'].nil? @DynamicObjects = Objects.new @DynamicObjects.deserialize(params['DynamicObjects']) end unless params['DynamicOptions'].nil? @DynamicOptions = DynamicOptions.new @DynamicOptions.deserialize(params['DynamicOptions']) end end end # ModifySyncJobConfig返回参数结构体 class ModifySyncJobConfigResponse < 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 # ModifySyncRateLimit请求参数结构体 class ModifySyncRateLimitRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务ID # @type JobId: String # @param DumpThread: 同步任务全量导出线程数、有效值为 1-16 # @type DumpThread: Integer # @param DumpRps: 同步任务全量导出的 Rps 限制、需要大于 0 # @type DumpRps: Integer # @param LoadThread: 同步任务全量导入线程数、有效值为 1-16 # @type LoadThread: Integer # @param SinkerThread: 同步任务增量导入线程数、有效值为 1-128 # @type SinkerThread: Integer # @param LoadRps: 同步任务全量导入的Rps # @type LoadRps: Integer attr_accessor :JobId, :DumpThread, :DumpRps, :LoadThread, :SinkerThread, :LoadRps def initialize(jobid=nil, dumpthread=nil, dumprps=nil, loadthread=nil, sinkerthread=nil, loadrps=nil) @JobId = jobid @DumpThread = dumpthread @DumpRps = dumprps @LoadThread = loadthread @SinkerThread = sinkerthread @LoadRps = loadrps end def deserialize(params) @JobId = params['JobId'] @DumpThread = params['DumpThread'] @DumpRps = params['DumpRps'] @LoadThread = params['LoadThread'] @SinkerThread = params['SinkerThread'] @LoadRps = params['LoadRps'] end end # ModifySyncRateLimit返回参数结构体 class ModifySyncRateLimitResponse < 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 Objects < TencentCloud::Common::AbstractModel # @param Mode: 同步对象类型 Partial(部分对象) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Mode: String # @param Databases: 同步对象,当 Mode 为 Partial 时,不为空 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Databases: Array # @param AdvancedObjects: 高级对象类型,如function、procedure。注意:如果要迁移同步高级对象,此配置中应该包含对应的高级对象类型。当需要同步高级对象时,初始化类型必须包含结构初始化类型,即任务的Options.InitType字段值为Structure或Full # 注意:此字段可能返回 null,表示取不到有效值。 # @type AdvancedObjects: Array # @param OnlineDDL: OnlineDDL类型,冗余字段不做配置用途 # 注意:此字段可能返回 null,表示取不到有效值。 # @type OnlineDDL: :class:`Tencentcloud::Dts.v20211206.models.OnlineDDL` attr_accessor :Mode, :Databases, :AdvancedObjects, :OnlineDDL def initialize(mode=nil, databases=nil, advancedobjects=nil, onlineddl=nil) @Mode = mode @Databases = databases @AdvancedObjects = advancedobjects @OnlineDDL = onlineddl end def deserialize(params) @Mode = params['Mode'] unless params['Databases'].nil? @Databases = [] params['Databases'].each do |i| database_tmp = Database.new database_tmp.deserialize(i) @Databases << database_tmp end end @AdvancedObjects = params['AdvancedObjects'] unless params['OnlineDDL'].nil? @OnlineDDL = OnlineDDL.new @OnlineDDL.deserialize(params['OnlineDDL']) end end end # OnlineDDL类型 class OnlineDDL < TencentCloud::Common::AbstractModel # @param Status: 状态 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String attr_accessor :Status def initialize(status=nil) @Status = status end def deserialize(params) @Status = params['Status'] end end # 数据同步中的选项 class Options < TencentCloud::Common::AbstractModel # @param InitType: 同步初始化选项,Data(全量数据初始化)、Structure(结构初始化)、Full(全量数据且结构初始化,默认)、None(仅增量) # 注意:此字段可能返回 null,表示取不到有效值。 # @type InitType: String # @param DealOfExistSameTable: 同名表的处理,ReportErrorAfterCheck(前置校验并报错,默认)、InitializeAfterDelete(删除并重新初始化)、ExecuteAfterIgnore(忽略并继续执行) # 注意:此字段可能返回 null,表示取不到有效值。 # @type DealOfExistSameTable: String # @param ConflictHandleType: 冲突处理选项,ReportError(报错,默认为该值)、Ignore(忽略)、Cover(覆盖)、ConditionCover(条件覆盖) # 注意:此字段可能返回 null,表示取不到有效值。 # @type ConflictHandleType: String # @param AddAdditionalColumn: 是否添加附加列 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AddAdditionalColumn: Boolean # @param OpTypes: 所要同步的DML和DDL的选项,Insert(插入操作)、Update(更新操作)、Delete(删除操作)、DDL(结构同步), 不填(不选),PartialDDL(自定义,和DdlOptions一起起作用 ) # 注意:此字段可能返回 null,表示取不到有效值。 # @type OpTypes: Array # @param ConflictHandleOption: 冲突处理的详细选项,如条件覆盖中的条件行和条件操作 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ConflictHandleOption: :class:`Tencentcloud::Dts.v20211206.models.ConflictHandleOption` # @param DdlOptions: DDL同步选项,具体描述要同步那些DDL # 注意:此字段可能返回 null,表示取不到有效值。 # @type DdlOptions: Array # @param KafkaOption: kafka同步选项 # 注意:此字段可能返回 null,表示取不到有效值。 # @type KafkaOption: :class:`Tencentcloud::Dts.v20211206.models.KafkaOption` # @param RateLimitOption: 任务限速信息、该字段仅用作出参、入参该字段无效 # 注意:此字段可能返回 null,表示取不到有效值。 # @type RateLimitOption: :class:`Tencentcloud::Dts.v20211206.models.RateLimitOption` # @param AutoRetryTimeRangeMinutes: 自动重试的时间窗口设置 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AutoRetryTimeRangeMinutes: Integer attr_accessor :InitType, :DealOfExistSameTable, :ConflictHandleType, :AddAdditionalColumn, :OpTypes, :ConflictHandleOption, :DdlOptions, :KafkaOption, :RateLimitOption, :AutoRetryTimeRangeMinutes def initialize(inittype=nil, dealofexistsametable=nil, conflicthandletype=nil, addadditionalcolumn=nil, optypes=nil, conflicthandleoption=nil, ddloptions=nil, kafkaoption=nil, ratelimitoption=nil, autoretrytimerangeminutes=nil) @InitType = inittype @DealOfExistSameTable = dealofexistsametable @ConflictHandleType = conflicthandletype @AddAdditionalColumn = addadditionalcolumn @OpTypes = optypes @ConflictHandleOption = conflicthandleoption @DdlOptions = ddloptions @KafkaOption = kafkaoption @RateLimitOption = ratelimitoption @AutoRetryTimeRangeMinutes = autoretrytimerangeminutes end def deserialize(params) @InitType = params['InitType'] @DealOfExistSameTable = params['DealOfExistSameTable'] @ConflictHandleType = params['ConflictHandleType'] @AddAdditionalColumn = params['AddAdditionalColumn'] @OpTypes = params['OpTypes'] unless params['ConflictHandleOption'].nil? @ConflictHandleOption = ConflictHandleOption.new @ConflictHandleOption.deserialize(params['ConflictHandleOption']) end unless params['DdlOptions'].nil? @DdlOptions = [] params['DdlOptions'].each do |i| ddloption_tmp = DdlOption.new ddloption_tmp.deserialize(i) @DdlOptions << ddloption_tmp end end unless params['KafkaOption'].nil? @KafkaOption = KafkaOption.new @KafkaOption.deserialize(params['KafkaOption']) end unless params['RateLimitOption'].nil? @RateLimitOption = RateLimitOption.new @RateLimitOption.deserialize(params['RateLimitOption']) end @AutoRetryTimeRangeMinutes = params['AutoRetryTimeRangeMinutes'] end end # PauseMigrateJob请求参数结构体 class PauseMigrateJobRequest < 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 # PauseMigrateJob返回参数结构体 class PauseMigrateJobResponse < 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 # PauseSyncJob请求参数结构体 class PauseSyncJobRequest < 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 # PauseSyncJob返回参数结构体 class PauseSyncJobResponse < 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 ProcessProgress < TencentCloud::Common::AbstractModel # @param Status: 步骤的状态, 包括:notStarted(未开始)、running(运行中)、success(成功)、failed(失败)等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param Percent: 进度信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Percent: Integer # @param StepAll: 总的步骤数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepAll: Integer # @param StepNow: 当前进行的步骤 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepNow: Integer # @param Message: 当前步骤输出提示信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Message: String # @param Steps: 步骤信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Steps: Array attr_accessor :Status, :Percent, :StepAll, :StepNow, :Message, :Steps def initialize(status=nil, percent=nil, stepall=nil, stepnow=nil, message=nil, steps=nil) @Status = status @Percent = percent @StepAll = stepall @StepNow = stepnow @Message = message @Steps = steps end def deserialize(params) @Status = params['Status'] @Percent = params['Percent'] @StepAll = params['StepAll'] @StepNow = params['StepNow'] @Message = params['Message'] unless params['Steps'].nil? @Steps = [] params['Steps'].each do |i| stepdetailinfo_tmp = StepDetailInfo.new stepdetailinfo_tmp.deserialize(i) @Steps << stepdetailinfo_tmp end end end end # 错误信息及告警信息对象 class ProcessStepTip < TencentCloud::Common::AbstractModel # @param Message: 提示信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Message: String # @param Solution: 解决方案 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Solution: String # @param HelpDoc: 文档提示 # 注意:此字段可能返回 null,表示取不到有效值。 # @type HelpDoc: String attr_accessor :Message, :Solution, :HelpDoc def initialize(message=nil, solution=nil, helpdoc=nil) @Message = message @Solution = solution @HelpDoc = helpdoc end def deserialize(params) @Message = params['Message'] @Solution = params['Solution'] @HelpDoc = params['HelpDoc'] end end # 迁移和同步任务限速的详细信息 class RateLimitOption < TencentCloud::Common::AbstractModel # @param CurrentDumpThread: 当前生效的全量导出线程数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CurrentDumpThread: Integer # @param DefaultDumpThread: 默认的全量导出线程数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DefaultDumpThread: Integer # @param CurrentDumpRps: 当前生效的全量导出Rps # 注意:此字段可能返回 null,表示取不到有效值。 # @type CurrentDumpRps: Integer # @param DefaultDumpRps: 默认的全量导出Rps # 注意:此字段可能返回 null,表示取不到有效值。 # @type DefaultDumpRps: Integer # @param CurrentLoadThread: 当前生效的全量导入线程数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CurrentLoadThread: Integer # @param DefaultLoadThread: 默认的全量导入线程数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DefaultLoadThread: Integer # @param CurrentLoadRps: 当前生效的全量导入Rps # 注意:此字段可能返回 null,表示取不到有效值。 # @type CurrentLoadRps: Integer # @param DefaultLoadRps: 默认的全量导入Rps # 注意:此字段可能返回 null,表示取不到有效值。 # @type DefaultLoadRps: Integer # @param CurrentSinkerThread: 当前生效的增量导入线程数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CurrentSinkerThread: Integer # @param DefaultSinkerThread: 默认的增量导入线程数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DefaultSinkerThread: Integer # @param HasUserSetRateLimit: enum:"no"/"yes"、no表示用户未设置过限速、yes表示设置过限速 # 注意:此字段可能返回 null,表示取不到有效值。 # @type HasUserSetRateLimit: String attr_accessor :CurrentDumpThread, :DefaultDumpThread, :CurrentDumpRps, :DefaultDumpRps, :CurrentLoadThread, :DefaultLoadThread, :CurrentLoadRps, :DefaultLoadRps, :CurrentSinkerThread, :DefaultSinkerThread, :HasUserSetRateLimit def initialize(currentdumpthread=nil, defaultdumpthread=nil, currentdumprps=nil, defaultdumprps=nil, currentloadthread=nil, defaultloadthread=nil, currentloadrps=nil, defaultloadrps=nil, currentsinkerthread=nil, defaultsinkerthread=nil, hasusersetratelimit=nil) @CurrentDumpThread = currentdumpthread @DefaultDumpThread = defaultdumpthread @CurrentDumpRps = currentdumprps @DefaultDumpRps = defaultdumprps @CurrentLoadThread = currentloadthread @DefaultLoadThread = defaultloadthread @CurrentLoadRps = currentloadrps @DefaultLoadRps = defaultloadrps @CurrentSinkerThread = currentsinkerthread @DefaultSinkerThread = defaultsinkerthread @HasUserSetRateLimit = hasusersetratelimit end def deserialize(params) @CurrentDumpThread = params['CurrentDumpThread'] @DefaultDumpThread = params['DefaultDumpThread'] @CurrentDumpRps = params['CurrentDumpRps'] @DefaultDumpRps = params['DefaultDumpRps'] @CurrentLoadThread = params['CurrentLoadThread'] @DefaultLoadThread = params['DefaultLoadThread'] @CurrentLoadRps = params['CurrentLoadRps'] @DefaultLoadRps = params['DefaultLoadRps'] @CurrentSinkerThread = params['CurrentSinkerThread'] @DefaultSinkerThread = params['DefaultSinkerThread'] @HasUserSetRateLimit = params['HasUserSetRateLimit'] end end # RecoverMigrateJob请求参数结构体 class RecoverMigrateJobRequest < 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 # RecoverMigrateJob返回参数结构体 class RecoverMigrateJobResponse < 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 # RecoverSyncJob请求参数结构体 class RecoverSyncJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 同步实例id(即标识一个同步作业),形如sync-werwfs23 # @type JobId: String attr_accessor :JobId def initialize(jobid=nil) @JobId = jobid end def deserialize(params) @JobId = params['JobId'] end end # RecoverSyncJob返回参数结构体 class RecoverSyncJobResponse < 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 # ResizeSyncJob请求参数结构体 class ResizeSyncJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 同步任务id # @type JobId: String # @param NewInstanceClass: 任务规格 # @type NewInstanceClass: String attr_accessor :JobId, :NewInstanceClass def initialize(jobid=nil, newinstanceclass=nil) @JobId = jobid @NewInstanceClass = newinstanceclass end def deserialize(params) @JobId = params['JobId'] @NewInstanceClass = params['NewInstanceClass'] end end # ResizeSyncJob返回参数结构体 class ResizeSyncJobResponse < 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 # ResumeMigrateJob请求参数结构体 class ResumeMigrateJobRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String # @param ResumeOption: 恢复任务的模式,目前的取值有:clearData 清空目标实例数据,overwrite 以覆盖写的方式执行任务,normal 跟正常流程一样,不做额外动作;注意,clearData、overwrite仅对redis生效,normal仅针对非redis链路生效 # @type ResumeOption: String attr_accessor :JobId, :ResumeOption def initialize(jobid=nil, resumeoption=nil) @JobId = jobid @ResumeOption = resumeoption end def deserialize(params) @JobId = params['JobId'] @ResumeOption = params['ResumeOption'] end end # ResumeMigrateJob返回参数结构体 class ResumeMigrateJobResponse < 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 # ResumeSyncJob请求参数结构体 class ResumeSyncJobRequest < 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 # ResumeSyncJob返回参数结构体 class ResumeSyncJobResponse < 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 # 角色对象,postgresql独有参数 class RoleItem < TencentCloud::Common::AbstractModel # @param RoleName: 角色名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type RoleName: String # @param NewRoleName: 迁移后的角色名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewRoleName: String attr_accessor :RoleName, :NewRoleName def initialize(rolename=nil, newrolename=nil) @RoleName = rolename @NewRoleName = newrolename end def deserialize(params) @RoleName = params['RoleName'] @NewRoleName = params['NewRoleName'] end end # SkipCheckItem请求参数结构体 class SkipCheckItemRequest < TencentCloud::Common::AbstractModel # @param JobId: 数据迁移任务ID # @type JobId: String # @param StepIds: 需要跳过校验项的步骤id,需要通过DescribeMigrationCheckJob接口返回StepInfo[i].StepId字段获取,例如:["OptimizeCheck"] # @type StepIds: Array # @param ForeignKeyFlag: 当出现外键依赖检查导致校验不通过时、可以通过该字段选择是否迁移外键依赖,当StepIds包含ConstraintCheck且该字段值为shield时表示不迁移外键依赖、当StepIds包含ConstraintCheck且值为migrate时表示迁移外键依赖 # @type ForeignKeyFlag: String attr_accessor :JobId, :StepIds, :ForeignKeyFlag def initialize(jobid=nil, stepids=nil, foreignkeyflag=nil) @JobId = jobid @StepIds = stepids @ForeignKeyFlag = foreignkeyflag end def deserialize(params) @JobId = params['JobId'] @StepIds = params['StepIds'] @ForeignKeyFlag = params['ForeignKeyFlag'] end end # SkipCheckItem返回参数结构体 class SkipCheckItemResponse < TencentCloud::Common::AbstractModel # @param Message: 跳过的提示信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Message: String # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 # @type RequestId: String attr_accessor :Message, :RequestId def initialize(message=nil, requestid=nil) @Message = message @RequestId = requestid end def deserialize(params) @Message = params['Message'] @RequestId = params['RequestId'] end end # SkipSyncCheckItem请求参数结构体 class SkipSyncCheckItemRequest < TencentCloud::Common::AbstractModel # @param JobId: 任务id,如:sync-4ddgid2 # @type JobId: String # @param StepIds: 需要跳过校验项的步骤id,需要通过`DescribeCheckSyncJobResult`接口返回StepInfos[i].StepId字段获取,例如:["OptimizeCheck"] # @type StepIds: Array attr_accessor :JobId, :StepIds def initialize(jobid=nil, stepids=nil) @JobId = jobid @StepIds = stepids end def deserialize(params) @JobId = params['JobId'] @StepIds = params['StepIds'] end end # SkipSyncCheckItem返回参数结构体 class SkipSyncCheckItemResponse < 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 SkippedDetail < TencentCloud::Common::AbstractModel # @param TotalCount: 跳过的表数量 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TotalCount: Integer # @param Items: 跳过校验的表详情 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Items: Array attr_accessor :TotalCount, :Items def initialize(totalcount=nil, items=nil) @TotalCount = totalcount @Items = items end def deserialize(params) @TotalCount = params['TotalCount'] unless params['Items'].nil? @Items = [] params['Items'].each do |i| skippeditem_tmp = SkippedItem.new skippeditem_tmp.deserialize(i) @Items << skippeditem_tmp end end end end # 跳过校验的表详情 class SkippedItem < TencentCloud::Common::AbstractModel # @param Db: 数据库名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Db: String # @param Table: 表名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Table: String # @param Reason: 未发起检查的原因 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Reason: String attr_accessor :Db, :Table, :Reason def initialize(db=nil, table=nil, reason=nil) @Db = db @Table = table @Reason = reason end def deserialize(params) @Db = params['Db'] @Table = params['Table'] @Reason = params['Reason'] end end # StartCompare请求参数结构体 class StartCompareRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务 Id # @type JobId: String # @param CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9 # @type CompareTaskId: String attr_accessor :JobId, :CompareTaskId def initialize(jobid=nil, comparetaskid=nil) @JobId = jobid @CompareTaskId = comparetaskid end def deserialize(params) @JobId = params['JobId'] @CompareTaskId = params['CompareTaskId'] end end # StartCompare返回参数结构体 class StartCompareResponse < 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 # 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 # StartModifySyncJob请求参数结构体 class StartModifySyncJobRequest < 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 # StartModifySyncJob返回参数结构体 class StartModifySyncJobResponse < 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 # StartSyncJob请求参数结构体 class StartSyncJobRequest < 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 # StartSyncJob返回参数结构体 class StartSyncJobResponse < 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 StepDetailInfo < TencentCloud::Common::AbstractModel # @param StepNo: 步骤序列 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepNo: Integer # @param StepName: 步骤展现名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepName: String # @param StepId: 步骤英文标识 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepId: String # @param Status: 步骤状态:success(成功)、failed(失败)、running(执行中)、notStarted(未执行)、默认为notStarted # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param StartTime: 当前步骤开始的时间,格式为"yyyy-mm-dd hh:mm:ss",该字段不存在或者为空是无意义 注意:此字段可能返回 null,表示取不到有效值。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StartTime: String # @param StepMessage: 步骤错误信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepMessage: String # @param Percent: 执行进度 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Percent: Integer # @param Errors: 错误信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Errors: Array # @param Warnings: 告警提示 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Warnings: Array attr_accessor :StepNo, :StepName, :StepId, :Status, :StartTime, :StepMessage, :Percent, :Errors, :Warnings def initialize(stepno=nil, stepname=nil, stepid=nil, status=nil, starttime=nil, stepmessage=nil, percent=nil, errors=nil, warnings=nil) @StepNo = stepno @StepName = stepname @StepId = stepid @Status = status @StartTime = starttime @StepMessage = stepmessage @Percent = percent @Errors = errors @Warnings = warnings end def deserialize(params) @StepNo = params['StepNo'] @StepName = params['StepName'] @StepId = params['StepId'] @Status = params['Status'] @StartTime = params['StartTime'] @StepMessage = params['StepMessage'] @Percent = params['Percent'] unless params['Errors'].nil? @Errors = [] params['Errors'].each do |i| processsteptip_tmp = ProcessStepTip.new processsteptip_tmp.deserialize(i) @Errors << processsteptip_tmp end end unless params['Warnings'].nil? @Warnings = [] params['Warnings'].each do |i| processsteptip_tmp = ProcessStepTip.new processsteptip_tmp.deserialize(i) @Warnings << processsteptip_tmp end end end end # 单个步骤的详细信息 class StepInfo < TencentCloud::Common::AbstractModel # @param StepNo: 步骤编号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepNo: Integer # @param StepName: 步骤名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepName: String # @param StepId: 步骤标号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepId: String # @param Status: 当前步骤状态,可能返回有 notStarted(未开始)、running(校验中)、failed(校验任务失败)、finished(完成)、skipped(跳过)、paused(暂停) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param StartTime: 步骤开始时间,可能为空 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StartTime: String # @param Errors: 错误信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Errors: Array # @param Warnings: 警告信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Warnings: Array # @param Progress: 当前步骤进度,范围为[0-100],若为-1表示当前步骤不支持查看进度 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Progress: Integer attr_accessor :StepNo, :StepName, :StepId, :Status, :StartTime, :Errors, :Warnings, :Progress def initialize(stepno=nil, stepname=nil, stepid=nil, status=nil, starttime=nil, errors=nil, warnings=nil, progress=nil) @StepNo = stepno @StepName = stepname @StepId = stepid @Status = status @StartTime = starttime @Errors = errors @Warnings = warnings @Progress = progress end def deserialize(params) @StepNo = params['StepNo'] @StepName = params['StepName'] @StepId = params['StepId'] @Status = params['Status'] @StartTime = params['StartTime'] unless params['Errors'].nil? @Errors = [] params['Errors'].each do |i| steptip_tmp = StepTip.new steptip_tmp.deserialize(i) @Errors << steptip_tmp end end unless params['Warnings'].nil? @Warnings = [] params['Warnings'].each do |i| steptip_tmp = StepTip.new steptip_tmp.deserialize(i) @Warnings << steptip_tmp end end @Progress = params['Progress'] end end # 当前步骤错误信息或者警告信息 class StepTip < TencentCloud::Common::AbstractModel # @param Code: 错误码 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Code: String # @param Message: 错误信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Message: String # @param Solution: 解决方式 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Solution: String # @param HelpDoc: 帮助文档 # 注意:此字段可能返回 null,表示取不到有效值。 # @type HelpDoc: String # @param SkipInfo: 当前步骤跳过信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SkipInfo: String attr_accessor :Code, :Message, :Solution, :HelpDoc, :SkipInfo def initialize(code=nil, message=nil, solution=nil, helpdoc=nil, skipinfo=nil) @Code = code @Message = message @Solution = solution @HelpDoc = helpdoc @SkipInfo = skipinfo end def deserialize(params) @Code = params['Code'] @Message = params['Message'] @Solution = params['Solution'] @HelpDoc = params['HelpDoc'] @SkipInfo = params['SkipInfo'] end end # StopCompare请求参数结构体 class StopCompareRequest < TencentCloud::Common::AbstractModel # @param JobId: 迁移任务 Id # @type JobId: String # @param CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9 # @type CompareTaskId: String attr_accessor :JobId, :CompareTaskId def initialize(jobid=nil, comparetaskid=nil) @JobId = jobid @CompareTaskId = comparetaskid end def deserialize(params) @JobId = params['JobId'] @CompareTaskId = params['CompareTaskId'] end end # StopCompare返回参数结构体 class StopCompareResponse < 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 # StopSyncJob请求参数结构体 class StopSyncJobRequest < 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 # StopSyncJob返回参数结构体 class StopSyncJobResponse < 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 # 数据同步配置多节点数据库的节点信息。多节点数据库,如tdsqlmysql使用该结构;单节点数据库,如mysql使用Endpoint。 class SyncDBEndpointInfos < TencentCloud::Common::AbstractModel # @param Region: 数据库所在地域 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Region: String # @param AccessType: 实例网络接入类型,如:extranet(外网)、ipv6(公网ipv6)、cvm(云主机自建)、dcg(专线接入)、vpncloud(vpn接入的实例)、cdb(云数据库)、ccn(云联网)、intranet(自研上云)、vpc(私有网络)等,注意具体可选值依赖当前链路 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AccessType: String # @param DatabaseType: 实例数据库类型,如:mysql,redis,mongodb,postgresql,mariadb,percona 等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DatabaseType: String # @param Info: 数据库信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Info: Array attr_accessor :Region, :AccessType, :DatabaseType, :Info def initialize(region=nil, accesstype=nil, databasetype=nil, info=nil) @Region = region @AccessType = accesstype @DatabaseType = databasetype @Info = info end def deserialize(params) @Region = params['Region'] @AccessType = params['AccessType'] @DatabaseType = params['DatabaseType'] unless params['Info'].nil? @Info = [] params['Info'].each do |i| endpoint_tmp = Endpoint.new endpoint_tmp.deserialize(i) @Info << endpoint_tmp end end end end # 同步任务的步骤信息 class SyncDetailInfo < TencentCloud::Common::AbstractModel # @param StepAll: 总步骤数 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepAll: Integer # @param StepNow: 当前步骤 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepNow: Integer # @param Progress: 总体进度 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Progress: Integer # @param CurrentStepProgress: 当前步骤进度,范围为[0-100],若为-1表示当前步骤不支持查看进度 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CurrentStepProgress: Integer # @param MasterSlaveDistance: 同步两端数据量差距 # 注意:此字段可能返回 null,表示取不到有效值。 # @type MasterSlaveDistance: Integer # @param SecondsBehindMaster: 同步两端时间差距 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SecondsBehindMaster: Integer # @param Message: 总体描述信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Message: String # @param StepInfos: 详细步骤信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type StepInfos: Array # @param CauseOfCompareDisable: 不能发起一致性校验的原因 # 注意:此字段可能返回 null,表示取不到有效值。 # @type CauseOfCompareDisable: String # @param ErrInfo: 任务的错误和解决方案信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ErrInfo: :class:`Tencentcloud::Dts.v20211206.models.ErrInfo` attr_accessor :StepAll, :StepNow, :Progress, :CurrentStepProgress, :MasterSlaveDistance, :SecondsBehindMaster, :Message, :StepInfos, :CauseOfCompareDisable, :ErrInfo def initialize(stepall=nil, stepnow=nil, progress=nil, currentstepprogress=nil, masterslavedistance=nil, secondsbehindmaster=nil, message=nil, stepinfos=nil, causeofcomparedisable=nil, errinfo=nil) @StepAll = stepall @StepNow = stepnow @Progress = progress @CurrentStepProgress = currentstepprogress @MasterSlaveDistance = masterslavedistance @SecondsBehindMaster = secondsbehindmaster @Message = message @StepInfos = stepinfos @CauseOfCompareDisable = causeofcomparedisable @ErrInfo = errinfo end def deserialize(params) @StepAll = params['StepAll'] @StepNow = params['StepNow'] @Progress = params['Progress'] @CurrentStepProgress = params['CurrentStepProgress'] @MasterSlaveDistance = params['MasterSlaveDistance'] @SecondsBehindMaster = params['SecondsBehindMaster'] @Message = params['Message'] unless params['StepInfos'].nil? @StepInfos = [] params['StepInfos'].each do |i| stepinfo_tmp = StepInfo.new stepinfo_tmp.deserialize(i) @StepInfos << stepinfo_tmp end end @CauseOfCompareDisable = params['CauseOfCompareDisable'] unless params['ErrInfo'].nil? @ErrInfo = ErrInfo.new @ErrInfo.deserialize(params['ErrInfo']) end end end # 同步任务信息 class SyncJobInfo < TencentCloud::Common::AbstractModel # @param JobId: 同步任务id,如:sync-btso140 # 注意:此字段可能返回 null,表示取不到有效值。 # @type JobId: String # @param JobName: 同步任务名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type JobName: String # @param PayMode: 付款方式,PostPay(按量付费)、PrePay(包年包月) # 注意:此字段可能返回 null,表示取不到有效值。 # @type PayMode: String # @param RunMode: 运行模式,Immediate(表示立即运行,默认为此项值)、Timed(表示定时运行) # 注意:此字段可能返回 null,表示取不到有效值。 # @type RunMode: String # @param ExpectRunTime: 期待运行时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type ExpectRunTime: String # @param AllActions: 支持的所有操作 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AllActions: Array # @param Actions: 当前状态能进行的操作 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Actions: Array # @param Options: 同步选项 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Options: :class:`Tencentcloud::Dts.v20211206.models.Options` # @param Objects: 同步库表对象 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Objects: :class:`Tencentcloud::Dts.v20211206.models.Objects` # @param Specification: 任务规格 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Specification: String # @param ExpireTime: 过期时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type ExpireTime: String # @param SrcRegion: 源端地域,如:ap-guangzhou等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcRegion: String # @param SrcDatabaseType: 源端数据库类型,mysql,cynosdbmysql,tdapg,tdpg,tdsqlmysql等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcDatabaseType: String # @param SrcAccessType: 源端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云) # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcAccessType: String # @param SrcInfo: 源端信息,单节点数据库使用 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcInfo: :class:`Tencentcloud::Dts.v20211206.models.Endpoint` # @param SrcNodeType: 枚举值:cluster、single。源库为单节点数据库使用single,多节点使用cluster # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcNodeType: String # @param SrcInfos: 源端信息,多节点数据库使用 # 注意:此字段可能返回 null,表示取不到有效值。 # @type SrcInfos: :class:`Tencentcloud::Dts.v20211206.models.SyncDBEndpointInfos` # @param DstRegion: 目标端地域,如:ap-guangzhou等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstRegion: String # @param DstDatabaseType: 目标端数据库类型,mysql,cynosdbmysql,tdapg,tdpg,tdsqlmysql等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstDatabaseType: String # @param DstAccessType: 目标端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云) # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstAccessType: String # @param DstInfo: 目标端信息,单节点数据库使用 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstInfo: :class:`Tencentcloud::Dts.v20211206.models.Endpoint` # @param DstNodeType: 枚举值:cluster、single。目标库为单节点数据库使用single,多节点使用cluster # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstNodeType: String # @param DstInfos: 目标端信息,多节点数据库使用 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DstInfos: :class:`Tencentcloud::Dts.v20211206.models.SyncDBEndpointInfos` # @param CreateTime: 创建时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type CreateTime: String # @param StartTime: 开始时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type StartTime: String # @param Status: 任务状态,UnInitialized(未初始化)、Initialized(已初始化)、Checking(校验中)、CheckPass(校验通过)、CheckNotPass(校验不通过)、ReadyRunning(准备运行)、Running(运行中)、Pausing(暂停中)、Paused(已暂停)、Stopping(停止中)、Stopped(已结束)、ResumableErr(任务错误)、Resuming(恢复中)、Failed(失败)、Released(已释放)、Resetting(重置中)、Unknown(未知) # 注意:此字段可能返回 null,表示取不到有效值。 # @type Status: String # @param EndTime: 结束时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type EndTime: String # @param Tags: 标签相关信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Tags: Array # @param Detail: 同步任务运行步骤信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Detail: :class:`Tencentcloud::Dts.v20211206.models.SyncDetailInfo` # @param TradeStatus: 用于计费的状态,可能取值有:Normal(正常状态)、Resizing(变配中)、Renewing(续费中)、Isolating(隔离中)、Isolated(已隔离)、Offlining(下线中)、Offlined(已下线)、NotBilled(未计费)、Recovering(解隔离)、PostPay2Prepaying(按量计费转包年包月中)、PrePay2Postpaying(包年包月转按量计费中) # 注意:此字段可能返回 null,表示取不到有效值。 # @type TradeStatus: String # @param InstanceClass: 同步链路规格,如micro,small,medium,large # 注意:此字段可能返回 null,表示取不到有效值。 # @type InstanceClass: String # @param AutoRenew: 自动续费标识,当PayMode值为PrePay则此项配置有意义,取值为:1(表示自动续费)、0(不自动续费) # 注意:此字段可能返回 null,表示取不到有效值。 # @type AutoRenew: Integer # @param OfflineTime: 下线时间,格式为 yyyy-mm-dd hh:mm:ss # 注意:此字段可能返回 null,表示取不到有效值。 # @type OfflineTime: String # @param AutoRetryTimeRangeMinutes: 自动重试时间段设置 # 注意:此字段可能返回 null,表示取不到有效值。 # @type AutoRetryTimeRangeMinutes: Integer # @param DumperResumeCtrl: 全量导出可重入标识:enum::"yes"/"no"。yes表示当前任务可重入、no表示当前任务处于全量导出且不可重入阶段;如果在该值为no时重启任务导出流程不支持断点续传 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DumperResumeCtrl: String attr_accessor :JobId, :JobName, :PayMode, :RunMode, :ExpectRunTime, :AllActions, :Actions, :Options, :Objects, :Specification, :ExpireTime, :SrcRegion, :SrcDatabaseType, :SrcAccessType, :SrcInfo, :SrcNodeType, :SrcInfos, :DstRegion, :DstDatabaseType, :DstAccessType, :DstInfo, :DstNodeType, :DstInfos, :CreateTime, :StartTime, :Status, :EndTime, :Tags, :Detail, :TradeStatus, :InstanceClass, :AutoRenew, :OfflineTime, :AutoRetryTimeRangeMinutes, :DumperResumeCtrl def initialize(jobid=nil, jobname=nil, paymode=nil, runmode=nil, expectruntime=nil, allactions=nil, actions=nil, options=nil, objects=nil, specification=nil, expiretime=nil, srcregion=nil, srcdatabasetype=nil, srcaccesstype=nil, srcinfo=nil, srcnodetype=nil, srcinfos=nil, dstregion=nil, dstdatabasetype=nil, dstaccesstype=nil, dstinfo=nil, dstnodetype=nil, dstinfos=nil, createtime=nil, starttime=nil, status=nil, endtime=nil, tags=nil, detail=nil, tradestatus=nil, instanceclass=nil, autorenew=nil, offlinetime=nil, autoretrytimerangeminutes=nil, dumperresumectrl=nil) @JobId = jobid @JobName = jobname @PayMode = paymode @RunMode = runmode @ExpectRunTime = expectruntime @AllActions = allactions @Actions = actions @Options = options @Objects = objects @Specification = specification @ExpireTime = expiretime @SrcRegion = srcregion @SrcDatabaseType = srcdatabasetype @SrcAccessType = srcaccesstype @SrcInfo = srcinfo @SrcNodeType = srcnodetype @SrcInfos = srcinfos @DstRegion = dstregion @DstDatabaseType = dstdatabasetype @DstAccessType = dstaccesstype @DstInfo = dstinfo @DstNodeType = dstnodetype @DstInfos = dstinfos @CreateTime = createtime @StartTime = starttime @Status = status @EndTime = endtime @Tags = tags @Detail = detail @TradeStatus = tradestatus @InstanceClass = instanceclass @AutoRenew = autorenew @OfflineTime = offlinetime @AutoRetryTimeRangeMinutes = autoretrytimerangeminutes @DumperResumeCtrl = dumperresumectrl end def deserialize(params) @JobId = params['JobId'] @JobName = params['JobName'] @PayMode = params['PayMode'] @RunMode = params['RunMode'] @ExpectRunTime = params['ExpectRunTime'] @AllActions = params['AllActions'] @Actions = params['Actions'] unless params['Options'].nil? @Options = Options.new @Options.deserialize(params['Options']) end unless params['Objects'].nil? @Objects = Objects.new @Objects.deserialize(params['Objects']) end @Specification = params['Specification'] @ExpireTime = params['ExpireTime'] @SrcRegion = params['SrcRegion'] @SrcDatabaseType = params['SrcDatabaseType'] @SrcAccessType = params['SrcAccessType'] unless params['SrcInfo'].nil? @SrcInfo = Endpoint.new @SrcInfo.deserialize(params['SrcInfo']) end @SrcNodeType = params['SrcNodeType'] unless params['SrcInfos'].nil? @SrcInfos = SyncDBEndpointInfos.new @SrcInfos.deserialize(params['SrcInfos']) end @DstRegion = params['DstRegion'] @DstDatabaseType = params['DstDatabaseType'] @DstAccessType = params['DstAccessType'] unless params['DstInfo'].nil? @DstInfo = Endpoint.new @DstInfo.deserialize(params['DstInfo']) end @DstNodeType = params['DstNodeType'] unless params['DstInfos'].nil? @DstInfos = SyncDBEndpointInfos.new @DstInfos.deserialize(params['DstInfos']) end @CreateTime = params['CreateTime'] @StartTime = params['StartTime'] @Status = params['Status'] @EndTime = params['EndTime'] unless params['Tags'].nil? @Tags = [] params['Tags'].each do |i| tagitem_tmp = TagItem.new tagitem_tmp.deserialize(i) @Tags << tagitem_tmp end end unless params['Detail'].nil? @Detail = SyncDetailInfo.new @Detail.deserialize(params['Detail']) end @TradeStatus = params['TradeStatus'] @InstanceClass = params['InstanceClass'] @AutoRenew = params['AutoRenew'] @OfflineTime = params['OfflineTime'] @AutoRetryTimeRangeMinutes = params['AutoRetryTimeRangeMinutes'] @DumperResumeCtrl = params['DumperResumeCtrl'] end end # 数据同步库表信息描述 class Table < TencentCloud::Common::AbstractModel # @param TableName: 表名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TableName: String # @param NewTableName: 新表名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewTableName: String # @param FilterCondition: 过滤条件 # 注意:此字段可能返回 null,表示取不到有效值。 # @type FilterCondition: String # @param ColumnMode: 是否同步表中所有列,All:当前表下的所有列,Partial(ModifySyncJobConfig接口里的对应字段ColumnMode暂不支持Partial):当前表下的部分列,通过填充Columns字段详细表信息 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ColumnMode: String # @param Columns: 同步的列信息,当ColumnMode为Partial时,必填 # 注意:此字段可能返回 null,表示取不到有效值。 # @type Columns: Array # @param TmpTables: 同步临时表,注意此配置与NewTableName互斥,只能使用其中一种。当配置的同步对象为表级别且TableEditMode为pt时此项有意义,针对pt-osc等工具在同步过程中产生的临时表进行同步,需要提前将可能的临时表配置在这里,否则不会同步任何临时表。示例,如要对t1进行pt-osc操作,此项配置应该为["\_t1\_new","\_t1\_old"];如要对t1进行gh-ost操作,此项配置应该为["\_t1\_ghc","\_t1\_gho","\_t1\_del"],pt-osc与gh-ost产生的临时表可同时配置。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TmpTables: Array # @param TableEditMode: 编辑表类型,rename(表映射),pt(同步附加表) # 注意:此字段可能返回 null,表示取不到有效值。 # @type TableEditMode: String attr_accessor :TableName, :NewTableName, :FilterCondition, :ColumnMode, :Columns, :TmpTables, :TableEditMode def initialize(tablename=nil, newtablename=nil, filtercondition=nil, columnmode=nil, columns=nil, tmptables=nil, tableeditmode=nil) @TableName = tablename @NewTableName = newtablename @FilterCondition = filtercondition @ColumnMode = columnmode @Columns = columns @TmpTables = tmptables @TableEditMode = tableeditmode end def deserialize(params) @TableName = params['TableName'] @NewTableName = params['NewTableName'] @FilterCondition = params['FilterCondition'] @ColumnMode = params['ColumnMode'] unless params['Columns'].nil? @Columns = [] params['Columns'].each do |i| column_tmp = Column.new column_tmp.deserialize(i) @Columns << column_tmp end end @TmpTables = params['TmpTables'] @TableEditMode = params['TableEditMode'] end end # 表对象集合,当 TableMode 为 partial 时,此项需要填写 class TableItem < TencentCloud::Common::AbstractModel # @param TableName: 迁移的表名,大小写敏感 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TableName: String # @param NewTableName: 迁移后的表名,当TableEditMode为rename时此项必填,注意此配置与TmpTables互斥,只能使用其中一种 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewTableName: String # @param TmpTables: 迁移临时表,注意此配置与NewTableName互斥,只能使用其中一种。当配置的同步对象为表级别且TableEditMode为pt时此项有意义,针对pt-osc等工具在迁移过程中产生的临时表进行同步,需要提前将可能的临时表配置在这里,否则不会同步任何临时表。示例,如要对t1进行pt-osc操作,此项配置应该为["\_t1\_new","\_t1\_old"];如要对t1进行gh-ost操作,此项配置应该为["\_t1\_ghc","\_t1\_gho","\_t1\_del"],pt-osc与gh-ost产生的临时表可同时配置。 # 注意:此字段可能返回 null,表示取不到有效值。 # @type TmpTables: Array # @param TableEditMode: 编辑表类型,rename(表映射),pt(同步附加表) # 注意:此字段可能返回 null,表示取不到有效值。 # @type TableEditMode: String attr_accessor :TableName, :NewTableName, :TmpTables, :TableEditMode def initialize(tablename=nil, newtablename=nil, tmptables=nil, tableeditmode=nil) @TableName = tablename @NewTableName = newtablename @TmpTables = tmptables @TableEditMode = tableeditmode end def deserialize(params) @TableName = params['TableName'] @NewTableName = params['NewTableName'] @TmpTables = params['TmpTables'] @TableEditMode = params['TableEditMode'] 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: 标签键 # 注意:此字段可能返回 null,表示取不到有效值。 # @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 # 单topic和自定义topic的描述 class TopicRule < TencentCloud::Common::AbstractModel # @param TopicName: topic名 # @type TopicName: String # @param PartitionType: topic分区策略,如 自定义topic:Random(随机投递),集中投递到单Topic:AllInPartitionZero(全部投递至partition0)、PartitionByTable(按表名分区)、PartitionByTableAndKey(按表名加主键分区) # @type PartitionType: String # @param DbMatchMode: 库名匹配规则,仅“自定义topic”生效,如Regular(正则匹配), Default(不符合匹配规则的剩余库),数组中必须有一项为‘Default’ # @type DbMatchMode: String # @param DbName: 库名,仅“自定义topic”时,DbMatchMode=Regular生效 # @type DbName: String # @param TableMatchMode: 表名匹配规则,仅“自定义topic”生效,如Regular(正则匹配), Default(不符合匹配规则的剩余表),数组中必须有一项为‘Default’ # @type TableMatchMode: String # @param TableName: 表名,仅“自定义topic”时,TableMatchMode=Regular生效 # @type TableName: String attr_accessor :TopicName, :PartitionType, :DbMatchMode, :DbName, :TableMatchMode, :TableName def initialize(topicname=nil, partitiontype=nil, dbmatchmode=nil, dbname=nil, tablematchmode=nil, tablename=nil) @TopicName = topicname @PartitionType = partitiontype @DbMatchMode = dbmatchmode @DbName = dbname @TableMatchMode = tablematchmode @TableName = tablename end def deserialize(params) @TopicName = params['TopicName'] @PartitionType = params['PartitionType'] @DbMatchMode = params['DbMatchMode'] @DbName = params['DbName'] @TableMatchMode = params['TableMatchMode'] @TableName = params['TableName'] end end # 计费状态信息 class TradeInfo < TencentCloud::Common::AbstractModel # @param DealName: 交易订单号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type DealName: String # @param LastDealName: 上一次交易订单号 # 注意:此字段可能返回 null,表示取不到有效值。 # @type LastDealName: String # @param InstanceClass: 实例规格,包括:micro、small、medium、large、xlarge、2xlarge等 # 注意:此字段可能返回 null,表示取不到有效值。 # @type InstanceClass: String # @param TradeStatus: 计费任务状态, normal(计费或待计费)、resizing(变配中)、reversing(冲正中,比较短暂的状态)、isolating(隔离中,比较短暂的状态)、isolated(已隔离)、offlining(下线中)、offlined(已下线)、notBilled(未计费) # 注意:此字段可能返回 null,表示取不到有效值。 # @type TradeStatus: String # @param ExpireTime: 到期时间,格式为"yyyy-mm-dd hh:mm:ss" # 注意:此字段可能返回 null,表示取不到有效值。 # @type ExpireTime: String # @param OfflineTime: 下线时间,格式为"yyyy-mm-dd hh:mm:ss" # 注意:此字段可能返回 null,表示取不到有效值。 # @type OfflineTime: String # @param IsolateTime: 隔离时间,格式为"yyyy-mm-dd hh:mm:ss" # 注意:此字段可能返回 null,表示取不到有效值。 # @type IsolateTime: String # @param OfflineReason: 下线原因 # 注意:此字段可能返回 null,表示取不到有效值。 # @type OfflineReason: String # @param IsolateReason: 隔离原因 # 注意:此字段可能返回 null,表示取不到有效值。 # @type IsolateReason: String # @param PayType: 付费类型,包括:postpay(后付费)、prepay(预付费) # 注意:此字段可能返回 null,表示取不到有效值。 # @type PayType: String # @param BillingType: 任务计费类型,包括:billing(计费)、notBilling(不计费)、 promotions(促销活动中) # 注意:此字段可能返回 null,表示取不到有效值。 # @type BillingType: String attr_accessor :DealName, :LastDealName, :InstanceClass, :TradeStatus, :ExpireTime, :OfflineTime, :IsolateTime, :OfflineReason, :IsolateReason, :PayType, :BillingType def initialize(dealname=nil, lastdealname=nil, instanceclass=nil, tradestatus=nil, expiretime=nil, offlinetime=nil, isolatetime=nil, offlinereason=nil, isolatereason=nil, paytype=nil, billingtype=nil) @DealName = dealname @LastDealName = lastdealname @InstanceClass = instanceclass @TradeStatus = tradestatus @ExpireTime = expiretime @OfflineTime = offlinetime @IsolateTime = isolatetime @OfflineReason = offlinereason @IsolateReason = isolatereason @PayType = paytype @BillingType = billingtype end def deserialize(params) @DealName = params['DealName'] @LastDealName = params['LastDealName'] @InstanceClass = params['InstanceClass'] @TradeStatus = params['TradeStatus'] @ExpireTime = params['ExpireTime'] @OfflineTime = params['OfflineTime'] @IsolateTime = params['IsolateTime'] @OfflineReason = params['OfflineReason'] @IsolateReason = params['IsolateReason'] @PayType = params['PayType'] @BillingType = params['BillingType'] end end # 数据同步view的描述 class View < TencentCloud::Common::AbstractModel # @param ViewName: view名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ViewName: String # @param NewViewName: 预留字段、目前暂时不支持view的重命名 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewViewName: String attr_accessor :ViewName, :NewViewName def initialize(viewname=nil, newviewname=nil) @ViewName = viewname @NewViewName = newviewname end def deserialize(params) @ViewName = params['ViewName'] @NewViewName = params['NewViewName'] end end # 视图对象 class ViewItem < TencentCloud::Common::AbstractModel # @param ViewName: 视图名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type ViewName: String # @param NewViewName: 迁移后的视图名称 # 注意:此字段可能返回 null,表示取不到有效值。 # @type NewViewName: String attr_accessor :ViewName, :NewViewName def initialize(viewname=nil, newviewname=nil) @ViewName = viewname @NewViewName = newviewname end def deserialize(params) @ViewName = params['ViewName'] @NewViewName = params['NewViewName'] end end end end end