# 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
# 数据库不一致的详情,mongodb业务用到
class AdvancedObjectsItem < TencentCloud::Common::AbstractModel
# @param ObjectType: 对象类型,可能得值有:account,index,shardkey,schema
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ObjectType: String
# @param SrcChunk: 源端分块
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SrcChunk: String
# @param DstChunk: 目标端分块
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DstChunk: String
# @param SrcItem: 源端值
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SrcItem: String
# @param DstItem: 目标端值
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DstItem: String
attr_accessor :ObjectType, :SrcChunk, :DstChunk, :SrcItem, :DstItem
def initialize(objecttype=nil, srcchunk=nil, dstchunk=nil, srcitem=nil, dstitem=nil)
@ObjectType = objecttype
@SrcChunk = srcchunk
@DstChunk = dstchunk
@SrcItem = srcitem
@DstItem = dstitem
end
def deserialize(params)
@ObjectType = params['ObjectType']
@SrcChunk = params['SrcChunk']
@DstChunk = params['DstChunk']
@SrcItem = params['SrcItem']
@DstItem = params['DstItem']
end
end
# 检查步骤
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`
# @param DifferenceAdvancedObjects: 数据库不一致的详情,mongodb业务用到
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DifferenceAdvancedObjects: :class:`Tencentcloud::Dts.v20211206.models.DifferenceAdvancedObjectsDetail`
# @param DifferenceData: 数据不一致的详情,mongodb业务用到
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DifferenceData: :class:`Tencentcloud::Dts.v20211206.models.DifferenceDataDetail`
# @param DifferenceRow: 数据行不一致的详情,mongodb业务用到
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DifferenceRow: :class:`Tencentcloud::Dts.v20211206.models.DifferenceRowDetail`
attr_accessor :Difference, :Skipped, :DifferenceAdvancedObjects, :DifferenceData, :DifferenceRow
def initialize(difference=nil, skipped=nil, differenceadvancedobjects=nil, differencedata=nil, differencerow=nil)
@Difference = difference
@Skipped = skipped
@DifferenceAdvancedObjects = differenceadvancedobjects
@DifferenceData = differencedata
@DifferenceRow = differencerow
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
unless params['DifferenceAdvancedObjects'].nil?
@DifferenceAdvancedObjects = DifferenceAdvancedObjectsDetail.new
@DifferenceAdvancedObjects.deserialize(params['DifferenceAdvancedObjects'])
end
unless params['DifferenceData'].nil?
@DifferenceData = DifferenceDataDetail.new
@DifferenceData.deserialize(params['DifferenceData'])
end
unless params['DifferenceRow'].nil?
@DifferenceRow = DifferenceRowDetail.new
@DifferenceRow.deserialize(params['DifferenceRow'])
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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ConfigureSubscribeJob请求参数结构体
class ConfigureSubscribeJobRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的 ID
# @type SubscribeId: String
# @param SubscribeMode: 数据订阅的类型,当 DatabaseType 不为 mongodb 时,枚举值为:all-全实例更新;dml-数据更新;ddl-结构更新;dmlAndDdl-数据更新+结构更新。当 DatabaseType 为 mongodb 时,枚举值为 all-全实例更新;database-订阅单库;collection-订阅单集合
# @type SubscribeMode: String
# @param AccessType: 源数据库接入类型,如:extranet(公网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、cdb(云数据库)、cvm(云服务器自建)、intranet(自研上云)、vpc(私有网络vpc)。注意具体可选值依赖当前链路支持能力
# @type AccessType: String
# @param Endpoints: 数据库节点信息
# @type Endpoints: Array
# @param KafkaConfig: Kafka配置
# @type KafkaConfig: :class:`Tencentcloud::Dts.v20211206.models.SubscribeKafkaConfig`
# @param SubscribeObjects: 订阅的数据库表信息,当 SubscribeMode 不为 all和ddl 时,SubscribeObjects 为必选参数
# @type SubscribeObjects: Array
# @param Protocol: 订阅数据格式,如:protobuf、json、avro。注意具体可选值依赖当前链路支持能力,数据格式详情参考官网的消费demo文档
# @type Protocol: String
# @param PipelineInfo: mongo选填参数:输出聚合设置。
# @type PipelineInfo: Array
# @param ExtraAttr: 为业务添加的额外信息。参数名作key,参数值作value。
# mysql选填参数:ProcessXA-是否处理XA事务,填true处理,不填或填其他值不处理。
# mongo选填参数:SubscribeType-订阅类型,目前只支持changeStream,不填也是默认changeStream。
# 其他业务暂没有可选参数。
# @type ExtraAttr: Array
attr_accessor :SubscribeId, :SubscribeMode, :AccessType, :Endpoints, :KafkaConfig, :SubscribeObjects, :Protocol, :PipelineInfo, :ExtraAttr
def initialize(subscribeid=nil, subscribemode=nil, accesstype=nil, endpoints=nil, kafkaconfig=nil, subscribeobjects=nil, protocol=nil, pipelineinfo=nil, extraattr=nil)
@SubscribeId = subscribeid
@SubscribeMode = subscribemode
@AccessType = accesstype
@Endpoints = endpoints
@KafkaConfig = kafkaconfig
@SubscribeObjects = subscribeobjects
@Protocol = protocol
@PipelineInfo = pipelineinfo
@ExtraAttr = extraattr
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@SubscribeMode = params['SubscribeMode']
@AccessType = params['AccessType']
unless params['Endpoints'].nil?
@Endpoints = []
params['Endpoints'].each do |i|
endpointitem_tmp = EndpointItem.new
endpointitem_tmp.deserialize(i)
@Endpoints << endpointitem_tmp
end
end
unless params['KafkaConfig'].nil?
@KafkaConfig = SubscribeKafkaConfig.new
@KafkaConfig.deserialize(params['KafkaConfig'])
end
unless params['SubscribeObjects'].nil?
@SubscribeObjects = []
params['SubscribeObjects'].each do |i|
subscribeobject_tmp = SubscribeObject.new
subscribeobject_tmp.deserialize(i)
@SubscribeObjects << subscribeobject_tmp
end
end
@Protocol = params['Protocol']
unless params['PipelineInfo'].nil?
@PipelineInfo = []
params['PipelineInfo'].each do |i|
pipelineinfo_tmp = PipelineInfo.new
pipelineinfo_tmp.deserialize(i)
@PipelineInfo << pipelineinfo_tmp
end
end
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
# ConfigureSubscribeJob返回参数结构体
class ConfigureSubscribeJobResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 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 SrcConnectType: 源端tdsql连接方式:proxy-通过tdsql proxy主机访问各个set节点,注意只有在自研上云的网络环境下才能通过这种方式连接,SrcInfos中只需要提供proxy主机信息。set-直连set节点,如选择直连set方式,需要正确填写proxy主机信息及所有set节点信息。源端是tdsqlmysql类型必填。
# @type SrcConnectType: 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, :SrcConnectType, :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, srcconnecttype=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
@SrcConnectType = srcconnecttype
@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']
@SrcConnectType = params['SrcConnectType']
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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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
# CreateConsumerGroup请求参数结构体
class CreateConsumerGroupRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 订阅实例id
# @type SubscribeId: String
# @param ConsumerGroupName: 消费组名称,以数字、字母(大小写)或者_ - .开头,以数字、字母(大小写)结尾。实际生成的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
# @type ConsumerGroupName: String
# @param AccountName: 账号名称。以数字、字母(大小写)或者_ - .开头,以数字、字母(大小写)结尾。实际生成的账户全称形如:account-#{SubscribeId}-#{AccountName}
# @type AccountName: String
# @param Password: 消费组密码,长度必须大于3
# @type Password: String
# @param Description: 消费组备注
# @type Description: String
attr_accessor :SubscribeId, :ConsumerGroupName, :AccountName, :Password, :Description
def initialize(subscribeid=nil, consumergroupname=nil, accountname=nil, password=nil, description=nil)
@SubscribeId = subscribeid
@ConsumerGroupName = consumergroupname
@AccountName = accountname
@Password = password
@Description = description
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@ConsumerGroupName = params['ConsumerGroupName']
@AccountName = params['AccountName']
@Password = params['Password']
@Description = params['Description']
end
end
# CreateConsumerGroup返回参数结构体
class CreateConsumerGroupResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# CreateSubscribeCheckJob请求参数结构体
class CreateSubscribeCheckJobRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的 ID
# @type SubscribeId: String
attr_accessor :SubscribeId
def initialize(subscribeid=nil)
@SubscribeId = subscribeid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
end
end
# CreateSubscribeCheckJob返回参数结构体
class CreateSubscribeCheckJobResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# CreateSubscribe请求参数结构体
class CreateSubscribeRequest < TencentCloud::Common::AbstractModel
# @param Product: 订阅的数据库类型,目前支持 cynosdbmysql(tdsql-c mysql版),mariadb,mongodb,mysql,percona,tdpg(tdsql postgresql版),tdsqlpercona(tdsql mysql版)
# @type Product: String
# @param PayType: 付费方式,枚举值:0-包年包月,1-按量计费
# @type PayType: Integer
# @param Duration: 购买时长。当 payType 为包年包月时,该项需要填,单位为月,最小值为 1,最大值为 120。不填默认1
# @type Duration: Integer
# @param AutoRenew: 是否自动续费。当 payType 为包年包月时,该项需要填。枚举值:0-不自动续费,1-自动续费。默认不自动续费。按量计费设置该标识无效。
# @type AutoRenew: Integer
# @param Count: 购买数量,默认为1,最大为10
# @type Count: Integer
# @param Tags: 实例资源标签
# @type Tags: Array
# @param Name: 任务名,自定义
# @type Name: String
attr_accessor :Product, :PayType, :Duration, :AutoRenew, :Count, :Tags, :Name
def initialize(product=nil, paytype=nil, duration=nil, autorenew=nil, count=nil, tags=nil, name=nil)
@Product = product
@PayType = paytype
@Duration = duration
@AutoRenew = autorenew
@Count = count
@Tags = tags
@Name = name
end
def deserialize(params)
@Product = params['Product']
@PayType = params['PayType']
@Duration = params['Duration']
@AutoRenew = params['AutoRenew']
@Count = params['Count']
unless params['Tags'].nil?
@Tags = []
params['Tags'].each do |i|
tagitem_tmp = TagItem.new
tagitem_tmp.deserialize(i)
@Tags << tagitem_tmp
end
end
@Name = params['Name']
end
end
# CreateSubscribe返回参数结构体
class CreateSubscribeResponse < TencentCloud::Common::AbstractModel
# @param SubscribeIds: 数据订阅实例的ID数组
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SubscribeIds: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :SubscribeIds, :RequestId
def initialize(subscribeids=nil, requestid=nil)
@SubscribeIds = subscribeids
@RequestId = requestid
end
def deserialize(params)
@SubscribeIds = params['SubscribeIds']
@RequestId = params['RequestId']
end
end
# 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)。定位问题时需要提供该次请求的 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
# @param ConnectType: tdsql连接方式:proxy-通过tdsql proxy主机访问各个set节点,注意只有在自研上云的网络环境下才能通过这种方式连接,Info中只需要提供proxy主机信息。set-直连set节点,如选择直连set方式,Info中需要正确填写proxy主机信息及所有set节点信息。源端是tdsqlmysql类型必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ConnectType: String
attr_accessor :Region, :AccessType, :DatabaseType, :NodeType, :Info, :Supplier, :ExtraAttr, :DatabaseNetEnv, :ConnectType
def initialize(region=nil, accesstype=nil, databasetype=nil, nodetype=nil, info=nil, supplier=nil, extraattr=nil, databasenetenv=nil, connecttype=nil)
@Region = region
@AccessType = accesstype
@DatabaseType = databasetype
@NodeType = nodetype
@Info = info
@Supplier = supplier
@ExtraAttr = extraattr
@DatabaseNetEnv = databasenetenv
@ConnectType = connecttype
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']
@ConnectType = params['ConnectType']
end
end
# 数据库信息
class DBInfo < TencentCloud::Common::AbstractModel
# @param Role: 表示节点角色,针对分布式数据库,如mongodb中的mongos节点。tdsqlmysql的可选项:proxy表示节点类型为主机,set表示节点类型为节点。proxy类型必须填在数组第一项。tdsqlmysql类型的源/目标配置必填。
# 注意:此字段可能返回 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
# @param SetId: tdsql的分片id。如节点类型为set必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SetId: String
attr_accessor :Role, :DbKernel, :Host, :Port, :User, :Password, :CvmInstanceId, :UniqVpnGwId, :UniqDcgId, :InstanceId, :CcnGwId, :VpcId, :SubnetId, :EngineVersion, :Account, :AccountRole, :AccountMode, :TmpSecretId, :TmpSecretKey, :TmpToken, :SetId
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, setid=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
@SetId = setid
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']
@SetId = params['SetId']
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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# DeleteConsumerGroup请求参数结构体
class DeleteConsumerGroupRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的 ID
# @type SubscribeId: String
# @param ConsumerGroupName: 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}。
# 请务必保证消费组名称正确。
# @type ConsumerGroupName: String
# @param AccountName: 账号名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}。
# 请务必保证账户名称正确。
# @type AccountName: String
attr_accessor :SubscribeId, :ConsumerGroupName, :AccountName
def initialize(subscribeid=nil, consumergroupname=nil, accountname=nil)
@SubscribeId = subscribeid
@ConsumerGroupName = consumergroupname
@AccountName = accountname
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@ConsumerGroupName = params['ConsumerGroupName']
@AccountName = params['AccountName']
end
end
# DeleteConsumerGroup返回参数结构体
class DeleteConsumerGroupResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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
# DescribeConsumerGroups请求参数结构体
class DescribeConsumerGroupsRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 订阅实例id
# @type SubscribeId: String
# @param Offset: 返回记录的起始偏移量。默认0
# @type Offset: Integer
# @param Limit: 单次返回的记录数量。默认10
# @type Limit: Integer
attr_accessor :SubscribeId, :Offset, :Limit
def initialize(subscribeid=nil, offset=nil, limit=nil)
@SubscribeId = subscribeid
@Offset = offset
@Limit = limit
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@Offset = params['Offset']
@Limit = params['Limit']
end
end
# DescribeConsumerGroups返回参数结构体
class DescribeConsumerGroupsResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 指定实例下的消费者组总数
# @type TotalCount: Integer
# @param Items: 消费者组列表
# @type Items: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 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|
groupinfo_tmp = GroupInfo.new
groupinfo_tmp.deserialize(i)
@Items << groupinfo_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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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
# DescribeOffsetByTime请求参数结构体
class DescribeOffsetByTimeRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的 ID
# @type SubscribeId: String
# @param Time: 时间点,格式为:Y-m-d h:m:s。如果输入时间比当前时间晚的多,相当于查询最新offset;如果输入时间比当前时间早的多,相当于查询最老offset;如果输入空,默认0时间,等价于查询最老offset。
# @type Time: String
attr_accessor :SubscribeId, :Time
def initialize(subscribeid=nil, time=nil)
@SubscribeId = subscribeid
@Time = time
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@Time = params['Time']
end
end
# DescribeOffsetByTime返回参数结构体
class DescribeOffsetByTimeResponse < TencentCloud::Common::AbstractModel
# @param Items: 时间与Offset的对应
# @type Items: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :Items, :RequestId
def initialize(items=nil, requestid=nil)
@Items = items
@RequestId = requestid
end
def deserialize(params)
unless params['Items'].nil?
@Items = []
params['Items'].each do |i|
offsettimemap_tmp = OffsetTimeMap.new
offsettimemap_tmp.deserialize(i)
@Items << offsettimemap_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeSubscribeCheckJob请求参数结构体
class DescribeSubscribeCheckJobRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的 ID
# @type SubscribeId: String
attr_accessor :SubscribeId
def initialize(subscribeid=nil)
@SubscribeId = subscribeid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
end
end
# DescribeSubscribeCheckJob返回参数结构体
class DescribeSubscribeCheckJobResponse < TencentCloud::Common::AbstractModel
# @param SubscribeId: 订阅实例ID
# @type SubscribeId: String
# @param Message: 失败或者报错提示,成功则提示success。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Message: String
# @param Status: 任务运行状态,可能值为 running,failed,success
# @type Status: String
# @param Progress: 当前总体进度,范围 0~100
# @type Progress: Integer
# @param StepAll: 校验总步骤数
# @type StepAll: Integer
# @param StepNow: 当前执行步骤
# @type StepNow: Integer
# @param Steps: 各个步骤运行状态
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Steps: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :SubscribeId, :Message, :Status, :Progress, :StepAll, :StepNow, :Steps, :RequestId
def initialize(subscribeid=nil, message=nil, status=nil, progress=nil, stepall=nil, stepnow=nil, steps=nil, requestid=nil)
@SubscribeId = subscribeid
@Message = message
@Status = status
@Progress = progress
@StepAll = stepall
@StepNow = stepnow
@Steps = steps
@RequestId = requestid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@Message = params['Message']
@Status = params['Status']
@Progress = params['Progress']
@StepAll = params['StepAll']
@StepNow = params['StepNow']
unless params['Steps'].nil?
@Steps = []
params['Steps'].each do |i|
subscribecheckstepinfo_tmp = SubscribeCheckStepInfo.new
subscribecheckstepinfo_tmp.deserialize(i)
@Steps << subscribecheckstepinfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeSubscribeDetail请求参数结构体
class DescribeSubscribeDetailRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 订阅实例ID
# @type SubscribeId: String
attr_accessor :SubscribeId
def initialize(subscribeid=nil)
@SubscribeId = subscribeid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
end
end
# DescribeSubscribeDetail返回参数结构体
class DescribeSubscribeDetailResponse < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅的ID,形如subs-b6x64o31tm
# @type SubscribeId: String
# @param SubscribeName: 数据订阅实例的名称
# @type SubscribeName: String
# @param Product: 订阅的数据库类型,目前支持 cynosdbmysql(tdsql-c mysql版),mariadb,mongodb,mysql,percona,tdpg(tdsql postgresql版),tdsqlpercona(tdsql mysql版)
# @type Product: String
# @param InstanceId: 订阅的云数据库实例ID,只有订阅云数据库该值才有意义
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceId: String
# @param InstanceStatus: 订阅的云数据库实例状态,只有订阅云数据库该值才有意义。可能值为:running, isolated, offline
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceStatus: String
# @param Status: 订阅任务计费状态,可能值为:正常normal, 隔离中isolating, 已隔离isolated, 下线中offlining, 按量转包年包月中 post2PrePayIng
# @type Status: String
# @param SubsStatus: 订阅任务状态,可能值为:未启动notStarted, 校验中checking, 校验不通过checkNotPass, 校验通过checkPass, 启动中starting, 运行中running, 异常出错error
# @type SubsStatus: String
# @param ModifyTime: 修改时间,时间格式如:Y-m-d h:m:s
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ModifyTime: String
# @param CreateTime: 创建时间,时间格式如:Y-m-d h:m:s
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CreateTime: String
# @param IsolateTime: 隔离时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IsolateTime: String
# @param ExpireTime: 包年包月任务的到期时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExpireTime: String
# @param OfflineTime: 下线时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OfflineTime: String
# @param PayType: 付费方式,可能值为:0-包年包月,1-按量计费
# @type PayType: Integer
# @param AutoRenewFlag: 自动续费标识。只有当 PayType=0,该值才有意义。枚举值:0-不自动续费,1-自动续费
# @type AutoRenewFlag: Integer
# @param Region: 任务所在地域
# @type Region: String
# @param Topic: Kafka topic
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Topic: String
# @param Broker: Kafka服务Broker地址
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Broker: String
# @param SubscribeMode: 数据订阅的类型,当 Product 不为 mongodb 时,可能值为:all-全实例更新;dml-数据更新;ddl-结构更新;dmlAndDdl-数据更新+结构更新。当 Product 为 mongodb 时,可能值为 all-全实例更新;database-订阅单库;collection-订阅单集合
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SubscribeMode: String
# @param Protocol: 订阅数据格式。如果为空则用的默认格式: mysql\cynosdbmysql\mariadb\percona\tdsqlpercona\tdpg是protobuf,mongo是json。当 DatabaseType 为 mysql和cynosdbmysql 时有三种可选协议:protobuf\avro\json。数据格式详情参考官网的消费demo文档
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Protocol: String
# @param SubscribeObjects: 订阅的数据库表信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SubscribeObjects: Array
# @param KafkaConfig: kafka配置信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type KafkaConfig: :class:`Tencentcloud::Dts.v20211206.models.SubscribeKafkaConfig`
# @param KafkaVersion: 订阅内置kafka的版本信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type KafkaVersion: String
# @param AccessType: 源数据库接入类型,如:extranet(公网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、cdb(云数据库)、cvm(云服务器自建)、intranet(自研上云)、vpc(私有网络vpc)。注意具体可选值依赖当前链路支持能力
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccessType: String
# @param Endpoints: 接入类型信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Endpoints: Array
# @param PipelineInfo: mongo输出聚合设置
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PipelineInfo: Array
# @param Tags: 标签
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Tags: Array
# @param Errors: 订阅任务报错信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Errors: Array
# @param ExtraAttr: 为业务添加的额外信息。参数名作key,参数值作value。
# mysql选填参数:ProcessXA-是否处理XA事务,为true处理,其他不处理。
# mongo选填参数:SubscribeType-订阅类型,目前只支持changeStream。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExtraAttr: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :SubscribeId, :SubscribeName, :Product, :InstanceId, :InstanceStatus, :Status, :SubsStatus, :ModifyTime, :CreateTime, :IsolateTime, :ExpireTime, :OfflineTime, :PayType, :AutoRenewFlag, :Region, :Topic, :Broker, :SubscribeMode, :Protocol, :SubscribeObjects, :KafkaConfig, :KafkaVersion, :AccessType, :Endpoints, :PipelineInfo, :Tags, :Errors, :ExtraAttr, :RequestId
def initialize(subscribeid=nil, subscribename=nil, product=nil, instanceid=nil, instancestatus=nil, status=nil, subsstatus=nil, modifytime=nil, createtime=nil, isolatetime=nil, expiretime=nil, offlinetime=nil, paytype=nil, autorenewflag=nil, region=nil, topic=nil, broker=nil, subscribemode=nil, protocol=nil, subscribeobjects=nil, kafkaconfig=nil, kafkaversion=nil, accesstype=nil, endpoints=nil, pipelineinfo=nil, tags=nil, errors=nil, extraattr=nil, requestid=nil)
@SubscribeId = subscribeid
@SubscribeName = subscribename
@Product = product
@InstanceId = instanceid
@InstanceStatus = instancestatus
@Status = status
@SubsStatus = subsstatus
@ModifyTime = modifytime
@CreateTime = createtime
@IsolateTime = isolatetime
@ExpireTime = expiretime
@OfflineTime = offlinetime
@PayType = paytype
@AutoRenewFlag = autorenewflag
@Region = region
@Topic = topic
@Broker = broker
@SubscribeMode = subscribemode
@Protocol = protocol
@SubscribeObjects = subscribeobjects
@KafkaConfig = kafkaconfig
@KafkaVersion = kafkaversion
@AccessType = accesstype
@Endpoints = endpoints
@PipelineInfo = pipelineinfo
@Tags = tags
@Errors = errors
@ExtraAttr = extraattr
@RequestId = requestid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@SubscribeName = params['SubscribeName']
@Product = params['Product']
@InstanceId = params['InstanceId']
@InstanceStatus = params['InstanceStatus']
@Status = params['Status']
@SubsStatus = params['SubsStatus']
@ModifyTime = params['ModifyTime']
@CreateTime = params['CreateTime']
@IsolateTime = params['IsolateTime']
@ExpireTime = params['ExpireTime']
@OfflineTime = params['OfflineTime']
@PayType = params['PayType']
@AutoRenewFlag = params['AutoRenewFlag']
@Region = params['Region']
@Topic = params['Topic']
@Broker = params['Broker']
@SubscribeMode = params['SubscribeMode']
@Protocol = params['Protocol']
unless params['SubscribeObjects'].nil?
@SubscribeObjects = []
params['SubscribeObjects'].each do |i|
subscribeobject_tmp = SubscribeObject.new
subscribeobject_tmp.deserialize(i)
@SubscribeObjects << subscribeobject_tmp
end
end
unless params['KafkaConfig'].nil?
@KafkaConfig = SubscribeKafkaConfig.new
@KafkaConfig.deserialize(params['KafkaConfig'])
end
@KafkaVersion = params['KafkaVersion']
@AccessType = params['AccessType']
unless params['Endpoints'].nil?
@Endpoints = []
params['Endpoints'].each do |i|
endpointitem_tmp = EndpointItem.new
endpointitem_tmp.deserialize(i)
@Endpoints << endpointitem_tmp
end
end
unless params['PipelineInfo'].nil?
@PipelineInfo = []
params['PipelineInfo'].each do |i|
pipelineinfo_tmp = PipelineInfo.new
pipelineinfo_tmp.deserialize(i)
@PipelineInfo << pipelineinfo_tmp
end
end
unless params['Tags'].nil?
@Tags = []
params['Tags'].each do |i|
tagitem_tmp = TagItem.new
tagitem_tmp.deserialize(i)
@Tags << tagitem_tmp
end
end
unless params['Errors'].nil?
@Errors = []
params['Errors'].each do |i|
subserr_tmp = SubsErr.new
subserr_tmp.deserialize(i)
@Errors << subserr_tmp
end
end
unless params['ExtraAttr'].nil?
@ExtraAttr = []
params['ExtraAttr'].each do |i|
keyvaluepairoption_tmp = KeyValuePairOption.new
keyvaluepairoption_tmp.deserialize(i)
@ExtraAttr << keyvaluepairoption_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeSubscribeJobs请求参数结构体
class DescribeSubscribeJobsRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 订阅 ID 筛选,精确匹配
# @type SubscribeId: String
# @param SubscribeName: 订阅名称,前缀模糊匹配
# @type SubscribeName: String
# @param InstanceId: 订阅的云上数据库实例的 ID,精确匹配
# @type InstanceId: String
# @param PayType: 计费模式筛选,可能的值:0-包年包月,1-按量计费
# @type PayType: Integer
# @param Product: 订阅的数据库产品,目前支持 cynosdbmysql,mariadb,mongodb,mysql,percona,tdpg,tdsqlpercona(tdsqlmysql)
# @type Product: String
# @param Status: 数据订阅生命周期状态,可能的值为:正常 normal, 隔离中 isolating, 已隔离 isolated, 下线中 offlining,按量转包年包月中 post2PrePayIng
# @type Status: Array
# @param SubsStatus: 数据订阅状态,可能的值为:未启动 notStarted, 校验中 checking, 校验不通过 checkNotPass, 校验通过 checkPass, 启动中 starting, 运行中 running, 异常出错 error
# @type SubsStatus: Array
# @param Offset: 返回记录的起始偏移量。默认0
# @type Offset: Integer
# @param Limit: 单次返回的记录数量。默认20,最大100
# @type Limit: Integer
# @param OrderDirection: 排序方向,可选的值为"DESC"和"ASC",默认为"DESC",按创建时间逆序排序
# @type OrderDirection: String
# @param TagFilters: tag 过滤条件,多个 TagFilter 之间关系为且
# @type TagFilters: Array
attr_accessor :SubscribeId, :SubscribeName, :InstanceId, :PayType, :Product, :Status, :SubsStatus, :Offset, :Limit, :OrderDirection, :TagFilters
def initialize(subscribeid=nil, subscribename=nil, instanceid=nil, paytype=nil, product=nil, status=nil, subsstatus=nil, offset=nil, limit=nil, orderdirection=nil, tagfilters=nil)
@SubscribeId = subscribeid
@SubscribeName = subscribename
@InstanceId = instanceid
@PayType = paytype
@Product = product
@Status = status
@SubsStatus = subsstatus
@Offset = offset
@Limit = limit
@OrderDirection = orderdirection
@TagFilters = tagfilters
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@SubscribeName = params['SubscribeName']
@InstanceId = params['InstanceId']
@PayType = params['PayType']
@Product = params['Product']
@Status = params['Status']
@SubsStatus = params['SubsStatus']
@Offset = params['Offset']
@Limit = params['Limit']
@OrderDirection = params['OrderDirection']
unless params['TagFilters'].nil?
@TagFilters = []
params['TagFilters'].each do |i|
tagfilter_tmp = TagFilter.new
tagfilter_tmp.deserialize(i)
@TagFilters << tagfilter_tmp
end
end
end
end
# DescribeSubscribeJobs返回参数结构体
class DescribeSubscribeJobsResponse < TencentCloud::Common::AbstractModel
# @param TotalCount: 符合查询条件的实例总数
# @type TotalCount: Integer
# @param Items: 数据订阅实例的信息列表
# @type Items: Array
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :TotalCount, :Items, :RequestId
def initialize(totalcount=nil, items=nil, requestid=nil)
@TotalCount = totalcount
@Items = items
@RequestId = requestid
end
def deserialize(params)
@TotalCount = params['TotalCount']
unless params['Items'].nil?
@Items = []
params['Items'].each do |i|
subscribeinfo_tmp = SubscribeInfo.new
subscribeinfo_tmp.deserialize(i)
@Items << subscribeinfo_tmp
end
end
@RequestId = params['RequestId']
end
end
# DescribeSubscribeReturnable请求参数结构体
class DescribeSubscribeReturnableRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的ID
# @type SubscribeId: String
attr_accessor :SubscribeId
def initialize(subscribeid=nil)
@SubscribeId = subscribeid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
end
end
# DescribeSubscribeReturnable返回参数结构体
class DescribeSubscribeReturnableResponse < TencentCloud::Common::AbstractModel
# @param IsReturnable: 实例是否支持退还/退货
# @type IsReturnable: Boolean
# @param ReturnFailMessage: 不支持退还的原因
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ReturnFailMessage: String
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :IsReturnable, :ReturnFailMessage, :RequestId
def initialize(isreturnable=nil, returnfailmessage=nil, requestid=nil)
@IsReturnable = isreturnable
@ReturnFailMessage = returnfailmessage
@RequestId = requestid
end
def deserialize(params)
@IsReturnable = params['IsReturnable']
@ReturnFailMessage = params['ReturnFailMessage']
@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)。定位问题时需要提供该次请求的 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
# DestroyIsolatedSubscribe请求参数结构体
class DestroyIsolatedSubscribeRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的ID
# @type SubscribeId: String
attr_accessor :SubscribeId
def initialize(subscribeid=nil)
@SubscribeId = subscribeid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
end
end
# DestroyIsolatedSubscribe返回参数结构体
class DestroyIsolatedSubscribeResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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
# 数据库不一致的详情,mongodb业务用到
class DifferenceAdvancedObjectsDetail < 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|
advancedobjectsitem_tmp = AdvancedObjectsItem.new
advancedobjectsitem_tmp.deserialize(i)
@Items << advancedobjectsitem_tmp
end
end
end
end
# 数据不一致详情
class DifferenceData < TencentCloud::Common::AbstractModel
# @param Db: 数据库名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Db: String
# @param Table: 集合
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Table: String
# @param SrcChunk: 源端ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SrcChunk: String
# @param DstChunk: 目标端ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DstChunk: String
# @param SrcItem: 源端值
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SrcItem: String
# @param DstItem: 目标端值
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DstItem: String
# @param UpdatedAt: 更新时间
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UpdatedAt: String
attr_accessor :Db, :Table, :SrcChunk, :DstChunk, :SrcItem, :DstItem, :UpdatedAt
def initialize(db=nil, table=nil, srcchunk=nil, dstchunk=nil, srcitem=nil, dstitem=nil, updatedat=nil)
@Db = db
@Table = table
@SrcChunk = srcchunk
@DstChunk = dstchunk
@SrcItem = srcitem
@DstItem = dstitem
@UpdatedAt = updatedat
end
def deserialize(params)
@Db = params['Db']
@Table = params['Table']
@SrcChunk = params['SrcChunk']
@DstChunk = params['DstChunk']
@SrcItem = params['SrcItem']
@DstItem = params['DstItem']
@UpdatedAt = params['UpdatedAt']
end
end
# mongodb数据不一致性详情
class DifferenceDataDetail < TencentCloud::Common::AbstractModel
# @param TotalCount: 总数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TotalCount: Integer
# @param Items: mongo数据不一致详细列表
# 注意:此字段可能返回 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|
differencedata_tmp = DifferenceData.new
differencedata_tmp.deserialize(i)
@Items << differencedata_tmp
end
end
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
# mongodb行数校验不一致性详情结果
class DifferenceRowDetail < 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|
rowscountdifference_tmp = RowsCountDifference.new
rowscountdifference_tmp.deserialize(i)
@Items << rowscountdifference_tmp
end
end
end
end
# 订阅任务的kafka分区规则。符合库名和表名正则表达式的数据将按照RuleType计算该条数据将被投递的kafka分区。如果配置了多个规则,将按照配置的顺序,第一条命中的规则生效。
class DistributeRule < TencentCloud::Common::AbstractModel
# @param RuleType: 规则类型。非mongo产品的枚举值为: table-按表名分区,pk-按表名+主键分区,cols-按列名分区。mongo的枚举值为:collection-按集合名分区、collectionAndObjectId-按集合+主键分区。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type RuleType: String
# @param DbPattern: 库名匹配规则,请填写正则表达式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DbPattern: String
# @param TablePattern: 表名匹配规则,如果 DatabaseType 为 mongodb,则匹配集合名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TablePattern: String
# @param Columns: 列名。如果 RuleType 为 cols,此项必填。订阅任务会用该列的值计算分区。mongo没有按列分区,因此也不用传这个字段。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Columns: Array
attr_accessor :RuleType, :DbPattern, :TablePattern, :Columns
def initialize(ruletype=nil, dbpattern=nil, tablepattern=nil, columns=nil)
@RuleType = ruletype
@DbPattern = dbpattern
@TablePattern = tablepattern
@Columns = columns
end
def deserialize(params)
@RuleType = params['RuleType']
@DbPattern = params['DbPattern']
@TablePattern = params['TablePattern']
@Columns = params['Columns']
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: 节点类型,proxy表示节点类型为主机,set表示节点类型为节点。proxy类型必须填在数组第一项。tdsqlmysql类型的源/目标配置必填
# 注意:此字段可能返回 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
# @param ChildInstanceId: 数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ChildInstanceId: String
# @param ChildInstanceType: 数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的类型、比如:只读实例传ro、读写实例传rw
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ChildInstanceType: 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, :ChildInstanceId, :ChildInstanceType
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, childinstanceid=nil, childinstancetype=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
@ChildInstanceId = childinstanceid
@ChildInstanceType = childinstancetype
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']
@ChildInstanceId = params['ChildInstanceId']
@ChildInstanceType = params['ChildInstanceType']
end
end
# 数据订阅的实例节点信息
class EndpointItem < TencentCloud::Common::AbstractModel
# @param DatabaseRegion: 源库所在地域。如果 AccessType 为 ccn,请填vpc所在地域,因为此时不知道源库在哪个地域。其他接入方式,请填订阅任务所在地域,因为确保订阅任务与源库在同一地域是最优的网络方案。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DatabaseRegion: String
# @param User: 用户名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type User: String
# @param Password: 密码。作为入参时必填,作为出参时为空。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Password: String
# @param InstanceId: 目标实例ID。如果 AccessType 为 cdb,此项必填。配置InstanceId时会查询并校验实例信息。mysql的查询接口经过了鉴权,请确保子用户有 cdb:DescribeDBInstances 的接口权限。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceId: String
# @param CvmInstanceId: 云主机ID。如果 AccessType 为 cvm,此项必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CvmInstanceId: String
# @param UniqDcgId: 专线网关ID。如果 AccessType 为 dcg,此项必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UniqDcgId: String
# @param CcnId: 云联网ID。如果 AccessType 为 ccn,此项必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CcnId: String
# @param UniqVpnGwId: vpn网关ID。如果 AccessType 为 vpncloud,此项必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type UniqVpnGwId: String
# @param VpcId: VpcID。如果 AccessType 为 dcg\ccn\vpncloud\vpc,此项必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type VpcId: String
# @param SubnetId: 子网ID。如果 AccessType 为 dcg\ccn\vpncloud\vpc,此项必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SubnetId: String
# @param HostName: 数据库地址,支持域名与IP。如果 AccessType 为 dcg\ccn\vpncloud\vpc\extranet\intranet,此项必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HostName: String
# @param Port: 数据库端口。如果 AccessType 为 dcg\ccn\vpncloud\vpc\extranet\intranet\cvm,此项必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Port: Integer
# @param EncryptConn: 是否走加密传输,枚举值:UnEncrypted-不加密,Encrypted-加密。只有mysql支持,不填默认不加密,其他产品不填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type EncryptConn: String
# @param DatabaseNetEnv: 数据库网络环境。如果 AccessType 为 ccn 此项必填。枚举值:UserIDC-自建idc,TencentVPC-腾讯云,Aws-aws,AliYun-阿里云,Others-其他。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DatabaseNetEnv: String
# @param CcnOwnerUin: 云联网网关所属的主账号uin、跨账号云联网需要。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CcnOwnerUin: String
# @param ExtraAttr: 为业务添加的额外信息。参数名作key,参数值作value。 tdpg必填参数:PgDatabase-订阅的库名。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExtraAttr: Array
# @param ChildInstanceId: 数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的ID
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ChildInstanceId: String
# @param ChildInstanceType: 数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的类型、比如:只读实例传ro、读写实例传rw
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ChildInstanceType: String
attr_accessor :DatabaseRegion, :User, :Password, :InstanceId, :CvmInstanceId, :UniqDcgId, :CcnId, :UniqVpnGwId, :VpcId, :SubnetId, :HostName, :Port, :EncryptConn, :DatabaseNetEnv, :CcnOwnerUin, :ExtraAttr, :ChildInstanceId, :ChildInstanceType
def initialize(databaseregion=nil, user=nil, password=nil, instanceid=nil, cvminstanceid=nil, uniqdcgid=nil, ccnid=nil, uniqvpngwid=nil, vpcid=nil, subnetid=nil, hostname=nil, port=nil, encryptconn=nil, databasenetenv=nil, ccnowneruin=nil, extraattr=nil, childinstanceid=nil, childinstancetype=nil)
@DatabaseRegion = databaseregion
@User = user
@Password = password
@InstanceId = instanceid
@CvmInstanceId = cvminstanceid
@UniqDcgId = uniqdcgid
@CcnId = ccnid
@UniqVpnGwId = uniqvpngwid
@VpcId = vpcid
@SubnetId = subnetid
@HostName = hostname
@Port = port
@EncryptConn = encryptconn
@DatabaseNetEnv = databasenetenv
@CcnOwnerUin = ccnowneruin
@ExtraAttr = extraattr
@ChildInstanceId = childinstanceid
@ChildInstanceType = childinstancetype
end
def deserialize(params)
@DatabaseRegion = params['DatabaseRegion']
@User = params['User']
@Password = params['Password']
@InstanceId = params['InstanceId']
@CvmInstanceId = params['CvmInstanceId']
@UniqDcgId = params['UniqDcgId']
@CcnId = params['CcnId']
@UniqVpnGwId = params['UniqVpnGwId']
@VpcId = params['VpcId']
@SubnetId = params['SubnetId']
@HostName = params['HostName']
@Port = params['Port']
@EncryptConn = params['EncryptConn']
@DatabaseNetEnv = params['DatabaseNetEnv']
@CcnOwnerUin = params['CcnOwnerUin']
unless params['ExtraAttr'].nil?
@ExtraAttr = []
params['ExtraAttr'].each do |i|
keyvaluepairoption_tmp = KeyValuePairOption.new
keyvaluepairoption_tmp.deserialize(i)
@ExtraAttr << keyvaluepairoption_tmp
end
end
@ChildInstanceId = params['ChildInstanceId']
@ChildInstanceType = params['ChildInstanceType']
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
# kafka消费者组详情
class GroupInfo < TencentCloud::Common::AbstractModel
# @param Account: 消费者组账号
# @type Account: String
# @param ConsumerGroupName: 消费者组名称
# @type ConsumerGroupName: String
# @param Description: 消费者组备注
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Description: String
# @param ConsumerGroupOffset: 消费组偏移量。该字段是为了兼容以前单Partition的情况,取值为最后一个分区的偏移量。各分区的偏移量详见StateOfPartition字段
# @type ConsumerGroupOffset: Integer
# @param ConsumerGroupLag: 消费组未消费的数据量。该字段是为了兼容以前单Partition的情况,取值为最后一个分区未消费的数据量。各分区未消费数据量详见StateOfPartition字段
# @type ConsumerGroupLag: Integer
# @param Latency: 消费延迟(单位为秒)
# @type Latency: Integer
# @param StateOfPartition: 各分区的消费状态
# @type StateOfPartition: Array
# @param CreatedAt: 消费者组创建时间,格式为YYYY-MM-DD hh:mm:ss
# @type CreatedAt: String
# @param UpdatedAt: 消费者组修改时间,格式为YYYY-MM-DD hh:mm:ss
# @type UpdatedAt: String
# @param ConsumerGroupState: 消费者组状态,包括Dead、Empty、Stable等,只有Dead和Empty两种状态可以执行reset操作
# @type ConsumerGroupState: String
# @param PartitionAssignment: 每个消费者正在消费的分区
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PartitionAssignment: Array
attr_accessor :Account, :ConsumerGroupName, :Description, :ConsumerGroupOffset, :ConsumerGroupLag, :Latency, :StateOfPartition, :CreatedAt, :UpdatedAt, :ConsumerGroupState, :PartitionAssignment
def initialize(account=nil, consumergroupname=nil, description=nil, consumergroupoffset=nil, consumergrouplag=nil, latency=nil, stateofpartition=nil, createdat=nil, updatedat=nil, consumergroupstate=nil, partitionassignment=nil)
@Account = account
@ConsumerGroupName = consumergroupname
@Description = description
@ConsumerGroupOffset = consumergroupoffset
@ConsumerGroupLag = consumergrouplag
@Latency = latency
@StateOfPartition = stateofpartition
@CreatedAt = createdat
@UpdatedAt = updatedat
@ConsumerGroupState = consumergroupstate
@PartitionAssignment = partitionassignment
end
def deserialize(params)
@Account = params['Account']
@ConsumerGroupName = params['ConsumerGroupName']
@Description = params['Description']
@ConsumerGroupOffset = params['ConsumerGroupOffset']
@ConsumerGroupLag = params['ConsumerGroupLag']
@Latency = params['Latency']
unless params['StateOfPartition'].nil?
@StateOfPartition = []
params['StateOfPartition'].each do |i|
monitorinfo_tmp = MonitorInfo.new
monitorinfo_tmp.deserialize(i)
@StateOfPartition << monitorinfo_tmp
end
end
@CreatedAt = params['CreatedAt']
@UpdatedAt = params['UpdatedAt']
@ConsumerGroupState = params['ConsumerGroupState']
unless params['PartitionAssignment'].nil?
@PartitionAssignment = []
params['PartitionAssignment'].each do |i|
partitionassignment_tmp = PartitionAssignment.new
partitionassignment_tmp.deserialize(i)
@PartitionAssignment << partitionassignment_tmp
end
end
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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# IsolateSubscribe请求参数结构体
class IsolateSubscribeRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 订阅实例ID
# @type SubscribeId: String
attr_accessor :SubscribeId
def initialize(subscribeid=nil)
@SubscribeId = subscribeid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
end
end
# IsolateSubscribe返回参数结构体
class IsolateSubscribeResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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,canal-pb,canal-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
# @param MigrateWay: pgsql迁移分类:logical(逻辑迁移)、physical(物理迁移)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type MigrateWay: String
attr_accessor :DatabaseTable, :MigrateType, :Consistency, :IsMigrateAccount, :IsOverrideRoot, :IsDstReadOnly, :ExtraAttr, :MigrateWay
def initialize(databasetable=nil, migratetype=nil, consistency=nil, ismigrateaccount=nil, isoverrideroot=nil, isdstreadonly=nil, extraattr=nil, migrateway=nil)
@DatabaseTable = databasetable
@MigrateType = migratetype
@Consistency = consistency
@IsMigrateAccount = ismigrateaccount
@IsOverrideRoot = isoverrideroot
@IsDstReadOnly = isdstreadonly
@ExtraAttr = extraattr
@MigrateWay = migrateway
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
@MigrateWay = params['MigrateWay']
end
end
# 数据数据订阅的对象,用于修改订阅对象接口。与SubscribeObject结构类似,只是类型和参数名不同。
class ModifiedSubscribeObject < TencentCloud::Common::AbstractModel
# @param ObjectsType: 订阅对象的类型,枚举值为:0-库,1-表(该值对于mongo任务来说,是集合) 。
# 注意:mongo只支持全实例、单库或者单集合订阅,因此该字段不要与SubscribeObjectType冲突。如:SubscribeObjectType=4,表示mongo单库订阅,那么该字段应该传0。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ObjectsType: Integer
# @param DatabaseName: 订阅数据库的名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DatabaseName: String
# @param TableNames: 订阅数据库中表(或集合)的名称。如果 ObjectsType 为 1,那么此字段为必填,且不为空;
# 注意:此字段可能返回 null,表示取不到有效值。
# @type TableNames: Array
attr_accessor :ObjectsType, :DatabaseName, :TableNames
def initialize(objectstype=nil, databasename=nil, tablenames=nil)
@ObjectsType = objectstype
@DatabaseName = databasename
@TableNames = tablenames
end
def deserialize(params)
@ObjectsType = params['ObjectsType']
@DatabaseName = params['DatabaseName']
@TableNames = params['TableNames']
end
end
# 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyConsumerGroupDescription请求参数结构体
class ModifyConsumerGroupDescriptionRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的 ID
# @type SubscribeId: String
# @param ConsumerGroupName: 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}。
# 请务必保证消费组名称正确。
# @type ConsumerGroupName: String
# @param AccountName: 账户名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}。
# 请务必保证账户名称正确。
# @type AccountName: String
# @param Description: 修改之后的消费组描述
# @type Description: String
attr_accessor :SubscribeId, :ConsumerGroupName, :AccountName, :Description
def initialize(subscribeid=nil, consumergroupname=nil, accountname=nil, description=nil)
@SubscribeId = subscribeid
@ConsumerGroupName = consumergroupname
@AccountName = accountname
@Description = description
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@ConsumerGroupName = params['ConsumerGroupName']
@AccountName = params['AccountName']
@Description = params['Description']
end
end
# ModifyConsumerGroupDescription返回参数结构体
class ModifyConsumerGroupDescriptionResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifyConsumerGroupPassword请求参数结构体
class ModifyConsumerGroupPasswordRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的 ID
# @type SubscribeId: String
# @param AccountName: 账号名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}
# @type AccountName: String
# @param ConsumerGroupName: 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
# @type ConsumerGroupName: String
# @param OldPassword: 旧密码
# @type OldPassword: String
# @param NewPassword: 新密码。字符长度不小于3,不大于32
# @type NewPassword: String
attr_accessor :SubscribeId, :AccountName, :ConsumerGroupName, :OldPassword, :NewPassword
def initialize(subscribeid=nil, accountname=nil, consumergroupname=nil, oldpassword=nil, newpassword=nil)
@SubscribeId = subscribeid
@AccountName = accountname
@ConsumerGroupName = consumergroupname
@OldPassword = oldpassword
@NewPassword = newpassword
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@AccountName = params['AccountName']
@ConsumerGroupName = params['ConsumerGroupName']
@OldPassword = params['OldPassword']
@NewPassword = params['NewPassword']
end
end
# ModifyConsumerGroupPassword返回参数结构体
class ModifyConsumerGroupPasswordResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifySubscribeAutoRenewFlag请求参数结构体
class ModifySubscribeAutoRenewFlagRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 订阅实例ID
# @type SubscribeId: String
# @param AutoRenewFlag: 自动续费标识。1-自动续费,0-不自动续费
# @type AutoRenewFlag: Integer
attr_accessor :SubscribeId, :AutoRenewFlag
def initialize(subscribeid=nil, autorenewflag=nil)
@SubscribeId = subscribeid
@AutoRenewFlag = autorenewflag
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@AutoRenewFlag = params['AutoRenewFlag']
end
end
# ModifySubscribeAutoRenewFlag返回参数结构体
class ModifySubscribeAutoRenewFlagResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifySubscribeName请求参数结构体
class ModifySubscribeNameRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的ID
# @type SubscribeId: String
# @param SubscribeName: 修改后的数据订阅实例的名称,长度限制为[1,60]
# @type SubscribeName: String
attr_accessor :SubscribeId, :SubscribeName
def initialize(subscribeid=nil, subscribename=nil)
@SubscribeId = subscribeid
@SubscribeName = subscribename
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@SubscribeName = params['SubscribeName']
end
end
# ModifySubscribeName返回参数结构体
class ModifySubscribeNameResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ModifySubscribeObjects请求参数结构体
class ModifySubscribeObjectsRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的ID
# @type SubscribeId: String
# @param SubscribeObjectType: 数据订阅的类型,非mongo任务的枚举值:0-全实例更新;1-数据更新;2-结构更新;3-数据更新+结构更新。mongo任务的枚举值:0-全实例更新;4-订阅单库;5-订阅单集合
# @type SubscribeObjectType: Integer
# @param Objects: 修改后的订阅数据库表信息。会覆盖原来的订阅对象,所以除非 SubscribeObjectType = 0或2,否则改字段必填。
# @type Objects: Array
# @param DistributeRules: kafka分区策略。如果不填,默认不修改。如果填了,会覆盖原来的策略。
# @type DistributeRules: Array
# @param DefaultRuleType: 默认分区策略。不满足DistributeRules中正则表达式的数据,将按照默认分区策略计算分区。
# 非mongo产品支持的默认策略: table-按表名分区,pk-按表名+主键分区。mongo的默认策略仅支持:collection-按集合名分区。
# 该字段与DistributeRules搭配使用。如果配置了DistributeRules,该字段也必填。如果配置了该字段,视为配置了一条DistributeRules,原来的分区策略也会被覆盖。
# @type DefaultRuleType: String
# @param PipelineInfo: mongo输出聚合设置,mongo任务可选。如果不填,默认不修改。
# @type PipelineInfo: Array
attr_accessor :SubscribeId, :SubscribeObjectType, :Objects, :DistributeRules, :DefaultRuleType, :PipelineInfo
def initialize(subscribeid=nil, subscribeobjecttype=nil, objects=nil, distributerules=nil, defaultruletype=nil, pipelineinfo=nil)
@SubscribeId = subscribeid
@SubscribeObjectType = subscribeobjecttype
@Objects = objects
@DistributeRules = distributerules
@DefaultRuleType = defaultruletype
@PipelineInfo = pipelineinfo
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@SubscribeObjectType = params['SubscribeObjectType']
unless params['Objects'].nil?
@Objects = []
params['Objects'].each do |i|
modifiedsubscribeobject_tmp = ModifiedSubscribeObject.new
modifiedsubscribeobject_tmp.deserialize(i)
@Objects << modifiedsubscribeobject_tmp
end
end
unless params['DistributeRules'].nil?
@DistributeRules = []
params['DistributeRules'].each do |i|
distributerule_tmp = DistributeRule.new
distributerule_tmp.deserialize(i)
@DistributeRules << distributerule_tmp
end
end
@DefaultRuleType = params['DefaultRuleType']
unless params['PipelineInfo'].nil?
@PipelineInfo = []
params['PipelineInfo'].each do |i|
pipelineinfo_tmp = PipelineInfo.new
pipelineinfo_tmp.deserialize(i)
@PipelineInfo << pipelineinfo_tmp
end
end
end
end
# ModifySubscribeObjects返回参数结构体
class ModifySubscribeObjectsResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# kafka消费者组的分区详情
class MonitorInfo < TencentCloud::Common::AbstractModel
# @param PartitionNo: 当前分区的编号,从0开始
# @type PartitionNo: Integer
# @param ConsumerGroupOffset: 当前分区的偏移量
# @type ConsumerGroupOffset: Integer
# @param ConsumerGroupLag: 当前分区未消费的数据量
# @type ConsumerGroupLag: Integer
# @param Latency: 当前分区的消费延迟(单位为秒)
# @type Latency: Integer
attr_accessor :PartitionNo, :ConsumerGroupOffset, :ConsumerGroupLag, :Latency
def initialize(partitionno=nil, consumergroupoffset=nil, consumergrouplag=nil, latency=nil)
@PartitionNo = partitionno
@ConsumerGroupOffset = consumergroupoffset
@ConsumerGroupLag = consumergrouplag
@Latency = latency
end
def deserialize(params)
@PartitionNo = params['PartitionNo']
@ConsumerGroupOffset = params['ConsumerGroupOffset']
@ConsumerGroupLag = params['ConsumerGroupLag']
@Latency = params['Latency']
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
# 数据订阅kafka分区中checkpoint信息
class OffsetTimeMap < TencentCloud::Common::AbstractModel
# @param PartitionNo: kafka分区编号
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PartitionNo: Integer
# @param Offset: kafka offset
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Offset: Integer
attr_accessor :PartitionNo, :Offset
def initialize(partitionno=nil, offset=nil)
@PartitionNo = partitionno
@Offset = offset
end
def deserialize(params)
@PartitionNo = params['PartitionNo']
@Offset = params['Offset']
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
# @param FilterBeginCommit: 同步到kafka链路是否过滤掉begin和commit消息。目前仅mysql2kafka链路支持
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FilterBeginCommit: Boolean
# @param FilterCheckpoint: 同步到kafka链路是否过滤掉checkpoint消息。目前仅mysql2kafka链路支持
# 注意:此字段可能返回 null,表示取不到有效值。
# @type FilterCheckpoint: Boolean
attr_accessor :InitType, :DealOfExistSameTable, :ConflictHandleType, :AddAdditionalColumn, :OpTypes, :ConflictHandleOption, :DdlOptions, :KafkaOption, :RateLimitOption, :AutoRetryTimeRangeMinutes, :FilterBeginCommit, :FilterCheckpoint
def initialize(inittype=nil, dealofexistsametable=nil, conflicthandletype=nil, addadditionalcolumn=nil, optypes=nil, conflicthandleoption=nil, ddloptions=nil, kafkaoption=nil, ratelimitoption=nil, autoretrytimerangeminutes=nil, filterbegincommit=nil, filtercheckpoint=nil)
@InitType = inittype
@DealOfExistSameTable = dealofexistsametable
@ConflictHandleType = conflicthandletype
@AddAdditionalColumn = addadditionalcolumn
@OpTypes = optypes
@ConflictHandleOption = conflicthandleoption
@DdlOptions = ddloptions
@KafkaOption = kafkaoption
@RateLimitOption = ratelimitoption
@AutoRetryTimeRangeMinutes = autoretrytimerangeminutes
@FilterBeginCommit = filterbegincommit
@FilterCheckpoint = filtercheckpoint
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']
@FilterBeginCommit = params['FilterBeginCommit']
@FilterCheckpoint = params['FilterCheckpoint']
end
end
# 数据订阅中kafka消费者组的分区分配情况。该数据是实时查询的,如果需要最新数据,需重新掉接口查询。
class PartitionAssignment < TencentCloud::Common::AbstractModel
# @param ClientId: 消费者的clientId
# @type ClientId: String
# @param PartitionNo: 该消费者正在消费的分区
# 注意:此字段可能返回 null,表示取不到有效值。
# @type PartitionNo: Array
attr_accessor :ClientId, :PartitionNo
def initialize(clientid=nil, partitionno=nil)
@ClientId = clientid
@PartitionNo = partitionno
end
def deserialize(params)
@ClientId = params['ClientId']
@PartitionNo = params['PartitionNo']
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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# mongo输出聚合设置。输出默认 Change Event
class PipelineInfo < TencentCloud::Common::AbstractModel
# @param AggOp: 聚合运算符:$addFields、$match、$project、$replaceRoot、$redact、$replaceWith、$set、$unset。其中 $replaceWith、$set、$unset 只有当订阅实例是4.2及以上版本可选。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AggOp: String
# @param AggCmd: 聚合表达式。必须是json格式
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AggCmd: String
attr_accessor :AggOp, :AggCmd
def initialize(aggop=nil, aggcmd=nil)
@AggOp = aggop
@AggCmd = aggcmd
end
def deserialize(params)
@AggOp = params['AggOp']
@AggCmd = params['AggCmd']
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: 当前生效的全量导出线程数,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为16
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CurrentDumpThread: Integer
# @param DefaultDumpThread: 默认的全量导出线程数,该字段仅在出参有意义
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DefaultDumpThread: Integer
# @param CurrentDumpRps: 当前生效的全量导出Rps,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为50000000
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CurrentDumpRps: Integer
# @param DefaultDumpRps: 默认的全量导出Rps,该字段仅在出参有意义
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DefaultDumpRps: Integer
# @param CurrentLoadThread: 当前生效的全量导入线程数,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为16
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CurrentLoadThread: Integer
# @param DefaultLoadThread: 默认的全量导入线程数,该字段仅在出参有意义
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DefaultLoadThread: Integer
# @param CurrentLoadRps: 当前生效的全量导入Rps,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为50000000
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CurrentLoadRps: Integer
# @param DefaultLoadRps: 默认的全量导入Rps,该字段仅在出参有意义
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DefaultLoadRps: Integer
# @param CurrentSinkerThread: 当前生效的增量导入线程数,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为128
# 注意:此字段可能返回 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ResetConsumerGroupOffset请求参数结构体
class ResetConsumerGroupOffsetRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 订阅实例id
# @type SubscribeId: String
# @param TopicName: 订阅的kafka topic
# @type TopicName: String
# @param ConsumerGroupName: 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
# @type ConsumerGroupName: String
# @param PartitionNos: 需要修改offset的分区编号
# @type PartitionNos: Array
# @param ResetMode: 重置方式。枚举值为 earliest-从最开始位置开始消费;latest-从最新位置开始消费;datetime-从指定时间前最近的checkpoint开始消费
# @type ResetMode: String
# @param ResetDatetime: 当 ResetMode 为 datetime 时,该项需要填,格式为:Y-m-d h:m:s。如果不填,默认用0时间,效果与earliest相同。
# @type ResetDatetime: String
attr_accessor :SubscribeId, :TopicName, :ConsumerGroupName, :PartitionNos, :ResetMode, :ResetDatetime
def initialize(subscribeid=nil, topicname=nil, consumergroupname=nil, partitionnos=nil, resetmode=nil, resetdatetime=nil)
@SubscribeId = subscribeid
@TopicName = topicname
@ConsumerGroupName = consumergroupname
@PartitionNos = partitionnos
@ResetMode = resetmode
@ResetDatetime = resetdatetime
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@TopicName = params['TopicName']
@ConsumerGroupName = params['ConsumerGroupName']
@PartitionNos = params['PartitionNos']
@ResetMode = params['ResetMode']
@ResetDatetime = params['ResetDatetime']
end
end
# ResetConsumerGroupOffset返回参数结构体
class ResetConsumerGroupOffsetResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ResetSubscribe请求参数结构体
class ResetSubscribeRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的ID
# @type SubscribeId: String
attr_accessor :SubscribeId
def initialize(subscribeid=nil)
@SubscribeId = subscribeid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
end
end
# ResetSubscribe返回参数结构体
class ResetSubscribeResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# ResumeSubscribe请求参数结构体
class ResumeSubscribeRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的 ID
# @type SubscribeId: String
attr_accessor :SubscribeId
def initialize(subscribeid=nil)
@SubscribeId = subscribeid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
end
end
# ResumeSubscribe返回参数结构体
class ResumeSubscribeResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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
# mongodb行校验不一致详细信息
class RowsCountDifference < TencentCloud::Common::AbstractModel
# @param Db: 数据库名
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Db: String
# @param Table: 集合
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Table: String
# @param SrcCount: 源端行数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SrcCount: Integer
# @param DstCount: 目标端行数
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DstCount: Integer
attr_accessor :Db, :Table, :SrcCount, :DstCount
def initialize(db=nil, table=nil, srccount=nil, dstcount=nil)
@Db = db
@Table = table
@SrcCount = srccount
@DstCount = dstcount
end
def deserialize(params)
@Db = params['Db']
@Table = params['Table']
@SrcCount = params['SrcCount']
@DstCount = params['DstCount']
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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# StartSubscribe请求参数结构体
class StartSubscribeRequest < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅实例的 ID
# @type SubscribeId: String
attr_accessor :SubscribeId
def initialize(subscribeid=nil)
@SubscribeId = subscribeid
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
end
end
# StartSubscribe返回参数结构体
class StartSubscribeResponse < TencentCloud::Common::AbstractModel
# @param RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 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)。定位问题时需要提供该次请求的 RequestId。
# @type RequestId: String
attr_accessor :RequestId
def initialize(requestid=nil)
@RequestId = requestid
end
def deserialize(params)
@RequestId = params['RequestId']
end
end
# 订阅报错信息
class SubsErr < TencentCloud::Common::AbstractModel
# @param Message: 报错信息
# @type Message: String
attr_accessor :Message
def initialize(message=nil)
@Message = message
end
def deserialize(params)
@Message = params['Message']
end
end
# 订阅校验任务的各步骤信息。
class SubscribeCheckStepInfo < TencentCloud::Common::AbstractModel
# @param StepName: 步骤名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type StepName: String
# @param StepId: 步骤Id
# 注意:此字段可能返回 null,表示取不到有效值。
# @type StepId: String
# @param StepNo: 步骤编号,从 1 开始
# 注意:此字段可能返回 null,表示取不到有效值。
# @type StepNo: Integer
# @param Status: 当前步骤状态,可能值为 notStarted,running,finished,failed
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Status: String
# @param Percent: 当前步骤进度
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Percent: Integer
# @param Errors: 错误提示
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Errors: Array
# @param Warnings: 告警提示
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Warnings: Array
attr_accessor :StepName, :StepId, :StepNo, :Status, :Percent, :Errors, :Warnings
def initialize(stepname=nil, stepid=nil, stepno=nil, status=nil, percent=nil, errors=nil, warnings=nil)
@StepName = stepname
@StepId = stepid
@StepNo = stepno
@Status = status
@Percent = percent
@Errors = errors
@Warnings = warnings
end
def deserialize(params)
@StepName = params['StepName']
@StepId = params['StepId']
@StepNo = params['StepNo']
@Status = params['Status']
@Percent = params['Percent']
unless params['Errors'].nil?
@Errors = []
params['Errors'].each do |i|
subscribechecksteptip_tmp = SubscribeCheckStepTip.new
subscribechecksteptip_tmp.deserialize(i)
@Errors << subscribechecksteptip_tmp
end
end
unless params['Warnings'].nil?
@Warnings = []
params['Warnings'].each do |i|
subscribechecksteptip_tmp = SubscribeCheckStepTip.new
subscribechecksteptip_tmp.deserialize(i)
@Warnings << subscribechecksteptip_tmp
end
end
end
end
# 订阅校验任务的提示信息
class SubscribeCheckStepTip < TencentCloud::Common::AbstractModel
# @param Message: 错误或告警的详细信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Message: String
# @param HelpDoc: 帮助文档
# 注意:此字段可能返回 null,表示取不到有效值。
# @type HelpDoc: String
attr_accessor :Message, :HelpDoc
def initialize(message=nil, helpdoc=nil)
@Message = message
@HelpDoc = helpdoc
end
def deserialize(params)
@Message = params['Message']
@HelpDoc = params['HelpDoc']
end
end
# 订阅实例信息
class SubscribeInfo < TencentCloud::Common::AbstractModel
# @param SubscribeId: 数据订阅的实例ID
# @type SubscribeId: String
# @param SubscribeName: 数据订阅实例的名称
# @type SubscribeName: String
# @param Topic: 订阅实例发送数据的kafka topic
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Topic: String
# @param Product: 订阅实例的类型,目前支持 cynosdbmysql,mariadb,mongodb,mysql,percona,tdpg,tdsqlpercona(tdsqlmysql)
# @type Product: String
# @param InstanceId: 订阅的数据库实例ID(如果订阅的是云数据库)如果实例不是腾讯云上的,此值为空。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceId: String
# @param InstanceStatus: 云数据库状态:running 运行中,isolated 已隔离,offline 已下线。如果不是云上,此值为空
# 注意:此字段可能返回 null,表示取不到有效值。
# @type InstanceStatus: String
# @param Status: 数据订阅生命周期状态,可能的值为:正常 normal, 隔离中 isolating, 已隔离 isolated, 下线中 offlining, 按量转包年包月中 post2PrePayIng
# @type Status: String
# @param SubsStatus: 数据订阅状态,可能的值为:未启动 notStarted, 校验中 checking, 校验不通过 checkNotPass, 校验通过 checkPass, 启动中 starting, 运行中 running, 异常出错 error
# @type SubsStatus: String
# @param ModifyTime: 上次修改时间,时间格式如:Y-m-d h:m:s
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ModifyTime: String
# @param CreateTime: 创建时间,时间格式如:Y-m-d h:m:s
# 注意:此字段可能返回 null,表示取不到有效值。
# @type CreateTime: String
# @param IsolateTime: 隔离时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
# 注意:此字段可能返回 null,表示取不到有效值。
# @type IsolateTime: String
# @param ExpireTime: 包年包月任务的到期时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ExpireTime: String
# @param OfflineTime: 下线时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
# 注意:此字段可能返回 null,表示取不到有效值。
# @type OfflineTime: String
# @param PayType: 计费方式,0 - 包年包月,1 - 按量计费
# @type PayType: Integer
# @param AutoRenewFlag: 自动续费标识。只有当 PayType=0,该值才有意义。枚举值:0-不自动续费,1-自动续费
# @type AutoRenewFlag: Integer
# @param Region: 数据订阅实例所属地域
# @type Region: String
# @param AccessType: 接入方式。枚举值:extranet(公网) vpncloud(vpn接入) dcg(专线接入) ccn(云联网) cdb(云数据库) cvm(云主机自建) intranet(自研上云) vpc(私有网络vpc)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type AccessType: String
# @param Endpoints: 数据库节点信息
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Endpoints: Array
# @param SubscribeVersion: 数据订阅版本, 当前只支持 kafka 版本。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type SubscribeVersion: String
# @param Tags: 标签
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Tags: Array
# @param Errors: 任务报错信息,如果有的话。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Errors: Array
attr_accessor :SubscribeId, :SubscribeName, :Topic, :Product, :InstanceId, :InstanceStatus, :Status, :SubsStatus, :ModifyTime, :CreateTime, :IsolateTime, :ExpireTime, :OfflineTime, :PayType, :AutoRenewFlag, :Region, :AccessType, :Endpoints, :SubscribeVersion, :Tags, :Errors
def initialize(subscribeid=nil, subscribename=nil, topic=nil, product=nil, instanceid=nil, instancestatus=nil, status=nil, subsstatus=nil, modifytime=nil, createtime=nil, isolatetime=nil, expiretime=nil, offlinetime=nil, paytype=nil, autorenewflag=nil, region=nil, accesstype=nil, endpoints=nil, subscribeversion=nil, tags=nil, errors=nil)
@SubscribeId = subscribeid
@SubscribeName = subscribename
@Topic = topic
@Product = product
@InstanceId = instanceid
@InstanceStatus = instancestatus
@Status = status
@SubsStatus = subsstatus
@ModifyTime = modifytime
@CreateTime = createtime
@IsolateTime = isolatetime
@ExpireTime = expiretime
@OfflineTime = offlinetime
@PayType = paytype
@AutoRenewFlag = autorenewflag
@Region = region
@AccessType = accesstype
@Endpoints = endpoints
@SubscribeVersion = subscribeversion
@Tags = tags
@Errors = errors
end
def deserialize(params)
@SubscribeId = params['SubscribeId']
@SubscribeName = params['SubscribeName']
@Topic = params['Topic']
@Product = params['Product']
@InstanceId = params['InstanceId']
@InstanceStatus = params['InstanceStatus']
@Status = params['Status']
@SubsStatus = params['SubsStatus']
@ModifyTime = params['ModifyTime']
@CreateTime = params['CreateTime']
@IsolateTime = params['IsolateTime']
@ExpireTime = params['ExpireTime']
@OfflineTime = params['OfflineTime']
@PayType = params['PayType']
@AutoRenewFlag = params['AutoRenewFlag']
@Region = params['Region']
@AccessType = params['AccessType']
unless params['Endpoints'].nil?
@Endpoints = []
params['Endpoints'].each do |i|
endpointitem_tmp = EndpointItem.new
endpointitem_tmp.deserialize(i)
@Endpoints << endpointitem_tmp
end
end
@SubscribeVersion = params['SubscribeVersion']
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['Errors'].nil?
@Errors = []
params['Errors'].each do |i|
subserr_tmp = SubsErr.new
subserr_tmp.deserialize(i)
@Errors << subserr_tmp
end
end
end
end
# 订阅的kafka分区数和分区规则。mariadb,percona,tdsqlmysql,tdpg不支持自定义分区,所以DistributeRules和DefaultRuleType可以不填,但是NumberOfPartitions是必填。
class SubscribeKafkaConfig < TencentCloud::Common::AbstractModel
# @param NumberOfPartitions: kafka分区数量,枚举值为1,4,8
# 注意:此字段可能返回 null,表示取不到有效值。
# @type NumberOfPartitions: Integer
# @param DistributeRules: 分区规则。当NumberOfPartitions > 1时,该项必填。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DistributeRules: Array
# @param DefaultRuleType: 默认分区策略。当NumberOfPartitions > 1时,该项必填。不满足DistributeRules中正则表达式的数据,将按照默认分区策略计算分区。
# 非mongo产品的枚举值为: table-按表名分区,pk-按表名+主键分区。mongo的枚举值为:collection-按集合名分区。
# 该字段与DistributeRules搭配使用,如果配置了该字段,视为配置了一条DistributeRules。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type DefaultRuleType: String
attr_accessor :NumberOfPartitions, :DistributeRules, :DefaultRuleType
def initialize(numberofpartitions=nil, distributerules=nil, defaultruletype=nil)
@NumberOfPartitions = numberofpartitions
@DistributeRules = distributerules
@DefaultRuleType = defaultruletype
end
def deserialize(params)
@NumberOfPartitions = params['NumberOfPartitions']
unless params['DistributeRules'].nil?
@DistributeRules = []
params['DistributeRules'].each do |i|
distributerule_tmp = DistributeRule.new
distributerule_tmp.deserialize(i)
@DistributeRules << distributerule_tmp
end
end
@DefaultRuleType = params['DefaultRuleType']
end
end
# 订阅的数据库表信息,用于配置和查询订阅任务接口。
class SubscribeObject < TencentCloud::Common::AbstractModel
# @param ObjectType: 订阅数据的类型,枚举值:database-数据库,table-数据库的表(如果 DatabaseType 为 mongodb,则表示集合)
# 注意:此字段可能返回 null,表示取不到有效值。
# @type ObjectType: String
# @param Database: 订阅的数据库名称
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Database: String
# @param Tables: 订阅数据库中表的名称。如果 DatabaseType 为 mongodb,填集合名。mongodb只支持订阅单库或者单集合。
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Tables: Array
attr_accessor :ObjectType, :Database, :Tables
def initialize(objecttype=nil, database=nil, tables=nil)
@ObjectType = objecttype
@Database = database
@Tables = tables
end
def deserialize(params)
@ObjectType = params['ObjectType']
@Database = params['Database']
@Tables = params['Tables']
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: 数据库信息。注意:如果数据库类型为tdsqlmysql,此处Endpoint数组的顺序应满足规则:proxy节点放在set节点之前。如果SrcConnectType选择proxy接入则只需要填写proxy节点即可。如果选择set接入,数组中第一个set节点必须是shardkey范围起始为0的分片
# 注意:此字段可能返回 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的描述。投递到单topic时,该数组的最后一项会被视为默认分区策略,所有未匹配到的数据都会按该策略投递,默认策略只支持 投递至partition0、按表名、表名+主键三种。
class TopicRule < TencentCloud::Common::AbstractModel
# @param TopicName: topic名。单topic时,所有的TopicName必须相同
# @type TopicName: String
# @param PartitionType: topic分区策略,自定义topic时支持:Random(随机投递),集中投递到单Topic时支持:AllInPartitionZero(全部投递至partition0)、PartitionByTable(按表名分区)、PartitionByTableAndKey(按表名加主键分区)、PartitionByCols(按列分区)
# @type PartitionType: String
# @param DbMatchMode: 库名匹配规则,如Regular(正则匹配), Default(不符合匹配规则的剩余库),数组中最后一项必须为‘Default’
# @type DbMatchMode: String
# @param DbName: 库名,DbMatchMode=Regular时生效
# @type DbName: String
# @param TableMatchMode: 表名匹配规则,如Regular(正则匹配), Default(不符合匹配规则的剩余表),数组中最后一项必须为‘Default’
# @type TableMatchMode: String
# @param TableName: 表名,仅TableMatchMode=Regular时生效
# @type TableName: String
# @param Columns: 按列分区时需要选择配置列名,可以选择多列
# 注意:此字段可能返回 null,表示取不到有效值。
# @type Columns: Array
attr_accessor :TopicName, :PartitionType, :DbMatchMode, :DbName, :TableMatchMode, :TableName, :Columns
def initialize(topicname=nil, partitiontype=nil, dbmatchmode=nil, dbname=nil, tablematchmode=nil, tablename=nil, columns=nil)
@TopicName = topicname
@PartitionType = partitiontype
@DbMatchMode = dbmatchmode
@DbName = dbname
@TableMatchMode = tablematchmode
@TableName = tablename
@Columns = columns
end
def deserialize(params)
@TopicName = params['TopicName']
@PartitionType = params['PartitionType']
@DbMatchMode = params['DbMatchMode']
@DbName = params['DbName']
@TableMatchMode = params['TableMatchMode']
@TableName = params['TableName']
@Columns = params['Columns']
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