# -*- coding: utf8 -*-
# Copyright (c) 2017-2021 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.
import warnings
from tencentcloud.common.abstract_model import AbstractModel
class AdvancedObjectsItem(AbstractModel):
"""数据库不一致的详情,mongodb业务用到
"""
def __init__(self):
r"""
:param _ObjectType: 对象类型,可能得值有:account,index,shardkey,schema
注意:此字段可能返回 null,表示取不到有效值。
:type ObjectType: str
:param _SrcChunk: 源端分块
注意:此字段可能返回 null,表示取不到有效值。
:type SrcChunk: str
:param _DstChunk: 目标端分块
注意:此字段可能返回 null,表示取不到有效值。
:type DstChunk: str
:param _SrcItem: 源端值
注意:此字段可能返回 null,表示取不到有效值。
:type SrcItem: str
:param _DstItem: 目标端值
注意:此字段可能返回 null,表示取不到有效值。
:type DstItem: str
"""
self._ObjectType = None
self._SrcChunk = None
self._DstChunk = None
self._SrcItem = None
self._DstItem = None
@property
def ObjectType(self):
"""对象类型,可能得值有:account,index,shardkey,schema
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ObjectType
@ObjectType.setter
def ObjectType(self, ObjectType):
self._ObjectType = ObjectType
@property
def SrcChunk(self):
"""源端分块
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SrcChunk
@SrcChunk.setter
def SrcChunk(self, SrcChunk):
self._SrcChunk = SrcChunk
@property
def DstChunk(self):
"""目标端分块
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DstChunk
@DstChunk.setter
def DstChunk(self, DstChunk):
self._DstChunk = DstChunk
@property
def SrcItem(self):
"""源端值
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SrcItem
@SrcItem.setter
def SrcItem(self, SrcItem):
self._SrcItem = SrcItem
@property
def DstItem(self):
"""目标端值
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DstItem
@DstItem.setter
def DstItem(self, DstItem):
self._DstItem = DstItem
def _deserialize(self, params):
self._ObjectType = params.get("ObjectType")
self._SrcChunk = params.get("SrcChunk")
self._DstChunk = params.get("DstChunk")
self._SrcItem = params.get("SrcItem")
self._DstItem = params.get("DstItem")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CheckStep(AbstractModel):
"""检查步骤
"""
def __init__(self):
r"""
:param _StepNo: 步骤编号
注意:此字段可能返回 null,表示取不到有效值。
:type StepNo: int
:param _StepId: 步骤Id, 如:ConnectDBCheck、VersionCheck、SrcPrivilegeCheck等,具体校验项和源目标实例相关
注意:此字段可能返回 null,表示取不到有效值。
:type StepId: str
:param _StepName: 步骤名称
注意:此字段可能返回 null,表示取不到有效值。
:type StepName: str
:param _StepStatus: 此检查步骤的结果,pass(校验通过)、failed(校验失败)、notStarted(校验还未开始进行)、blocked(检验阻塞)、warning(校验有告警,但仍通过)
注意:此字段可能返回 null,表示取不到有效值。
:type StepStatus: str
:param _StepMessage: 此检查步骤的错误消息
注意:此字段可能返回 null,表示取不到有效值。
:type StepMessage: str
:param _DetailCheckItems: 每个检查步骤里的具体检查项
注意:此字段可能返回 null,表示取不到有效值。
:type DetailCheckItems: list of DetailCheckItem
:param _HasSkipped: 是否已跳过
注意:此字段可能返回 null,表示取不到有效值。
:type HasSkipped: bool
"""
self._StepNo = None
self._StepId = None
self._StepName = None
self._StepStatus = None
self._StepMessage = None
self._DetailCheckItems = None
self._HasSkipped = None
@property
def StepNo(self):
"""步骤编号
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepNo
@StepNo.setter
def StepNo(self, StepNo):
self._StepNo = StepNo
@property
def StepId(self):
"""步骤Id, 如:ConnectDBCheck、VersionCheck、SrcPrivilegeCheck等,具体校验项和源目标实例相关
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepId
@StepId.setter
def StepId(self, StepId):
self._StepId = StepId
@property
def StepName(self):
"""步骤名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepName
@StepName.setter
def StepName(self, StepName):
self._StepName = StepName
@property
def StepStatus(self):
"""此检查步骤的结果,pass(校验通过)、failed(校验失败)、notStarted(校验还未开始进行)、blocked(检验阻塞)、warning(校验有告警,但仍通过)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepStatus
@StepStatus.setter
def StepStatus(self, StepStatus):
self._StepStatus = StepStatus
@property
def StepMessage(self):
"""此检查步骤的错误消息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepMessage
@StepMessage.setter
def StepMessage(self, StepMessage):
self._StepMessage = StepMessage
@property
def DetailCheckItems(self):
"""每个检查步骤里的具体检查项
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of DetailCheckItem
"""
return self._DetailCheckItems
@DetailCheckItems.setter
def DetailCheckItems(self, DetailCheckItems):
self._DetailCheckItems = DetailCheckItems
@property
def HasSkipped(self):
"""是否已跳过
注意:此字段可能返回 null,表示取不到有效值。
:rtype: bool
"""
return self._HasSkipped
@HasSkipped.setter
def HasSkipped(self, HasSkipped):
self._HasSkipped = HasSkipped
def _deserialize(self, params):
self._StepNo = params.get("StepNo")
self._StepId = params.get("StepId")
self._StepName = params.get("StepName")
self._StepStatus = params.get("StepStatus")
self._StepMessage = params.get("StepMessage")
if params.get("DetailCheckItems") is not None:
self._DetailCheckItems = []
for item in params.get("DetailCheckItems"):
obj = DetailCheckItem()
obj._deserialize(item)
self._DetailCheckItems.append(obj)
self._HasSkipped = params.get("HasSkipped")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CheckStepInfo(AbstractModel):
"""校验任务运行详情
"""
def __init__(self):
r"""
:param _StartAt: 任务开始时间
注意:此字段可能返回 null,表示取不到有效值。
:type StartAt: str
:param _EndAt: 任务结束时间
注意:此字段可能返回 null,表示取不到有效值。
:type EndAt: str
:param _Progress: 任务步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:type Progress: :class:`tencentcloud.dts.v20211206.models.ProcessProgress`
"""
self._StartAt = None
self._EndAt = None
self._Progress = None
@property
def StartAt(self):
"""任务开始时间
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StartAt
@StartAt.setter
def StartAt(self, StartAt):
self._StartAt = StartAt
@property
def EndAt(self):
"""任务结束时间
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EndAt
@EndAt.setter
def EndAt(self, EndAt):
self._EndAt = EndAt
@property
def Progress(self):
"""任务步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.ProcessProgress`
"""
return self._Progress
@Progress.setter
def Progress(self, Progress):
self._Progress = Progress
def _deserialize(self, params):
self._StartAt = params.get("StartAt")
self._EndAt = params.get("EndAt")
if params.get("Progress") is not None:
self._Progress = ProcessProgress()
self._Progress._deserialize(params.get("Progress"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Column(AbstractModel):
"""数据同步中的列信息
"""
def __init__(self):
r"""
:param _ColumnName: 列名
注意:此字段可能返回 null,表示取不到有效值。
:type ColumnName: str
:param _NewColumnName: 新列名
注意:此字段可能返回 null,表示取不到有效值。
:type NewColumnName: str
"""
self._ColumnName = None
self._NewColumnName = None
@property
def ColumnName(self):
"""列名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ColumnName
@ColumnName.setter
def ColumnName(self, ColumnName):
self._ColumnName = ColumnName
@property
def NewColumnName(self):
"""新列名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewColumnName
@NewColumnName.setter
def NewColumnName(self, NewColumnName):
self._NewColumnName = NewColumnName
def _deserialize(self, params):
self._ColumnName = params.get("ColumnName")
self._NewColumnName = params.get("NewColumnName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareAbstractInfo(AbstractModel):
"""一致性校验摘要信息
"""
def __init__(self):
r"""
: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: str
:param _Status: 任务状态: success,failed
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
:param _TotalTables: 总的表数量
注意:此字段可能返回 null,表示取不到有效值。
:type TotalTables: int
:param _CheckedTables: 已校验的表数量
注意:此字段可能返回 null,表示取不到有效值。
:type CheckedTables: int
:param _DifferentTables: 不一致的表数量
注意:此字段可能返回 null,表示取不到有效值。
:type DifferentTables: int
:param _SkippedTables: 跳过校验的表数量
注意:此字段可能返回 null,表示取不到有效值。
:type SkippedTables: int
:param _NearlyTableCount: 预估表总数
注意:此字段可能返回 null,表示取不到有效值。
:type NearlyTableCount: int
:param _DifferentRows: 不一致的数据行数量
注意:此字段可能返回 null,表示取不到有效值。
:type DifferentRows: int
:param _SrcSampleRows: 源库行数,当对比类型为**行数对比**时此项有意义
注意:此字段可能返回 null,表示取不到有效值。
:type SrcSampleRows: int
:param _DstSampleRows: 目标库行数,当对比类型为**行数对比**时此项有意义
注意:此字段可能返回 null,表示取不到有效值。
:type DstSampleRows: int
:param _StartedAt: 开始时间
注意:此字段可能返回 null,表示取不到有效值。
:type StartedAt: str
:param _FinishedAt: 结束时间
注意:此字段可能返回 null,表示取不到有效值。
:type FinishedAt: str
"""
self._Options = None
self._Objects = None
self._Conclusion = None
self._Status = None
self._TotalTables = None
self._CheckedTables = None
self._DifferentTables = None
self._SkippedTables = None
self._NearlyTableCount = None
self._DifferentRows = None
self._SrcSampleRows = None
self._DstSampleRows = None
self._StartedAt = None
self._FinishedAt = None
@property
def Options(self):
"""校验配置参数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareOptions`
"""
return self._Options
@Options.setter
def Options(self, Options):
self._Options = Options
@property
def Objects(self):
"""一致性校验对比对象
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareObject`
"""
return self._Objects
@Objects.setter
def Objects(self, Objects):
self._Objects = Objects
@property
def Conclusion(self):
"""对比结论: same,different
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Conclusion
@Conclusion.setter
def Conclusion(self, Conclusion):
self._Conclusion = Conclusion
@property
def Status(self):
"""任务状态: success,failed
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def TotalTables(self):
"""总的表数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalTables
@TotalTables.setter
def TotalTables(self, TotalTables):
self._TotalTables = TotalTables
@property
def CheckedTables(self):
"""已校验的表数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._CheckedTables
@CheckedTables.setter
def CheckedTables(self, CheckedTables):
self._CheckedTables = CheckedTables
@property
def DifferentTables(self):
"""不一致的表数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._DifferentTables
@DifferentTables.setter
def DifferentTables(self, DifferentTables):
self._DifferentTables = DifferentTables
@property
def SkippedTables(self):
"""跳过校验的表数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._SkippedTables
@SkippedTables.setter
def SkippedTables(self, SkippedTables):
self._SkippedTables = SkippedTables
@property
def NearlyTableCount(self):
"""预估表总数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._NearlyTableCount
@NearlyTableCount.setter
def NearlyTableCount(self, NearlyTableCount):
self._NearlyTableCount = NearlyTableCount
@property
def DifferentRows(self):
"""不一致的数据行数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._DifferentRows
@DifferentRows.setter
def DifferentRows(self, DifferentRows):
self._DifferentRows = DifferentRows
@property
def SrcSampleRows(self):
"""源库行数,当对比类型为**行数对比**时此项有意义
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._SrcSampleRows
@SrcSampleRows.setter
def SrcSampleRows(self, SrcSampleRows):
self._SrcSampleRows = SrcSampleRows
@property
def DstSampleRows(self):
"""目标库行数,当对比类型为**行数对比**时此项有意义
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._DstSampleRows
@DstSampleRows.setter
def DstSampleRows(self, DstSampleRows):
self._DstSampleRows = DstSampleRows
@property
def StartedAt(self):
"""开始时间
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StartedAt
@StartedAt.setter
def StartedAt(self, StartedAt):
self._StartedAt = StartedAt
@property
def FinishedAt(self):
"""结束时间
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._FinishedAt
@FinishedAt.setter
def FinishedAt(self, FinishedAt):
self._FinishedAt = FinishedAt
def _deserialize(self, params):
if params.get("Options") is not None:
self._Options = CompareOptions()
self._Options._deserialize(params.get("Options"))
if params.get("Objects") is not None:
self._Objects = CompareObject()
self._Objects._deserialize(params.get("Objects"))
self._Conclusion = params.get("Conclusion")
self._Status = params.get("Status")
self._TotalTables = params.get("TotalTables")
self._CheckedTables = params.get("CheckedTables")
self._DifferentTables = params.get("DifferentTables")
self._SkippedTables = params.get("SkippedTables")
self._NearlyTableCount = params.get("NearlyTableCount")
self._DifferentRows = params.get("DifferentRows")
self._SrcSampleRows = params.get("SrcSampleRows")
self._DstSampleRows = params.get("DstSampleRows")
self._StartedAt = params.get("StartedAt")
self._FinishedAt = params.get("FinishedAt")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareColumnItem(AbstractModel):
"""列选项
"""
def __init__(self):
r"""
:param _ColumnName: 列名
注意:此字段可能返回 null,表示取不到有效值。
:type ColumnName: str
"""
self._ColumnName = None
@property
def ColumnName(self):
"""列名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ColumnName
@ColumnName.setter
def ColumnName(self, ColumnName):
self._ColumnName = ColumnName
def _deserialize(self, params):
self._ColumnName = params.get("ColumnName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareDetailInfo(AbstractModel):
"""一致性校验详细信息
"""
def __init__(self):
r"""
: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`
"""
self._Difference = None
self._Skipped = None
self._DifferenceAdvancedObjects = None
self._DifferenceData = None
self._DifferenceRow = None
@property
def Difference(self):
"""数据不一致的表详情
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.DifferenceDetail`
"""
return self._Difference
@Difference.setter
def Difference(self, Difference):
self._Difference = Difference
@property
def Skipped(self):
"""跳过校验的表详情
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.SkippedDetail`
"""
return self._Skipped
@Skipped.setter
def Skipped(self, Skipped):
self._Skipped = Skipped
@property
def DifferenceAdvancedObjects(self):
"""数据库不一致的详情,mongodb业务用到
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.DifferenceAdvancedObjectsDetail`
"""
return self._DifferenceAdvancedObjects
@DifferenceAdvancedObjects.setter
def DifferenceAdvancedObjects(self, DifferenceAdvancedObjects):
self._DifferenceAdvancedObjects = DifferenceAdvancedObjects
@property
def DifferenceData(self):
"""数据不一致的详情,mongodb业务用到
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.DifferenceDataDetail`
"""
return self._DifferenceData
@DifferenceData.setter
def DifferenceData(self, DifferenceData):
self._DifferenceData = DifferenceData
@property
def DifferenceRow(self):
"""数据行不一致的详情,mongodb业务用到
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.DifferenceRowDetail`
"""
return self._DifferenceRow
@DifferenceRow.setter
def DifferenceRow(self, DifferenceRow):
self._DifferenceRow = DifferenceRow
def _deserialize(self, params):
if params.get("Difference") is not None:
self._Difference = DifferenceDetail()
self._Difference._deserialize(params.get("Difference"))
if params.get("Skipped") is not None:
self._Skipped = SkippedDetail()
self._Skipped._deserialize(params.get("Skipped"))
if params.get("DifferenceAdvancedObjects") is not None:
self._DifferenceAdvancedObjects = DifferenceAdvancedObjectsDetail()
self._DifferenceAdvancedObjects._deserialize(params.get("DifferenceAdvancedObjects"))
if params.get("DifferenceData") is not None:
self._DifferenceData = DifferenceDataDetail()
self._DifferenceData._deserialize(params.get("DifferenceData"))
if params.get("DifferenceRow") is not None:
self._DifferenceRow = DifferenceRowDetail()
self._DifferenceRow._deserialize(params.get("DifferenceRow"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareObject(AbstractModel):
"""一致性对比对象配置
"""
def __init__(self):
r"""
:param _ObjectMode: 对象模式 整实例-all,部分对象-partial
注意:此字段可能返回 null,表示取不到有效值。
:type ObjectMode: str
:param _ObjectItems: 对象列表
注意:此字段可能返回 null,表示取不到有效值。
:type ObjectItems: list of CompareObjectItem
:param _AdvancedObjects: 高级对象类型,目前只支持mongodb链路。如index(索引),shardkey(片键),schema(库表)
注意:此字段可能返回 null,表示取不到有效值。
:type AdvancedObjects: list of str
"""
self._ObjectMode = None
self._ObjectItems = None
self._AdvancedObjects = None
@property
def ObjectMode(self):
"""对象模式 整实例-all,部分对象-partial
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ObjectMode
@ObjectMode.setter
def ObjectMode(self, ObjectMode):
self._ObjectMode = ObjectMode
@property
def ObjectItems(self):
"""对象列表
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of CompareObjectItem
"""
return self._ObjectItems
@ObjectItems.setter
def ObjectItems(self, ObjectItems):
self._ObjectItems = ObjectItems
@property
def AdvancedObjects(self):
"""高级对象类型,目前只支持mongodb链路。如index(索引),shardkey(片键),schema(库表)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._AdvancedObjects
@AdvancedObjects.setter
def AdvancedObjects(self, AdvancedObjects):
self._AdvancedObjects = AdvancedObjects
def _deserialize(self, params):
self._ObjectMode = params.get("ObjectMode")
if params.get("ObjectItems") is not None:
self._ObjectItems = []
for item in params.get("ObjectItems"):
obj = CompareObjectItem()
obj._deserialize(item)
self._ObjectItems.append(obj)
self._AdvancedObjects = params.get("AdvancedObjects")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareObjectItem(AbstractModel):
"""一致性校验库表对象
"""
def __init__(self):
r"""
:param _DbName: 数据库名
注意:此字段可能返回 null,表示取不到有效值。
:type DbName: str
:param _DbMode: 数据库选择模式: all 为当前对象下的所有对象,partial 为部分对象
注意:此字段可能返回 null,表示取不到有效值。
:type DbMode: str
:param _SchemaName: schema名称
注意:此字段可能返回 null,表示取不到有效值。
:type SchemaName: str
:param _TableMode: 表选择模式: all 为当前对象下的所有表对象,partial 为部分表对象
注意:此字段可能返回 null,表示取不到有效值。
:type TableMode: str
:param _Tables: 用于一致性校验的表配置,当 TableMode 为 partial 时,需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Tables: list of CompareTableItem
:param _ViewMode: 视图选择模式: all 为当前对象下的所有视图对象,partial 为部分视图对象(一致性校验不校验视图,当前参数未启作用)
注意:此字段可能返回 null,表示取不到有效值。
:type ViewMode: str
:param _Views: 用于一致性校验的视图配置,当 ViewMode 为 partial 时, 需要填写(一致性校验不校验视图,当前参数未启作用)
注意:此字段可能返回 null,表示取不到有效值。
:type Views: list of CompareViewItem
"""
self._DbName = None
self._DbMode = None
self._SchemaName = None
self._TableMode = None
self._Tables = None
self._ViewMode = None
self._Views = None
@property
def DbName(self):
"""数据库名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DbName
@DbName.setter
def DbName(self, DbName):
self._DbName = DbName
@property
def DbMode(self):
"""数据库选择模式: all 为当前对象下的所有对象,partial 为部分对象
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DbMode
@DbMode.setter
def DbMode(self, DbMode):
self._DbMode = DbMode
@property
def SchemaName(self):
"""schema名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SchemaName
@SchemaName.setter
def SchemaName(self, SchemaName):
self._SchemaName = SchemaName
@property
def TableMode(self):
"""表选择模式: all 为当前对象下的所有表对象,partial 为部分表对象
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TableMode
@TableMode.setter
def TableMode(self, TableMode):
self._TableMode = TableMode
@property
def Tables(self):
"""用于一致性校验的表配置,当 TableMode 为 partial 时,需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of CompareTableItem
"""
return self._Tables
@Tables.setter
def Tables(self, Tables):
self._Tables = Tables
@property
def ViewMode(self):
"""视图选择模式: all 为当前对象下的所有视图对象,partial 为部分视图对象(一致性校验不校验视图,当前参数未启作用)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ViewMode
@ViewMode.setter
def ViewMode(self, ViewMode):
self._ViewMode = ViewMode
@property
def Views(self):
"""用于一致性校验的视图配置,当 ViewMode 为 partial 时, 需要填写(一致性校验不校验视图,当前参数未启作用)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of CompareViewItem
"""
return self._Views
@Views.setter
def Views(self, Views):
self._Views = Views
def _deserialize(self, params):
self._DbName = params.get("DbName")
self._DbMode = params.get("DbMode")
self._SchemaName = params.get("SchemaName")
self._TableMode = params.get("TableMode")
if params.get("Tables") is not None:
self._Tables = []
for item in params.get("Tables"):
obj = CompareTableItem()
obj._deserialize(item)
self._Tables.append(obj)
self._ViewMode = params.get("ViewMode")
if params.get("Views") is not None:
self._Views = []
for item in params.get("Views"):
obj = CompareViewItem()
obj._deserialize(item)
self._Views.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareOptions(AbstractModel):
"""一致性校验选项
"""
def __init__(self):
r"""
:param _Method: 对比方式:dataCheck(完整数据对比)、sampleDataCheck(抽样数据对比)、rowsCount(行数对比), 默认为dataCheck
注意:此字段可能返回 null,表示取不到有效值。
:type Method: str
:param _SampleRate: 抽样比例;范围0,100。默认为100
注意:此字段可能返回 null,表示取不到有效值。
:type SampleRate: int
:param _ThreadCount: 线程数,取值1-5,默认为1
注意:此字段可能返回 null,表示取不到有效值。
:type ThreadCount: int
"""
self._Method = None
self._SampleRate = None
self._ThreadCount = None
@property
def Method(self):
"""对比方式:dataCheck(完整数据对比)、sampleDataCheck(抽样数据对比)、rowsCount(行数对比), 默认为dataCheck
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Method
@Method.setter
def Method(self, Method):
self._Method = Method
@property
def SampleRate(self):
"""抽样比例;范围0,100。默认为100
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._SampleRate
@SampleRate.setter
def SampleRate(self, SampleRate):
self._SampleRate = SampleRate
@property
def ThreadCount(self):
"""线程数,取值1-5,默认为1
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._ThreadCount
@ThreadCount.setter
def ThreadCount(self, ThreadCount):
self._ThreadCount = ThreadCount
def _deserialize(self, params):
self._Method = params.get("Method")
self._SampleRate = params.get("SampleRate")
self._ThreadCount = params.get("ThreadCount")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareTableItem(AbstractModel):
"""用于一致性校验的表配置
"""
def __init__(self):
r"""
:param _TableName: 表名称
注意:此字段可能返回 null,表示取不到有效值。
:type TableName: str
:param _ColumnMode: column 模式,all 为全部,partial 表示部分(该参数仅对数据同步任务有效)
注意:此字段可能返回 null,表示取不到有效值。
:type ColumnMode: str
:param _Columns: 当 ColumnMode 为 partial 时必填(该参数仅对数据同步任务有效)
注意:此字段可能返回 null,表示取不到有效值。
:type Columns: list of CompareColumnItem
"""
self._TableName = None
self._ColumnMode = None
self._Columns = None
@property
def TableName(self):
"""表名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TableName
@TableName.setter
def TableName(self, TableName):
self._TableName = TableName
@property
def ColumnMode(self):
"""column 模式,all 为全部,partial 表示部分(该参数仅对数据同步任务有效)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ColumnMode
@ColumnMode.setter
def ColumnMode(self, ColumnMode):
self._ColumnMode = ColumnMode
@property
def Columns(self):
"""当 ColumnMode 为 partial 时必填(该参数仅对数据同步任务有效)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of CompareColumnItem
"""
return self._Columns
@Columns.setter
def Columns(self, Columns):
self._Columns = Columns
def _deserialize(self, params):
self._TableName = params.get("TableName")
self._ColumnMode = params.get("ColumnMode")
if params.get("Columns") is not None:
self._Columns = []
for item in params.get("Columns"):
obj = CompareColumnItem()
obj._deserialize(item)
self._Columns.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareTaskInfo(AbstractModel):
"""数据一致性校验结果
"""
def __init__(self):
r"""
:param _CompareTaskId: 一致性校验任务Id
注意:此字段可能返回 null,表示取不到有效值。
:type CompareTaskId: str
:param _Status: 一致性校验结果,包括:unstart(未启动)、running(校验中)、canceled(已终止)、failed(校验任务失败)、inconsistent(不一致)、consistent(一致)、notexist(不存在校验任务)
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
"""
self._CompareTaskId = None
self._Status = None
@property
def CompareTaskId(self):
"""一致性校验任务Id
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
@property
def Status(self):
"""一致性校验结果,包括:unstart(未启动)、running(校验中)、canceled(已终止)、failed(校验任务失败)、inconsistent(不一致)、consistent(一致)、notexist(不存在校验任务)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._CompareTaskId = params.get("CompareTaskId")
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareTaskItem(AbstractModel):
"""一致性校验对象信息
"""
def __init__(self):
r"""
:param _JobId: 任务id
注意:此字段可能返回 null,表示取不到有效值。
:type JobId: str
:param _CompareTaskId: 对比任务 Id
注意:此字段可能返回 null,表示取不到有效值。
:type CompareTaskId: str
:param _TaskName: 对比任务名称
注意:此字段可能返回 null,表示取不到有效值。
:type TaskName: str
:param _Status: 对比任务状态, 可能的值:created - 创建完成;readyRun - 等待运行;running - 运行中;success - 成功;stopping - 结束中;failed - 失败;canceled - 已终止
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
: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: str
:param _CreatedAt: 任务创建时间
注意:此字段可能返回 null,表示取不到有效值。
:type CreatedAt: str
:param _StartedAt: 任务启动时间
注意:此字段可能返回 null,表示取不到有效值。
:type StartedAt: str
:param _FinishedAt: 对比结束时间
注意:此字段可能返回 null,表示取不到有效值。
:type FinishedAt: str
:param _Method: 对比类型,dataCheck(完整数据对比)、sampleDataCheck(抽样数据对比)、rowsCount(行数对比)
注意:此字段可能返回 null,表示取不到有效值。
:type Method: str
:param _Options: 对比配置信息
注意:此字段可能返回 null,表示取不到有效值。
:type Options: :class:`tencentcloud.dts.v20211206.models.CompareOptions`
:param _Message: 一致性校验提示信息
注意:此字段可能返回 null,表示取不到有效值。
:type Message: str
"""
self._JobId = None
self._CompareTaskId = None
self._TaskName = None
self._Status = None
self._Config = None
self._CheckProcess = None
self._CompareProcess = None
self._Conclusion = None
self._CreatedAt = None
self._StartedAt = None
self._FinishedAt = None
self._Method = None
self._Options = None
self._Message = None
@property
def JobId(self):
"""任务id
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def CompareTaskId(self):
"""对比任务 Id
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
@property
def TaskName(self):
"""对比任务名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TaskName
@TaskName.setter
def TaskName(self, TaskName):
self._TaskName = TaskName
@property
def Status(self):
"""对比任务状态, 可能的值:created - 创建完成;readyRun - 等待运行;running - 运行中;success - 成功;stopping - 结束中;failed - 失败;canceled - 已终止
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Config(self):
"""对比任务配置
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareObject`
"""
return self._Config
@Config.setter
def Config(self, Config):
self._Config = Config
@property
def CheckProcess(self):
"""对比任务校验详情
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.ProcessProgress`
"""
return self._CheckProcess
@CheckProcess.setter
def CheckProcess(self, CheckProcess):
self._CheckProcess = CheckProcess
@property
def CompareProcess(self):
"""对比任务运行详情
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.ProcessProgress`
"""
return self._CompareProcess
@CompareProcess.setter
def CompareProcess(self, CompareProcess):
self._CompareProcess = CompareProcess
@property
def Conclusion(self):
"""对比结果, 可能的值:same - 一致;different - 不一致;skipAll - 跳过
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Conclusion
@Conclusion.setter
def Conclusion(self, Conclusion):
self._Conclusion = Conclusion
@property
def CreatedAt(self):
"""任务创建时间
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CreatedAt
@CreatedAt.setter
def CreatedAt(self, CreatedAt):
self._CreatedAt = CreatedAt
@property
def StartedAt(self):
"""任务启动时间
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StartedAt
@StartedAt.setter
def StartedAt(self, StartedAt):
self._StartedAt = StartedAt
@property
def FinishedAt(self):
"""对比结束时间
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._FinishedAt
@FinishedAt.setter
def FinishedAt(self, FinishedAt):
self._FinishedAt = FinishedAt
@property
def Method(self):
"""对比类型,dataCheck(完整数据对比)、sampleDataCheck(抽样数据对比)、rowsCount(行数对比)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Method
@Method.setter
def Method(self, Method):
self._Method = Method
@property
def Options(self):
"""对比配置信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareOptions`
"""
return self._Options
@Options.setter
def Options(self, Options):
self._Options = Options
@property
def Message(self):
"""一致性校验提示信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._CompareTaskId = params.get("CompareTaskId")
self._TaskName = params.get("TaskName")
self._Status = params.get("Status")
if params.get("Config") is not None:
self._Config = CompareObject()
self._Config._deserialize(params.get("Config"))
if params.get("CheckProcess") is not None:
self._CheckProcess = ProcessProgress()
self._CheckProcess._deserialize(params.get("CheckProcess"))
if params.get("CompareProcess") is not None:
self._CompareProcess = ProcessProgress()
self._CompareProcess._deserialize(params.get("CompareProcess"))
self._Conclusion = params.get("Conclusion")
self._CreatedAt = params.get("CreatedAt")
self._StartedAt = params.get("StartedAt")
self._FinishedAt = params.get("FinishedAt")
self._Method = params.get("Method")
if params.get("Options") is not None:
self._Options = CompareOptions()
self._Options._deserialize(params.get("Options"))
self._Message = params.get("Message")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompareViewItem(AbstractModel):
"""用于一致性校验的视图配置
"""
def __init__(self):
r"""
:param _ViewName: 视图名
注意:此字段可能返回 null,表示取不到有效值。
:type ViewName: str
"""
self._ViewName = None
@property
def ViewName(self):
"""视图名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ViewName
@ViewName.setter
def ViewName(self, ViewName):
self._ViewName = ViewName
def _deserialize(self, params):
self._ViewName = params.get("ViewName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompleteMigrateJobRequest(AbstractModel):
"""CompleteMigrateJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
:type JobId: str
:param _CompleteMode: 完成任务的方式,仅支持旧版MySQL迁移任务。waitForSync-等待主从差距为0才停止,immediately-立即完成,不会等待主从差距一致。默认为waitForSync
:type CompleteMode: str
"""
self._JobId = None
self._CompleteMode = None
@property
def JobId(self):
"""数据迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def CompleteMode(self):
"""完成任务的方式,仅支持旧版MySQL迁移任务。waitForSync-等待主从差距为0才停止,immediately-立即完成,不会等待主从差距一致。默认为waitForSync
:rtype: str
"""
return self._CompleteMode
@CompleteMode.setter
def CompleteMode(self, CompleteMode):
self._CompleteMode = CompleteMode
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._CompleteMode = params.get("CompleteMode")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CompleteMigrateJobResponse(AbstractModel):
"""CompleteMigrateJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ConfigureSubscribeJobRequest(AbstractModel):
"""ConfigureSubscribeJob请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的 ID
:type SubscribeId: str
:param _SubscribeMode: 数据订阅的类型,当 DatabaseType 不为 mongodb 时,枚举值为:all-全实例更新;dml-数据更新;ddl-结构更新;dmlAndDdl-数据更新+结构更新。当 DatabaseType 为 mongodb 时,枚举值为 all-全实例更新;database-订阅单库;collection-订阅单集合
:type SubscribeMode: str
:param _AccessType: 源数据库接入类型,如:extranet(公网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、cdb(云数据库)、cvm(云服务器自建)、intranet(自研上云)、vpc(私有网络vpc)。注意具体可选值依赖当前链路支持能力
:type AccessType: str
:param _Endpoints: 数据库节点信息
:type Endpoints: list of EndpointItem
:param _KafkaConfig: Kafka配置
:type KafkaConfig: :class:`tencentcloud.dts.v20211206.models.SubscribeKafkaConfig`
:param _SubscribeObjects: 订阅的数据库表信息,当 SubscribeMode 不为 all和ddl 时,SubscribeObjects 为必选参数
:type SubscribeObjects: list of SubscribeObject
:param _Protocol: 订阅数据格式,如:protobuf、json、avro。注意具体可选值依赖当前链路支持能力,数据格式详情参考官网的消费demo文档
:type Protocol: str
:param _PipelineInfo: mongo选填参数:输出聚合设置。
:type PipelineInfo: list of PipelineInfo
:param _ExtraAttr: 为业务添加的额外信息。参数名作key,参数值作value。
mysql选填参数:ProcessXA-是否处理XA事务,填true处理,不填或填其他值不处理。
mongo选填参数:SubscribeType-订阅类型,目前只支持changeStream,不填也是默认changeStream。
其他业务暂没有可选参数。
:type ExtraAttr: list of KeyValuePairOption
"""
self._SubscribeId = None
self._SubscribeMode = None
self._AccessType = None
self._Endpoints = None
self._KafkaConfig = None
self._SubscribeObjects = None
self._Protocol = None
self._PipelineInfo = None
self._ExtraAttr = None
@property
def SubscribeId(self):
"""数据订阅实例的 ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def SubscribeMode(self):
"""数据订阅的类型,当 DatabaseType 不为 mongodb 时,枚举值为:all-全实例更新;dml-数据更新;ddl-结构更新;dmlAndDdl-数据更新+结构更新。当 DatabaseType 为 mongodb 时,枚举值为 all-全实例更新;database-订阅单库;collection-订阅单集合
:rtype: str
"""
return self._SubscribeMode
@SubscribeMode.setter
def SubscribeMode(self, SubscribeMode):
self._SubscribeMode = SubscribeMode
@property
def AccessType(self):
"""源数据库接入类型,如:extranet(公网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、cdb(云数据库)、cvm(云服务器自建)、intranet(自研上云)、vpc(私有网络vpc)。注意具体可选值依赖当前链路支持能力
:rtype: str
"""
return self._AccessType
@AccessType.setter
def AccessType(self, AccessType):
self._AccessType = AccessType
@property
def Endpoints(self):
"""数据库节点信息
:rtype: list of EndpointItem
"""
return self._Endpoints
@Endpoints.setter
def Endpoints(self, Endpoints):
self._Endpoints = Endpoints
@property
def KafkaConfig(self):
"""Kafka配置
:rtype: :class:`tencentcloud.dts.v20211206.models.SubscribeKafkaConfig`
"""
return self._KafkaConfig
@KafkaConfig.setter
def KafkaConfig(self, KafkaConfig):
self._KafkaConfig = KafkaConfig
@property
def SubscribeObjects(self):
"""订阅的数据库表信息,当 SubscribeMode 不为 all和ddl 时,SubscribeObjects 为必选参数
:rtype: list of SubscribeObject
"""
return self._SubscribeObjects
@SubscribeObjects.setter
def SubscribeObjects(self, SubscribeObjects):
self._SubscribeObjects = SubscribeObjects
@property
def Protocol(self):
"""订阅数据格式,如:protobuf、json、avro。注意具体可选值依赖当前链路支持能力,数据格式详情参考官网的消费demo文档
:rtype: str
"""
return self._Protocol
@Protocol.setter
def Protocol(self, Protocol):
self._Protocol = Protocol
@property
def PipelineInfo(self):
"""mongo选填参数:输出聚合设置。
:rtype: list of PipelineInfo
"""
return self._PipelineInfo
@PipelineInfo.setter
def PipelineInfo(self, PipelineInfo):
self._PipelineInfo = PipelineInfo
@property
def ExtraAttr(self):
"""为业务添加的额外信息。参数名作key,参数值作value。
mysql选填参数:ProcessXA-是否处理XA事务,填true处理,不填或填其他值不处理。
mongo选填参数:SubscribeType-订阅类型,目前只支持changeStream,不填也是默认changeStream。
其他业务暂没有可选参数。
:rtype: list of KeyValuePairOption
"""
return self._ExtraAttr
@ExtraAttr.setter
def ExtraAttr(self, ExtraAttr):
self._ExtraAttr = ExtraAttr
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._SubscribeMode = params.get("SubscribeMode")
self._AccessType = params.get("AccessType")
if params.get("Endpoints") is not None:
self._Endpoints = []
for item in params.get("Endpoints"):
obj = EndpointItem()
obj._deserialize(item)
self._Endpoints.append(obj)
if params.get("KafkaConfig") is not None:
self._KafkaConfig = SubscribeKafkaConfig()
self._KafkaConfig._deserialize(params.get("KafkaConfig"))
if params.get("SubscribeObjects") is not None:
self._SubscribeObjects = []
for item in params.get("SubscribeObjects"):
obj = SubscribeObject()
obj._deserialize(item)
self._SubscribeObjects.append(obj)
self._Protocol = params.get("Protocol")
if params.get("PipelineInfo") is not None:
self._PipelineInfo = []
for item in params.get("PipelineInfo"):
obj = PipelineInfo()
obj._deserialize(item)
self._PipelineInfo.append(obj)
if params.get("ExtraAttr") is not None:
self._ExtraAttr = []
for item in params.get("ExtraAttr"):
obj = KeyValuePairOption()
obj._deserialize(item)
self._ExtraAttr.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ConfigureSubscribeJobResponse(AbstractModel):
"""ConfigureSubscribeJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ConfigureSyncJobRequest(AbstractModel):
"""ConfigureSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步实例id(即标识一个同步作业),形如sync-werwfs23
:type JobId: str
:param _SrcAccessType: 源端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云),注意具体可选值依赖当前链路
:type SrcAccessType: str
:param _DstAccessType: 目标端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云)、ckafka(CKafka实例),注意具体可选值依赖当前链路
:type DstAccessType: str
:param _Objects: 同步库表对象信息
:type Objects: :class:`tencentcloud.dts.v20211206.models.Objects`
:param _JobName: 同步任务名称
:type JobName: str
:param _JobMode: 枚举值是 liteMode 和 fullMode ,分别对应精简模式或正常模式
:type JobMode: str
:param _RunMode: 运行模式,取值如:Immediate(表示立即运行,默认为此项值)、Timed(表示定时运行)
:type RunMode: str
:param _ExpectRunTime: 期待启动时间,当RunMode取值为Timed时,此值必填,形如:"2006-01-02 15:04:05"
:type ExpectRunTime: str
:param _SrcConnectType: 源端tdsql连接方式:proxy-通过tdsql proxy主机访问各个set节点,注意只有在自研上云的网络环境下才能通过这种方式连接,SrcInfos中只需要提供proxy主机信息。set-直连set节点,如选择直连set方式,需要正确填写proxy主机信息及所有set节点信息。源端是tdsqlmysql类型必填。
:type SrcConnectType: str
:param _SrcInfo: 源端信息,单机版类型数据库配置使用,且SrcNodeType传single。例如mysql、percona、mariadb等。
:type SrcInfo: :class:`tencentcloud.dts.v20211206.models.Endpoint`
:param _SrcInfos: 源端信息,分布式类型数据库配置使用,且SrcNodeType传cluster。例如分布式数据库tdsqlmysql等。
:type SrcInfos: :class:`tencentcloud.dts.v20211206.models.SyncDBEndpointInfos`
:param _SrcNodeType: 枚举值:cluster、single。源库为单节点数据库使用single,多节点使用cluster
:type SrcNodeType: str
:param _DstInfo: 目标端信息,单机版类型数据库配置使用,且SrcNodeType传single。例如mysql、percona、mariadb等。
:type DstInfo: :class:`tencentcloud.dts.v20211206.models.Endpoint`
:param _DstInfos: 目标端信息,分布式类型数据库配置使用,且SrcNodeType传cluster。例如分布式数据库tdsqlmysql等。
:type DstInfos: :class:`tencentcloud.dts.v20211206.models.SyncDBEndpointInfos`
:param _DstNodeType: 枚举值:cluster、single。目标库为单节点数据库使用single,多节点使用cluster
:type DstNodeType: str
:param _Options: 同步任务选项;该字段下的RateLimitOption暂时无法生效、如果需要修改限速、可通过ModifySyncRateLimit接口完成限速
:type Options: :class:`tencentcloud.dts.v20211206.models.Options`
:param _AutoRetryTimeRangeMinutes: 自动重试的时间段、可设置5至720分钟、0表示不重试
:type AutoRetryTimeRangeMinutes: int
"""
self._JobId = None
self._SrcAccessType = None
self._DstAccessType = None
self._Objects = None
self._JobName = None
self._JobMode = None
self._RunMode = None
self._ExpectRunTime = None
self._SrcConnectType = None
self._SrcInfo = None
self._SrcInfos = None
self._SrcNodeType = None
self._DstInfo = None
self._DstInfos = None
self._DstNodeType = None
self._Options = None
self._AutoRetryTimeRangeMinutes = None
@property
def JobId(self):
"""同步实例id(即标识一个同步作业),形如sync-werwfs23
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def SrcAccessType(self):
"""源端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云),注意具体可选值依赖当前链路
:rtype: str
"""
return self._SrcAccessType
@SrcAccessType.setter
def SrcAccessType(self, SrcAccessType):
self._SrcAccessType = SrcAccessType
@property
def DstAccessType(self):
"""目标端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云)、ckafka(CKafka实例),注意具体可选值依赖当前链路
:rtype: str
"""
return self._DstAccessType
@DstAccessType.setter
def DstAccessType(self, DstAccessType):
self._DstAccessType = DstAccessType
@property
def Objects(self):
"""同步库表对象信息
:rtype: :class:`tencentcloud.dts.v20211206.models.Objects`
"""
return self._Objects
@Objects.setter
def Objects(self, Objects):
self._Objects = Objects
@property
def JobName(self):
"""同步任务名称
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
@property
def JobMode(self):
"""枚举值是 liteMode 和 fullMode ,分别对应精简模式或正常模式
:rtype: str
"""
return self._JobMode
@JobMode.setter
def JobMode(self, JobMode):
self._JobMode = JobMode
@property
def RunMode(self):
"""运行模式,取值如:Immediate(表示立即运行,默认为此项值)、Timed(表示定时运行)
:rtype: str
"""
return self._RunMode
@RunMode.setter
def RunMode(self, RunMode):
self._RunMode = RunMode
@property
def ExpectRunTime(self):
"""期待启动时间,当RunMode取值为Timed时,此值必填,形如:"2006-01-02 15:04:05"
:rtype: str
"""
return self._ExpectRunTime
@ExpectRunTime.setter
def ExpectRunTime(self, ExpectRunTime):
self._ExpectRunTime = ExpectRunTime
@property
def SrcConnectType(self):
"""源端tdsql连接方式:proxy-通过tdsql proxy主机访问各个set节点,注意只有在自研上云的网络环境下才能通过这种方式连接,SrcInfos中只需要提供proxy主机信息。set-直连set节点,如选择直连set方式,需要正确填写proxy主机信息及所有set节点信息。源端是tdsqlmysql类型必填。
:rtype: str
"""
return self._SrcConnectType
@SrcConnectType.setter
def SrcConnectType(self, SrcConnectType):
self._SrcConnectType = SrcConnectType
@property
def SrcInfo(self):
"""源端信息,单机版类型数据库配置使用,且SrcNodeType传single。例如mysql、percona、mariadb等。
:rtype: :class:`tencentcloud.dts.v20211206.models.Endpoint`
"""
return self._SrcInfo
@SrcInfo.setter
def SrcInfo(self, SrcInfo):
self._SrcInfo = SrcInfo
@property
def SrcInfos(self):
"""源端信息,分布式类型数据库配置使用,且SrcNodeType传cluster。例如分布式数据库tdsqlmysql等。
:rtype: :class:`tencentcloud.dts.v20211206.models.SyncDBEndpointInfos`
"""
return self._SrcInfos
@SrcInfos.setter
def SrcInfos(self, SrcInfos):
self._SrcInfos = SrcInfos
@property
def SrcNodeType(self):
"""枚举值:cluster、single。源库为单节点数据库使用single,多节点使用cluster
:rtype: str
"""
return self._SrcNodeType
@SrcNodeType.setter
def SrcNodeType(self, SrcNodeType):
self._SrcNodeType = SrcNodeType
@property
def DstInfo(self):
"""目标端信息,单机版类型数据库配置使用,且SrcNodeType传single。例如mysql、percona、mariadb等。
:rtype: :class:`tencentcloud.dts.v20211206.models.Endpoint`
"""
return self._DstInfo
@DstInfo.setter
def DstInfo(self, DstInfo):
self._DstInfo = DstInfo
@property
def DstInfos(self):
"""目标端信息,分布式类型数据库配置使用,且SrcNodeType传cluster。例如分布式数据库tdsqlmysql等。
:rtype: :class:`tencentcloud.dts.v20211206.models.SyncDBEndpointInfos`
"""
return self._DstInfos
@DstInfos.setter
def DstInfos(self, DstInfos):
self._DstInfos = DstInfos
@property
def DstNodeType(self):
"""枚举值:cluster、single。目标库为单节点数据库使用single,多节点使用cluster
:rtype: str
"""
return self._DstNodeType
@DstNodeType.setter
def DstNodeType(self, DstNodeType):
self._DstNodeType = DstNodeType
@property
def Options(self):
"""同步任务选项;该字段下的RateLimitOption暂时无法生效、如果需要修改限速、可通过ModifySyncRateLimit接口完成限速
:rtype: :class:`tencentcloud.dts.v20211206.models.Options`
"""
return self._Options
@Options.setter
def Options(self, Options):
self._Options = Options
@property
def AutoRetryTimeRangeMinutes(self):
"""自动重试的时间段、可设置5至720分钟、0表示不重试
:rtype: int
"""
return self._AutoRetryTimeRangeMinutes
@AutoRetryTimeRangeMinutes.setter
def AutoRetryTimeRangeMinutes(self, AutoRetryTimeRangeMinutes):
self._AutoRetryTimeRangeMinutes = AutoRetryTimeRangeMinutes
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._SrcAccessType = params.get("SrcAccessType")
self._DstAccessType = params.get("DstAccessType")
if params.get("Objects") is not None:
self._Objects = Objects()
self._Objects._deserialize(params.get("Objects"))
self._JobName = params.get("JobName")
self._JobMode = params.get("JobMode")
self._RunMode = params.get("RunMode")
self._ExpectRunTime = params.get("ExpectRunTime")
self._SrcConnectType = params.get("SrcConnectType")
if params.get("SrcInfo") is not None:
self._SrcInfo = Endpoint()
self._SrcInfo._deserialize(params.get("SrcInfo"))
if params.get("SrcInfos") is not None:
self._SrcInfos = SyncDBEndpointInfos()
self._SrcInfos._deserialize(params.get("SrcInfos"))
self._SrcNodeType = params.get("SrcNodeType")
if params.get("DstInfo") is not None:
self._DstInfo = Endpoint()
self._DstInfo._deserialize(params.get("DstInfo"))
if params.get("DstInfos") is not None:
self._DstInfos = SyncDBEndpointInfos()
self._DstInfos._deserialize(params.get("DstInfos"))
self._DstNodeType = params.get("DstNodeType")
if params.get("Options") is not None:
self._Options = Options()
self._Options._deserialize(params.get("Options"))
self._AutoRetryTimeRangeMinutes = params.get("AutoRetryTimeRangeMinutes")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ConfigureSyncJobResponse(AbstractModel):
"""ConfigureSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ConflictHandleOption(AbstractModel):
"""冲突处理里的详细描述
"""
def __init__(self):
r"""
:param _ConditionColumn: 条件覆盖的列
注意:此字段可能返回 null,表示取不到有效值。
:type ConditionColumn: str
:param _ConditionOperator: 条件覆盖操作
注意:此字段可能返回 null,表示取不到有效值。
:type ConditionOperator: str
:param _ConditionOrderInSrcAndDst: 条件覆盖优先级处理
注意:此字段可能返回 null,表示取不到有效值。
:type ConditionOrderInSrcAndDst: str
"""
self._ConditionColumn = None
self._ConditionOperator = None
self._ConditionOrderInSrcAndDst = None
@property
def ConditionColumn(self):
"""条件覆盖的列
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ConditionColumn
@ConditionColumn.setter
def ConditionColumn(self, ConditionColumn):
self._ConditionColumn = ConditionColumn
@property
def ConditionOperator(self):
"""条件覆盖操作
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ConditionOperator
@ConditionOperator.setter
def ConditionOperator(self, ConditionOperator):
self._ConditionOperator = ConditionOperator
@property
def ConditionOrderInSrcAndDst(self):
"""条件覆盖优先级处理
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ConditionOrderInSrcAndDst
@ConditionOrderInSrcAndDst.setter
def ConditionOrderInSrcAndDst(self, ConditionOrderInSrcAndDst):
self._ConditionOrderInSrcAndDst = ConditionOrderInSrcAndDst
def _deserialize(self, params):
self._ConditionColumn = params.get("ConditionColumn")
self._ConditionOperator = params.get("ConditionOperator")
self._ConditionOrderInSrcAndDst = params.get("ConditionOrderInSrcAndDst")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ConsistencyOption(AbstractModel):
"""数据一致性校验选项, 默认为不开启一致性校验
"""
def __init__(self):
r"""
:param _Mode: 一致性检测类型: full(全量检测迁移对象)、noCheck(不检测)、notConfigured(未配置)
注意:此字段可能返回 null,表示取不到有效值。
:type Mode: str
"""
self._Mode = None
@property
def Mode(self):
"""一致性检测类型: full(全量检测迁移对象)、noCheck(不检测)、notConfigured(未配置)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
def _deserialize(self, params):
self._Mode = params.get("Mode")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ContinueMigrateJobRequest(AbstractModel):
"""ContinueMigrateJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""数据迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ContinueMigrateJobResponse(AbstractModel):
"""ContinueMigrateJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ContinueSyncJobRequest(AbstractModel):
"""ContinueSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ContinueSyncJobResponse(AbstractModel):
"""ContinueSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CreateCheckSyncJobRequest(AbstractModel):
"""CreateCheckSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateCheckSyncJobResponse(AbstractModel):
"""CreateCheckSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CreateCompareTaskRequest(AbstractModel):
"""CreateCompareTask请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 任务 Id
:type JobId: str
:param _TaskName: 数据对比任务名称,若为空则默认给CompareTaskId相同值
:type TaskName: str
:param _ObjectMode: 数据对比对象模式,sameAsMigrate(全部迁移对象, 默认为此项配置),custom(自定义模式)
:type ObjectMode: str
:param _Objects: 数据对比对象,当ObjectMode为custom时,此项需要填写。
:type Objects: :class:`tencentcloud.dts.v20211206.models.CompareObject`
:param _Options: 一致性校验选项
:type Options: :class:`tencentcloud.dts.v20211206.models.CompareOptions`
"""
self._JobId = None
self._TaskName = None
self._ObjectMode = None
self._Objects = None
self._Options = None
@property
def JobId(self):
"""任务 Id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def TaskName(self):
"""数据对比任务名称,若为空则默认给CompareTaskId相同值
:rtype: str
"""
return self._TaskName
@TaskName.setter
def TaskName(self, TaskName):
self._TaskName = TaskName
@property
def ObjectMode(self):
"""数据对比对象模式,sameAsMigrate(全部迁移对象, 默认为此项配置),custom(自定义模式)
:rtype: str
"""
return self._ObjectMode
@ObjectMode.setter
def ObjectMode(self, ObjectMode):
self._ObjectMode = ObjectMode
@property
def Objects(self):
"""数据对比对象,当ObjectMode为custom时,此项需要填写。
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareObject`
"""
return self._Objects
@Objects.setter
def Objects(self, Objects):
self._Objects = Objects
@property
def Options(self):
"""一致性校验选项
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareOptions`
"""
return self._Options
@Options.setter
def Options(self, Options):
self._Options = Options
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._TaskName = params.get("TaskName")
self._ObjectMode = params.get("ObjectMode")
if params.get("Objects") is not None:
self._Objects = CompareObject()
self._Objects._deserialize(params.get("Objects"))
if params.get("Options") is not None:
self._Options = CompareOptions()
self._Options._deserialize(params.get("Options"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateCompareTaskResponse(AbstractModel):
"""CreateCompareTask返回参数结构体
"""
def __init__(self):
r"""
:param _CompareTaskId: 数据对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
注意:此字段可能返回 null,表示取不到有效值。
:type CompareTaskId: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._CompareTaskId = None
self._RequestId = None
@property
def CompareTaskId(self):
"""数据对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._CompareTaskId = params.get("CompareTaskId")
self._RequestId = params.get("RequestId")
class CreateConsumerGroupRequest(AbstractModel):
"""CreateConsumerGroup请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 订阅实例id
:type SubscribeId: str
:param _ConsumerGroupName: 消费组名称,以数字、字母(大小写)或者_ - .开头,以数字、字母(大小写)结尾。实际生成的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
:type ConsumerGroupName: str
:param _AccountName: 账号名称。以数字、字母(大小写)或者_ - .开头,以数字、字母(大小写)结尾。实际生成的账户全称形如:account-#{SubscribeId}-#{AccountName}
:type AccountName: str
:param _Password: 消费组密码,长度必须大于3
:type Password: str
:param _Description: 消费组备注
:type Description: str
"""
self._SubscribeId = None
self._ConsumerGroupName = None
self._AccountName = None
self._Password = None
self._Description = None
@property
def SubscribeId(self):
"""订阅实例id
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def ConsumerGroupName(self):
"""消费组名称,以数字、字母(大小写)或者_ - .开头,以数字、字母(大小写)结尾。实际生成的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
:rtype: str
"""
return self._ConsumerGroupName
@ConsumerGroupName.setter
def ConsumerGroupName(self, ConsumerGroupName):
self._ConsumerGroupName = ConsumerGroupName
@property
def AccountName(self):
"""账号名称。以数字、字母(大小写)或者_ - .开头,以数字、字母(大小写)结尾。实际生成的账户全称形如:account-#{SubscribeId}-#{AccountName}
:rtype: str
"""
return self._AccountName
@AccountName.setter
def AccountName(self, AccountName):
self._AccountName = AccountName
@property
def Password(self):
"""消费组密码,长度必须大于3
:rtype: str
"""
return self._Password
@Password.setter
def Password(self, Password):
self._Password = Password
@property
def Description(self):
"""消费组备注
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._ConsumerGroupName = params.get("ConsumerGroupName")
self._AccountName = params.get("AccountName")
self._Password = params.get("Password")
self._Description = params.get("Description")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateConsumerGroupResponse(AbstractModel):
"""CreateConsumerGroup返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CreateMigrateCheckJobRequest(AbstractModel):
"""CreateMigrateCheckJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""数据迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateMigrateCheckJobResponse(AbstractModel):
"""CreateMigrateCheckJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CreateMigrationServiceRequest(AbstractModel):
"""CreateMigrationService请求参数结构体
"""
def __init__(self):
r"""
:param _SrcDatabaseType: 源实例数据库类型,如mysql,redis,percona,mongodb,postgresql,sqlserver,mariadb,cynosdbmysql
:type SrcDatabaseType: str
:param _DstDatabaseType: 目标实例数据库类型,如mysql,redis,percona,mongodb,postgresql,sqlserver,mariadb,cynosdbmysql
:type DstDatabaseType: str
:param _SrcRegion: 源实例地域,如:ap-guangzhou
:type SrcRegion: str
:param _DstRegion: 目标实例地域,如:ap-guangzhou。注意,目标地域必须和API请求地域保持一致。
:type DstRegion: str
:param _InstanceClass: 实例规格,包括:small、medium、large、xlarge、2xlarge
:type InstanceClass: str
:param _Count: 购买数量,范围为[1,15],默认为1
:type Count: int
:param _JobName: 迁移服务名称,最大长度128
:type JobName: str
:param _Tags: 标签信息
:type Tags: list of TagItem
"""
self._SrcDatabaseType = None
self._DstDatabaseType = None
self._SrcRegion = None
self._DstRegion = None
self._InstanceClass = None
self._Count = None
self._JobName = None
self._Tags = None
@property
def SrcDatabaseType(self):
"""源实例数据库类型,如mysql,redis,percona,mongodb,postgresql,sqlserver,mariadb,cynosdbmysql
:rtype: str
"""
return self._SrcDatabaseType
@SrcDatabaseType.setter
def SrcDatabaseType(self, SrcDatabaseType):
self._SrcDatabaseType = SrcDatabaseType
@property
def DstDatabaseType(self):
"""目标实例数据库类型,如mysql,redis,percona,mongodb,postgresql,sqlserver,mariadb,cynosdbmysql
:rtype: str
"""
return self._DstDatabaseType
@DstDatabaseType.setter
def DstDatabaseType(self, DstDatabaseType):
self._DstDatabaseType = DstDatabaseType
@property
def SrcRegion(self):
"""源实例地域,如:ap-guangzhou
:rtype: str
"""
return self._SrcRegion
@SrcRegion.setter
def SrcRegion(self, SrcRegion):
self._SrcRegion = SrcRegion
@property
def DstRegion(self):
"""目标实例地域,如:ap-guangzhou。注意,目标地域必须和API请求地域保持一致。
:rtype: str
"""
return self._DstRegion
@DstRegion.setter
def DstRegion(self, DstRegion):
self._DstRegion = DstRegion
@property
def InstanceClass(self):
"""实例规格,包括:small、medium、large、xlarge、2xlarge
:rtype: str
"""
return self._InstanceClass
@InstanceClass.setter
def InstanceClass(self, InstanceClass):
self._InstanceClass = InstanceClass
@property
def Count(self):
"""购买数量,范围为[1,15],默认为1
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def JobName(self):
"""迁移服务名称,最大长度128
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
@property
def Tags(self):
"""标签信息
:rtype: list of TagItem
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
def _deserialize(self, params):
self._SrcDatabaseType = params.get("SrcDatabaseType")
self._DstDatabaseType = params.get("DstDatabaseType")
self._SrcRegion = params.get("SrcRegion")
self._DstRegion = params.get("DstRegion")
self._InstanceClass = params.get("InstanceClass")
self._Count = params.get("Count")
self._JobName = params.get("JobName")
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = TagItem()
obj._deserialize(item)
self._Tags.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateMigrationServiceResponse(AbstractModel):
"""CreateMigrationService返回参数结构体
"""
def __init__(self):
r"""
:param _JobIds: 下单成功随机生成的迁移任务id列表,形如:dts-c1f6rs21
注意:此字段可能返回 null,表示取不到有效值。
:type JobIds: list of str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._JobIds = None
self._RequestId = None
@property
def JobIds(self):
"""下单成功随机生成的迁移任务id列表,形如:dts-c1f6rs21
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._JobIds
@JobIds.setter
def JobIds(self, JobIds):
self._JobIds = JobIds
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._JobIds = params.get("JobIds")
self._RequestId = params.get("RequestId")
class CreateModifyCheckSyncJobRequest(AbstractModel):
"""CreateModifyCheckSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateModifyCheckSyncJobResponse(AbstractModel):
"""CreateModifyCheckSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CreateSubscribeCheckJobRequest(AbstractModel):
"""CreateSubscribeCheckJob请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的 ID
:type SubscribeId: str
"""
self._SubscribeId = None
@property
def SubscribeId(self):
"""数据订阅实例的 ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateSubscribeCheckJobResponse(AbstractModel):
"""CreateSubscribeCheckJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class CreateSubscribeRequest(AbstractModel):
"""CreateSubscribe请求参数结构体
"""
def __init__(self):
r"""
:param _Product: 订阅的数据库类型,目前支持 cynosdbmysql(tdsql-c mysql版),mariadb,mongodb,mysql,percona,tdpg(tdsql postgresql版),tdsqlpercona(tdsql mysql版)
:type Product: str
:param _PayType: 付费方式,枚举值:0-包年包月,1-按量计费
:type PayType: int
:param _Duration: 购买时长。当 payType 为包年包月时,该项需要填,单位为月,最小值为 1,最大值为 120。不填默认1
:type Duration: int
:param _AutoRenew: 是否自动续费。当 payType 为包年包月时,该项需要填。枚举值:0-不自动续费,1-自动续费。默认不自动续费。按量计费设置该标识无效。
:type AutoRenew: int
:param _Count: 购买数量,默认为1,最大为10
:type Count: int
:param _Tags: 实例资源标签
:type Tags: list of TagItem
:param _Name: 任务名,自定义
:type Name: str
"""
self._Product = None
self._PayType = None
self._Duration = None
self._AutoRenew = None
self._Count = None
self._Tags = None
self._Name = None
@property
def Product(self):
"""订阅的数据库类型,目前支持 cynosdbmysql(tdsql-c mysql版),mariadb,mongodb,mysql,percona,tdpg(tdsql postgresql版),tdsqlpercona(tdsql mysql版)
:rtype: str
"""
return self._Product
@Product.setter
def Product(self, Product):
self._Product = Product
@property
def PayType(self):
"""付费方式,枚举值:0-包年包月,1-按量计费
:rtype: int
"""
return self._PayType
@PayType.setter
def PayType(self, PayType):
self._PayType = PayType
@property
def Duration(self):
"""购买时长。当 payType 为包年包月时,该项需要填,单位为月,最小值为 1,最大值为 120。不填默认1
:rtype: int
"""
return self._Duration
@Duration.setter
def Duration(self, Duration):
self._Duration = Duration
@property
def AutoRenew(self):
"""是否自动续费。当 payType 为包年包月时,该项需要填。枚举值:0-不自动续费,1-自动续费。默认不自动续费。按量计费设置该标识无效。
:rtype: int
"""
return self._AutoRenew
@AutoRenew.setter
def AutoRenew(self, AutoRenew):
self._AutoRenew = AutoRenew
@property
def Count(self):
"""购买数量,默认为1,最大为10
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def Tags(self):
"""实例资源标签
:rtype: list of TagItem
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def Name(self):
"""任务名,自定义
:rtype: str
"""
return self._Name
@Name.setter
def Name(self, Name):
self._Name = Name
def _deserialize(self, params):
self._Product = params.get("Product")
self._PayType = params.get("PayType")
self._Duration = params.get("Duration")
self._AutoRenew = params.get("AutoRenew")
self._Count = params.get("Count")
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = TagItem()
obj._deserialize(item)
self._Tags.append(obj)
self._Name = params.get("Name")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateSubscribeResponse(AbstractModel):
"""CreateSubscribe返回参数结构体
"""
def __init__(self):
r"""
:param _SubscribeIds: 数据订阅实例的ID数组
注意:此字段可能返回 null,表示取不到有效值。
:type SubscribeIds: list of str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._SubscribeIds = None
self._RequestId = None
@property
def SubscribeIds(self):
"""数据订阅实例的ID数组
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._SubscribeIds
@SubscribeIds.setter
def SubscribeIds(self, SubscribeIds):
self._SubscribeIds = SubscribeIds
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._SubscribeIds = params.get("SubscribeIds")
self._RequestId = params.get("RequestId")
class CreateSyncJobRequest(AbstractModel):
"""CreateSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _PayMode: 付款类型, 如:PrePay(表示包年包月)、PostPay(表示按时按量)
:type PayMode: str
:param _SrcDatabaseType: 源端数据库类型,如mysql,mariadb,percona,postgresql,cynosdbmysql(表示TDSQL-C MySQL),tdpg(TDSQL PostgreSQL版),tdsqlmysql,tdstore(表示TDSQL TDStore版)等。
:type SrcDatabaseType: str
:param _SrcRegion: 源端数据库所在地域,如ap-guangzhou
:type SrcRegion: str
:param _DstDatabaseType: 目标端数据库类型,如mysql,mariadb,percona,cynosdbmysql(表示TDSQL-C MySQL),tdpg(TDSQL PostgreSQL版),tdsqlmysql,kafka,tdstore(表示TDSQL TDStore版)等。
:type DstDatabaseType: str
:param _DstRegion: 目标端数据库所在地域,如ap-guangzhou
:type DstRegion: str
:param _Specification: 同步任务规格,Standard:标准版
:type Specification: str
:param _TimeSpan: 购买时长(单位:月),当PayMode值为PrePay则此项配置有意义,默认为1月,取值范围为[1,100]
:type TimeSpan: int
:param _Tags: 标签信息
:type Tags: list of TagItem
:param _Count: 一次购买的同步任务数量,取值范围为[1, 10],默认为1
:type Count: int
:param _AutoRenew: 自动续费标识,当PayMode值为PrePay则此项配置有意义,取值为:1(表示自动续费)、0(不自动续费,默认为此值)
:type AutoRenew: int
:param _InstanceClass: 同步链路规格,如micro,small,medium,large,默认为medium
:type InstanceClass: str
:param _JobName: 同步任务名称
:type JobName: str
:param _ExistedJobId: 创建类似任务的现有任务Id
:type ExistedJobId: str
"""
self._PayMode = None
self._SrcDatabaseType = None
self._SrcRegion = None
self._DstDatabaseType = None
self._DstRegion = None
self._Specification = None
self._TimeSpan = None
self._Tags = None
self._Count = None
self._AutoRenew = None
self._InstanceClass = None
self._JobName = None
self._ExistedJobId = None
@property
def PayMode(self):
"""付款类型, 如:PrePay(表示包年包月)、PostPay(表示按时按量)
:rtype: str
"""
return self._PayMode
@PayMode.setter
def PayMode(self, PayMode):
self._PayMode = PayMode
@property
def SrcDatabaseType(self):
"""源端数据库类型,如mysql,mariadb,percona,postgresql,cynosdbmysql(表示TDSQL-C MySQL),tdpg(TDSQL PostgreSQL版),tdsqlmysql,tdstore(表示TDSQL TDStore版)等。
:rtype: str
"""
return self._SrcDatabaseType
@SrcDatabaseType.setter
def SrcDatabaseType(self, SrcDatabaseType):
self._SrcDatabaseType = SrcDatabaseType
@property
def SrcRegion(self):
"""源端数据库所在地域,如ap-guangzhou
:rtype: str
"""
return self._SrcRegion
@SrcRegion.setter
def SrcRegion(self, SrcRegion):
self._SrcRegion = SrcRegion
@property
def DstDatabaseType(self):
"""目标端数据库类型,如mysql,mariadb,percona,cynosdbmysql(表示TDSQL-C MySQL),tdpg(TDSQL PostgreSQL版),tdsqlmysql,kafka,tdstore(表示TDSQL TDStore版)等。
:rtype: str
"""
return self._DstDatabaseType
@DstDatabaseType.setter
def DstDatabaseType(self, DstDatabaseType):
self._DstDatabaseType = DstDatabaseType
@property
def DstRegion(self):
"""目标端数据库所在地域,如ap-guangzhou
:rtype: str
"""
return self._DstRegion
@DstRegion.setter
def DstRegion(self, DstRegion):
self._DstRegion = DstRegion
@property
def Specification(self):
"""同步任务规格,Standard:标准版
:rtype: str
"""
return self._Specification
@Specification.setter
def Specification(self, Specification):
self._Specification = Specification
@property
def TimeSpan(self):
"""购买时长(单位:月),当PayMode值为PrePay则此项配置有意义,默认为1月,取值范围为[1,100]
:rtype: int
"""
return self._TimeSpan
@TimeSpan.setter
def TimeSpan(self, TimeSpan):
self._TimeSpan = TimeSpan
@property
def Tags(self):
"""标签信息
:rtype: list of TagItem
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def Count(self):
"""一次购买的同步任务数量,取值范围为[1, 10],默认为1
:rtype: int
"""
return self._Count
@Count.setter
def Count(self, Count):
self._Count = Count
@property
def AutoRenew(self):
"""自动续费标识,当PayMode值为PrePay则此项配置有意义,取值为:1(表示自动续费)、0(不自动续费,默认为此值)
:rtype: int
"""
return self._AutoRenew
@AutoRenew.setter
def AutoRenew(self, AutoRenew):
self._AutoRenew = AutoRenew
@property
def InstanceClass(self):
"""同步链路规格,如micro,small,medium,large,默认为medium
:rtype: str
"""
return self._InstanceClass
@InstanceClass.setter
def InstanceClass(self, InstanceClass):
self._InstanceClass = InstanceClass
@property
def JobName(self):
"""同步任务名称
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
@property
def ExistedJobId(self):
"""创建类似任务的现有任务Id
:rtype: str
"""
return self._ExistedJobId
@ExistedJobId.setter
def ExistedJobId(self, ExistedJobId):
self._ExistedJobId = ExistedJobId
def _deserialize(self, params):
self._PayMode = params.get("PayMode")
self._SrcDatabaseType = params.get("SrcDatabaseType")
self._SrcRegion = params.get("SrcRegion")
self._DstDatabaseType = params.get("DstDatabaseType")
self._DstRegion = params.get("DstRegion")
self._Specification = params.get("Specification")
self._TimeSpan = params.get("TimeSpan")
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = TagItem()
obj._deserialize(item)
self._Tags.append(obj)
self._Count = params.get("Count")
self._AutoRenew = params.get("AutoRenew")
self._InstanceClass = params.get("InstanceClass")
self._JobName = params.get("JobName")
self._ExistedJobId = params.get("ExistedJobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class CreateSyncJobResponse(AbstractModel):
"""CreateSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _JobIds: 同步任务ids
:type JobIds: list of str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._JobIds = None
self._RequestId = None
@property
def JobIds(self):
"""同步任务ids
:rtype: list of str
"""
return self._JobIds
@JobIds.setter
def JobIds(self, JobIds):
self._JobIds = JobIds
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._JobIds = params.get("JobIds")
self._RequestId = params.get("RequestId")
class DBEndpointInfo(AbstractModel):
"""实例信息
"""
def __init__(self):
r"""
:param _Region: 实例所在地域
注意:此字段可能返回 null,表示取不到有效值。
:type Region: str
:param _AccessType: 实例网络接入类型,如:extranet(外网)、ipv6(公网ipv6)、cvm(云主机自建)、dcg(专线接入)、vpncloud(vpn接入的实例)、cdb(云数据库)、ccn(云联网)、intranet(自研上云)、vpc(私有网络)等,注意具体可选值依赖当前链路
注意:此字段可能返回 null,表示取不到有效值。
:type AccessType: str
:param _DatabaseType: 实例数据库类型,如:mysql,redis,mongodb,postgresql,mariadb,percona 等
注意:此字段可能返回 null,表示取不到有效值。
:type DatabaseType: str
:param _NodeType: 节点类型,为空或者simple表示普通节点、cluster表示集群节点;对于mongo业务,取值为replicaset(mongodb副本集)、standalone(mongodb单节点)、cluster(mongodb集群);对于redis实例,为空或simple(单节点)、cluster(集群)、cluster-cache(cache集群)、cluster-proxy(代理集群)
注意:此字段可能返回 null,表示取不到有效值。
:type NodeType: str
:param _Info: 数据库信息
注意:此字段可能返回 null,表示取不到有效值。
:type Info: list of DBInfo
:param _Supplier: 实例服务提供商,如:"aliyun","others"
注意:此字段可能返回 null,表示取不到有效值。
:type Supplier: str
:param _ExtraAttr: MongoDB可定义如下的参数: ['AuthDatabase':'admin',
'AuthFlag': "1", 'AuthMechanism':"SCRAM-SHA-1"]
注意:此字段可能返回 null,表示取不到有效值。
:type ExtraAttr: list of KeyValuePairOption
:param _DatabaseNetEnv: 数据库所属网络环境,AccessType为云联网(ccn)时必填, UserIDC表示用户IDC、TencentVPC表示腾讯云VPC;
注意:此字段可能返回 null,表示取不到有效值。
:type DatabaseNetEnv: str
:param _ConnectType: tdsql连接方式:proxy-通过tdsql proxy主机访问各个set节点,注意只有在自研上云的网络环境下才能通过这种方式连接,Info中只需要提供proxy主机信息。set-直连set节点,如选择直连set方式,Info中需要正确填写proxy主机信息及所有set节点信息。源端是tdsqlmysql类型必填。
注意:此字段可能返回 null,表示取不到有效值。
:type ConnectType: str
"""
self._Region = None
self._AccessType = None
self._DatabaseType = None
self._NodeType = None
self._Info = None
self._Supplier = None
self._ExtraAttr = None
self._DatabaseNetEnv = None
self._ConnectType = None
@property
def Region(self):
"""实例所在地域
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def AccessType(self):
"""实例网络接入类型,如:extranet(外网)、ipv6(公网ipv6)、cvm(云主机自建)、dcg(专线接入)、vpncloud(vpn接入的实例)、cdb(云数据库)、ccn(云联网)、intranet(自研上云)、vpc(私有网络)等,注意具体可选值依赖当前链路
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AccessType
@AccessType.setter
def AccessType(self, AccessType):
self._AccessType = AccessType
@property
def DatabaseType(self):
"""实例数据库类型,如:mysql,redis,mongodb,postgresql,mariadb,percona 等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DatabaseType
@DatabaseType.setter
def DatabaseType(self, DatabaseType):
self._DatabaseType = DatabaseType
@property
def NodeType(self):
"""节点类型,为空或者simple表示普通节点、cluster表示集群节点;对于mongo业务,取值为replicaset(mongodb副本集)、standalone(mongodb单节点)、cluster(mongodb集群);对于redis实例,为空或simple(单节点)、cluster(集群)、cluster-cache(cache集群)、cluster-proxy(代理集群)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NodeType
@NodeType.setter
def NodeType(self, NodeType):
self._NodeType = NodeType
@property
def Info(self):
"""数据库信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of DBInfo
"""
return self._Info
@Info.setter
def Info(self, Info):
self._Info = Info
@property
def Supplier(self):
"""实例服务提供商,如:"aliyun","others"
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Supplier
@Supplier.setter
def Supplier(self, Supplier):
self._Supplier = Supplier
@property
def ExtraAttr(self):
"""MongoDB可定义如下的参数: ['AuthDatabase':'admin',
'AuthFlag': "1", 'AuthMechanism':"SCRAM-SHA-1"]
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of KeyValuePairOption
"""
return self._ExtraAttr
@ExtraAttr.setter
def ExtraAttr(self, ExtraAttr):
self._ExtraAttr = ExtraAttr
@property
def DatabaseNetEnv(self):
"""数据库所属网络环境,AccessType为云联网(ccn)时必填, UserIDC表示用户IDC、TencentVPC表示腾讯云VPC;
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DatabaseNetEnv
@DatabaseNetEnv.setter
def DatabaseNetEnv(self, DatabaseNetEnv):
self._DatabaseNetEnv = DatabaseNetEnv
@property
def ConnectType(self):
"""tdsql连接方式:proxy-通过tdsql proxy主机访问各个set节点,注意只有在自研上云的网络环境下才能通过这种方式连接,Info中只需要提供proxy主机信息。set-直连set节点,如选择直连set方式,Info中需要正确填写proxy主机信息及所有set节点信息。源端是tdsqlmysql类型必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ConnectType
@ConnectType.setter
def ConnectType(self, ConnectType):
self._ConnectType = ConnectType
def _deserialize(self, params):
self._Region = params.get("Region")
self._AccessType = params.get("AccessType")
self._DatabaseType = params.get("DatabaseType")
self._NodeType = params.get("NodeType")
if params.get("Info") is not None:
self._Info = []
for item in params.get("Info"):
obj = DBInfo()
obj._deserialize(item)
self._Info.append(obj)
self._Supplier = params.get("Supplier")
if params.get("ExtraAttr") is not None:
self._ExtraAttr = []
for item in params.get("ExtraAttr"):
obj = KeyValuePairOption()
obj._deserialize(item)
self._ExtraAttr.append(obj)
self._DatabaseNetEnv = params.get("DatabaseNetEnv")
self._ConnectType = params.get("ConnectType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DBInfo(AbstractModel):
"""数据库信息
"""
def __init__(self):
r"""
:param _Role: 表示节点角色,针对分布式数据库,如mongodb中的mongos节点。tdsqlmysql的可选项:proxy表示节点类型为主机,set表示节点类型为节点。proxy类型必须填在数组第一项。tdsqlmysql类型的源/目标配置必填。
注意:此字段可能返回 null,表示取不到有效值。
:type Role: str
:param _DbKernel: 内核版本,针对mariadb的不同内核版本等
注意:此字段可能返回 null,表示取不到有效值。
:type DbKernel: str
:param _Host: 实例的IP地址,对于公网、专线、VPN、云联网、自研上云、VPC等接入方式此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type Host: str
:param _Port: 实例的端口,对于公网、云主机自建、专线、VPN、云联网、自研上云、VPC等接入方式此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type Port: int
:param _User: 实例的用户名
注意:此字段可能返回 null,表示取不到有效值。
:type User: str
:param _Password: 实例的密码
注意:此字段可能返回 null,表示取不到有效值。
:type Password: str
:param _CvmInstanceId: CVM实例短ID,格式如:ins-olgl39y8;与云服务器控制台页面显示的实例ID相同;如果接入类型为云主机自建的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type CvmInstanceId: str
:param _UniqVpnGwId: VPN网关ID,格式如:vpngw-9ghexg7q;如果接入类型为vpncloud的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type UniqVpnGwId: str
:param _UniqDcgId: 专线网关ID,格式如:dcg-0rxtqqxb;如果接入类型为专线接入的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type UniqDcgId: str
:param _InstanceId: 数据库实例ID,格式如:cdb-powiqx8q;如果接入类型为云数据库的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type InstanceId: str
:param _CcnGwId: 云联网ID,如:ccn-afp6kltc 注意:此字段可能返回 null,表示取不到有效值。
注意:此字段可能返回 null,表示取不到有效值。
:type CcnGwId: str
:param _VpcId: 私有网络ID,格式如:vpc-92jblxto;如果接入类型为vpc、vpncloud、ccn、dcg的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type VpcId: str
:param _SubnetId: 私有网络下的子网ID,格式如:subnet-3paxmkdz;如果接入类型为vpc、vpncloud、ccn、dcg的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type SubnetId: str
:param _EngineVersion: 数据库版本,当实例为RDS实例时才有效,格式如:5.6或者5.7,默认为5.6
注意:此字段可能返回 null,表示取不到有效值。
:type EngineVersion: str
:param _Account: 实例所属账号
注意:此字段可能返回 null,表示取不到有效值。
:type Account: str
:param _AccountRole: 跨账号迁移时的角色,只允许[a-zA-Z0-9\-\_]+
注意:此字段可能返回 null,表示取不到有效值。
:type AccountRole: str
:param _AccountMode: 资源所属账号 为空或self(表示本账号内资源)、other(表示其他账户资源)
注意:此字段可能返回 null,表示取不到有效值。
:type AccountMode: str
:param _TmpSecretId: 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:type TmpSecretId: str
:param _TmpSecretKey: 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:type TmpSecretKey: str
:param _TmpToken: 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:type TmpToken: str
:param _SetId: tdsql的分片id。如节点类型为set必填。
注意:此字段可能返回 null,表示取不到有效值。
:type SetId: str
"""
self._Role = None
self._DbKernel = None
self._Host = None
self._Port = None
self._User = None
self._Password = None
self._CvmInstanceId = None
self._UniqVpnGwId = None
self._UniqDcgId = None
self._InstanceId = None
self._CcnGwId = None
self._VpcId = None
self._SubnetId = None
self._EngineVersion = None
self._Account = None
self._AccountRole = None
self._AccountMode = None
self._TmpSecretId = None
self._TmpSecretKey = None
self._TmpToken = None
self._SetId = None
@property
def Role(self):
"""表示节点角色,针对分布式数据库,如mongodb中的mongos节点。tdsqlmysql的可选项:proxy表示节点类型为主机,set表示节点类型为节点。proxy类型必须填在数组第一项。tdsqlmysql类型的源/目标配置必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Role
@Role.setter
def Role(self, Role):
self._Role = Role
@property
def DbKernel(self):
"""内核版本,针对mariadb的不同内核版本等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DbKernel
@DbKernel.setter
def DbKernel(self, DbKernel):
self._DbKernel = DbKernel
@property
def Host(self):
"""实例的IP地址,对于公网、专线、VPN、云联网、自研上云、VPC等接入方式此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Host
@Host.setter
def Host(self, Host):
self._Host = Host
@property
def Port(self):
"""实例的端口,对于公网、云主机自建、专线、VPN、云联网、自研上云、VPC等接入方式此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Port
@Port.setter
def Port(self, Port):
self._Port = Port
@property
def User(self):
"""实例的用户名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._User
@User.setter
def User(self, User):
self._User = User
@property
def Password(self):
"""实例的密码
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Password
@Password.setter
def Password(self, Password):
self._Password = Password
@property
def CvmInstanceId(self):
"""CVM实例短ID,格式如:ins-olgl39y8;与云服务器控制台页面显示的实例ID相同;如果接入类型为云主机自建的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CvmInstanceId
@CvmInstanceId.setter
def CvmInstanceId(self, CvmInstanceId):
self._CvmInstanceId = CvmInstanceId
@property
def UniqVpnGwId(self):
"""VPN网关ID,格式如:vpngw-9ghexg7q;如果接入类型为vpncloud的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UniqVpnGwId
@UniqVpnGwId.setter
def UniqVpnGwId(self, UniqVpnGwId):
self._UniqVpnGwId = UniqVpnGwId
@property
def UniqDcgId(self):
"""专线网关ID,格式如:dcg-0rxtqqxb;如果接入类型为专线接入的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UniqDcgId
@UniqDcgId.setter
def UniqDcgId(self, UniqDcgId):
self._UniqDcgId = UniqDcgId
@property
def InstanceId(self):
"""数据库实例ID,格式如:cdb-powiqx8q;如果接入类型为云数据库的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def CcnGwId(self):
"""云联网ID,如:ccn-afp6kltc 注意:此字段可能返回 null,表示取不到有效值。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CcnGwId
@CcnGwId.setter
def CcnGwId(self, CcnGwId):
self._CcnGwId = CcnGwId
@property
def VpcId(self):
"""私有网络ID,格式如:vpc-92jblxto;如果接入类型为vpc、vpncloud、ccn、dcg的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._VpcId
@VpcId.setter
def VpcId(self, VpcId):
self._VpcId = VpcId
@property
def SubnetId(self):
"""私有网络下的子网ID,格式如:subnet-3paxmkdz;如果接入类型为vpc、vpncloud、ccn、dcg的方式,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SubnetId
@SubnetId.setter
def SubnetId(self, SubnetId):
self._SubnetId = SubnetId
@property
def EngineVersion(self):
"""数据库版本,当实例为RDS实例时才有效,格式如:5.6或者5.7,默认为5.6
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EngineVersion
@EngineVersion.setter
def EngineVersion(self, EngineVersion):
self._EngineVersion = EngineVersion
@property
def Account(self):
"""实例所属账号
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Account
@Account.setter
def Account(self, Account):
self._Account = Account
@property
def AccountRole(self):
"""跨账号迁移时的角色,只允许[a-zA-Z0-9\-\_]+
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AccountRole
@AccountRole.setter
def AccountRole(self, AccountRole):
self._AccountRole = AccountRole
@property
def AccountMode(self):
"""资源所属账号 为空或self(表示本账号内资源)、other(表示其他账户资源)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AccountMode
@AccountMode.setter
def AccountMode(self, AccountMode):
self._AccountMode = AccountMode
@property
def TmpSecretId(self):
"""临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TmpSecretId
@TmpSecretId.setter
def TmpSecretId(self, TmpSecretId):
self._TmpSecretId = TmpSecretId
@property
def TmpSecretKey(self):
"""临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TmpSecretKey
@TmpSecretKey.setter
def TmpSecretKey(self, TmpSecretKey):
self._TmpSecretKey = TmpSecretKey
@property
def TmpToken(self):
"""临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TmpToken
@TmpToken.setter
def TmpToken(self, TmpToken):
self._TmpToken = TmpToken
@property
def SetId(self):
"""tdsql的分片id。如节点类型为set必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SetId
@SetId.setter
def SetId(self, SetId):
self._SetId = SetId
def _deserialize(self, params):
self._Role = params.get("Role")
self._DbKernel = params.get("DbKernel")
self._Host = params.get("Host")
self._Port = params.get("Port")
self._User = params.get("User")
self._Password = params.get("Password")
self._CvmInstanceId = params.get("CvmInstanceId")
self._UniqVpnGwId = params.get("UniqVpnGwId")
self._UniqDcgId = params.get("UniqDcgId")
self._InstanceId = params.get("InstanceId")
self._CcnGwId = params.get("CcnGwId")
self._VpcId = params.get("VpcId")
self._SubnetId = params.get("SubnetId")
self._EngineVersion = params.get("EngineVersion")
self._Account = params.get("Account")
self._AccountRole = params.get("AccountRole")
self._AccountMode = params.get("AccountMode")
self._TmpSecretId = params.get("TmpSecretId")
self._TmpSecretKey = params.get("TmpSecretKey")
self._TmpToken = params.get("TmpToken")
self._SetId = params.get("SetId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DBItem(AbstractModel):
"""迁移对象信息,在配置库表视图等对象信息时大小写敏感
"""
def __init__(self):
r"""
:param _DbName: 需要迁移或同步的库名,当ObjectMode为partial时,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type DbName: str
:param _NewDbName: 迁移或同步后的库名,默认与源库相同
注意:此字段可能返回 null,表示取不到有效值。
:type NewDbName: str
:param _SchemaName: 迁移或同步的 schema
注意:此字段可能返回 null,表示取不到有效值。
:type SchemaName: str
:param _NewSchemaName: 迁移或同步后的 schema name
注意:此字段可能返回 null,表示取不到有效值。
:type NewSchemaName: str
:param _DBMode: DB选择模式: all(为当前对象下的所有对象),partial(部分对象),当ObjectMode为partial时,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type DBMode: str
:param _SchemaMode: schema选择模式: all(为当前对象下的所有对象),partial(部分对象)
注意:此字段可能返回 null,表示取不到有效值。
:type SchemaMode: str
:param _TableMode: 表选择模式: all(为当前对象下的所有对象),partial(部分对象),当DBMode为partial时此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type TableMode: str
:param _Tables: 表图对象集合,当 TableMode 为 partial 时,此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Tables: list of TableItem
:param _ViewMode: 视图选择模式: all 为当前对象下的所有视图对象,partial 为部分视图对象
注意:此字段可能返回 null,表示取不到有效值。
:type ViewMode: str
:param _Views: 视图对象集合,当 ViewMode 为 partial 时, 此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Views: list of ViewItem
:param _RoleMode: postgresql独有参数,角色选择模式: all 为当前对象下的所有角色对象,partial 为部分角色对象
注意:此字段可能返回 null,表示取不到有效值。
:type RoleMode: str
:param _Roles: postgresql独有参数,当 RoleMode 为 partial 时, 此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Roles: list of RoleItem
:param _FunctionMode: 选择要同步的模式,partial为部分,all为整选
注意:此字段可能返回 null,表示取不到有效值。
:type FunctionMode: str
:param _TriggerMode: 选择要同步的模式,partial为部分,all为整选
注意:此字段可能返回 null,表示取不到有效值。
:type TriggerMode: str
:param _EventMode: 选择要同步的模式,partial为部分,all为整选
注意:此字段可能返回 null,表示取不到有效值。
:type EventMode: str
:param _ProcedureMode: 选择要同步的模式,partial为部分,all为整选
注意:此字段可能返回 null,表示取不到有效值。
:type ProcedureMode: str
:param _Functions: FunctionMode取值为partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Functions: list of str
:param _Procedures: ProcedureMode取值为partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Procedures: list of str
:param _Events: EventMode取值为partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Events: list of str
:param _Triggers: TriggerMode取值为partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Triggers: list of str
"""
self._DbName = None
self._NewDbName = None
self._SchemaName = None
self._NewSchemaName = None
self._DBMode = None
self._SchemaMode = None
self._TableMode = None
self._Tables = None
self._ViewMode = None
self._Views = None
self._RoleMode = None
self._Roles = None
self._FunctionMode = None
self._TriggerMode = None
self._EventMode = None
self._ProcedureMode = None
self._Functions = None
self._Procedures = None
self._Events = None
self._Triggers = None
@property
def DbName(self):
"""需要迁移或同步的库名,当ObjectMode为partial时,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DbName
@DbName.setter
def DbName(self, DbName):
self._DbName = DbName
@property
def NewDbName(self):
"""迁移或同步后的库名,默认与源库相同
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewDbName
@NewDbName.setter
def NewDbName(self, NewDbName):
self._NewDbName = NewDbName
@property
def SchemaName(self):
"""迁移或同步的 schema
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SchemaName
@SchemaName.setter
def SchemaName(self, SchemaName):
self._SchemaName = SchemaName
@property
def NewSchemaName(self):
"""迁移或同步后的 schema name
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewSchemaName
@NewSchemaName.setter
def NewSchemaName(self, NewSchemaName):
self._NewSchemaName = NewSchemaName
@property
def DBMode(self):
"""DB选择模式: all(为当前对象下的所有对象),partial(部分对象),当ObjectMode为partial时,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DBMode
@DBMode.setter
def DBMode(self, DBMode):
self._DBMode = DBMode
@property
def SchemaMode(self):
"""schema选择模式: all(为当前对象下的所有对象),partial(部分对象)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SchemaMode
@SchemaMode.setter
def SchemaMode(self, SchemaMode):
self._SchemaMode = SchemaMode
@property
def TableMode(self):
"""表选择模式: all(为当前对象下的所有对象),partial(部分对象),当DBMode为partial时此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TableMode
@TableMode.setter
def TableMode(self, TableMode):
self._TableMode = TableMode
@property
def Tables(self):
"""表图对象集合,当 TableMode 为 partial 时,此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of TableItem
"""
return self._Tables
@Tables.setter
def Tables(self, Tables):
self._Tables = Tables
@property
def ViewMode(self):
"""视图选择模式: all 为当前对象下的所有视图对象,partial 为部分视图对象
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ViewMode
@ViewMode.setter
def ViewMode(self, ViewMode):
self._ViewMode = ViewMode
@property
def Views(self):
"""视图对象集合,当 ViewMode 为 partial 时, 此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of ViewItem
"""
return self._Views
@Views.setter
def Views(self, Views):
self._Views = Views
@property
def RoleMode(self):
"""postgresql独有参数,角色选择模式: all 为当前对象下的所有角色对象,partial 为部分角色对象
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._RoleMode
@RoleMode.setter
def RoleMode(self, RoleMode):
self._RoleMode = RoleMode
@property
def Roles(self):
"""postgresql独有参数,当 RoleMode 为 partial 时, 此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of RoleItem
"""
return self._Roles
@Roles.setter
def Roles(self, Roles):
self._Roles = Roles
@property
def FunctionMode(self):
"""选择要同步的模式,partial为部分,all为整选
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._FunctionMode
@FunctionMode.setter
def FunctionMode(self, FunctionMode):
self._FunctionMode = FunctionMode
@property
def TriggerMode(self):
"""选择要同步的模式,partial为部分,all为整选
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TriggerMode
@TriggerMode.setter
def TriggerMode(self, TriggerMode):
self._TriggerMode = TriggerMode
@property
def EventMode(self):
"""选择要同步的模式,partial为部分,all为整选
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EventMode
@EventMode.setter
def EventMode(self, EventMode):
self._EventMode = EventMode
@property
def ProcedureMode(self):
"""选择要同步的模式,partial为部分,all为整选
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ProcedureMode
@ProcedureMode.setter
def ProcedureMode(self, ProcedureMode):
self._ProcedureMode = ProcedureMode
@property
def Functions(self):
"""FunctionMode取值为partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Functions
@Functions.setter
def Functions(self, Functions):
self._Functions = Functions
@property
def Procedures(self):
"""ProcedureMode取值为partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Procedures
@Procedures.setter
def Procedures(self, Procedures):
self._Procedures = Procedures
@property
def Events(self):
"""EventMode取值为partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Events
@Events.setter
def Events(self, Events):
self._Events = Events
@property
def Triggers(self):
"""TriggerMode取值为partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Triggers
@Triggers.setter
def Triggers(self, Triggers):
self._Triggers = Triggers
def _deserialize(self, params):
self._DbName = params.get("DbName")
self._NewDbName = params.get("NewDbName")
self._SchemaName = params.get("SchemaName")
self._NewSchemaName = params.get("NewSchemaName")
self._DBMode = params.get("DBMode")
self._SchemaMode = params.get("SchemaMode")
self._TableMode = params.get("TableMode")
if params.get("Tables") is not None:
self._Tables = []
for item in params.get("Tables"):
obj = TableItem()
obj._deserialize(item)
self._Tables.append(obj)
self._ViewMode = params.get("ViewMode")
if params.get("Views") is not None:
self._Views = []
for item in params.get("Views"):
obj = ViewItem()
obj._deserialize(item)
self._Views.append(obj)
self._RoleMode = params.get("RoleMode")
if params.get("Roles") is not None:
self._Roles = []
for item in params.get("Roles"):
obj = RoleItem()
obj._deserialize(item)
self._Roles.append(obj)
self._FunctionMode = params.get("FunctionMode")
self._TriggerMode = params.get("TriggerMode")
self._EventMode = params.get("EventMode")
self._ProcedureMode = params.get("ProcedureMode")
self._Functions = params.get("Functions")
self._Procedures = params.get("Procedures")
self._Events = params.get("Events")
self._Triggers = params.get("Triggers")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Database(AbstractModel):
"""需要同步的库表对象
"""
def __init__(self):
r"""
:param _DbName: 需要迁移或同步的库名,当ObjectMode为Partial时,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type DbName: str
:param _NewDbName: 迁移或同步后的库名,默认与源库相同
注意:此字段可能返回 null,表示取不到有效值。
:type NewDbName: str
:param _DbMode: DB选择模式: All(为当前对象下的所有对象),Partial(部分对象),当Mode为Partial时,此项必填。注意,高级对象的同步不依赖此值,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:type DbMode: str
:param _SchemaName: 迁移或同步的 schema
注意:此字段可能返回 null,表示取不到有效值。
:type SchemaName: str
:param _NewSchemaName: 迁移或同步后的 schema name
注意:此字段可能返回 null,表示取不到有效值。
:type NewSchemaName: str
:param _TableMode: 表选择模式: All(为当前对象下的所有对象),Partial(部分对象),当DBMode为Partial时此项必填,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:type TableMode: str
:param _Tables: 表图对象集合,当 TableMode 为 Partial 时,此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Tables: list of Table
:param _ViewMode: 视图选择模式: All 为当前对象下的所有视图对象,Partial 为部分视图对象,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:type ViewMode: str
:param _Views: 视图对象集合,当 ViewMode 为 Partial 时, 此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Views: list of View
:param _FunctionMode: 选择要同步的模式,Partial为部分,All为整选,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:type FunctionMode: str
:param _Functions: FunctionMode取值为Partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Functions: list of str
:param _ProcedureMode: 选择要同步的模式,Partial为部分,All为整选,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:type ProcedureMode: str
:param _Procedures: ProcedureMode取值为Partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:type Procedures: list of str
:param _TriggerMode: 触发器迁移模式,All(为当前对象下的所有对象),Partial(部分对象),如果整库同步此处应该为All。数据同步暂不支持此高级对象。
注意:此字段可能返回 null,表示取不到有效值。
:type TriggerMode: str
:param _Triggers: 当TriggerMode为partial,指定要迁移的触发器名称
注意:此字段可能返回 null,表示取不到有效值。
:type Triggers: list of str
:param _EventMode: 事件迁移模式,All(为当前对象下的所有对象),Partial(部分对象),如果整库同步此处应该为All。数据同步暂不支持此高级对象。
注意:此字段可能返回 null,表示取不到有效值。
:type EventMode: str
:param _Events: 当EventMode为partial,指定要迁移的事件名称
注意:此字段可能返回 null,表示取不到有效值。
:type Events: list of str
"""
self._DbName = None
self._NewDbName = None
self._DbMode = None
self._SchemaName = None
self._NewSchemaName = None
self._TableMode = None
self._Tables = None
self._ViewMode = None
self._Views = None
self._FunctionMode = None
self._Functions = None
self._ProcedureMode = None
self._Procedures = None
self._TriggerMode = None
self._Triggers = None
self._EventMode = None
self._Events = None
@property
def DbName(self):
"""需要迁移或同步的库名,当ObjectMode为Partial时,此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DbName
@DbName.setter
def DbName(self, DbName):
self._DbName = DbName
@property
def NewDbName(self):
"""迁移或同步后的库名,默认与源库相同
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewDbName
@NewDbName.setter
def NewDbName(self, NewDbName):
self._NewDbName = NewDbName
@property
def DbMode(self):
"""DB选择模式: All(为当前对象下的所有对象),Partial(部分对象),当Mode为Partial时,此项必填。注意,高级对象的同步不依赖此值,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DbMode
@DbMode.setter
def DbMode(self, DbMode):
self._DbMode = DbMode
@property
def SchemaName(self):
"""迁移或同步的 schema
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SchemaName
@SchemaName.setter
def SchemaName(self, SchemaName):
self._SchemaName = SchemaName
@property
def NewSchemaName(self):
"""迁移或同步后的 schema name
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewSchemaName
@NewSchemaName.setter
def NewSchemaName(self, NewSchemaName):
self._NewSchemaName = NewSchemaName
@property
def TableMode(self):
"""表选择模式: All(为当前对象下的所有对象),Partial(部分对象),当DBMode为Partial时此项必填,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TableMode
@TableMode.setter
def TableMode(self, TableMode):
self._TableMode = TableMode
@property
def Tables(self):
"""表图对象集合,当 TableMode 为 Partial 时,此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of Table
"""
return self._Tables
@Tables.setter
def Tables(self, Tables):
self._Tables = Tables
@property
def ViewMode(self):
"""视图选择模式: All 为当前对象下的所有视图对象,Partial 为部分视图对象,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ViewMode
@ViewMode.setter
def ViewMode(self, ViewMode):
self._ViewMode = ViewMode
@property
def Views(self):
"""视图对象集合,当 ViewMode 为 Partial 时, 此项需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of View
"""
return self._Views
@Views.setter
def Views(self, Views):
self._Views = Views
@property
def FunctionMode(self):
"""选择要同步的模式,Partial为部分,All为整选,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._FunctionMode
@FunctionMode.setter
def FunctionMode(self, FunctionMode):
self._FunctionMode = FunctionMode
@property
def Functions(self):
"""FunctionMode取值为Partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Functions
@Functions.setter
def Functions(self, Functions):
self._Functions = Functions
@property
def ProcedureMode(self):
"""选择要同步的模式,Partial为部分,All为整选,如果整库同步此处应该为All。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ProcedureMode
@ProcedureMode.setter
def ProcedureMode(self, ProcedureMode):
self._ProcedureMode = ProcedureMode
@property
def Procedures(self):
"""ProcedureMode取值为Partial时需要填写
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Procedures
@Procedures.setter
def Procedures(self, Procedures):
self._Procedures = Procedures
@property
def TriggerMode(self):
"""触发器迁移模式,All(为当前对象下的所有对象),Partial(部分对象),如果整库同步此处应该为All。数据同步暂不支持此高级对象。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TriggerMode
@TriggerMode.setter
def TriggerMode(self, TriggerMode):
self._TriggerMode = TriggerMode
@property
def Triggers(self):
"""当TriggerMode为partial,指定要迁移的触发器名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Triggers
@Triggers.setter
def Triggers(self, Triggers):
self._Triggers = Triggers
@property
def EventMode(self):
"""事件迁移模式,All(为当前对象下的所有对象),Partial(部分对象),如果整库同步此处应该为All。数据同步暂不支持此高级对象。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EventMode
@EventMode.setter
def EventMode(self, EventMode):
self._EventMode = EventMode
@property
def Events(self):
"""当EventMode为partial,指定要迁移的事件名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Events
@Events.setter
def Events(self, Events):
self._Events = Events
def _deserialize(self, params):
self._DbName = params.get("DbName")
self._NewDbName = params.get("NewDbName")
self._DbMode = params.get("DbMode")
self._SchemaName = params.get("SchemaName")
self._NewSchemaName = params.get("NewSchemaName")
self._TableMode = params.get("TableMode")
if params.get("Tables") is not None:
self._Tables = []
for item in params.get("Tables"):
obj = Table()
obj._deserialize(item)
self._Tables.append(obj)
self._ViewMode = params.get("ViewMode")
if params.get("Views") is not None:
self._Views = []
for item in params.get("Views"):
obj = View()
obj._deserialize(item)
self._Views.append(obj)
self._FunctionMode = params.get("FunctionMode")
self._Functions = params.get("Functions")
self._ProcedureMode = params.get("ProcedureMode")
self._Procedures = params.get("Procedures")
self._TriggerMode = params.get("TriggerMode")
self._Triggers = params.get("Triggers")
self._EventMode = params.get("EventMode")
self._Events = params.get("Events")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DatabaseTableObject(AbstractModel):
"""迁移对象选项,需要告知迁移服务迁移哪些库表对象
"""
def __init__(self):
r"""
:param _ObjectMode: 迁移对象类型 all(全实例),partial(部分对象)
注意:此字段可能返回 null,表示取不到有效值。
:type ObjectMode: str
:param _Databases: 迁移对象,当 ObjectMode 为 partial 时,不为空
注意:此字段可能返回 null,表示取不到有效值。
:type Databases: list of DBItem
:param _AdvancedObjects: 高级对象类型,如trigger、function、procedure、event。注意:如果要迁移同步高级对象,此配置中应该包含对应的高级对象类型
注意:此字段可能返回 null,表示取不到有效值。
:type AdvancedObjects: list of str
"""
self._ObjectMode = None
self._Databases = None
self._AdvancedObjects = None
@property
def ObjectMode(self):
"""迁移对象类型 all(全实例),partial(部分对象)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ObjectMode
@ObjectMode.setter
def ObjectMode(self, ObjectMode):
self._ObjectMode = ObjectMode
@property
def Databases(self):
"""迁移对象,当 ObjectMode 为 partial 时,不为空
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of DBItem
"""
return self._Databases
@Databases.setter
def Databases(self, Databases):
self._Databases = Databases
@property
def AdvancedObjects(self):
"""高级对象类型,如trigger、function、procedure、event。注意:如果要迁移同步高级对象,此配置中应该包含对应的高级对象类型
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._AdvancedObjects
@AdvancedObjects.setter
def AdvancedObjects(self, AdvancedObjects):
self._AdvancedObjects = AdvancedObjects
def _deserialize(self, params):
self._ObjectMode = params.get("ObjectMode")
if params.get("Databases") is not None:
self._Databases = []
for item in params.get("Databases"):
obj = DBItem()
obj._deserialize(item)
self._Databases.append(obj)
self._AdvancedObjects = params.get("AdvancedObjects")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DdlOption(AbstractModel):
"""数据同步中的ddl同步处理
"""
def __init__(self):
r"""
:param _DdlObject: ddl类型,如Database,Table,View,Index等
注意:此字段可能返回 null,表示取不到有效值。
:type DdlObject: str
:param _DdlValue: ddl具体值,对于Database可取值[Create,Drop,Alter]<br>对于Table可取值[Create,Drop,Alter,Truncate,Rename]<br/>对于View可取值[Create,Drop]<br/>对于Index可取值[Create,Drop]
注意:此字段可能返回 null,表示取不到有效值。
:type DdlValue: list of str
"""
self._DdlObject = None
self._DdlValue = None
@property
def DdlObject(self):
"""ddl类型,如Database,Table,View,Index等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DdlObject
@DdlObject.setter
def DdlObject(self, DdlObject):
self._DdlObject = DdlObject
@property
def DdlValue(self):
"""ddl具体值,对于Database可取值[Create,Drop,Alter]<br>对于Table可取值[Create,Drop,Alter,Truncate,Rename]<br/>对于View可取值[Create,Drop]<br/>对于Index可取值[Create,Drop]
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._DdlValue
@DdlValue.setter
def DdlValue(self, DdlValue):
self._DdlValue = DdlValue
def _deserialize(self, params):
self._DdlObject = params.get("DdlObject")
self._DdlValue = params.get("DdlValue")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteCompareTaskRequest(AbstractModel):
"""DeleteCompareTask请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务 Id
:type JobId: str
:param _CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:type CompareTaskId: str
"""
self._JobId = None
self._CompareTaskId = None
@property
def JobId(self):
"""迁移任务 Id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def CompareTaskId(self):
"""对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._CompareTaskId = params.get("CompareTaskId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteCompareTaskResponse(AbstractModel):
"""DeleteCompareTask返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DeleteConsumerGroupRequest(AbstractModel):
"""DeleteConsumerGroup请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的 ID
:type SubscribeId: str
:param _ConsumerGroupName: 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}。
请务必保证消费组名称正确。
:type ConsumerGroupName: str
:param _AccountName: 账号名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}。
请务必保证账户名称正确。
:type AccountName: str
"""
self._SubscribeId = None
self._ConsumerGroupName = None
self._AccountName = None
@property
def SubscribeId(self):
"""数据订阅实例的 ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def ConsumerGroupName(self):
"""消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}。
请务必保证消费组名称正确。
:rtype: str
"""
return self._ConsumerGroupName
@ConsumerGroupName.setter
def ConsumerGroupName(self, ConsumerGroupName):
self._ConsumerGroupName = ConsumerGroupName
@property
def AccountName(self):
"""账号名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}。
请务必保证账户名称正确。
:rtype: str
"""
return self._AccountName
@AccountName.setter
def AccountName(self, AccountName):
self._AccountName = AccountName
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._ConsumerGroupName = params.get("ConsumerGroupName")
self._AccountName = params.get("AccountName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DeleteConsumerGroupResponse(AbstractModel):
"""DeleteConsumerGroup返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DescribeCheckSyncJobResultRequest(AbstractModel):
"""DescribeCheckSyncJobResult请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步实例id(即标识一个同步作业),形如sync-werwfs23,此值必填
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步实例id(即标识一个同步作业),形如sync-werwfs23,此值必填
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCheckSyncJobResultResponse(AbstractModel):
"""DescribeCheckSyncJobResult返回参数结构体
"""
def __init__(self):
r"""
:param _Status: 校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功)
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
:param _StepCount: 步骤总数
注意:此字段可能返回 null,表示取不到有效值。
:type StepCount: int
:param _StepCur: 当前所在步骤
注意:此字段可能返回 null,表示取不到有效值。
:type StepCur: int
:param _Progress: 总体进度,范围为[0,100]
注意:此字段可能返回 null,表示取不到有效值。
:type Progress: int
:param _StepInfos: 步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:type StepInfos: list of StepInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Status = None
self._StepCount = None
self._StepCur = None
self._Progress = None
self._StepInfos = None
self._RequestId = None
@property
def Status(self):
"""校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def StepCount(self):
"""步骤总数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepCount
@StepCount.setter
def StepCount(self, StepCount):
self._StepCount = StepCount
@property
def StepCur(self):
"""当前所在步骤
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepCur
@StepCur.setter
def StepCur(self, StepCur):
self._StepCur = StepCur
@property
def Progress(self):
"""总体进度,范围为[0,100]
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Progress
@Progress.setter
def Progress(self, Progress):
self._Progress = Progress
@property
def StepInfos(self):
"""步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of StepInfo
"""
return self._StepInfos
@StepInfos.setter
def StepInfos(self, StepInfos):
self._StepInfos = StepInfos
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Status = params.get("Status")
self._StepCount = params.get("StepCount")
self._StepCur = params.get("StepCur")
self._Progress = params.get("Progress")
if params.get("StepInfos") is not None:
self._StepInfos = []
for item in params.get("StepInfos"):
obj = StepInfo()
obj._deserialize(item)
self._StepInfos.append(obj)
self._RequestId = params.get("RequestId")
class DescribeCompareReportRequest(AbstractModel):
"""DescribeCompareReport请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务 Id
:type JobId: str
:param _CompareTaskId: 校验任务 Id
:type CompareTaskId: str
:param _DifferenceLimit: 校验不一致结果的 limit
:type DifferenceLimit: int
:param _DifferenceOffset: 不一致的 Offset
:type DifferenceOffset: int
:param _DifferenceDB: 搜索条件,不一致的库名
:type DifferenceDB: str
:param _DifferenceTable: 搜索条件,不一致的表名
:type DifferenceTable: str
:param _SkippedLimit: 未校验的 Limit
:type SkippedLimit: int
:param _SkippedOffset: 未校验的 Offset
:type SkippedOffset: int
:param _SkippedDB: 搜索条件,未校验的库名
:type SkippedDB: str
:param _SkippedTable: 搜索条件,未校验的表名
:type SkippedTable: str
"""
self._JobId = None
self._CompareTaskId = None
self._DifferenceLimit = None
self._DifferenceOffset = None
self._DifferenceDB = None
self._DifferenceTable = None
self._SkippedLimit = None
self._SkippedOffset = None
self._SkippedDB = None
self._SkippedTable = None
@property
def JobId(self):
"""迁移任务 Id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def CompareTaskId(self):
"""校验任务 Id
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
@property
def DifferenceLimit(self):
"""校验不一致结果的 limit
:rtype: int
"""
return self._DifferenceLimit
@DifferenceLimit.setter
def DifferenceLimit(self, DifferenceLimit):
self._DifferenceLimit = DifferenceLimit
@property
def DifferenceOffset(self):
"""不一致的 Offset
:rtype: int
"""
return self._DifferenceOffset
@DifferenceOffset.setter
def DifferenceOffset(self, DifferenceOffset):
self._DifferenceOffset = DifferenceOffset
@property
def DifferenceDB(self):
"""搜索条件,不一致的库名
:rtype: str
"""
return self._DifferenceDB
@DifferenceDB.setter
def DifferenceDB(self, DifferenceDB):
self._DifferenceDB = DifferenceDB
@property
def DifferenceTable(self):
"""搜索条件,不一致的表名
:rtype: str
"""
return self._DifferenceTable
@DifferenceTable.setter
def DifferenceTable(self, DifferenceTable):
self._DifferenceTable = DifferenceTable
@property
def SkippedLimit(self):
"""未校验的 Limit
:rtype: int
"""
return self._SkippedLimit
@SkippedLimit.setter
def SkippedLimit(self, SkippedLimit):
self._SkippedLimit = SkippedLimit
@property
def SkippedOffset(self):
"""未校验的 Offset
:rtype: int
"""
return self._SkippedOffset
@SkippedOffset.setter
def SkippedOffset(self, SkippedOffset):
self._SkippedOffset = SkippedOffset
@property
def SkippedDB(self):
"""搜索条件,未校验的库名
:rtype: str
"""
return self._SkippedDB
@SkippedDB.setter
def SkippedDB(self, SkippedDB):
self._SkippedDB = SkippedDB
@property
def SkippedTable(self):
"""搜索条件,未校验的表名
:rtype: str
"""
return self._SkippedTable
@SkippedTable.setter
def SkippedTable(self, SkippedTable):
self._SkippedTable = SkippedTable
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._CompareTaskId = params.get("CompareTaskId")
self._DifferenceLimit = params.get("DifferenceLimit")
self._DifferenceOffset = params.get("DifferenceOffset")
self._DifferenceDB = params.get("DifferenceDB")
self._DifferenceTable = params.get("DifferenceTable")
self._SkippedLimit = params.get("SkippedLimit")
self._SkippedOffset = params.get("SkippedOffset")
self._SkippedDB = params.get("SkippedDB")
self._SkippedTable = params.get("SkippedTable")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCompareReportResponse(AbstractModel):
"""DescribeCompareReport返回参数结构体
"""
def __init__(self):
r"""
: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: str
"""
self._Abstract = None
self._Detail = None
self._RequestId = None
@property
def Abstract(self):
"""一致性校验摘要信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareAbstractInfo`
"""
return self._Abstract
@Abstract.setter
def Abstract(self, Abstract):
self._Abstract = Abstract
@property
def Detail(self):
"""一致性校验详细信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareDetailInfo`
"""
return self._Detail
@Detail.setter
def Detail(self, Detail):
self._Detail = Detail
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Abstract") is not None:
self._Abstract = CompareAbstractInfo()
self._Abstract._deserialize(params.get("Abstract"))
if params.get("Detail") is not None:
self._Detail = CompareDetailInfo()
self._Detail._deserialize(params.get("Detail"))
self._RequestId = params.get("RequestId")
class DescribeCompareTasksRequest(AbstractModel):
"""DescribeCompareTasks请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务 Id
:type JobId: str
:param _Limit: 分页设置,表示每页显示多少条任务,默认为 20
:type Limit: int
:param _Offset: 分页偏移量
:type Offset: int
:param _CompareTaskId: 校验任务 ID
:type CompareTaskId: str
:param _Status: 任务状态过滤,可能的值:created - 创建完成;readyRun - 等待运行;running - 运行中;success - 成功;stopping - 结束中;failed - 失败;canceled - 已终止
:type Status: list of str
"""
self._JobId = None
self._Limit = None
self._Offset = None
self._CompareTaskId = None
self._Status = None
@property
def JobId(self):
"""迁移任务 Id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def Limit(self):
"""分页设置,表示每页显示多少条任务,默认为 20
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Offset(self):
"""分页偏移量
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def CompareTaskId(self):
"""校验任务 ID
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
@property
def Status(self):
"""任务状态过滤,可能的值:created - 创建完成;readyRun - 等待运行;running - 运行中;success - 成功;stopping - 结束中;failed - 失败;canceled - 已终止
:rtype: list of str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._Limit = params.get("Limit")
self._Offset = params.get("Offset")
self._CompareTaskId = params.get("CompareTaskId")
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeCompareTasksResponse(AbstractModel):
"""DescribeCompareTasks返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: 数量
注意:此字段可能返回 null,表示取不到有效值。
:type TotalCount: int
:param _Items: 一致性校验列表
注意:此字段可能返回 null,表示取不到有效值。
:type Items: list of CompareTaskItem
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._Items = None
self._RequestId = None
@property
def TotalCount(self):
"""数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Items(self):
"""一致性校验列表
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of CompareTaskItem
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Items") is not None:
self._Items = []
for item in params.get("Items"):
obj = CompareTaskItem()
obj._deserialize(item)
self._Items.append(obj)
self._RequestId = params.get("RequestId")
class DescribeConsumerGroupsRequest(AbstractModel):
"""DescribeConsumerGroups请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 订阅实例id
:type SubscribeId: str
:param _Offset: 返回记录的起始偏移量。默认0
:type Offset: int
:param _Limit: 单次返回的记录数量。默认10
:type Limit: int
"""
self._SubscribeId = None
self._Offset = None
self._Limit = None
@property
def SubscribeId(self):
"""订阅实例id
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def Offset(self):
"""返回记录的起始偏移量。默认0
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""单次返回的记录数量。默认10
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeConsumerGroupsResponse(AbstractModel):
"""DescribeConsumerGroups返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: 指定实例下的消费者组总数
:type TotalCount: int
:param _Items: 消费者组列表
:type Items: list of GroupInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._Items = None
self._RequestId = None
@property
def TotalCount(self):
"""指定实例下的消费者组总数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Items(self):
"""消费者组列表
:rtype: list of GroupInfo
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Items") is not None:
self._Items = []
for item in params.get("Items"):
obj = GroupInfo()
obj._deserialize(item)
self._Items.append(obj)
self._RequestId = params.get("RequestId")
class DescribeMigrateDBInstancesRequest(AbstractModel):
"""DescribeMigrateDBInstances请求参数结构体
"""
def __init__(self):
r"""
:param _DatabaseType: 数据库类型,如mysql,redis等
:type DatabaseType: str
:param _MigrateRole: 实例作为迁移的源还是目标,src(表示源),dst(表示目标)
:type MigrateRole: str
:param _InstanceId: 云数据库实例ID
:type InstanceId: str
:param _InstanceName: 云数据库名称
:type InstanceName: str
:param _Limit: 返回数量限制
:type Limit: int
:param _Offset: 偏移量
:type Offset: int
:param _AccountMode: 资源所属账号 为空值或self(表示本账号内资源)、other(表示其他账户资源)
:type AccountMode: str
:param _TmpSecretId: 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
:type TmpSecretId: str
:param _TmpSecretKey: 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
:type TmpSecretKey: str
:param _TmpToken: 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
:type TmpToken: str
"""
self._DatabaseType = None
self._MigrateRole = None
self._InstanceId = None
self._InstanceName = None
self._Limit = None
self._Offset = None
self._AccountMode = None
self._TmpSecretId = None
self._TmpSecretKey = None
self._TmpToken = None
@property
def DatabaseType(self):
"""数据库类型,如mysql,redis等
:rtype: str
"""
return self._DatabaseType
@DatabaseType.setter
def DatabaseType(self, DatabaseType):
self._DatabaseType = DatabaseType
@property
def MigrateRole(self):
"""实例作为迁移的源还是目标,src(表示源),dst(表示目标)
:rtype: str
"""
return self._MigrateRole
@MigrateRole.setter
def MigrateRole(self, MigrateRole):
self._MigrateRole = MigrateRole
@property
def InstanceId(self):
"""云数据库实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def InstanceName(self):
"""云数据库名称
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def Limit(self):
"""返回数量限制
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Offset(self):
"""偏移量
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def AccountMode(self):
"""资源所属账号 为空值或self(表示本账号内资源)、other(表示其他账户资源)
:rtype: str
"""
return self._AccountMode
@AccountMode.setter
def AccountMode(self, AccountMode):
self._AccountMode = AccountMode
@property
def TmpSecretId(self):
"""临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
:rtype: str
"""
return self._TmpSecretId
@TmpSecretId.setter
def TmpSecretId(self, TmpSecretId):
self._TmpSecretId = TmpSecretId
@property
def TmpSecretKey(self):
"""临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
:rtype: str
"""
return self._TmpSecretKey
@TmpSecretKey.setter
def TmpSecretKey(self, TmpSecretKey):
self._TmpSecretKey = TmpSecretKey
@property
def TmpToken(self):
"""临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号迁移文档(https://cloud.tencent.com/document/product/571/54117)第4节中关于角色的定义。
:rtype: str
"""
return self._TmpToken
@TmpToken.setter
def TmpToken(self, TmpToken):
self._TmpToken = TmpToken
def _deserialize(self, params):
self._DatabaseType = params.get("DatabaseType")
self._MigrateRole = params.get("MigrateRole")
self._InstanceId = params.get("InstanceId")
self._InstanceName = params.get("InstanceName")
self._Limit = params.get("Limit")
self._Offset = params.get("Offset")
self._AccountMode = params.get("AccountMode")
self._TmpSecretId = params.get("TmpSecretId")
self._TmpSecretKey = params.get("TmpSecretKey")
self._TmpToken = params.get("TmpToken")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeMigrateDBInstancesResponse(AbstractModel):
"""DescribeMigrateDBInstances返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: 符合筛选条件的数量
注意:此字段可能返回 null,表示取不到有效值。
:type TotalCount: int
:param _Instances: 实例列表
注意:此字段可能返回 null,表示取不到有效值。
:type Instances: list of MigrateDBItem
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._Instances = None
self._RequestId = None
@property
def TotalCount(self):
"""符合筛选条件的数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Instances(self):
"""实例列表
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of MigrateDBItem
"""
return self._Instances
@Instances.setter
def Instances(self, Instances):
self._Instances = Instances
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Instances") is not None:
self._Instances = []
for item in params.get("Instances"):
obj = MigrateDBItem()
obj._deserialize(item)
self._Instances.append(obj)
self._RequestId = params.get("RequestId")
class DescribeMigrationCheckJobRequest(AbstractModel):
"""DescribeMigrationCheckJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeMigrationCheckJobResponse(AbstractModel):
"""DescribeMigrationCheckJob返回参数结构体
"""
def __init__(self):
r"""
:param _Status: 校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功)
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
:param _BriefMsg: 校验任务结果输出简要信息
注意:此字段可能返回 null,表示取不到有效值。
:type BriefMsg: str
:param _StepInfo: 检查步骤
注意:此字段可能返回 null,表示取不到有效值。
:type StepInfo: list of CheckStep
:param _CheckFlag: 校验结果,如:checkPass(校验通过)、checkNotPass(校验未通过)
:type CheckFlag: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Status = None
self._BriefMsg = None
self._StepInfo = None
self._CheckFlag = None
self._RequestId = None
@property
def Status(self):
"""校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def BriefMsg(self):
"""校验任务结果输出简要信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._BriefMsg
@BriefMsg.setter
def BriefMsg(self, BriefMsg):
self._BriefMsg = BriefMsg
@property
def StepInfo(self):
"""检查步骤
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of CheckStep
"""
return self._StepInfo
@StepInfo.setter
def StepInfo(self, StepInfo):
self._StepInfo = StepInfo
@property
def CheckFlag(self):
"""校验结果,如:checkPass(校验通过)、checkNotPass(校验未通过)
:rtype: str
"""
return self._CheckFlag
@CheckFlag.setter
def CheckFlag(self, CheckFlag):
self._CheckFlag = CheckFlag
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Status = params.get("Status")
self._BriefMsg = params.get("BriefMsg")
if params.get("StepInfo") is not None:
self._StepInfo = []
for item in params.get("StepInfo"):
obj = CheckStep()
obj._deserialize(item)
self._StepInfo.append(obj)
self._CheckFlag = params.get("CheckFlag")
self._RequestId = params.get("RequestId")
class DescribeMigrationDetailRequest(AbstractModel):
"""DescribeMigrationDetail请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""数据迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeMigrationDetailResponse(AbstractModel):
"""DescribeMigrationDetail返回参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
注意:此字段可能返回 null,表示取不到有效值。
:type JobId: str
:param _JobName: 数据迁移任务名称
注意:此字段可能返回 null,表示取不到有效值。
:type JobName: str
:param _CreateTime: 任务创建(提交)时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type CreateTime: str
:param _UpdateTime: 任务更新时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type UpdateTime: str
:param _StartTime: 任务开始执行时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type StartTime: str
:param _EndTime: 任务执行结束时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type EndTime: str
:param _BriefMsg: 迁移任务简要错误信息
注意:此字段可能返回 null,表示取不到有效值。
:type BriefMsg: str
:param _Status: 任务状态,取值为:created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行中)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中)、
pausing(暂停中)、
manualPaused(已暂停)
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
: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: list of TagItem
:param _RunMode: 运行模式,取值如:immediate(表示立即运行)、timed(表示定时运行)
注意:此字段可能返回 null,表示取不到有效值。
:type RunMode: str
:param _ExpectRunTime: 期待启动时间,当RunMode取值为timed时,此值必填,形如:"2006-01-02 15:04:05"
注意:此字段可能返回 null,表示取不到有效值。
:type ExpectRunTime: str
: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: list of ErrorInfoItem
:param _DumperResumeCtrl: 全量导出可重入标识:enum::"yes"/"no"。yes表示当前任务可重入、no表示当前任务处于全量导出且不可重入阶段;如果在该值为no时重启任务导出流程不支持断点续传
:type DumperResumeCtrl: str
:param _RateLimitOption: 任务的限速信息
注意:此字段可能返回 null,表示取不到有效值。
:type RateLimitOption: :class:`tencentcloud.dts.v20211206.models.RateLimitOption`
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._JobId = None
self._JobName = None
self._CreateTime = None
self._UpdateTime = None
self._StartTime = None
self._EndTime = None
self._BriefMsg = None
self._Status = None
self._Action = None
self._StepInfo = None
self._SrcInfo = None
self._DstInfo = None
self._CompareTask = None
self._Tags = None
self._RunMode = None
self._ExpectRunTime = None
self._MigrateOption = None
self._CheckStepInfo = None
self._TradeInfo = None
self._ErrorInfo = None
self._DumperResumeCtrl = None
self._RateLimitOption = None
self._RequestId = None
@property
def JobId(self):
"""数据迁移任务ID
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def JobName(self):
"""数据迁移任务名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
@property
def CreateTime(self):
"""任务创建(提交)时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def UpdateTime(self):
"""任务更新时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UpdateTime
@UpdateTime.setter
def UpdateTime(self, UpdateTime):
self._UpdateTime = UpdateTime
@property
def StartTime(self):
"""任务开始执行时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def EndTime(self):
"""任务执行结束时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def BriefMsg(self):
"""迁移任务简要错误信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._BriefMsg
@BriefMsg.setter
def BriefMsg(self, BriefMsg):
self._BriefMsg = BriefMsg
@property
def Status(self):
"""任务状态,取值为:created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行中)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中)、
pausing(暂停中)、
manualPaused(已暂停)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Action(self):
"""任务操作信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.MigrateAction`
"""
return self._Action
@Action.setter
def Action(self, Action):
self._Action = Action
@property
def StepInfo(self):
"""迁移执行过程信息,在校验阶段显示校验过程步骤信息,在迁移阶段会显示迁移步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.MigrateDetailInfo`
"""
return self._StepInfo
@StepInfo.setter
def StepInfo(self, StepInfo):
self._StepInfo = StepInfo
@property
def SrcInfo(self):
"""源实例信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.DBEndpointInfo`
"""
return self._SrcInfo
@SrcInfo.setter
def SrcInfo(self, SrcInfo):
self._SrcInfo = SrcInfo
@property
def DstInfo(self):
"""目标端信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.DBEndpointInfo`
"""
return self._DstInfo
@DstInfo.setter
def DstInfo(self, DstInfo):
self._DstInfo = DstInfo
@property
def CompareTask(self):
"""数据一致性校验结果
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareTaskInfo`
"""
return self._CompareTask
@CompareTask.setter
def CompareTask(self, CompareTask):
self._CompareTask = CompareTask
@property
def Tags(self):
"""标签信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of TagItem
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def RunMode(self):
"""运行模式,取值如:immediate(表示立即运行)、timed(表示定时运行)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._RunMode
@RunMode.setter
def RunMode(self, RunMode):
self._RunMode = RunMode
@property
def ExpectRunTime(self):
"""期待启动时间,当RunMode取值为timed时,此值必填,形如:"2006-01-02 15:04:05"
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ExpectRunTime
@ExpectRunTime.setter
def ExpectRunTime(self, ExpectRunTime):
self._ExpectRunTime = ExpectRunTime
@property
def MigrateOption(self):
"""迁移选项,描述任务如何执行迁移等一系列配置信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.MigrateOption`
"""
return self._MigrateOption
@MigrateOption.setter
def MigrateOption(self, MigrateOption):
self._MigrateOption = MigrateOption
@property
def CheckStepInfo(self):
"""校验任务运行详情
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.CheckStepInfo`
"""
return self._CheckStepInfo
@CheckStepInfo.setter
def CheckStepInfo(self, CheckStepInfo):
self._CheckStepInfo = CheckStepInfo
@property
def TradeInfo(self):
"""描述计费相关的信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.TradeInfo`
"""
return self._TradeInfo
@TradeInfo.setter
def TradeInfo(self, TradeInfo):
self._TradeInfo = TradeInfo
@property
def ErrorInfo(self):
"""任务错误信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of ErrorInfoItem
"""
return self._ErrorInfo
@ErrorInfo.setter
def ErrorInfo(self, ErrorInfo):
self._ErrorInfo = ErrorInfo
@property
def DumperResumeCtrl(self):
"""全量导出可重入标识:enum::"yes"/"no"。yes表示当前任务可重入、no表示当前任务处于全量导出且不可重入阶段;如果在该值为no时重启任务导出流程不支持断点续传
:rtype: str
"""
return self._DumperResumeCtrl
@DumperResumeCtrl.setter
def DumperResumeCtrl(self, DumperResumeCtrl):
self._DumperResumeCtrl = DumperResumeCtrl
@property
def RateLimitOption(self):
"""任务的限速信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.RateLimitOption`
"""
return self._RateLimitOption
@RateLimitOption.setter
def RateLimitOption(self, RateLimitOption):
self._RateLimitOption = RateLimitOption
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._JobName = params.get("JobName")
self._CreateTime = params.get("CreateTime")
self._UpdateTime = params.get("UpdateTime")
self._StartTime = params.get("StartTime")
self._EndTime = params.get("EndTime")
self._BriefMsg = params.get("BriefMsg")
self._Status = params.get("Status")
if params.get("Action") is not None:
self._Action = MigrateAction()
self._Action._deserialize(params.get("Action"))
if params.get("StepInfo") is not None:
self._StepInfo = MigrateDetailInfo()
self._StepInfo._deserialize(params.get("StepInfo"))
if params.get("SrcInfo") is not None:
self._SrcInfo = DBEndpointInfo()
self._SrcInfo._deserialize(params.get("SrcInfo"))
if params.get("DstInfo") is not None:
self._DstInfo = DBEndpointInfo()
self._DstInfo._deserialize(params.get("DstInfo"))
if params.get("CompareTask") is not None:
self._CompareTask = CompareTaskInfo()
self._CompareTask._deserialize(params.get("CompareTask"))
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = TagItem()
obj._deserialize(item)
self._Tags.append(obj)
self._RunMode = params.get("RunMode")
self._ExpectRunTime = params.get("ExpectRunTime")
if params.get("MigrateOption") is not None:
self._MigrateOption = MigrateOption()
self._MigrateOption._deserialize(params.get("MigrateOption"))
if params.get("CheckStepInfo") is not None:
self._CheckStepInfo = CheckStepInfo()
self._CheckStepInfo._deserialize(params.get("CheckStepInfo"))
if params.get("TradeInfo") is not None:
self._TradeInfo = TradeInfo()
self._TradeInfo._deserialize(params.get("TradeInfo"))
if params.get("ErrorInfo") is not None:
self._ErrorInfo = []
for item in params.get("ErrorInfo"):
obj = ErrorInfoItem()
obj._deserialize(item)
self._ErrorInfo.append(obj)
self._DumperResumeCtrl = params.get("DumperResumeCtrl")
if params.get("RateLimitOption") is not None:
self._RateLimitOption = RateLimitOption()
self._RateLimitOption._deserialize(params.get("RateLimitOption"))
self._RequestId = params.get("RequestId")
class DescribeMigrationJobsRequest(AbstractModel):
"""DescribeMigrationJobs请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID,如:dts-amm1jw5q
:type JobId: str
:param _JobName: 数据迁移任务名称
:type JobName: str
:param _Status: 数据迁移任务状态,可取值包括:created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行中)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中)
:type Status: list of str
:param _SrcInstanceId: 源实例ID,格式如:cdb-c1nl9rpv
:type SrcInstanceId: str
:param _SrcRegion: 源实例地域,如:ap-guangzhou
:type SrcRegion: str
:param _SrcDatabaseType: 源实例数据库类型,如:sqlserver,mysql,mongodb,redis,tendis,keewidb,clickhouse,cynosdbmysql,percona,tdsqlpercona,mariadb,tdsqlmysql,postgresql
:type SrcDatabaseType: list of str
:param _SrcAccessType: 源实例接入类型,值包括:extranet(外网)、vpncloud(云vpn接入的实例)、dcg(专线接入的实例)、ccn(云联网接入的实例)、cdb(云上cdb实例)、cvm(cvm自建实例)
:type SrcAccessType: list of str
:param _DstInstanceId: 目标实例ID,格式如:cdb-c1nl9rpv
:type DstInstanceId: str
:param _DstRegion: 目标实例地域,如:ap-guangzhou
:type DstRegion: str
:param _DstDatabaseType: 目标源实例数据库类型,如:sqlserver,mysql,mongodb,redis,tendis,keewidb,clickhouse,cynosdbmysql,percona,tdsqlpercona,mariadb,tdsqlmysql,postgresql
:type DstDatabaseType: list of str
:param _DstAccessType: 目标实例接入类型,值包括:extranet(外网)、vpncloud(云vpn接入的实例)、dcg(专线接入的实例)、ccn(云联网接入的实例)、cdb(云上cdb实例)、cvm(cvm自建实例)
:type DstAccessType: list of str
:param _RunMode: 任务运行模式,值包括:immediate(立即运行),timed(定时运行)
:type RunMode: str
:param _OrderSeq: 排序方式,可能取值为asc、desc,默认按照创建时间倒序
:type OrderSeq: str
:param _Limit: 返回实例数量,默认20,有效区间[1,100]
:type Limit: int
:param _Offset: 偏移量,默认为0
:type Offset: int
:param _TagFilters: 标签过滤
:type TagFilters: list of TagFilter
"""
self._JobId = None
self._JobName = None
self._Status = None
self._SrcInstanceId = None
self._SrcRegion = None
self._SrcDatabaseType = None
self._SrcAccessType = None
self._DstInstanceId = None
self._DstRegion = None
self._DstDatabaseType = None
self._DstAccessType = None
self._RunMode = None
self._OrderSeq = None
self._Limit = None
self._Offset = None
self._TagFilters = None
@property
def JobId(self):
"""数据迁移任务ID,如:dts-amm1jw5q
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def JobName(self):
"""数据迁移任务名称
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
@property
def Status(self):
"""数据迁移任务状态,可取值包括:created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行中)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中)
:rtype: list of str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def SrcInstanceId(self):
"""源实例ID,格式如:cdb-c1nl9rpv
:rtype: str
"""
return self._SrcInstanceId
@SrcInstanceId.setter
def SrcInstanceId(self, SrcInstanceId):
self._SrcInstanceId = SrcInstanceId
@property
def SrcRegion(self):
"""源实例地域,如:ap-guangzhou
:rtype: str
"""
return self._SrcRegion
@SrcRegion.setter
def SrcRegion(self, SrcRegion):
self._SrcRegion = SrcRegion
@property
def SrcDatabaseType(self):
"""源实例数据库类型,如:sqlserver,mysql,mongodb,redis,tendis,keewidb,clickhouse,cynosdbmysql,percona,tdsqlpercona,mariadb,tdsqlmysql,postgresql
:rtype: list of str
"""
return self._SrcDatabaseType
@SrcDatabaseType.setter
def SrcDatabaseType(self, SrcDatabaseType):
self._SrcDatabaseType = SrcDatabaseType
@property
def SrcAccessType(self):
"""源实例接入类型,值包括:extranet(外网)、vpncloud(云vpn接入的实例)、dcg(专线接入的实例)、ccn(云联网接入的实例)、cdb(云上cdb实例)、cvm(cvm自建实例)
:rtype: list of str
"""
return self._SrcAccessType
@SrcAccessType.setter
def SrcAccessType(self, SrcAccessType):
self._SrcAccessType = SrcAccessType
@property
def DstInstanceId(self):
"""目标实例ID,格式如:cdb-c1nl9rpv
:rtype: str
"""
return self._DstInstanceId
@DstInstanceId.setter
def DstInstanceId(self, DstInstanceId):
self._DstInstanceId = DstInstanceId
@property
def DstRegion(self):
"""目标实例地域,如:ap-guangzhou
:rtype: str
"""
return self._DstRegion
@DstRegion.setter
def DstRegion(self, DstRegion):
self._DstRegion = DstRegion
@property
def DstDatabaseType(self):
"""目标源实例数据库类型,如:sqlserver,mysql,mongodb,redis,tendis,keewidb,clickhouse,cynosdbmysql,percona,tdsqlpercona,mariadb,tdsqlmysql,postgresql
:rtype: list of str
"""
return self._DstDatabaseType
@DstDatabaseType.setter
def DstDatabaseType(self, DstDatabaseType):
self._DstDatabaseType = DstDatabaseType
@property
def DstAccessType(self):
"""目标实例接入类型,值包括:extranet(外网)、vpncloud(云vpn接入的实例)、dcg(专线接入的实例)、ccn(云联网接入的实例)、cdb(云上cdb实例)、cvm(cvm自建实例)
:rtype: list of str
"""
return self._DstAccessType
@DstAccessType.setter
def DstAccessType(self, DstAccessType):
self._DstAccessType = DstAccessType
@property
def RunMode(self):
"""任务运行模式,值包括:immediate(立即运行),timed(定时运行)
:rtype: str
"""
return self._RunMode
@RunMode.setter
def RunMode(self, RunMode):
self._RunMode = RunMode
@property
def OrderSeq(self):
"""排序方式,可能取值为asc、desc,默认按照创建时间倒序
:rtype: str
"""
return self._OrderSeq
@OrderSeq.setter
def OrderSeq(self, OrderSeq):
self._OrderSeq = OrderSeq
@property
def Limit(self):
"""返回实例数量,默认20,有效区间[1,100]
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Offset(self):
"""偏移量,默认为0
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def TagFilters(self):
"""标签过滤
:rtype: list of TagFilter
"""
return self._TagFilters
@TagFilters.setter
def TagFilters(self, TagFilters):
self._TagFilters = TagFilters
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._JobName = params.get("JobName")
self._Status = params.get("Status")
self._SrcInstanceId = params.get("SrcInstanceId")
self._SrcRegion = params.get("SrcRegion")
self._SrcDatabaseType = params.get("SrcDatabaseType")
self._SrcAccessType = params.get("SrcAccessType")
self._DstInstanceId = params.get("DstInstanceId")
self._DstRegion = params.get("DstRegion")
self._DstDatabaseType = params.get("DstDatabaseType")
self._DstAccessType = params.get("DstAccessType")
self._RunMode = params.get("RunMode")
self._OrderSeq = params.get("OrderSeq")
self._Limit = params.get("Limit")
self._Offset = params.get("Offset")
if params.get("TagFilters") is not None:
self._TagFilters = []
for item in params.get("TagFilters"):
obj = TagFilter()
obj._deserialize(item)
self._TagFilters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeMigrationJobsResponse(AbstractModel):
"""DescribeMigrationJobs返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: 迁移任务数量
注意:此字段可能返回 null,表示取不到有效值。
:type TotalCount: int
:param _JobList: 迁移任务列表
注意:此字段可能返回 null,表示取不到有效值。
:type JobList: list of JobItem
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._JobList = None
self._RequestId = None
@property
def TotalCount(self):
"""迁移任务数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def JobList(self):
"""迁移任务列表
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of JobItem
"""
return self._JobList
@JobList.setter
def JobList(self, JobList):
self._JobList = JobList
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("JobList") is not None:
self._JobList = []
for item in params.get("JobList"):
obj = JobItem()
obj._deserialize(item)
self._JobList.append(obj)
self._RequestId = params.get("RequestId")
class DescribeModifyCheckSyncJobResultRequest(AbstractModel):
"""DescribeModifyCheckSyncJobResult请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeModifyCheckSyncJobResultResponse(AbstractModel):
"""DescribeModifyCheckSyncJobResult返回参数结构体
"""
def __init__(self):
r"""
:param _Status: 校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功)
:type Status: str
:param _StepCount: 校验的步骤总数
注意:此字段可能返回 null,表示取不到有效值。
:type StepCount: int
:param _StepCur: 当前所在步骤
注意:此字段可能返回 null,表示取不到有效值。
:type StepCur: int
:param _Progress: 总体进度,范围为[0,100]
注意:此字段可能返回 null,表示取不到有效值。
:type Progress: int
:param _StepInfos: 步骤详细信息
注意:此字段可能返回 null,表示取不到有效值。
:type StepInfos: list of StepInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Status = None
self._StepCount = None
self._StepCur = None
self._Progress = None
self._StepInfos = None
self._RequestId = None
@property
def Status(self):
"""校验任务执行状态,如:notStarted(未开始)、running(校验中)、failed(校验任务失败)、success(任务成功)
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def StepCount(self):
"""校验的步骤总数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepCount
@StepCount.setter
def StepCount(self, StepCount):
self._StepCount = StepCount
@property
def StepCur(self):
"""当前所在步骤
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepCur
@StepCur.setter
def StepCur(self, StepCur):
self._StepCur = StepCur
@property
def Progress(self):
"""总体进度,范围为[0,100]
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Progress
@Progress.setter
def Progress(self, Progress):
self._Progress = Progress
@property
def StepInfos(self):
"""步骤详细信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of StepInfo
"""
return self._StepInfos
@StepInfos.setter
def StepInfos(self, StepInfos):
self._StepInfos = StepInfos
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Status = params.get("Status")
self._StepCount = params.get("StepCount")
self._StepCur = params.get("StepCur")
self._Progress = params.get("Progress")
if params.get("StepInfos") is not None:
self._StepInfos = []
for item in params.get("StepInfos"):
obj = StepInfo()
obj._deserialize(item)
self._StepInfos.append(obj)
self._RequestId = params.get("RequestId")
class DescribeOffsetByTimeRequest(AbstractModel):
"""DescribeOffsetByTime请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的 ID
:type SubscribeId: str
:param _Time: 时间点,格式为:Y-m-d h:m:s。如果输入时间比当前时间晚的多,相当于查询最新offset;如果输入时间比当前时间早的多,相当于查询最老offset;如果输入空,默认0时间,等价于查询最老offset。
:type Time: str
"""
self._SubscribeId = None
self._Time = None
@property
def SubscribeId(self):
"""数据订阅实例的 ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def Time(self):
"""时间点,格式为:Y-m-d h:m:s。如果输入时间比当前时间晚的多,相当于查询最新offset;如果输入时间比当前时间早的多,相当于查询最老offset;如果输入空,默认0时间,等价于查询最老offset。
:rtype: str
"""
return self._Time
@Time.setter
def Time(self, Time):
self._Time = Time
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._Time = params.get("Time")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeOffsetByTimeResponse(AbstractModel):
"""DescribeOffsetByTime返回参数结构体
"""
def __init__(self):
r"""
:param _Items: 时间与Offset的对应
:type Items: list of OffsetTimeMap
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Items = None
self._RequestId = None
@property
def Items(self):
"""时间与Offset的对应
:rtype: list of OffsetTimeMap
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
if params.get("Items") is not None:
self._Items = []
for item in params.get("Items"):
obj = OffsetTimeMap()
obj._deserialize(item)
self._Items.append(obj)
self._RequestId = params.get("RequestId")
class DescribeSubscribeCheckJobRequest(AbstractModel):
"""DescribeSubscribeCheckJob请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的 ID
:type SubscribeId: str
"""
self._SubscribeId = None
@property
def SubscribeId(self):
"""数据订阅实例的 ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeSubscribeCheckJobResponse(AbstractModel):
"""DescribeSubscribeCheckJob返回参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 订阅实例ID
:type SubscribeId: str
:param _Message: 失败或者报错提示,成功则提示success。
注意:此字段可能返回 null,表示取不到有效值。
:type Message: str
:param _Status: 任务运行状态,可能值为 running,failed,success
:type Status: str
:param _Progress: 当前总体进度,范围 0~100
:type Progress: int
:param _StepAll: 校验总步骤数
:type StepAll: int
:param _StepNow: 当前执行步骤
:type StepNow: int
:param _Steps: 各个步骤运行状态
注意:此字段可能返回 null,表示取不到有效值。
:type Steps: list of SubscribeCheckStepInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._SubscribeId = None
self._Message = None
self._Status = None
self._Progress = None
self._StepAll = None
self._StepNow = None
self._Steps = None
self._RequestId = None
@property
def SubscribeId(self):
"""订阅实例ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def Message(self):
"""失败或者报错提示,成功则提示success。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def Status(self):
"""任务运行状态,可能值为 running,failed,success
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Progress(self):
"""当前总体进度,范围 0~100
:rtype: int
"""
return self._Progress
@Progress.setter
def Progress(self, Progress):
self._Progress = Progress
@property
def StepAll(self):
"""校验总步骤数
:rtype: int
"""
return self._StepAll
@StepAll.setter
def StepAll(self, StepAll):
self._StepAll = StepAll
@property
def StepNow(self):
"""当前执行步骤
:rtype: int
"""
return self._StepNow
@StepNow.setter
def StepNow(self, StepNow):
self._StepNow = StepNow
@property
def Steps(self):
"""各个步骤运行状态
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of SubscribeCheckStepInfo
"""
return self._Steps
@Steps.setter
def Steps(self, Steps):
self._Steps = Steps
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._Message = params.get("Message")
self._Status = params.get("Status")
self._Progress = params.get("Progress")
self._StepAll = params.get("StepAll")
self._StepNow = params.get("StepNow")
if params.get("Steps") is not None:
self._Steps = []
for item in params.get("Steps"):
obj = SubscribeCheckStepInfo()
obj._deserialize(item)
self._Steps.append(obj)
self._RequestId = params.get("RequestId")
class DescribeSubscribeDetailRequest(AbstractModel):
"""DescribeSubscribeDetail请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 订阅实例ID
:type SubscribeId: str
"""
self._SubscribeId = None
@property
def SubscribeId(self):
"""订阅实例ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeSubscribeDetailResponse(AbstractModel):
"""DescribeSubscribeDetail返回参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅的ID,形如subs-b6x64o31tm
:type SubscribeId: str
:param _SubscribeName: 数据订阅实例的名称
:type SubscribeName: str
:param _Product: 订阅的数据库类型,目前支持 cynosdbmysql(tdsql-c mysql版),mariadb,mongodb,mysql,percona,tdpg(tdsql postgresql版),tdsqlpercona(tdsql mysql版)
:type Product: str
:param _InstanceId: 订阅的云数据库实例ID,只有订阅云数据库该值才有意义
注意:此字段可能返回 null,表示取不到有效值。
:type InstanceId: str
:param _InstanceStatus: 订阅的云数据库实例状态,只有订阅云数据库该值才有意义。可能值为:running, isolated, offline
注意:此字段可能返回 null,表示取不到有效值。
:type InstanceStatus: str
:param _Status: 订阅任务计费状态,可能值为:正常normal, 隔离中isolating, 已隔离isolated, 下线中offlining, 按量转包年包月中 post2PrePayIng
:type Status: str
:param _SubsStatus: 订阅任务状态,可能值为:未启动notStarted, 校验中checking, 校验不通过checkNotPass, 校验通过checkPass, 启动中starting, 运行中running, 异常出错error
:type SubsStatus: str
:param _ModifyTime: 修改时间,时间格式如:Y-m-d h:m:s
注意:此字段可能返回 null,表示取不到有效值。
:type ModifyTime: str
:param _CreateTime: 创建时间,时间格式如:Y-m-d h:m:s
注意:此字段可能返回 null,表示取不到有效值。
:type CreateTime: str
:param _IsolateTime: 隔离时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:type IsolateTime: str
:param _ExpireTime: 包年包月任务的到期时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:type ExpireTime: str
:param _OfflineTime: 下线时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:type OfflineTime: str
:param _PayType: 付费方式,可能值为:0-包年包月,1-按量计费
:type PayType: int
:param _AutoRenewFlag: 自动续费标识。只有当 PayType=0,该值才有意义。枚举值:0-不自动续费,1-自动续费
:type AutoRenewFlag: int
:param _Region: 任务所在地域
:type Region: str
:param _Topic: Kafka topic
注意:此字段可能返回 null,表示取不到有效值。
:type Topic: str
:param _Broker: Kafka服务Broker地址
注意:此字段可能返回 null,表示取不到有效值。
:type Broker: str
:param _SubscribeMode: 数据订阅的类型,当 Product 不为 mongodb 时,可能值为:all-全实例更新;dml-数据更新;ddl-结构更新;dmlAndDdl-数据更新+结构更新。当 Product 为 mongodb 时,可能值为 all-全实例更新;database-订阅单库;collection-订阅单集合
注意:此字段可能返回 null,表示取不到有效值。
:type SubscribeMode: str
:param _Protocol: 订阅数据格式。如果为空则用的默认格式: mysql\cynosdbmysql\mariadb\percona\tdsqlpercona\tdpg是protobuf,mongo是json。当 DatabaseType 为 mysql和cynosdbmysql 时有三种可选协议:protobuf\avro\json。数据格式详情参考官网的消费demo文档
注意:此字段可能返回 null,表示取不到有效值。
:type Protocol: str
:param _SubscribeObjects: 订阅的数据库表信息
注意:此字段可能返回 null,表示取不到有效值。
:type SubscribeObjects: list of SubscribeObject
:param _KafkaConfig: kafka配置信息
注意:此字段可能返回 null,表示取不到有效值。
:type KafkaConfig: :class:`tencentcloud.dts.v20211206.models.SubscribeKafkaConfig`
:param _KafkaVersion: 订阅内置kafka的版本信息
注意:此字段可能返回 null,表示取不到有效值。
:type KafkaVersion: str
:param _AccessType: 源数据库接入类型,如:extranet(公网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、cdb(云数据库)、cvm(云服务器自建)、intranet(自研上云)、vpc(私有网络vpc)。注意具体可选值依赖当前链路支持能力
注意:此字段可能返回 null,表示取不到有效值。
:type AccessType: str
:param _Endpoints: 接入类型信息
注意:此字段可能返回 null,表示取不到有效值。
:type Endpoints: list of EndpointItem
:param _PipelineInfo: mongo输出聚合设置
注意:此字段可能返回 null,表示取不到有效值。
:type PipelineInfo: list of PipelineInfo
:param _Tags: 标签
注意:此字段可能返回 null,表示取不到有效值。
:type Tags: list of TagItem
:param _Errors: 订阅任务报错信息
注意:此字段可能返回 null,表示取不到有效值。
:type Errors: list of SubsErr
:param _ExtraAttr: 为业务添加的额外信息。参数名作key,参数值作value。
mysql选填参数:ProcessXA-是否处理XA事务,为true处理,其他不处理。
mongo选填参数:SubscribeType-订阅类型,目前只支持changeStream。
注意:此字段可能返回 null,表示取不到有效值。
:type ExtraAttr: list of KeyValuePairOption
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._SubscribeId = None
self._SubscribeName = None
self._Product = None
self._InstanceId = None
self._InstanceStatus = None
self._Status = None
self._SubsStatus = None
self._ModifyTime = None
self._CreateTime = None
self._IsolateTime = None
self._ExpireTime = None
self._OfflineTime = None
self._PayType = None
self._AutoRenewFlag = None
self._Region = None
self._Topic = None
self._Broker = None
self._SubscribeMode = None
self._Protocol = None
self._SubscribeObjects = None
self._KafkaConfig = None
self._KafkaVersion = None
self._AccessType = None
self._Endpoints = None
self._PipelineInfo = None
self._Tags = None
self._Errors = None
self._ExtraAttr = None
self._RequestId = None
@property
def SubscribeId(self):
"""数据订阅的ID,形如subs-b6x64o31tm
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def SubscribeName(self):
"""数据订阅实例的名称
:rtype: str
"""
return self._SubscribeName
@SubscribeName.setter
def SubscribeName(self, SubscribeName):
self._SubscribeName = SubscribeName
@property
def Product(self):
"""订阅的数据库类型,目前支持 cynosdbmysql(tdsql-c mysql版),mariadb,mongodb,mysql,percona,tdpg(tdsql postgresql版),tdsqlpercona(tdsql mysql版)
:rtype: str
"""
return self._Product
@Product.setter
def Product(self, Product):
self._Product = Product
@property
def InstanceId(self):
"""订阅的云数据库实例ID,只有订阅云数据库该值才有意义
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def InstanceStatus(self):
"""订阅的云数据库实例状态,只有订阅云数据库该值才有意义。可能值为:running, isolated, offline
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InstanceStatus
@InstanceStatus.setter
def InstanceStatus(self, InstanceStatus):
self._InstanceStatus = InstanceStatus
@property
def Status(self):
"""订阅任务计费状态,可能值为:正常normal, 隔离中isolating, 已隔离isolated, 下线中offlining, 按量转包年包月中 post2PrePayIng
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def SubsStatus(self):
"""订阅任务状态,可能值为:未启动notStarted, 校验中checking, 校验不通过checkNotPass, 校验通过checkPass, 启动中starting, 运行中running, 异常出错error
:rtype: str
"""
return self._SubsStatus
@SubsStatus.setter
def SubsStatus(self, SubsStatus):
self._SubsStatus = SubsStatus
@property
def ModifyTime(self):
"""修改时间,时间格式如:Y-m-d h:m:s
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
@property
def CreateTime(self):
"""创建时间,时间格式如:Y-m-d h:m:s
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def IsolateTime(self):
"""隔离时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._IsolateTime
@IsolateTime.setter
def IsolateTime(self, IsolateTime):
self._IsolateTime = IsolateTime
@property
def ExpireTime(self):
"""包年包月任务的到期时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def OfflineTime(self):
"""下线时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._OfflineTime
@OfflineTime.setter
def OfflineTime(self, OfflineTime):
self._OfflineTime = OfflineTime
@property
def PayType(self):
"""付费方式,可能值为:0-包年包月,1-按量计费
:rtype: int
"""
return self._PayType
@PayType.setter
def PayType(self, PayType):
self._PayType = PayType
@property
def AutoRenewFlag(self):
"""自动续费标识。只有当 PayType=0,该值才有意义。枚举值:0-不自动续费,1-自动续费
:rtype: int
"""
return self._AutoRenewFlag
@AutoRenewFlag.setter
def AutoRenewFlag(self, AutoRenewFlag):
self._AutoRenewFlag = AutoRenewFlag
@property
def Region(self):
"""任务所在地域
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def Topic(self):
"""Kafka topic
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Topic
@Topic.setter
def Topic(self, Topic):
self._Topic = Topic
@property
def Broker(self):
"""Kafka服务Broker地址
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Broker
@Broker.setter
def Broker(self, Broker):
self._Broker = Broker
@property
def SubscribeMode(self):
"""数据订阅的类型,当 Product 不为 mongodb 时,可能值为:all-全实例更新;dml-数据更新;ddl-结构更新;dmlAndDdl-数据更新+结构更新。当 Product 为 mongodb 时,可能值为 all-全实例更新;database-订阅单库;collection-订阅单集合
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SubscribeMode
@SubscribeMode.setter
def SubscribeMode(self, SubscribeMode):
self._SubscribeMode = SubscribeMode
@property
def Protocol(self):
"""订阅数据格式。如果为空则用的默认格式: mysql\cynosdbmysql\mariadb\percona\tdsqlpercona\tdpg是protobuf,mongo是json。当 DatabaseType 为 mysql和cynosdbmysql 时有三种可选协议:protobuf\avro\json。数据格式详情参考官网的消费demo文档
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Protocol
@Protocol.setter
def Protocol(self, Protocol):
self._Protocol = Protocol
@property
def SubscribeObjects(self):
"""订阅的数据库表信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of SubscribeObject
"""
return self._SubscribeObjects
@SubscribeObjects.setter
def SubscribeObjects(self, SubscribeObjects):
self._SubscribeObjects = SubscribeObjects
@property
def KafkaConfig(self):
"""kafka配置信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.SubscribeKafkaConfig`
"""
return self._KafkaConfig
@KafkaConfig.setter
def KafkaConfig(self, KafkaConfig):
self._KafkaConfig = KafkaConfig
@property
def KafkaVersion(self):
"""订阅内置kafka的版本信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._KafkaVersion
@KafkaVersion.setter
def KafkaVersion(self, KafkaVersion):
self._KafkaVersion = KafkaVersion
@property
def AccessType(self):
"""源数据库接入类型,如:extranet(公网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、cdb(云数据库)、cvm(云服务器自建)、intranet(自研上云)、vpc(私有网络vpc)。注意具体可选值依赖当前链路支持能力
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AccessType
@AccessType.setter
def AccessType(self, AccessType):
self._AccessType = AccessType
@property
def Endpoints(self):
"""接入类型信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of EndpointItem
"""
return self._Endpoints
@Endpoints.setter
def Endpoints(self, Endpoints):
self._Endpoints = Endpoints
@property
def PipelineInfo(self):
"""mongo输出聚合设置
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of PipelineInfo
"""
return self._PipelineInfo
@PipelineInfo.setter
def PipelineInfo(self, PipelineInfo):
self._PipelineInfo = PipelineInfo
@property
def Tags(self):
"""标签
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of TagItem
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def Errors(self):
"""订阅任务报错信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of SubsErr
"""
return self._Errors
@Errors.setter
def Errors(self, Errors):
self._Errors = Errors
@property
def ExtraAttr(self):
"""为业务添加的额外信息。参数名作key,参数值作value。
mysql选填参数:ProcessXA-是否处理XA事务,为true处理,其他不处理。
mongo选填参数:SubscribeType-订阅类型,目前只支持changeStream。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of KeyValuePairOption
"""
return self._ExtraAttr
@ExtraAttr.setter
def ExtraAttr(self, ExtraAttr):
self._ExtraAttr = ExtraAttr
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._SubscribeName = params.get("SubscribeName")
self._Product = params.get("Product")
self._InstanceId = params.get("InstanceId")
self._InstanceStatus = params.get("InstanceStatus")
self._Status = params.get("Status")
self._SubsStatus = params.get("SubsStatus")
self._ModifyTime = params.get("ModifyTime")
self._CreateTime = params.get("CreateTime")
self._IsolateTime = params.get("IsolateTime")
self._ExpireTime = params.get("ExpireTime")
self._OfflineTime = params.get("OfflineTime")
self._PayType = params.get("PayType")
self._AutoRenewFlag = params.get("AutoRenewFlag")
self._Region = params.get("Region")
self._Topic = params.get("Topic")
self._Broker = params.get("Broker")
self._SubscribeMode = params.get("SubscribeMode")
self._Protocol = params.get("Protocol")
if params.get("SubscribeObjects") is not None:
self._SubscribeObjects = []
for item in params.get("SubscribeObjects"):
obj = SubscribeObject()
obj._deserialize(item)
self._SubscribeObjects.append(obj)
if params.get("KafkaConfig") is not None:
self._KafkaConfig = SubscribeKafkaConfig()
self._KafkaConfig._deserialize(params.get("KafkaConfig"))
self._KafkaVersion = params.get("KafkaVersion")
self._AccessType = params.get("AccessType")
if params.get("Endpoints") is not None:
self._Endpoints = []
for item in params.get("Endpoints"):
obj = EndpointItem()
obj._deserialize(item)
self._Endpoints.append(obj)
if params.get("PipelineInfo") is not None:
self._PipelineInfo = []
for item in params.get("PipelineInfo"):
obj = PipelineInfo()
obj._deserialize(item)
self._PipelineInfo.append(obj)
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = TagItem()
obj._deserialize(item)
self._Tags.append(obj)
if params.get("Errors") is not None:
self._Errors = []
for item in params.get("Errors"):
obj = SubsErr()
obj._deserialize(item)
self._Errors.append(obj)
if params.get("ExtraAttr") is not None:
self._ExtraAttr = []
for item in params.get("ExtraAttr"):
obj = KeyValuePairOption()
obj._deserialize(item)
self._ExtraAttr.append(obj)
self._RequestId = params.get("RequestId")
class DescribeSubscribeJobsRequest(AbstractModel):
"""DescribeSubscribeJobs请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 订阅 ID 筛选,精确匹配
:type SubscribeId: str
:param _SubscribeIds: 订阅 ID 筛选,精确匹配
:type SubscribeIds: list of str
:param _SubscribeName: 订阅名称,前缀模糊匹配
:type SubscribeName: str
:param _InstanceId: 订阅的云上数据库实例的 ID,精确匹配
:type InstanceId: str
:param _Topic: 订阅的topicName
:type Topic: str
:param _PayType: 计费模式筛选,可能的值:0-包年包月,1-按量计费
:type PayType: int
:param _Product: 订阅的数据库产品,目前支持 cynosdbmysql,mariadb,mongodb,mysql,percona,tdpg,tdsqlpercona(tdsqlmysql)
:type Product: str
:param _Status: 数据订阅生命周期状态,可能的值为:正常 normal, 隔离中 isolating, 已隔离 isolated, 下线中 offlining,按量转包年包月中 post2PrePayIng
:type Status: list of str
:param _SubsStatus: 数据订阅状态,可能的值为:未启动 notStarted, 校验中 checking, 校验不通过 checkNotPass, 校验通过 checkPass, 启动中 starting, 运行中 running, 异常出错 error
:type SubsStatus: list of str
:param _Offset: 返回记录的起始偏移量。默认0
:type Offset: int
:param _Limit: 单次返回的记录数量。默认20,最大100
:type Limit: int
:param _OrderDirection: 排序方向,可选的值为"DESC"和"ASC",默认为"DESC",按创建时间逆序排序
:type OrderDirection: str
:param _TagFilters: tag 过滤条件,多个 TagFilter 之间关系为且
:type TagFilters: list of TagFilter
"""
self._SubscribeId = None
self._SubscribeIds = None
self._SubscribeName = None
self._InstanceId = None
self._Topic = None
self._PayType = None
self._Product = None
self._Status = None
self._SubsStatus = None
self._Offset = None
self._Limit = None
self._OrderDirection = None
self._TagFilters = None
@property
def SubscribeId(self):
"""订阅 ID 筛选,精确匹配
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def SubscribeIds(self):
"""订阅 ID 筛选,精确匹配
:rtype: list of str
"""
return self._SubscribeIds
@SubscribeIds.setter
def SubscribeIds(self, SubscribeIds):
self._SubscribeIds = SubscribeIds
@property
def SubscribeName(self):
"""订阅名称,前缀模糊匹配
:rtype: str
"""
return self._SubscribeName
@SubscribeName.setter
def SubscribeName(self, SubscribeName):
self._SubscribeName = SubscribeName
@property
def InstanceId(self):
"""订阅的云上数据库实例的 ID,精确匹配
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Topic(self):
"""订阅的topicName
:rtype: str
"""
return self._Topic
@Topic.setter
def Topic(self, Topic):
self._Topic = Topic
@property
def PayType(self):
"""计费模式筛选,可能的值:0-包年包月,1-按量计费
:rtype: int
"""
return self._PayType
@PayType.setter
def PayType(self, PayType):
self._PayType = PayType
@property
def Product(self):
"""订阅的数据库产品,目前支持 cynosdbmysql,mariadb,mongodb,mysql,percona,tdpg,tdsqlpercona(tdsqlmysql)
:rtype: str
"""
return self._Product
@Product.setter
def Product(self, Product):
self._Product = Product
@property
def Status(self):
"""数据订阅生命周期状态,可能的值为:正常 normal, 隔离中 isolating, 已隔离 isolated, 下线中 offlining,按量转包年包月中 post2PrePayIng
:rtype: list of str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def SubsStatus(self):
"""数据订阅状态,可能的值为:未启动 notStarted, 校验中 checking, 校验不通过 checkNotPass, 校验通过 checkPass, 启动中 starting, 运行中 running, 异常出错 error
:rtype: list of str
"""
return self._SubsStatus
@SubsStatus.setter
def SubsStatus(self, SubsStatus):
self._SubsStatus = SubsStatus
@property
def Offset(self):
"""返回记录的起始偏移量。默认0
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""单次返回的记录数量。默认20,最大100
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def OrderDirection(self):
"""排序方向,可选的值为"DESC"和"ASC",默认为"DESC",按创建时间逆序排序
:rtype: str
"""
return self._OrderDirection
@OrderDirection.setter
def OrderDirection(self, OrderDirection):
self._OrderDirection = OrderDirection
@property
def TagFilters(self):
"""tag 过滤条件,多个 TagFilter 之间关系为且
:rtype: list of TagFilter
"""
return self._TagFilters
@TagFilters.setter
def TagFilters(self, TagFilters):
self._TagFilters = TagFilters
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._SubscribeIds = params.get("SubscribeIds")
self._SubscribeName = params.get("SubscribeName")
self._InstanceId = params.get("InstanceId")
self._Topic = params.get("Topic")
self._PayType = params.get("PayType")
self._Product = params.get("Product")
self._Status = params.get("Status")
self._SubsStatus = params.get("SubsStatus")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._OrderDirection = params.get("OrderDirection")
if params.get("TagFilters") is not None:
self._TagFilters = []
for item in params.get("TagFilters"):
obj = TagFilter()
obj._deserialize(item)
self._TagFilters.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeSubscribeJobsResponse(AbstractModel):
"""DescribeSubscribeJobs返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: 符合查询条件的实例总数
:type TotalCount: int
:param _Items: 数据订阅实例的信息列表
:type Items: list of SubscribeInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._Items = None
self._RequestId = None
@property
def TotalCount(self):
"""符合查询条件的实例总数
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Items(self):
"""数据订阅实例的信息列表
:rtype: list of SubscribeInfo
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Items") is not None:
self._Items = []
for item in params.get("Items"):
obj = SubscribeInfo()
obj._deserialize(item)
self._Items.append(obj)
self._RequestId = params.get("RequestId")
class DescribeSubscribeReturnableRequest(AbstractModel):
"""DescribeSubscribeReturnable请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的ID
:type SubscribeId: str
"""
self._SubscribeId = None
@property
def SubscribeId(self):
"""数据订阅实例的ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeSubscribeReturnableResponse(AbstractModel):
"""DescribeSubscribeReturnable返回参数结构体
"""
def __init__(self):
r"""
:param _IsReturnable: 实例是否支持退还/退货
:type IsReturnable: bool
:param _ReturnFailMessage: 不支持退还的原因
注意:此字段可能返回 null,表示取不到有效值。
:type ReturnFailMessage: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._IsReturnable = None
self._ReturnFailMessage = None
self._RequestId = None
@property
def IsReturnable(self):
"""实例是否支持退还/退货
:rtype: bool
"""
return self._IsReturnable
@IsReturnable.setter
def IsReturnable(self, IsReturnable):
self._IsReturnable = IsReturnable
@property
def ReturnFailMessage(self):
"""不支持退还的原因
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ReturnFailMessage
@ReturnFailMessage.setter
def ReturnFailMessage(self, ReturnFailMessage):
self._ReturnFailMessage = ReturnFailMessage
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._IsReturnable = params.get("IsReturnable")
self._ReturnFailMessage = params.get("ReturnFailMessage")
self._RequestId = params.get("RequestId")
class DescribeSyncJobsRequest(AbstractModel):
"""DescribeSyncJobs请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id,如sync-werwfs23
:type JobId: str
:param _JobIds: 同步任务id列表,如sync-werwfs23
:type JobIds: list of str
:param _JobName: 同步任务名
:type JobName: str
:param _Order: 排序字段,可以取值为CreateTime
:type Order: str
:param _OrderSeq: 排序方式,升序为ASC,降序为DESC,默认为CreateTime降序
:type OrderSeq: str
:param _Offset: 偏移量,默认为0
:type Offset: int
:param _Limit: 返回同步任务实例数量,默认20,有效区间[1,100]
:type Limit: int
:param _Status: 状态集合,如Initialized,CheckPass,Running,ResumableErr,Stopped
:type Status: list of str
:param _RunMode: 运行模式,如Immediate:立即运行,Timed:定时运行
:type RunMode: str
:param _JobType: 任务类型,如mysql2mysql:msyql同步到mysql
:type JobType: str
:param _PayMode: 付费类型,PrePay:预付费,PostPay:后付费
:type PayMode: str
:param _TagFilters: tag
:type TagFilters: list of TagFilter
:param _SrcInfoPattern: 源端数据库连接信息,可以输入实例ID或者IP等
:type SrcInfoPattern: str
:param _DstInfoPattern: 目标端数据库连接信息,可以输入实例ID或者IP等
:type DstInfoPattern: str
"""
self._JobId = None
self._JobIds = None
self._JobName = None
self._Order = None
self._OrderSeq = None
self._Offset = None
self._Limit = None
self._Status = None
self._RunMode = None
self._JobType = None
self._PayMode = None
self._TagFilters = None
self._SrcInfoPattern = None
self._DstInfoPattern = None
@property
def JobId(self):
"""同步任务id,如sync-werwfs23
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def JobIds(self):
"""同步任务id列表,如sync-werwfs23
:rtype: list of str
"""
return self._JobIds
@JobIds.setter
def JobIds(self, JobIds):
self._JobIds = JobIds
@property
def JobName(self):
"""同步任务名
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
@property
def Order(self):
"""排序字段,可以取值为CreateTime
:rtype: str
"""
return self._Order
@Order.setter
def Order(self, Order):
self._Order = Order
@property
def OrderSeq(self):
"""排序方式,升序为ASC,降序为DESC,默认为CreateTime降序
:rtype: str
"""
return self._OrderSeq
@OrderSeq.setter
def OrderSeq(self, OrderSeq):
self._OrderSeq = OrderSeq
@property
def Offset(self):
"""偏移量,默认为0
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
@property
def Limit(self):
"""返回同步任务实例数量,默认20,有效区间[1,100]
:rtype: int
"""
return self._Limit
@Limit.setter
def Limit(self, Limit):
self._Limit = Limit
@property
def Status(self):
"""状态集合,如Initialized,CheckPass,Running,ResumableErr,Stopped
:rtype: list of str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def RunMode(self):
"""运行模式,如Immediate:立即运行,Timed:定时运行
:rtype: str
"""
return self._RunMode
@RunMode.setter
def RunMode(self, RunMode):
self._RunMode = RunMode
@property
def JobType(self):
"""任务类型,如mysql2mysql:msyql同步到mysql
:rtype: str
"""
return self._JobType
@JobType.setter
def JobType(self, JobType):
self._JobType = JobType
@property
def PayMode(self):
"""付费类型,PrePay:预付费,PostPay:后付费
:rtype: str
"""
return self._PayMode
@PayMode.setter
def PayMode(self, PayMode):
self._PayMode = PayMode
@property
def TagFilters(self):
"""tag
:rtype: list of TagFilter
"""
return self._TagFilters
@TagFilters.setter
def TagFilters(self, TagFilters):
self._TagFilters = TagFilters
@property
def SrcInfoPattern(self):
"""源端数据库连接信息,可以输入实例ID或者IP等
:rtype: str
"""
return self._SrcInfoPattern
@SrcInfoPattern.setter
def SrcInfoPattern(self, SrcInfoPattern):
self._SrcInfoPattern = SrcInfoPattern
@property
def DstInfoPattern(self):
"""目标端数据库连接信息,可以输入实例ID或者IP等
:rtype: str
"""
return self._DstInfoPattern
@DstInfoPattern.setter
def DstInfoPattern(self, DstInfoPattern):
self._DstInfoPattern = DstInfoPattern
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._JobIds = params.get("JobIds")
self._JobName = params.get("JobName")
self._Order = params.get("Order")
self._OrderSeq = params.get("OrderSeq")
self._Offset = params.get("Offset")
self._Limit = params.get("Limit")
self._Status = params.get("Status")
self._RunMode = params.get("RunMode")
self._JobType = params.get("JobType")
self._PayMode = params.get("PayMode")
if params.get("TagFilters") is not None:
self._TagFilters = []
for item in params.get("TagFilters"):
obj = TagFilter()
obj._deserialize(item)
self._TagFilters.append(obj)
self._SrcInfoPattern = params.get("SrcInfoPattern")
self._DstInfoPattern = params.get("DstInfoPattern")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DescribeSyncJobsResponse(AbstractModel):
"""DescribeSyncJobs返回参数结构体
"""
def __init__(self):
r"""
:param _TotalCount: 任务数目
注意:此字段可能返回 null,表示取不到有效值。
:type TotalCount: int
:param _JobList: 任务详情数组
注意:此字段可能返回 null,表示取不到有效值。
:type JobList: list of SyncJobInfo
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._TotalCount = None
self._JobList = None
self._RequestId = None
@property
def TotalCount(self):
"""任务数目
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def JobList(self):
"""任务详情数组
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of SyncJobInfo
"""
return self._JobList
@JobList.setter
def JobList(self, JobList):
self._JobList = JobList
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("JobList") is not None:
self._JobList = []
for item in params.get("JobList"):
obj = SyncJobInfo()
obj._deserialize(item)
self._JobList.append(obj)
self._RequestId = params.get("RequestId")
class DestroyIsolatedSubscribeRequest(AbstractModel):
"""DestroyIsolatedSubscribe请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的ID
:type SubscribeId: str
"""
self._SubscribeId = None
@property
def SubscribeId(self):
"""数据订阅实例的ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DestroyIsolatedSubscribeResponse(AbstractModel):
"""DestroyIsolatedSubscribe返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DestroyMigrateJobRequest(AbstractModel):
"""DestroyMigrateJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DestroyMigrateJobResponse(AbstractModel):
"""DestroyMigrateJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DestroySyncJobRequest(AbstractModel):
"""DestroySyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DestroySyncJobResponse(AbstractModel):
"""DestroySyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class DetailCheckItem(AbstractModel):
"""每个检查步骤里的具体检查项
"""
def __init__(self):
r"""
:param _CheckItemName: 检查项的名称,如:源实例权限检查
注意:此字段可能返回 null,表示取不到有效值。
:type CheckItemName: str
:param _Description: 检查项详细内容
注意:此字段可能返回 null,表示取不到有效值。
:type Description: str
:param _CheckResult: pass(通过),failed(失败), warning(校验有警告,但仍通过)
注意:此字段可能返回 null,表示取不到有效值。
:type CheckResult: str
:param _FailureReason: 检查项失败原因
注意:此字段可能返回 null,表示取不到有效值。
:type FailureReason: str
:param _Solution: 解决方案
注意:此字段可能返回 null,表示取不到有效值。
:type Solution: str
:param _ErrorLog: 运行报错日志
注意:此字段可能返回 null,表示取不到有效值。
:type ErrorLog: list of str
:param _HelpDoc: 详细帮助的文档链接
注意:此字段可能返回 null,表示取不到有效值。
:type HelpDoc: list of str
:param _SkipInfo: 跳过风险文案
注意:此字段可能返回 null,表示取不到有效值。
:type SkipInfo: str
"""
self._CheckItemName = None
self._Description = None
self._CheckResult = None
self._FailureReason = None
self._Solution = None
self._ErrorLog = None
self._HelpDoc = None
self._SkipInfo = None
@property
def CheckItemName(self):
"""检查项的名称,如:源实例权限检查
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CheckItemName
@CheckItemName.setter
def CheckItemName(self, CheckItemName):
self._CheckItemName = CheckItemName
@property
def Description(self):
"""检查项详细内容
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def CheckResult(self):
"""pass(通过),failed(失败), warning(校验有警告,但仍通过)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CheckResult
@CheckResult.setter
def CheckResult(self, CheckResult):
self._CheckResult = CheckResult
@property
def FailureReason(self):
"""检查项失败原因
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._FailureReason
@FailureReason.setter
def FailureReason(self, FailureReason):
self._FailureReason = FailureReason
@property
def Solution(self):
"""解决方案
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Solution
@Solution.setter
def Solution(self, Solution):
self._Solution = Solution
@property
def ErrorLog(self):
"""运行报错日志
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._ErrorLog
@ErrorLog.setter
def ErrorLog(self, ErrorLog):
self._ErrorLog = ErrorLog
@property
def HelpDoc(self):
"""详细帮助的文档链接
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._HelpDoc
@HelpDoc.setter
def HelpDoc(self, HelpDoc):
self._HelpDoc = HelpDoc
@property
def SkipInfo(self):
"""跳过风险文案
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SkipInfo
@SkipInfo.setter
def SkipInfo(self, SkipInfo):
self._SkipInfo = SkipInfo
def _deserialize(self, params):
self._CheckItemName = params.get("CheckItemName")
self._Description = params.get("Description")
self._CheckResult = params.get("CheckResult")
self._FailureReason = params.get("FailureReason")
self._Solution = params.get("Solution")
self._ErrorLog = params.get("ErrorLog")
self._HelpDoc = params.get("HelpDoc")
self._SkipInfo = params.get("SkipInfo")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DifferenceAdvancedObjectsDetail(AbstractModel):
"""数据库不一致的详情,mongodb业务用到
"""
def __init__(self):
r"""
:param _TotalCount: 总数
注意:此字段可能返回 null,表示取不到有效值。
:type TotalCount: int
:param _Items: 不一致详情
注意:此字段可能返回 null,表示取不到有效值。
:type Items: list of AdvancedObjectsItem
"""
self._TotalCount = None
self._Items = None
@property
def TotalCount(self):
"""总数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Items(self):
"""不一致详情
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of AdvancedObjectsItem
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Items") is not None:
self._Items = []
for item in params.get("Items"):
obj = AdvancedObjectsItem()
obj._deserialize(item)
self._Items.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DifferenceData(AbstractModel):
"""数据不一致详情
"""
def __init__(self):
r"""
:param _Db: 数据库名
注意:此字段可能返回 null,表示取不到有效值。
:type Db: str
:param _Table: 集合
注意:此字段可能返回 null,表示取不到有效值。
:type Table: str
:param _SrcChunk: 源端ID
注意:此字段可能返回 null,表示取不到有效值。
:type SrcChunk: str
:param _DstChunk: 目标端ID
注意:此字段可能返回 null,表示取不到有效值。
:type DstChunk: str
:param _SrcItem: 源端值
注意:此字段可能返回 null,表示取不到有效值。
:type SrcItem: str
:param _DstItem: 目标端值
注意:此字段可能返回 null,表示取不到有效值。
:type DstItem: str
:param _UpdatedAt: 更新时间
注意:此字段可能返回 null,表示取不到有效值。
:type UpdatedAt: str
"""
self._Db = None
self._Table = None
self._SrcChunk = None
self._DstChunk = None
self._SrcItem = None
self._DstItem = None
self._UpdatedAt = None
@property
def Db(self):
"""数据库名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Db
@Db.setter
def Db(self, Db):
self._Db = Db
@property
def Table(self):
"""集合
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Table
@Table.setter
def Table(self, Table):
self._Table = Table
@property
def SrcChunk(self):
"""源端ID
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SrcChunk
@SrcChunk.setter
def SrcChunk(self, SrcChunk):
self._SrcChunk = SrcChunk
@property
def DstChunk(self):
"""目标端ID
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DstChunk
@DstChunk.setter
def DstChunk(self, DstChunk):
self._DstChunk = DstChunk
@property
def SrcItem(self):
"""源端值
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SrcItem
@SrcItem.setter
def SrcItem(self, SrcItem):
self._SrcItem = SrcItem
@property
def DstItem(self):
"""目标端值
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DstItem
@DstItem.setter
def DstItem(self, DstItem):
self._DstItem = DstItem
@property
def UpdatedAt(self):
"""更新时间
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UpdatedAt
@UpdatedAt.setter
def UpdatedAt(self, UpdatedAt):
self._UpdatedAt = UpdatedAt
def _deserialize(self, params):
self._Db = params.get("Db")
self._Table = params.get("Table")
self._SrcChunk = params.get("SrcChunk")
self._DstChunk = params.get("DstChunk")
self._SrcItem = params.get("SrcItem")
self._DstItem = params.get("DstItem")
self._UpdatedAt = params.get("UpdatedAt")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DifferenceDataDetail(AbstractModel):
"""mongodb数据不一致性详情
"""
def __init__(self):
r"""
:param _TotalCount: 总数
注意:此字段可能返回 null,表示取不到有效值。
:type TotalCount: int
:param _Items: mongo数据不一致详细列表
注意:此字段可能返回 null,表示取不到有效值。
:type Items: list of DifferenceData
"""
self._TotalCount = None
self._Items = None
@property
def TotalCount(self):
"""总数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Items(self):
"""mongo数据不一致详细列表
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of DifferenceData
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Items") is not None:
self._Items = []
for item in params.get("Items"):
obj = DifferenceData()
obj._deserialize(item)
self._Items.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DifferenceDetail(AbstractModel):
"""数据不一致的表详情
"""
def __init__(self):
r"""
:param _TotalCount: 数据不一致的表数量
注意:此字段可能返回 null,表示取不到有效值。
:type TotalCount: int
:param _Items: 校验不一致的表详情
注意:此字段可能返回 null,表示取不到有效值。
:type Items: list of DifferenceItem
"""
self._TotalCount = None
self._Items = None
@property
def TotalCount(self):
"""数据不一致的表数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Items(self):
"""校验不一致的表详情
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of DifferenceItem
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Items") is not None:
self._Items = []
for item in params.get("Items"):
obj = DifferenceItem()
obj._deserialize(item)
self._Items.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DifferenceItem(AbstractModel):
"""校验不一致的表详情
"""
def __init__(self):
r"""
:param _Db: 数据库名
注意:此字段可能返回 null,表示取不到有效值。
:type Db: str
:param _Table: 表名
注意:此字段可能返回 null,表示取不到有效值。
:type Table: str
:param _Chunk: 分块号
注意:此字段可能返回 null,表示取不到有效值。
:type Chunk: int
:param _SrcItem: 源库数值
注意:此字段可能返回 null,表示取不到有效值。
:type SrcItem: str
:param _DstItem: 目标库数值
注意:此字段可能返回 null,表示取不到有效值。
:type DstItem: str
:param _IndexName: 索引名称
注意:此字段可能返回 null,表示取不到有效值。
:type IndexName: str
:param _LowerBoundary: 索引下边界
注意:此字段可能返回 null,表示取不到有效值。
:type LowerBoundary: str
:param _UpperBoundary: 索引上边界
注意:此字段可能返回 null,表示取不到有效值。
:type UpperBoundary: str
:param _CostTime: 对比消耗时间,单位为 ms
注意:此字段可能返回 null,表示取不到有效值。
:type CostTime: float
:param _FinishedAt: 完成时间
注意:此字段可能返回 null,表示取不到有效值。
:type FinishedAt: str
"""
self._Db = None
self._Table = None
self._Chunk = None
self._SrcItem = None
self._DstItem = None
self._IndexName = None
self._LowerBoundary = None
self._UpperBoundary = None
self._CostTime = None
self._FinishedAt = None
@property
def Db(self):
"""数据库名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Db
@Db.setter
def Db(self, Db):
self._Db = Db
@property
def Table(self):
"""表名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Table
@Table.setter
def Table(self, Table):
self._Table = Table
@property
def Chunk(self):
"""分块号
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Chunk
@Chunk.setter
def Chunk(self, Chunk):
self._Chunk = Chunk
@property
def SrcItem(self):
"""源库数值
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SrcItem
@SrcItem.setter
def SrcItem(self, SrcItem):
self._SrcItem = SrcItem
@property
def DstItem(self):
"""目标库数值
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DstItem
@DstItem.setter
def DstItem(self, DstItem):
self._DstItem = DstItem
@property
def IndexName(self):
"""索引名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._IndexName
@IndexName.setter
def IndexName(self, IndexName):
self._IndexName = IndexName
@property
def LowerBoundary(self):
"""索引下边界
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._LowerBoundary
@LowerBoundary.setter
def LowerBoundary(self, LowerBoundary):
self._LowerBoundary = LowerBoundary
@property
def UpperBoundary(self):
"""索引上边界
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UpperBoundary
@UpperBoundary.setter
def UpperBoundary(self, UpperBoundary):
self._UpperBoundary = UpperBoundary
@property
def CostTime(self):
"""对比消耗时间,单位为 ms
注意:此字段可能返回 null,表示取不到有效值。
:rtype: float
"""
return self._CostTime
@CostTime.setter
def CostTime(self, CostTime):
self._CostTime = CostTime
@property
def FinishedAt(self):
"""完成时间
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._FinishedAt
@FinishedAt.setter
def FinishedAt(self, FinishedAt):
self._FinishedAt = FinishedAt
def _deserialize(self, params):
self._Db = params.get("Db")
self._Table = params.get("Table")
self._Chunk = params.get("Chunk")
self._SrcItem = params.get("SrcItem")
self._DstItem = params.get("DstItem")
self._IndexName = params.get("IndexName")
self._LowerBoundary = params.get("LowerBoundary")
self._UpperBoundary = params.get("UpperBoundary")
self._CostTime = params.get("CostTime")
self._FinishedAt = params.get("FinishedAt")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DifferenceRowDetail(AbstractModel):
"""mongodb行数校验不一致性详情结果
"""
def __init__(self):
r"""
:param _TotalCount: 不一致总数
注意:此字段可能返回 null,表示取不到有效值。
:type TotalCount: int
:param _Items: 不一致列表
注意:此字段可能返回 null,表示取不到有效值。
:type Items: list of RowsCountDifference
"""
self._TotalCount = None
self._Items = None
@property
def TotalCount(self):
"""不一致总数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Items(self):
"""不一致列表
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of RowsCountDifference
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Items") is not None:
self._Items = []
for item in params.get("Items"):
obj = RowsCountDifference()
obj._deserialize(item)
self._Items.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DistributeRule(AbstractModel):
"""订阅任务的kafka分区规则。符合库名和表名正则表达式的数据将按照RuleType计算该条数据将被投递的kafka分区。如果配置了多个规则,将按照配置的顺序,第一条命中的规则生效。
"""
def __init__(self):
r"""
:param _RuleType: 规则类型。非mongo产品的枚举值为: table-按表名分区,pk-按表名+主键分区,cols-按列名分区。mongo的枚举值为:collection-按集合名分区、collectionAndObjectId-按集合+主键分区。
注意:此字段可能返回 null,表示取不到有效值。
:type RuleType: str
:param _DbPattern: 库名匹配规则,请填写正则表达式
注意:此字段可能返回 null,表示取不到有效值。
:type DbPattern: str
:param _TablePattern: 表名匹配规则,如果 DatabaseType 为 mongodb,则匹配集合名
注意:此字段可能返回 null,表示取不到有效值。
:type TablePattern: str
:param _Columns: 列名。如果 RuleType 为 cols,此项必填。订阅任务会用该列的值计算分区。mongo没有按列分区,因此也不用传这个字段。
注意:此字段可能返回 null,表示取不到有效值。
:type Columns: list of str
"""
self._RuleType = None
self._DbPattern = None
self._TablePattern = None
self._Columns = None
@property
def RuleType(self):
"""规则类型。非mongo产品的枚举值为: table-按表名分区,pk-按表名+主键分区,cols-按列名分区。mongo的枚举值为:collection-按集合名分区、collectionAndObjectId-按集合+主键分区。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._RuleType
@RuleType.setter
def RuleType(self, RuleType):
self._RuleType = RuleType
@property
def DbPattern(self):
"""库名匹配规则,请填写正则表达式
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DbPattern
@DbPattern.setter
def DbPattern(self, DbPattern):
self._DbPattern = DbPattern
@property
def TablePattern(self):
"""表名匹配规则,如果 DatabaseType 为 mongodb,则匹配集合名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TablePattern
@TablePattern.setter
def TablePattern(self, TablePattern):
self._TablePattern = TablePattern
@property
def Columns(self):
"""列名。如果 RuleType 为 cols,此项必填。订阅任务会用该列的值计算分区。mongo没有按列分区,因此也不用传这个字段。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Columns
@Columns.setter
def Columns(self, Columns):
self._Columns = Columns
def _deserialize(self, params):
self._RuleType = params.get("RuleType")
self._DbPattern = params.get("DbPattern")
self._TablePattern = params.get("TablePattern")
self._Columns = params.get("Columns")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class DynamicOptions(AbstractModel):
"""数据同步中的选项
"""
def __init__(self):
r"""
:param _OpTypes: 所要同步的DML和DDL的选项,Insert(插入操作)、Update(更新操作)、Delete(删除操作)、DDL(结构同步),PartialDDL(自定义,和DdlOptions一起起作用 );必填、dts会用该值覆盖原有的值
注意:此字段可能返回 null,表示取不到有效值。
:type OpTypes: list of str
:param _DdlOptions: DDL同步选项,具体描述要同步那些DDL; 当OpTypes取值PartialDDL时、字段不能为空;必填、dts会用该值覆盖原有的值
注意:此字段可能返回 null,表示取不到有效值。
:type DdlOptions: list of DdlOption
:param _ConflictHandleType: 冲突处理选项,ReportError(报错)、Ignore(忽略)、Cover(覆盖)、ConditionCover(条件覆盖); 目前目标端为kafka的链路不支持修改该配置
注意:此字段可能返回 null,表示取不到有效值。
:type ConflictHandleType: str
:param _ConflictHandleOption: 冲突处理的详细选项,如条件覆盖中的条件行和条件操作;不能部分更新该选项的内部字段;有更新时、需要全量更新该字段
注意:此字段可能返回 null,表示取不到有效值。
:type ConflictHandleOption: :class:`tencentcloud.dts.v20211206.models.ConflictHandleOption`
"""
self._OpTypes = None
self._DdlOptions = None
self._ConflictHandleType = None
self._ConflictHandleOption = None
@property
def OpTypes(self):
"""所要同步的DML和DDL的选项,Insert(插入操作)、Update(更新操作)、Delete(删除操作)、DDL(结构同步),PartialDDL(自定义,和DdlOptions一起起作用 );必填、dts会用该值覆盖原有的值
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._OpTypes
@OpTypes.setter
def OpTypes(self, OpTypes):
self._OpTypes = OpTypes
@property
def DdlOptions(self):
"""DDL同步选项,具体描述要同步那些DDL; 当OpTypes取值PartialDDL时、字段不能为空;必填、dts会用该值覆盖原有的值
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of DdlOption
"""
return self._DdlOptions
@DdlOptions.setter
def DdlOptions(self, DdlOptions):
self._DdlOptions = DdlOptions
@property
def ConflictHandleType(self):
"""冲突处理选项,ReportError(报错)、Ignore(忽略)、Cover(覆盖)、ConditionCover(条件覆盖); 目前目标端为kafka的链路不支持修改该配置
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ConflictHandleType
@ConflictHandleType.setter
def ConflictHandleType(self, ConflictHandleType):
self._ConflictHandleType = ConflictHandleType
@property
def ConflictHandleOption(self):
"""冲突处理的详细选项,如条件覆盖中的条件行和条件操作;不能部分更新该选项的内部字段;有更新时、需要全量更新该字段
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.ConflictHandleOption`
"""
return self._ConflictHandleOption
@ConflictHandleOption.setter
def ConflictHandleOption(self, ConflictHandleOption):
self._ConflictHandleOption = ConflictHandleOption
def _deserialize(self, params):
self._OpTypes = params.get("OpTypes")
if params.get("DdlOptions") is not None:
self._DdlOptions = []
for item in params.get("DdlOptions"):
obj = DdlOption()
obj._deserialize(item)
self._DdlOptions.append(obj)
self._ConflictHandleType = params.get("ConflictHandleType")
if params.get("ConflictHandleOption") is not None:
self._ConflictHandleOption = ConflictHandleOption()
self._ConflictHandleOption._deserialize(params.get("ConflictHandleOption"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Endpoint(AbstractModel):
"""数据同步中的描述源端和目的端的信息
"""
def __init__(self):
r"""
:param _Region: 地域英文名,如:ap-guangzhou
注意:此字段可能返回 null,表示取不到有效值。
:type Region: str
:param _Role: 节点类型,proxy表示节点类型为主机,set表示节点类型为节点。proxy类型必须填在数组第一项。tdsqlmysql类型的源/目标配置必填
注意:此字段可能返回 null,表示取不到有效值。
:type Role: str
:param _DbKernel: 数据库内核类型,tdsql中用于区分不同内核:percona,mariadb,mysql。注意TDSQL-C MySQL、TDSQL PostgreSQL无需填写此项值。
注意:此字段可能返回 null,表示取不到有效值。
:type DbKernel: str
:param _InstanceId: 数据库实例ID,格式如:cdb-powiqx8q
注意:此字段可能返回 null,表示取不到有效值。
:type InstanceId: str
:param _Ip: 实例的IP地址,接入类型为非cdb时此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type Ip: str
:param _Port: 实例端口,接入类型为非cdb时此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type Port: int
:param _User: 用户名,对于访问需要用户名密码认证的实例必填
注意:此字段可能返回 null,表示取不到有效值。
:type User: str
:param _Password: 密码,对于访问需要用户名密码认证的实例必填
注意:此字段可能返回 null,表示取不到有效值。
:type Password: str
:param _DbName: 数据库名,数据库为cdwpg时,需要提供
注意:此字段可能返回 null,表示取不到有效值。
:type DbName: str
:param _VpcId: 私有网络ID,对于私有网络、专线、VPN的接入方式此项必填,格式如:vpc-92jblxto
注意:此字段可能返回 null,表示取不到有效值。
:type VpcId: str
:param _SubnetId: 私有网络下的子网ID,对于私有网络、专线、VPN的接入方式此项必填,格式如:subnet-3paxmkdz
注意:此字段可能返回 null,表示取不到有效值。
:type SubnetId: str
:param _CvmInstanceId: CVM实例短ID,格式如:ins-olgl39y8,与云服务器控制台页面显示的实例ID相同。如果是CVM自建实例,需要传递此字段
注意:此字段可能返回 null,表示取不到有效值。
:type CvmInstanceId: str
:param _UniqDcgId: 专线网关ID,对于专线接入类型此项必填,格式如:dcg-0rxtqqxb
注意:此字段可能返回 null,表示取不到有效值。
:type UniqDcgId: str
:param _UniqVpnGwId: VPN网关ID,对于vpn接入类型此项必填,格式如:vpngw-9ghexg7q
注意:此字段可能返回 null,表示取不到有效值。
:type UniqVpnGwId: str
:param _CcnId: 云联网ID,对于云联网接入类型此项必填,如:ccn-afp6kltc
注意:此字段可能返回 null,表示取不到有效值。
:type CcnId: str
:param _Supplier: 云厂商类型,当实例为RDS实例时,填写为aliyun, 其他情况均填写others,默认为others
注意:此字段可能返回 null,表示取不到有效值。
:type Supplier: str
:param _EngineVersion: 数据库版本,当实例为RDS实例时才有效,其他实例忽略,格式如:5.6或者5.7,默认为5.6
注意:此字段可能返回 null,表示取不到有效值。
:type EngineVersion: str
:param _Account: 实例所属账号,如果为跨账号实例此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type Account: str
:param _AccountMode: 资源所属账号 为空或self(表示本账号内资源)、other(表示跨账号资源)
注意:此字段可能返回 null,表示取不到有效值。
:type AccountMode: str
:param _AccountRole: 跨账号同步时的角色,只允许[a-zA-Z0-9\-\_]+,如果为跨账号实例此项必填
注意:此字段可能返回 null,表示取不到有效值。
:type AccountRole: str
:param _RoleExternalId: 外部角色id
注意:此字段可能返回 null,表示取不到有效值。
:type RoleExternalId: str
:param _TmpSecretId: 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号同步文档(https://cloud.tencent.com/document/product/571/68729)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:type TmpSecretId: str
:param _TmpSecretKey: 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号同步文档(https://cloud.tencent.com/document/product/571/68729)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:type TmpSecretKey: str
:param _TmpToken: 临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号同步文档(https://cloud.tencent.com/document/product/571/68729)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:type TmpToken: str
:param _EncryptConn: 是否走加密传输、UnEncrypted表示不走加密传输,Encrypted表示走加密传输,默认UnEncrypted
注意:此字段可能返回 null,表示取不到有效值。
:type EncryptConn: str
:param _DatabaseNetEnv: 数据库所属网络环境,AccessType为云联网(ccn)时必填, UserIDC表示用户IDC、TencentVPC表示腾讯云VPC;
注意:此字段可能返回 null,表示取不到有效值。
:type DatabaseNetEnv: str
:param _CcnOwnerUin: 数据库为跨账号云联网下的实例时、表示云联网所属主账号
注意:此字段可能返回 null,表示取不到有效值。
:type CcnOwnerUin: str
:param _ChildInstanceId: 数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的ID
注意:此字段可能返回 null,表示取不到有效值。
:type ChildInstanceId: str
:param _ChildInstanceType: 数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的类型、例如:只读实例传ro、读写实例传rw
注意:此字段可能返回 null,表示取不到有效值。
:type ChildInstanceType: str
:param _SetId: tdsql的分片id。如节点类型为set必填。
注意:此字段可能返回 null,表示取不到有效值。
:type SetId: str
"""
self._Region = None
self._Role = None
self._DbKernel = None
self._InstanceId = None
self._Ip = None
self._Port = None
self._User = None
self._Password = None
self._DbName = None
self._VpcId = None
self._SubnetId = None
self._CvmInstanceId = None
self._UniqDcgId = None
self._UniqVpnGwId = None
self._CcnId = None
self._Supplier = None
self._EngineVersion = None
self._Account = None
self._AccountMode = None
self._AccountRole = None
self._RoleExternalId = None
self._TmpSecretId = None
self._TmpSecretKey = None
self._TmpToken = None
self._EncryptConn = None
self._DatabaseNetEnv = None
self._CcnOwnerUin = None
self._ChildInstanceId = None
self._ChildInstanceType = None
self._SetId = None
@property
def Region(self):
"""地域英文名,如:ap-guangzhou
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def Role(self):
"""节点类型,proxy表示节点类型为主机,set表示节点类型为节点。proxy类型必须填在数组第一项。tdsqlmysql类型的源/目标配置必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Role
@Role.setter
def Role(self, Role):
self._Role = Role
@property
def DbKernel(self):
"""数据库内核类型,tdsql中用于区分不同内核:percona,mariadb,mysql。注意TDSQL-C MySQL、TDSQL PostgreSQL无需填写此项值。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DbKernel
@DbKernel.setter
def DbKernel(self, DbKernel):
self._DbKernel = DbKernel
@property
def InstanceId(self):
"""数据库实例ID,格式如:cdb-powiqx8q
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def Ip(self):
"""实例的IP地址,接入类型为非cdb时此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Ip
@Ip.setter
def Ip(self, Ip):
self._Ip = Ip
@property
def Port(self):
"""实例端口,接入类型为非cdb时此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Port
@Port.setter
def Port(self, Port):
self._Port = Port
@property
def User(self):
"""用户名,对于访问需要用户名密码认证的实例必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._User
@User.setter
def User(self, User):
self._User = User
@property
def Password(self):
"""密码,对于访问需要用户名密码认证的实例必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Password
@Password.setter
def Password(self, Password):
self._Password = Password
@property
def DbName(self):
"""数据库名,数据库为cdwpg时,需要提供
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DbName
@DbName.setter
def DbName(self, DbName):
self._DbName = DbName
@property
def VpcId(self):
"""私有网络ID,对于私有网络、专线、VPN的接入方式此项必填,格式如:vpc-92jblxto
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._VpcId
@VpcId.setter
def VpcId(self, VpcId):
self._VpcId = VpcId
@property
def SubnetId(self):
"""私有网络下的子网ID,对于私有网络、专线、VPN的接入方式此项必填,格式如:subnet-3paxmkdz
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SubnetId
@SubnetId.setter
def SubnetId(self, SubnetId):
self._SubnetId = SubnetId
@property
def CvmInstanceId(self):
"""CVM实例短ID,格式如:ins-olgl39y8,与云服务器控制台页面显示的实例ID相同。如果是CVM自建实例,需要传递此字段
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CvmInstanceId
@CvmInstanceId.setter
def CvmInstanceId(self, CvmInstanceId):
self._CvmInstanceId = CvmInstanceId
@property
def UniqDcgId(self):
"""专线网关ID,对于专线接入类型此项必填,格式如:dcg-0rxtqqxb
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UniqDcgId
@UniqDcgId.setter
def UniqDcgId(self, UniqDcgId):
self._UniqDcgId = UniqDcgId
@property
def UniqVpnGwId(self):
"""VPN网关ID,对于vpn接入类型此项必填,格式如:vpngw-9ghexg7q
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UniqVpnGwId
@UniqVpnGwId.setter
def UniqVpnGwId(self, UniqVpnGwId):
self._UniqVpnGwId = UniqVpnGwId
@property
def CcnId(self):
"""云联网ID,对于云联网接入类型此项必填,如:ccn-afp6kltc
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CcnId
@CcnId.setter
def CcnId(self, CcnId):
self._CcnId = CcnId
@property
def Supplier(self):
"""云厂商类型,当实例为RDS实例时,填写为aliyun, 其他情况均填写others,默认为others
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Supplier
@Supplier.setter
def Supplier(self, Supplier):
self._Supplier = Supplier
@property
def EngineVersion(self):
"""数据库版本,当实例为RDS实例时才有效,其他实例忽略,格式如:5.6或者5.7,默认为5.6
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EngineVersion
@EngineVersion.setter
def EngineVersion(self, EngineVersion):
self._EngineVersion = EngineVersion
@property
def Account(self):
"""实例所属账号,如果为跨账号实例此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Account
@Account.setter
def Account(self, Account):
self._Account = Account
@property
def AccountMode(self):
"""资源所属账号 为空或self(表示本账号内资源)、other(表示跨账号资源)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AccountMode
@AccountMode.setter
def AccountMode(self, AccountMode):
self._AccountMode = AccountMode
@property
def AccountRole(self):
"""跨账号同步时的角色,只允许[a-zA-Z0-9\-\_]+,如果为跨账号实例此项必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AccountRole
@AccountRole.setter
def AccountRole(self, AccountRole):
self._AccountRole = AccountRole
@property
def RoleExternalId(self):
"""外部角色id
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._RoleExternalId
@RoleExternalId.setter
def RoleExternalId(self, RoleExternalId):
self._RoleExternalId = RoleExternalId
@property
def TmpSecretId(self):
"""临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号同步文档(https://cloud.tencent.com/document/product/571/68729)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TmpSecretId
@TmpSecretId.setter
def TmpSecretId(self, TmpSecretId):
self._TmpSecretId = TmpSecretId
@property
def TmpSecretKey(self):
"""临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号同步文档(https://cloud.tencent.com/document/product/571/68729)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TmpSecretKey
@TmpSecretKey.setter
def TmpSecretKey(self, TmpSecretKey):
self._TmpSecretKey = TmpSecretKey
@property
def TmpToken(self):
"""临时密钥Id,可通过申请扮演角色临时访问凭证获取临时密钥https://cloud.tencent.com/document/product/1312/48197,其中角色资源RoleArn的定义可参考DTS跨账号同步文档(https://cloud.tencent.com/document/product/571/68729)第4节中关于角色的定义。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TmpToken
@TmpToken.setter
def TmpToken(self, TmpToken):
self._TmpToken = TmpToken
@property
def EncryptConn(self):
"""是否走加密传输、UnEncrypted表示不走加密传输,Encrypted表示走加密传输,默认UnEncrypted
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EncryptConn
@EncryptConn.setter
def EncryptConn(self, EncryptConn):
self._EncryptConn = EncryptConn
@property
def DatabaseNetEnv(self):
"""数据库所属网络环境,AccessType为云联网(ccn)时必填, UserIDC表示用户IDC、TencentVPC表示腾讯云VPC;
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DatabaseNetEnv
@DatabaseNetEnv.setter
def DatabaseNetEnv(self, DatabaseNetEnv):
self._DatabaseNetEnv = DatabaseNetEnv
@property
def CcnOwnerUin(self):
"""数据库为跨账号云联网下的实例时、表示云联网所属主账号
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CcnOwnerUin
@CcnOwnerUin.setter
def CcnOwnerUin(self, CcnOwnerUin):
self._CcnOwnerUin = CcnOwnerUin
@property
def ChildInstanceId(self):
"""数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的ID
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ChildInstanceId
@ChildInstanceId.setter
def ChildInstanceId(self, ChildInstanceId):
self._ChildInstanceId = ChildInstanceId
@property
def ChildInstanceType(self):
"""数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的类型、例如:只读实例传ro、读写实例传rw
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ChildInstanceType
@ChildInstanceType.setter
def ChildInstanceType(self, ChildInstanceType):
self._ChildInstanceType = ChildInstanceType
@property
def SetId(self):
"""tdsql的分片id。如节点类型为set必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SetId
@SetId.setter
def SetId(self, SetId):
self._SetId = SetId
def _deserialize(self, params):
self._Region = params.get("Region")
self._Role = params.get("Role")
self._DbKernel = params.get("DbKernel")
self._InstanceId = params.get("InstanceId")
self._Ip = params.get("Ip")
self._Port = params.get("Port")
self._User = params.get("User")
self._Password = params.get("Password")
self._DbName = params.get("DbName")
self._VpcId = params.get("VpcId")
self._SubnetId = params.get("SubnetId")
self._CvmInstanceId = params.get("CvmInstanceId")
self._UniqDcgId = params.get("UniqDcgId")
self._UniqVpnGwId = params.get("UniqVpnGwId")
self._CcnId = params.get("CcnId")
self._Supplier = params.get("Supplier")
self._EngineVersion = params.get("EngineVersion")
self._Account = params.get("Account")
self._AccountMode = params.get("AccountMode")
self._AccountRole = params.get("AccountRole")
self._RoleExternalId = params.get("RoleExternalId")
self._TmpSecretId = params.get("TmpSecretId")
self._TmpSecretKey = params.get("TmpSecretKey")
self._TmpToken = params.get("TmpToken")
self._EncryptConn = params.get("EncryptConn")
self._DatabaseNetEnv = params.get("DatabaseNetEnv")
self._CcnOwnerUin = params.get("CcnOwnerUin")
self._ChildInstanceId = params.get("ChildInstanceId")
self._ChildInstanceType = params.get("ChildInstanceType")
self._SetId = params.get("SetId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class EndpointItem(AbstractModel):
"""数据订阅的实例节点信息
"""
def __init__(self):
r"""
:param _DatabaseRegion: 源库所在地域。如果 AccessType 为 ccn,请填vpc所在地域,因为此时不知道源库在哪个地域。其他接入方式,请填订阅任务所在地域,因为确保订阅任务与源库在同一地域是最优的网络方案。
注意:此字段可能返回 null,表示取不到有效值。
:type DatabaseRegion: str
:param _User: 用户名
注意:此字段可能返回 null,表示取不到有效值。
:type User: str
:param _Password: 密码。作为入参时必填,作为出参时为空。
注意:此字段可能返回 null,表示取不到有效值。
:type Password: str
:param _InstanceId: 目标实例ID。如果 AccessType 为 cdb,此项必填。配置InstanceId时会查询并校验实例信息。mysql的查询接口经过了鉴权,请确保子用户有 cdb:DescribeDBInstances 的接口权限。
注意:此字段可能返回 null,表示取不到有效值。
:type InstanceId: str
:param _CvmInstanceId: 云主机ID。如果 AccessType 为 cvm,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:type CvmInstanceId: str
:param _UniqDcgId: 专线网关ID。如果 AccessType 为 dcg,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:type UniqDcgId: str
:param _CcnId: 云联网ID。如果 AccessType 为 ccn,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:type CcnId: str
:param _UniqVpnGwId: vpn网关ID。如果 AccessType 为 vpncloud,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:type UniqVpnGwId: str
:param _VpcId: VpcID。如果 AccessType 为 dcg\ccn\vpncloud\vpc,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:type VpcId: str
:param _SubnetId: 子网ID。如果 AccessType 为 dcg\ccn\vpncloud\vpc,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:type SubnetId: str
:param _HostName: 数据库地址,支持域名与IP。如果 AccessType 为 dcg\ccn\vpncloud\vpc\extranet\intranet,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:type HostName: str
:param _Port: 数据库端口。如果 AccessType 为 dcg\ccn\vpncloud\vpc\extranet\intranet\cvm,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:type Port: int
:param _EncryptConn: 是否走加密传输,枚举值:UnEncrypted-不加密,Encrypted-加密。只有mysql支持,不填默认不加密,其他产品不填。
注意:此字段可能返回 null,表示取不到有效值。
:type EncryptConn: str
:param _DatabaseNetEnv: 数据库网络环境。如果 AccessType 为 ccn 此项必填。枚举值:UserIDC-自建idc,TencentVPC-腾讯云,Aws-aws,AliYun-阿里云,Others-其他。
注意:此字段可能返回 null,表示取不到有效值。
:type DatabaseNetEnv: str
:param _CcnOwnerUin: 云联网网关所属的主账号uin、跨账号云联网需要。
注意:此字段可能返回 null,表示取不到有效值。
:type CcnOwnerUin: str
:param _ExtraAttr: 为业务添加的额外信息。参数名作key,参数值作value。
tdpg必填参数:PgDatabase-订阅的库名;
mongo选填参数:InstanceType-实例类型:replicaset-副本集,cluster-分片集,主要用于控制台跳转到mongo实例页面,如不填不影响任务运行;
全业务选填参数:EngineVersion-内核版本。
注意:此字段可能返回 null,表示取不到有效值。
:type ExtraAttr: list of KeyValuePairOption
:param _ChildInstanceId: 数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的ID
注意:此字段可能返回 null,表示取不到有效值。
:type ChildInstanceId: str
:param _ChildInstanceType: 数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的类型、例如:只读实例传ro、读写实例传rw
注意:此字段可能返回 null,表示取不到有效值。
:type ChildInstanceType: str
"""
self._DatabaseRegion = None
self._User = None
self._Password = None
self._InstanceId = None
self._CvmInstanceId = None
self._UniqDcgId = None
self._CcnId = None
self._UniqVpnGwId = None
self._VpcId = None
self._SubnetId = None
self._HostName = None
self._Port = None
self._EncryptConn = None
self._DatabaseNetEnv = None
self._CcnOwnerUin = None
self._ExtraAttr = None
self._ChildInstanceId = None
self._ChildInstanceType = None
@property
def DatabaseRegion(self):
"""源库所在地域。如果 AccessType 为 ccn,请填vpc所在地域,因为此时不知道源库在哪个地域。其他接入方式,请填订阅任务所在地域,因为确保订阅任务与源库在同一地域是最优的网络方案。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DatabaseRegion
@DatabaseRegion.setter
def DatabaseRegion(self, DatabaseRegion):
self._DatabaseRegion = DatabaseRegion
@property
def User(self):
"""用户名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._User
@User.setter
def User(self, User):
self._User = User
@property
def Password(self):
"""密码。作为入参时必填,作为出参时为空。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Password
@Password.setter
def Password(self, Password):
self._Password = Password
@property
def InstanceId(self):
"""目标实例ID。如果 AccessType 为 cdb,此项必填。配置InstanceId时会查询并校验实例信息。mysql的查询接口经过了鉴权,请确保子用户有 cdb:DescribeDBInstances 的接口权限。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def CvmInstanceId(self):
"""云主机ID。如果 AccessType 为 cvm,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CvmInstanceId
@CvmInstanceId.setter
def CvmInstanceId(self, CvmInstanceId):
self._CvmInstanceId = CvmInstanceId
@property
def UniqDcgId(self):
"""专线网关ID。如果 AccessType 为 dcg,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UniqDcgId
@UniqDcgId.setter
def UniqDcgId(self, UniqDcgId):
self._UniqDcgId = UniqDcgId
@property
def CcnId(self):
"""云联网ID。如果 AccessType 为 ccn,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CcnId
@CcnId.setter
def CcnId(self, CcnId):
self._CcnId = CcnId
@property
def UniqVpnGwId(self):
"""vpn网关ID。如果 AccessType 为 vpncloud,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UniqVpnGwId
@UniqVpnGwId.setter
def UniqVpnGwId(self, UniqVpnGwId):
self._UniqVpnGwId = UniqVpnGwId
@property
def VpcId(self):
"""VpcID。如果 AccessType 为 dcg\ccn\vpncloud\vpc,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._VpcId
@VpcId.setter
def VpcId(self, VpcId):
self._VpcId = VpcId
@property
def SubnetId(self):
"""子网ID。如果 AccessType 为 dcg\ccn\vpncloud\vpc,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SubnetId
@SubnetId.setter
def SubnetId(self, SubnetId):
self._SubnetId = SubnetId
@property
def HostName(self):
"""数据库地址,支持域名与IP。如果 AccessType 为 dcg\ccn\vpncloud\vpc\extranet\intranet,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._HostName
@HostName.setter
def HostName(self, HostName):
self._HostName = HostName
@property
def Port(self):
"""数据库端口。如果 AccessType 为 dcg\ccn\vpncloud\vpc\extranet\intranet\cvm,此项必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Port
@Port.setter
def Port(self, Port):
self._Port = Port
@property
def EncryptConn(self):
"""是否走加密传输,枚举值:UnEncrypted-不加密,Encrypted-加密。只有mysql支持,不填默认不加密,其他产品不填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EncryptConn
@EncryptConn.setter
def EncryptConn(self, EncryptConn):
self._EncryptConn = EncryptConn
@property
def DatabaseNetEnv(self):
"""数据库网络环境。如果 AccessType 为 ccn 此项必填。枚举值:UserIDC-自建idc,TencentVPC-腾讯云,Aws-aws,AliYun-阿里云,Others-其他。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DatabaseNetEnv
@DatabaseNetEnv.setter
def DatabaseNetEnv(self, DatabaseNetEnv):
self._DatabaseNetEnv = DatabaseNetEnv
@property
def CcnOwnerUin(self):
"""云联网网关所属的主账号uin、跨账号云联网需要。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CcnOwnerUin
@CcnOwnerUin.setter
def CcnOwnerUin(self, CcnOwnerUin):
self._CcnOwnerUin = CcnOwnerUin
@property
def ExtraAttr(self):
"""为业务添加的额外信息。参数名作key,参数值作value。
tdpg必填参数:PgDatabase-订阅的库名;
mongo选填参数:InstanceType-实例类型:replicaset-副本集,cluster-分片集,主要用于控制台跳转到mongo实例页面,如不填不影响任务运行;
全业务选填参数:EngineVersion-内核版本。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of KeyValuePairOption
"""
return self._ExtraAttr
@ExtraAttr.setter
def ExtraAttr(self, ExtraAttr):
self._ExtraAttr = ExtraAttr
@property
def ChildInstanceId(self):
"""数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的ID
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ChildInstanceId
@ChildInstanceId.setter
def ChildInstanceId(self, ChildInstanceId):
self._ChildInstanceId = ChildInstanceId
@property
def ChildInstanceType(self):
"""数据库为cynos、且是cynos集群内的一个子数据库实例时、该参数为该子实例的类型、例如:只读实例传ro、读写实例传rw
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ChildInstanceType
@ChildInstanceType.setter
def ChildInstanceType(self, ChildInstanceType):
self._ChildInstanceType = ChildInstanceType
def _deserialize(self, params):
self._DatabaseRegion = params.get("DatabaseRegion")
self._User = params.get("User")
self._Password = params.get("Password")
self._InstanceId = params.get("InstanceId")
self._CvmInstanceId = params.get("CvmInstanceId")
self._UniqDcgId = params.get("UniqDcgId")
self._CcnId = params.get("CcnId")
self._UniqVpnGwId = params.get("UniqVpnGwId")
self._VpcId = params.get("VpcId")
self._SubnetId = params.get("SubnetId")
self._HostName = params.get("HostName")
self._Port = params.get("Port")
self._EncryptConn = params.get("EncryptConn")
self._DatabaseNetEnv = params.get("DatabaseNetEnv")
self._CcnOwnerUin = params.get("CcnOwnerUin")
if params.get("ExtraAttr") is not None:
self._ExtraAttr = []
for item in params.get("ExtraAttr"):
obj = KeyValuePairOption()
obj._deserialize(item)
self._ExtraAttr.append(obj)
self._ChildInstanceId = params.get("ChildInstanceId")
self._ChildInstanceType = params.get("ChildInstanceType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ErrInfo(AbstractModel):
"""错误信息及其解决方案
"""
def __init__(self):
r"""
:param _Reason: 错误原因
:type Reason: str
:param _Message: 错误信息
注意:此字段可能返回 null,表示取不到有效值。
:type Message: str
:param _Solution: 解决方案
注意:此字段可能返回 null,表示取不到有效值。
:type Solution: str
"""
self._Reason = None
self._Message = None
self._Solution = None
@property
def Reason(self):
"""错误原因
:rtype: str
"""
return self._Reason
@Reason.setter
def Reason(self, Reason):
self._Reason = Reason
@property
def Message(self):
"""错误信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def Solution(self):
"""解决方案
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Solution
@Solution.setter
def Solution(self, Solution):
self._Solution = Solution
def _deserialize(self, params):
self._Reason = params.get("Reason")
self._Message = params.get("Message")
self._Solution = params.get("Solution")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ErrorInfoItem(AbstractModel):
"""任务错误信息
"""
def __init__(self):
r"""
:param _Code: 错误码
注意:此字段可能返回 null,表示取不到有效值。
:type Code: str
:param _Solution: 解决方案
注意:此字段可能返回 null,表示取不到有效值。
:type Solution: str
:param _ErrorLog: 错误日志信息
注意:此字段可能返回 null,表示取不到有效值。
:type ErrorLog: str
:param _HelpDoc: 文档提示
注意:此字段可能返回 null,表示取不到有效值。
:type HelpDoc: str
"""
self._Code = None
self._Solution = None
self._ErrorLog = None
self._HelpDoc = None
@property
def Code(self):
"""错误码
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Code
@Code.setter
def Code(self, Code):
self._Code = Code
@property
def Solution(self):
"""解决方案
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Solution
@Solution.setter
def Solution(self, Solution):
self._Solution = Solution
@property
def ErrorLog(self):
"""错误日志信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ErrorLog
@ErrorLog.setter
def ErrorLog(self, ErrorLog):
self._ErrorLog = ErrorLog
@property
def HelpDoc(self):
"""文档提示
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._HelpDoc
@HelpDoc.setter
def HelpDoc(self, HelpDoc):
self._HelpDoc = HelpDoc
def _deserialize(self, params):
self._Code = params.get("Code")
self._Solution = params.get("Solution")
self._ErrorLog = params.get("ErrorLog")
self._HelpDoc = params.get("HelpDoc")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class GroupInfo(AbstractModel):
"""kafka消费者组详情
"""
def __init__(self):
r"""
:param _Account: 消费者组账号
:type Account: str
:param _ConsumerGroupName: 消费者组名称
:type ConsumerGroupName: str
:param _Description: 消费者组备注
注意:此字段可能返回 null,表示取不到有效值。
:type Description: str
:param _ConsumerGroupOffset: 消费组偏移量。该字段是为了兼容以前单Partition的情况,取值为最后一个分区的偏移量。各分区的偏移量详见StateOfPartition字段
:type ConsumerGroupOffset: int
:param _ConsumerGroupLag: 消费组未消费的数据量。该字段是为了兼容以前单Partition的情况,取值为最后一个分区未消费的数据量。各分区未消费数据量详见StateOfPartition字段
:type ConsumerGroupLag: int
:param _Latency: 消费延迟(单位为秒)
:type Latency: int
:param _StateOfPartition: 各分区的消费状态
:type StateOfPartition: list of MonitorInfo
:param _CreatedAt: 消费者组创建时间,格式为YYYY-MM-DD hh:mm:ss
:type CreatedAt: str
:param _UpdatedAt: 消费者组修改时间,格式为YYYY-MM-DD hh:mm:ss
:type UpdatedAt: str
:param _ConsumerGroupState: 消费者组状态,包括Dead、Empty、Stable等,只有Dead和Empty两种状态可以执行reset操作
:type ConsumerGroupState: str
:param _PartitionAssignment: 每个消费者正在消费的分区
注意:此字段可能返回 null,表示取不到有效值。
:type PartitionAssignment: list of PartitionAssignment
"""
self._Account = None
self._ConsumerGroupName = None
self._Description = None
self._ConsumerGroupOffset = None
self._ConsumerGroupLag = None
self._Latency = None
self._StateOfPartition = None
self._CreatedAt = None
self._UpdatedAt = None
self._ConsumerGroupState = None
self._PartitionAssignment = None
@property
def Account(self):
"""消费者组账号
:rtype: str
"""
return self._Account
@Account.setter
def Account(self, Account):
self._Account = Account
@property
def ConsumerGroupName(self):
"""消费者组名称
:rtype: str
"""
return self._ConsumerGroupName
@ConsumerGroupName.setter
def ConsumerGroupName(self, ConsumerGroupName):
self._ConsumerGroupName = ConsumerGroupName
@property
def Description(self):
"""消费者组备注
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
@property
def ConsumerGroupOffset(self):
"""消费组偏移量。该字段是为了兼容以前单Partition的情况,取值为最后一个分区的偏移量。各分区的偏移量详见StateOfPartition字段
:rtype: int
"""
return self._ConsumerGroupOffset
@ConsumerGroupOffset.setter
def ConsumerGroupOffset(self, ConsumerGroupOffset):
self._ConsumerGroupOffset = ConsumerGroupOffset
@property
def ConsumerGroupLag(self):
"""消费组未消费的数据量。该字段是为了兼容以前单Partition的情况,取值为最后一个分区未消费的数据量。各分区未消费数据量详见StateOfPartition字段
:rtype: int
"""
return self._ConsumerGroupLag
@ConsumerGroupLag.setter
def ConsumerGroupLag(self, ConsumerGroupLag):
self._ConsumerGroupLag = ConsumerGroupLag
@property
def Latency(self):
"""消费延迟(单位为秒)
:rtype: int
"""
return self._Latency
@Latency.setter
def Latency(self, Latency):
self._Latency = Latency
@property
def StateOfPartition(self):
"""各分区的消费状态
:rtype: list of MonitorInfo
"""
return self._StateOfPartition
@StateOfPartition.setter
def StateOfPartition(self, StateOfPartition):
self._StateOfPartition = StateOfPartition
@property
def CreatedAt(self):
"""消费者组创建时间,格式为YYYY-MM-DD hh:mm:ss
:rtype: str
"""
return self._CreatedAt
@CreatedAt.setter
def CreatedAt(self, CreatedAt):
self._CreatedAt = CreatedAt
@property
def UpdatedAt(self):
"""消费者组修改时间,格式为YYYY-MM-DD hh:mm:ss
:rtype: str
"""
return self._UpdatedAt
@UpdatedAt.setter
def UpdatedAt(self, UpdatedAt):
self._UpdatedAt = UpdatedAt
@property
def ConsumerGroupState(self):
"""消费者组状态,包括Dead、Empty、Stable等,只有Dead和Empty两种状态可以执行reset操作
:rtype: str
"""
return self._ConsumerGroupState
@ConsumerGroupState.setter
def ConsumerGroupState(self, ConsumerGroupState):
self._ConsumerGroupState = ConsumerGroupState
@property
def PartitionAssignment(self):
"""每个消费者正在消费的分区
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of PartitionAssignment
"""
return self._PartitionAssignment
@PartitionAssignment.setter
def PartitionAssignment(self, PartitionAssignment):
self._PartitionAssignment = PartitionAssignment
def _deserialize(self, params):
self._Account = params.get("Account")
self._ConsumerGroupName = params.get("ConsumerGroupName")
self._Description = params.get("Description")
self._ConsumerGroupOffset = params.get("ConsumerGroupOffset")
self._ConsumerGroupLag = params.get("ConsumerGroupLag")
self._Latency = params.get("Latency")
if params.get("StateOfPartition") is not None:
self._StateOfPartition = []
for item in params.get("StateOfPartition"):
obj = MonitorInfo()
obj._deserialize(item)
self._StateOfPartition.append(obj)
self._CreatedAt = params.get("CreatedAt")
self._UpdatedAt = params.get("UpdatedAt")
self._ConsumerGroupState = params.get("ConsumerGroupState")
if params.get("PartitionAssignment") is not None:
self._PartitionAssignment = []
for item in params.get("PartitionAssignment"):
obj = PartitionAssignment()
obj._deserialize(item)
self._PartitionAssignment.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class IsolateMigrateJobRequest(AbstractModel):
"""IsolateMigrateJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class IsolateMigrateJobResponse(AbstractModel):
"""IsolateMigrateJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class IsolateSubscribeRequest(AbstractModel):
"""IsolateSubscribe请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 订阅实例ID
:type SubscribeId: str
"""
self._SubscribeId = None
@property
def SubscribeId(self):
"""订阅实例ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class IsolateSubscribeResponse(AbstractModel):
"""IsolateSubscribe返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class IsolateSyncJobRequest(AbstractModel):
"""IsolateSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class IsolateSyncJobResponse(AbstractModel):
"""IsolateSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class JobItem(AbstractModel):
"""迁移任务列表
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
注意:此字段可能返回 null,表示取不到有效值。
:type JobId: str
:param _JobName: 数据迁移任务名称
注意:此字段可能返回 null,表示取不到有效值。
:type JobName: str
:param _CreateTime: 任务创建(提交)时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type CreateTime: str
:param _UpdateTime: 任务更新时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type UpdateTime: str
:param _StartTime: 任务开始执行时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type StartTime: str
:param _EndTime: 任务执行结束时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type EndTime: str
:param _BriefMsg: 迁移任务错误信息
注意:此字段可能返回 null,表示取不到有效值。
:type BriefMsg: str
:param _Status: 任务状态,取值为:creating(创建中)、created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中)、
pausing(暂停中)、
manualPaused(已暂停)
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
:param _RunMode: 任务运行模式,值包括:immediate(立即运行),timed(定时运行)
注意:此字段可能返回 null,表示取不到有效值。
:type RunMode: str
:param _ExpectRunTime: 期待启动时间,当RunMode取值为timed时,此值必填,形如:2022-07-11 16:20:49
注意:此字段可能返回 null,表示取不到有效值。
:type ExpectRunTime: str
: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: list of TagItem
:param _AutoRetryTimeRangeMinutes: 自动重试时间段信息
注意:此字段可能返回 null,表示取不到有效值。
:type AutoRetryTimeRangeMinutes: int
:param _DumperResumeCtrl: 全量导出可重入标识:enum::"yes"/"no"。yes表示当前任务可重入、no表示当前任务处于全量导出且不可重入阶段;如果在该值为no时重启任务导出流程不支持断点续传
注意:此字段可能返回 null,表示取不到有效值。
:type DumperResumeCtrl: str
"""
self._JobId = None
self._JobName = None
self._CreateTime = None
self._UpdateTime = None
self._StartTime = None
self._EndTime = None
self._BriefMsg = None
self._Status = None
self._RunMode = None
self._ExpectRunTime = None
self._Action = None
self._StepInfo = None
self._SrcInfo = None
self._DstInfo = None
self._CompareTask = None
self._TradeInfo = None
self._Tags = None
self._AutoRetryTimeRangeMinutes = None
self._DumperResumeCtrl = None
@property
def JobId(self):
"""数据迁移任务ID
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def JobName(self):
"""数据迁移任务名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
@property
def CreateTime(self):
"""任务创建(提交)时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def UpdateTime(self):
"""任务更新时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._UpdateTime
@UpdateTime.setter
def UpdateTime(self, UpdateTime):
self._UpdateTime = UpdateTime
@property
def StartTime(self):
"""任务开始执行时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def EndTime(self):
"""任务执行结束时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def BriefMsg(self):
"""迁移任务错误信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._BriefMsg
@BriefMsg.setter
def BriefMsg(self, BriefMsg):
self._BriefMsg = BriefMsg
@property
def Status(self):
"""任务状态,取值为:creating(创建中)、created(创建完成)、checking(校验中)、checkPass(校验通过)、checkNotPass(校验不通过)、readyRun(准备运行)、running(任务运行)、readyComplete(准备完成)、success(任务成功)、failed(任务失败)、stopping(中止中)、completing(完成中)、
pausing(暂停中)、
manualPaused(已暂停)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def RunMode(self):
"""任务运行模式,值包括:immediate(立即运行),timed(定时运行)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._RunMode
@RunMode.setter
def RunMode(self, RunMode):
self._RunMode = RunMode
@property
def ExpectRunTime(self):
"""期待启动时间,当RunMode取值为timed时,此值必填,形如:2022-07-11 16:20:49
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ExpectRunTime
@ExpectRunTime.setter
def ExpectRunTime(self, ExpectRunTime):
self._ExpectRunTime = ExpectRunTime
@property
def Action(self):
"""任务操作信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.MigrateAction`
"""
return self._Action
@Action.setter
def Action(self, Action):
self._Action = Action
@property
def StepInfo(self):
"""迁移执行过程信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.MigrateDetailInfo`
"""
return self._StepInfo
@StepInfo.setter
def StepInfo(self, StepInfo):
self._StepInfo = StepInfo
@property
def SrcInfo(self):
"""源实例信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.DBEndpointInfo`
"""
return self._SrcInfo
@SrcInfo.setter
def SrcInfo(self, SrcInfo):
self._SrcInfo = SrcInfo
@property
def DstInfo(self):
"""目标端信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.DBEndpointInfo`
"""
return self._DstInfo
@DstInfo.setter
def DstInfo(self, DstInfo):
self._DstInfo = DstInfo
@property
def CompareTask(self):
"""数据一致性校验结果
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareTaskInfo`
"""
return self._CompareTask
@CompareTask.setter
def CompareTask(self, CompareTask):
self._CompareTask = CompareTask
@property
def TradeInfo(self):
"""计费状态信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.TradeInfo`
"""
return self._TradeInfo
@TradeInfo.setter
def TradeInfo(self, TradeInfo):
self._TradeInfo = TradeInfo
@property
def Tags(self):
"""标签信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of TagItem
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def AutoRetryTimeRangeMinutes(self):
"""自动重试时间段信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._AutoRetryTimeRangeMinutes
@AutoRetryTimeRangeMinutes.setter
def AutoRetryTimeRangeMinutes(self, AutoRetryTimeRangeMinutes):
self._AutoRetryTimeRangeMinutes = AutoRetryTimeRangeMinutes
@property
def DumperResumeCtrl(self):
"""全量导出可重入标识:enum::"yes"/"no"。yes表示当前任务可重入、no表示当前任务处于全量导出且不可重入阶段;如果在该值为no时重启任务导出流程不支持断点续传
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DumperResumeCtrl
@DumperResumeCtrl.setter
def DumperResumeCtrl(self, DumperResumeCtrl):
self._DumperResumeCtrl = DumperResumeCtrl
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._JobName = params.get("JobName")
self._CreateTime = params.get("CreateTime")
self._UpdateTime = params.get("UpdateTime")
self._StartTime = params.get("StartTime")
self._EndTime = params.get("EndTime")
self._BriefMsg = params.get("BriefMsg")
self._Status = params.get("Status")
self._RunMode = params.get("RunMode")
self._ExpectRunTime = params.get("ExpectRunTime")
if params.get("Action") is not None:
self._Action = MigrateAction()
self._Action._deserialize(params.get("Action"))
if params.get("StepInfo") is not None:
self._StepInfo = MigrateDetailInfo()
self._StepInfo._deserialize(params.get("StepInfo"))
if params.get("SrcInfo") is not None:
self._SrcInfo = DBEndpointInfo()
self._SrcInfo._deserialize(params.get("SrcInfo"))
if params.get("DstInfo") is not None:
self._DstInfo = DBEndpointInfo()
self._DstInfo._deserialize(params.get("DstInfo"))
if params.get("CompareTask") is not None:
self._CompareTask = CompareTaskInfo()
self._CompareTask._deserialize(params.get("CompareTask"))
if params.get("TradeInfo") is not None:
self._TradeInfo = TradeInfo()
self._TradeInfo._deserialize(params.get("TradeInfo"))
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = TagItem()
obj._deserialize(item)
self._Tags.append(obj)
self._AutoRetryTimeRangeMinutes = params.get("AutoRetryTimeRangeMinutes")
self._DumperResumeCtrl = params.get("DumperResumeCtrl")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class KafkaOption(AbstractModel):
"""目标端为kakfa时添加的同步选项字段
"""
def __init__(self):
r"""
:param _DataType: 投递到kafka的数据类型,如Avro,Json,canal-pb,canal-json
:type DataType: str
:param _TopicType: 同步topic策略,如Single(集中投递到单topic),Multi (自定义topic名称)
:type TopicType: str
:param _DDLTopicName: 用于存储ddl的topic
:type DDLTopicName: str
:param _TopicRules: 单topic和自定义topic的描述
:type TopicRules: list of TopicRule
"""
self._DataType = None
self._TopicType = None
self._DDLTopicName = None
self._TopicRules = None
@property
def DataType(self):
"""投递到kafka的数据类型,如Avro,Json,canal-pb,canal-json
:rtype: str
"""
return self._DataType
@DataType.setter
def DataType(self, DataType):
self._DataType = DataType
@property
def TopicType(self):
"""同步topic策略,如Single(集中投递到单topic),Multi (自定义topic名称)
:rtype: str
"""
return self._TopicType
@TopicType.setter
def TopicType(self, TopicType):
self._TopicType = TopicType
@property
def DDLTopicName(self):
"""用于存储ddl的topic
:rtype: str
"""
return self._DDLTopicName
@DDLTopicName.setter
def DDLTopicName(self, DDLTopicName):
self._DDLTopicName = DDLTopicName
@property
def TopicRules(self):
"""单topic和自定义topic的描述
:rtype: list of TopicRule
"""
return self._TopicRules
@TopicRules.setter
def TopicRules(self, TopicRules):
self._TopicRules = TopicRules
def _deserialize(self, params):
self._DataType = params.get("DataType")
self._TopicType = params.get("TopicType")
self._DDLTopicName = params.get("DDLTopicName")
if params.get("TopicRules") is not None:
self._TopicRules = []
for item in params.get("TopicRules"):
obj = TopicRule()
obj._deserialize(item)
self._TopicRules.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class KeyValuePairOption(AbstractModel):
"""存放配置时的额外信息
"""
def __init__(self):
r"""
:param _Key: 选项key
注意:此字段可能返回 null,表示取不到有效值。
:type Key: str
:param _Value: 选项value
注意:此字段可能返回 null,表示取不到有效值。
:type Value: str
"""
self._Key = None
self._Value = None
@property
def Key(self):
"""选项key
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Key
@Key.setter
def Key(self, Key):
self._Key = Key
@property
def Value(self):
"""选项value
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Value
@Value.setter
def Value(self, Value):
self._Value = Value
def _deserialize(self, params):
self._Key = params.get("Key")
self._Value = params.get("Value")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class MigrateAction(AbstractModel):
"""任务操作信息,包含迁移任务的所有操作列表,及迁移任务在当前状态下允许的操作列表
"""
def __init__(self):
r"""
:param _AllAction: 任务的所有操作列表
注意:此字段可能返回 null,表示取不到有效值。
:type AllAction: list of str
:param _AllowedAction: 任务在当前状态下允许的操作列表
注意:此字段可能返回 null,表示取不到有效值。
:type AllowedAction: list of str
"""
self._AllAction = None
self._AllowedAction = None
@property
def AllAction(self):
"""任务的所有操作列表
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._AllAction
@AllAction.setter
def AllAction(self, AllAction):
self._AllAction = AllAction
@property
def AllowedAction(self):
"""任务在当前状态下允许的操作列表
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._AllowedAction
@AllowedAction.setter
def AllowedAction(self, AllowedAction):
self._AllowedAction = AllowedAction
def _deserialize(self, params):
self._AllAction = params.get("AllAction")
self._AllowedAction = params.get("AllowedAction")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class MigrateDBItem(AbstractModel):
"""查询迁移实例列表的实例对象
"""
def __init__(self):
r"""
:param _InstanceId: 实例ID
:type InstanceId: str
:param _InstanceName: 实例名称
:type InstanceName: str
:param _Vip: 实例Vip
:type Vip: str
:param _Vport: 实例Vport
:type Vport: int
:param _Usable: 是否可以作为迁移对象,1-可以,0-不可以
:type Usable: int
:param _Hint: 不可以作为迁移对象的原因
:type Hint: str
"""
self._InstanceId = None
self._InstanceName = None
self._Vip = None
self._Vport = None
self._Usable = None
self._Hint = None
@property
def InstanceId(self):
"""实例ID
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def InstanceName(self):
"""实例名称
:rtype: str
"""
return self._InstanceName
@InstanceName.setter
def InstanceName(self, InstanceName):
self._InstanceName = InstanceName
@property
def Vip(self):
"""实例Vip
:rtype: str
"""
return self._Vip
@Vip.setter
def Vip(self, Vip):
self._Vip = Vip
@property
def Vport(self):
"""实例Vport
:rtype: int
"""
return self._Vport
@Vport.setter
def Vport(self, Vport):
self._Vport = Vport
@property
def Usable(self):
"""是否可以作为迁移对象,1-可以,0-不可以
:rtype: int
"""
return self._Usable
@Usable.setter
def Usable(self, Usable):
self._Usable = Usable
@property
def Hint(self):
"""不可以作为迁移对象的原因
:rtype: str
"""
return self._Hint
@Hint.setter
def Hint(self, Hint):
self._Hint = Hint
def _deserialize(self, params):
self._InstanceId = params.get("InstanceId")
self._InstanceName = params.get("InstanceName")
self._Vip = params.get("Vip")
self._Vport = params.get("Vport")
self._Usable = params.get("Usable")
self._Hint = params.get("Hint")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class MigrateDetailInfo(AbstractModel):
"""迁移执行过程信息
"""
def __init__(self):
r"""
:param _StepAll: 总步骤数
注意:此字段可能返回 null,表示取不到有效值。
:type StepAll: int
:param _StepNow: 当前步骤
注意:此字段可能返回 null,表示取不到有效值。
:type StepNow: int
:param _MasterSlaveDistance: 主从差距,MB;只在任务正常,迁移或者同步的最后一步(追Binlog的阶段才有校),如果是非法值,返回-1
注意:此字段可能返回 null,表示取不到有效值。
:type MasterSlaveDistance: int
:param _SecondsBehindMaster: 主从差距,秒;只在任务正常,迁移或者同步的最后一步(追Binlog的阶段才有校),如果是非法值,返回-1
注意:此字段可能返回 null,表示取不到有效值。
:type SecondsBehindMaster: int
:param _StepInfo: 步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:type StepInfo: list of StepDetailInfo
"""
self._StepAll = None
self._StepNow = None
self._MasterSlaveDistance = None
self._SecondsBehindMaster = None
self._StepInfo = None
@property
def StepAll(self):
"""总步骤数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepAll
@StepAll.setter
def StepAll(self, StepAll):
self._StepAll = StepAll
@property
def StepNow(self):
"""当前步骤
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepNow
@StepNow.setter
def StepNow(self, StepNow):
self._StepNow = StepNow
@property
def MasterSlaveDistance(self):
"""主从差距,MB;只在任务正常,迁移或者同步的最后一步(追Binlog的阶段才有校),如果是非法值,返回-1
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._MasterSlaveDistance
@MasterSlaveDistance.setter
def MasterSlaveDistance(self, MasterSlaveDistance):
self._MasterSlaveDistance = MasterSlaveDistance
@property
def SecondsBehindMaster(self):
"""主从差距,秒;只在任务正常,迁移或者同步的最后一步(追Binlog的阶段才有校),如果是非法值,返回-1
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._SecondsBehindMaster
@SecondsBehindMaster.setter
def SecondsBehindMaster(self, SecondsBehindMaster):
self._SecondsBehindMaster = SecondsBehindMaster
@property
def StepInfo(self):
"""步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of StepDetailInfo
"""
return self._StepInfo
@StepInfo.setter
def StepInfo(self, StepInfo):
self._StepInfo = StepInfo
def _deserialize(self, params):
self._StepAll = params.get("StepAll")
self._StepNow = params.get("StepNow")
self._MasterSlaveDistance = params.get("MasterSlaveDistance")
self._SecondsBehindMaster = params.get("SecondsBehindMaster")
if params.get("StepInfo") is not None:
self._StepInfo = []
for item in params.get("StepInfo"):
obj = StepDetailInfo()
obj._deserialize(item)
self._StepInfo.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class MigrateOption(AbstractModel):
"""迁移选项,描述任务如何执行迁移等一系列配置信息
"""
def __init__(self):
r"""
:param _DatabaseTable: 迁移对象选项,需要告知迁移服务迁移哪些库表对象
注意:此字段可能返回 null,表示取不到有效值。
:type DatabaseTable: :class:`tencentcloud.dts.v20211206.models.DatabaseTableObject`
:param _MigrateType: 迁移类型,full(全量迁移),structure(结构迁移),fullAndIncrement(全量加增量迁移), 默认为fullAndIncrement;注意redis,keewidb产品只支持fullAndIncrement类型。
注意:此字段可能返回 null,表示取不到有效值。
:type MigrateType: str
:param _Consistency: 数据一致性校验选项, 默认为不开启一致性校验
注意:此字段可能返回 null,表示取不到有效值。
:type Consistency: :class:`tencentcloud.dts.v20211206.models.ConsistencyOption`
:param _IsMigrateAccount: 是否迁移账号,true(迁移账号),false(不迁移账号)
注意:此字段可能返回 null,表示取不到有效值。
:type IsMigrateAccount: bool
:param _IsOverrideRoot: 是否用源库Root账户覆盖目标库,值包括:false-不覆盖,true-覆盖,选择库表或者结构迁移时应该为false,注意只对旧版迁移有效
注意:此字段可能返回 null,表示取不到有效值。
:type IsOverrideRoot: bool
:param _IsDstReadOnly: 是否在迁移时设置目标库只读(仅对mysql有效),true(设置只读)、false(不设置只读,默认此值)
注意:此字段可能返回 null,表示取不到有效值。
:type IsDstReadOnly: bool
: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, 复制超时时间(秒) "IsExpireKey":"true",过期key自动淘汰]
注意:此字段可能返回 null,表示取不到有效值。
:type ExtraAttr: list of KeyValuePairOption
:param _MigrateWay: pgsql迁移分类:logical(逻辑迁移)、physical(物理迁移)
注意:此字段可能返回 null,表示取不到有效值。
:type MigrateWay: str
"""
self._DatabaseTable = None
self._MigrateType = None
self._Consistency = None
self._IsMigrateAccount = None
self._IsOverrideRoot = None
self._IsDstReadOnly = None
self._ExtraAttr = None
self._MigrateWay = None
@property
def DatabaseTable(self):
"""迁移对象选项,需要告知迁移服务迁移哪些库表对象
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.DatabaseTableObject`
"""
return self._DatabaseTable
@DatabaseTable.setter
def DatabaseTable(self, DatabaseTable):
self._DatabaseTable = DatabaseTable
@property
def MigrateType(self):
"""迁移类型,full(全量迁移),structure(结构迁移),fullAndIncrement(全量加增量迁移), 默认为fullAndIncrement;注意redis,keewidb产品只支持fullAndIncrement类型。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._MigrateType
@MigrateType.setter
def MigrateType(self, MigrateType):
self._MigrateType = MigrateType
@property
def Consistency(self):
"""数据一致性校验选项, 默认为不开启一致性校验
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.ConsistencyOption`
"""
return self._Consistency
@Consistency.setter
def Consistency(self, Consistency):
self._Consistency = Consistency
@property
def IsMigrateAccount(self):
"""是否迁移账号,true(迁移账号),false(不迁移账号)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: bool
"""
return self._IsMigrateAccount
@IsMigrateAccount.setter
def IsMigrateAccount(self, IsMigrateAccount):
self._IsMigrateAccount = IsMigrateAccount
@property
def IsOverrideRoot(self):
"""是否用源库Root账户覆盖目标库,值包括:false-不覆盖,true-覆盖,选择库表或者结构迁移时应该为false,注意只对旧版迁移有效
注意:此字段可能返回 null,表示取不到有效值。
:rtype: bool
"""
return self._IsOverrideRoot
@IsOverrideRoot.setter
def IsOverrideRoot(self, IsOverrideRoot):
self._IsOverrideRoot = IsOverrideRoot
@property
def IsDstReadOnly(self):
"""是否在迁移时设置目标库只读(仅对mysql有效),true(设置只读)、false(不设置只读,默认此值)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: bool
"""
return self._IsDstReadOnly
@IsDstReadOnly.setter
def IsDstReadOnly(self, IsDstReadOnly):
self._IsDstReadOnly = IsDstReadOnly
@property
def ExtraAttr(self):
"""其他附加信息,对于特定库可设置额外参数,Redis可定义如下的参数:
["DstWriteMode":normal, 目标库写入模式,可取值clearData(清空目标实例数据)、overwrite(以覆盖写的方式执行任务)、normal(跟正常流程一样,不做额外动作) "IsDstReadOnly":true, 是否在迁移时设置目标库只读,true(设置只读)、false(不设置只读) "ClientOutputBufferHardLimit":512, 从机缓冲区的硬性容量限制(MB) "ClientOutputBufferSoftLimit":512, 从机缓冲区的软性容量限制(MB) "ClientOutputBufferPersistTime":60, 从机缓冲区的软性限制持续时间(秒) "ReplBacklogSize":512, 环形缓冲区容量限制(MB) "ReplTimeout":120, 复制超时时间(秒) "IsExpireKey":"true",过期key自动淘汰]
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of KeyValuePairOption
"""
return self._ExtraAttr
@ExtraAttr.setter
def ExtraAttr(self, ExtraAttr):
self._ExtraAttr = ExtraAttr
@property
def MigrateWay(self):
"""pgsql迁移分类:logical(逻辑迁移)、physical(物理迁移)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._MigrateWay
@MigrateWay.setter
def MigrateWay(self, MigrateWay):
self._MigrateWay = MigrateWay
def _deserialize(self, params):
if params.get("DatabaseTable") is not None:
self._DatabaseTable = DatabaseTableObject()
self._DatabaseTable._deserialize(params.get("DatabaseTable"))
self._MigrateType = params.get("MigrateType")
if params.get("Consistency") is not None:
self._Consistency = ConsistencyOption()
self._Consistency._deserialize(params.get("Consistency"))
self._IsMigrateAccount = params.get("IsMigrateAccount")
self._IsOverrideRoot = params.get("IsOverrideRoot")
self._IsDstReadOnly = params.get("IsDstReadOnly")
if params.get("ExtraAttr") is not None:
self._ExtraAttr = []
for item in params.get("ExtraAttr"):
obj = KeyValuePairOption()
obj._deserialize(item)
self._ExtraAttr.append(obj)
self._MigrateWay = params.get("MigrateWay")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifiedSubscribeObject(AbstractModel):
"""数据数据订阅的对象,用于修改订阅对象接口。与SubscribeObject结构类似,只是类型和参数名不同。
"""
def __init__(self):
r"""
:param _ObjectsType: 订阅对象的类型,枚举值为:0-库,1-表(该值对于mongo任务来说,是集合) 。
注意:mongo只支持全实例、单库或者单集合订阅,因此该字段不要与SubscribeObjectType冲突。如:SubscribeObjectType=4,表示mongo单库订阅,那么该字段应该传0。
注意:此字段可能返回 null,表示取不到有效值。
:type ObjectsType: int
:param _DatabaseName: 订阅数据库的名称
注意:此字段可能返回 null,表示取不到有效值。
:type DatabaseName: str
:param _TableNames: 订阅数据库中表(或集合)的名称。如果 ObjectsType 为 1,那么此字段为必填,且不为空;
注意:此字段可能返回 null,表示取不到有效值。
:type TableNames: list of str
"""
self._ObjectsType = None
self._DatabaseName = None
self._TableNames = None
@property
def ObjectsType(self):
"""订阅对象的类型,枚举值为:0-库,1-表(该值对于mongo任务来说,是集合) 。
注意:mongo只支持全实例、单库或者单集合订阅,因此该字段不要与SubscribeObjectType冲突。如:SubscribeObjectType=4,表示mongo单库订阅,那么该字段应该传0。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._ObjectsType
@ObjectsType.setter
def ObjectsType(self, ObjectsType):
self._ObjectsType = ObjectsType
@property
def DatabaseName(self):
"""订阅数据库的名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DatabaseName
@DatabaseName.setter
def DatabaseName(self, DatabaseName):
self._DatabaseName = DatabaseName
@property
def TableNames(self):
"""订阅数据库中表(或集合)的名称。如果 ObjectsType 为 1,那么此字段为必填,且不为空;
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._TableNames
@TableNames.setter
def TableNames(self, TableNames):
self._TableNames = TableNames
def _deserialize(self, params):
self._ObjectsType = params.get("ObjectsType")
self._DatabaseName = params.get("DatabaseName")
self._TableNames = params.get("TableNames")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyCompareTaskNameRequest(AbstractModel):
"""ModifyCompareTaskName请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务 Id
:type JobId: str
:param _CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:type CompareTaskId: str
:param _TaskName: 一致性校验任务名称
:type TaskName: str
"""
self._JobId = None
self._CompareTaskId = None
self._TaskName = None
@property
def JobId(self):
"""迁移任务 Id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def CompareTaskId(self):
"""对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
@property
def TaskName(self):
"""一致性校验任务名称
:rtype: str
"""
return self._TaskName
@TaskName.setter
def TaskName(self, TaskName):
self._TaskName = TaskName
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._CompareTaskId = params.get("CompareTaskId")
self._TaskName = params.get("TaskName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyCompareTaskNameResponse(AbstractModel):
"""ModifyCompareTaskName返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyCompareTaskRequest(AbstractModel):
"""ModifyCompareTask请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 任务 Id
:type JobId: str
:param _CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:type CompareTaskId: str
:param _TaskName: 任务名称
:type TaskName: str
:param _ObjectMode: 数据对比对象模式,sameAsMigrate(全部迁移对象, 默认为此项配置)、custom(自定义),注意自定义对比对象必须是迁移对象的子集
:type ObjectMode: str
:param _Objects: 对比对象,若CompareObjectMode取值为custom,则此项必填
:type Objects: :class:`tencentcloud.dts.v20211206.models.CompareObject`
:param _Options: 一致性校验选项
:type Options: :class:`tencentcloud.dts.v20211206.models.CompareOptions`
"""
self._JobId = None
self._CompareTaskId = None
self._TaskName = None
self._ObjectMode = None
self._Objects = None
self._Options = None
@property
def JobId(self):
"""任务 Id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def CompareTaskId(self):
"""对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
@property
def TaskName(self):
"""任务名称
:rtype: str
"""
return self._TaskName
@TaskName.setter
def TaskName(self, TaskName):
self._TaskName = TaskName
@property
def ObjectMode(self):
"""数据对比对象模式,sameAsMigrate(全部迁移对象, 默认为此项配置)、custom(自定义),注意自定义对比对象必须是迁移对象的子集
:rtype: str
"""
return self._ObjectMode
@ObjectMode.setter
def ObjectMode(self, ObjectMode):
self._ObjectMode = ObjectMode
@property
def Objects(self):
"""对比对象,若CompareObjectMode取值为custom,则此项必填
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareObject`
"""
return self._Objects
@Objects.setter
def Objects(self, Objects):
self._Objects = Objects
@property
def Options(self):
"""一致性校验选项
:rtype: :class:`tencentcloud.dts.v20211206.models.CompareOptions`
"""
return self._Options
@Options.setter
def Options(self, Options):
self._Options = Options
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._CompareTaskId = params.get("CompareTaskId")
self._TaskName = params.get("TaskName")
self._ObjectMode = params.get("ObjectMode")
if params.get("Objects") is not None:
self._Objects = CompareObject()
self._Objects._deserialize(params.get("Objects"))
if params.get("Options") is not None:
self._Options = CompareOptions()
self._Options._deserialize(params.get("Options"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyCompareTaskResponse(AbstractModel):
"""ModifyCompareTask返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyConsumerGroupDescriptionRequest(AbstractModel):
"""ModifyConsumerGroupDescription请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的 ID
:type SubscribeId: str
:param _ConsumerGroupName: 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}。
请务必保证消费组名称正确。
:type ConsumerGroupName: str
:param _AccountName: 账户名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}。
请务必保证账户名称正确。
:type AccountName: str
:param _Description: 修改之后的消费组描述
:type Description: str
"""
self._SubscribeId = None
self._ConsumerGroupName = None
self._AccountName = None
self._Description = None
@property
def SubscribeId(self):
"""数据订阅实例的 ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def ConsumerGroupName(self):
"""消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}。
请务必保证消费组名称正确。
:rtype: str
"""
return self._ConsumerGroupName
@ConsumerGroupName.setter
def ConsumerGroupName(self, ConsumerGroupName):
self._ConsumerGroupName = ConsumerGroupName
@property
def AccountName(self):
"""账户名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}。
请务必保证账户名称正确。
:rtype: str
"""
return self._AccountName
@AccountName.setter
def AccountName(self, AccountName):
self._AccountName = AccountName
@property
def Description(self):
"""修改之后的消费组描述
:rtype: str
"""
return self._Description
@Description.setter
def Description(self, Description):
self._Description = Description
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._ConsumerGroupName = params.get("ConsumerGroupName")
self._AccountName = params.get("AccountName")
self._Description = params.get("Description")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyConsumerGroupDescriptionResponse(AbstractModel):
"""ModifyConsumerGroupDescription返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyConsumerGroupPasswordRequest(AbstractModel):
"""ModifyConsumerGroupPassword请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的 ID
:type SubscribeId: str
:param _AccountName: 账号名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}
:type AccountName: str
:param _ConsumerGroupName: 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
:type ConsumerGroupName: str
:param _NewPassword: 新密码。字符长度不小于3,不大于32
:type NewPassword: str
:param _OldPassword: 旧密码,非必选
:type OldPassword: str
"""
self._SubscribeId = None
self._AccountName = None
self._ConsumerGroupName = None
self._NewPassword = None
self._OldPassword = None
@property
def SubscribeId(self):
"""数据订阅实例的 ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def AccountName(self):
"""账号名称。实际的账户全称形如:account-#{SubscribeId}-#{AccountName}
:rtype: str
"""
return self._AccountName
@AccountName.setter
def AccountName(self, AccountName):
self._AccountName = AccountName
@property
def ConsumerGroupName(self):
"""消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
:rtype: str
"""
return self._ConsumerGroupName
@ConsumerGroupName.setter
def ConsumerGroupName(self, ConsumerGroupName):
self._ConsumerGroupName = ConsumerGroupName
@property
def NewPassword(self):
"""新密码。字符长度不小于3,不大于32
:rtype: str
"""
return self._NewPassword
@NewPassword.setter
def NewPassword(self, NewPassword):
self._NewPassword = NewPassword
@property
def OldPassword(self):
"""旧密码,非必选
:rtype: str
"""
return self._OldPassword
@OldPassword.setter
def OldPassword(self, OldPassword):
self._OldPassword = OldPassword
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._AccountName = params.get("AccountName")
self._ConsumerGroupName = params.get("ConsumerGroupName")
self._NewPassword = params.get("NewPassword")
self._OldPassword = params.get("OldPassword")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyConsumerGroupPasswordResponse(AbstractModel):
"""ModifyConsumerGroupPassword返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyMigrateJobSpecRequest(AbstractModel):
"""ModifyMigrateJobSpec请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 任务id
:type JobId: str
:param _NewInstanceClass: 新实例规格大小,包括:micro、small、medium、large、xlarge、2xlarge
:type NewInstanceClass: str
"""
self._JobId = None
self._NewInstanceClass = None
@property
def JobId(self):
"""任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def NewInstanceClass(self):
"""新实例规格大小,包括:micro、small、medium、large、xlarge、2xlarge
:rtype: str
"""
return self._NewInstanceClass
@NewInstanceClass.setter
def NewInstanceClass(self, NewInstanceClass):
self._NewInstanceClass = NewInstanceClass
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._NewInstanceClass = params.get("NewInstanceClass")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyMigrateJobSpecResponse(AbstractModel):
"""ModifyMigrateJobSpec返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyMigrateNameRequest(AbstractModel):
"""ModifyMigrateName请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务id
:type JobId: str
:param _JobName: 修改后的迁移任务名
:type JobName: str
"""
self._JobId = None
self._JobName = None
@property
def JobId(self):
"""迁移任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def JobName(self):
"""修改后的迁移任务名
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._JobName = params.get("JobName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyMigrateNameResponse(AbstractModel):
"""ModifyMigrateName返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyMigrateRateLimitRequest(AbstractModel):
"""ModifyMigrateRateLimit请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务ID
:type JobId: str
:param _DumpThread: 迁移任务全量导出线程数、有效值为 1-16
:type DumpThread: int
:param _DumpRps: 迁移全量导出的 Rps 限制、需要大于 0
:type DumpRps: int
:param _LoadThread: 迁移任务全量导入线程数、有效值为 1-16
:type LoadThread: int
:param _SinkerThread: 迁移任务增量导入线程数、有效值为 1-128
:type SinkerThread: int
:param _LoadRps: 全量导入Rps限制
:type LoadRps: int
"""
self._JobId = None
self._DumpThread = None
self._DumpRps = None
self._LoadThread = None
self._SinkerThread = None
self._LoadRps = None
@property
def JobId(self):
"""迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def DumpThread(self):
"""迁移任务全量导出线程数、有效值为 1-16
:rtype: int
"""
return self._DumpThread
@DumpThread.setter
def DumpThread(self, DumpThread):
self._DumpThread = DumpThread
@property
def DumpRps(self):
"""迁移全量导出的 Rps 限制、需要大于 0
:rtype: int
"""
return self._DumpRps
@DumpRps.setter
def DumpRps(self, DumpRps):
self._DumpRps = DumpRps
@property
def LoadThread(self):
"""迁移任务全量导入线程数、有效值为 1-16
:rtype: int
"""
return self._LoadThread
@LoadThread.setter
def LoadThread(self, LoadThread):
self._LoadThread = LoadThread
@property
def SinkerThread(self):
"""迁移任务增量导入线程数、有效值为 1-128
:rtype: int
"""
return self._SinkerThread
@SinkerThread.setter
def SinkerThread(self, SinkerThread):
self._SinkerThread = SinkerThread
@property
def LoadRps(self):
"""全量导入Rps限制
:rtype: int
"""
return self._LoadRps
@LoadRps.setter
def LoadRps(self, LoadRps):
self._LoadRps = LoadRps
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._DumpThread = params.get("DumpThread")
self._DumpRps = params.get("DumpRps")
self._LoadThread = params.get("LoadThread")
self._SinkerThread = params.get("SinkerThread")
self._LoadRps = params.get("LoadRps")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyMigrateRateLimitResponse(AbstractModel):
"""ModifyMigrateRateLimit返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyMigrateRuntimeAttributeRequest(AbstractModel):
"""ModifyMigrateRuntimeAttribute请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务id,如:dts-2rgv0f09
:type JobId: str
:param _OtherOptions: 需要修改的属性,此结构设计为通用结构,用于屏蔽多个业务的定制属性。<br>例如对于Redis:<br>{<br> "Key": "DstWriteMode", //目标库写入模式<br> "Value": "normal" //clearData(清空目标实例数据)、overwrite(以覆盖写的方式执行任务)、normal(跟正常流程一样,不做额外动作,默认为此值) <br>},<br>{<br/> "Key": "IsDstReadOnly", //是否在迁移时设置目标库只读<br/> "Value": "true" //true(设置只读)、false(不设置只读) <br/>}
:type OtherOptions: list of KeyValuePairOption
"""
self._JobId = None
self._OtherOptions = None
@property
def JobId(self):
"""迁移任务id,如:dts-2rgv0f09
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def OtherOptions(self):
"""需要修改的属性,此结构设计为通用结构,用于屏蔽多个业务的定制属性。<br>例如对于Redis:<br>{<br> "Key": "DstWriteMode", //目标库写入模式<br> "Value": "normal" //clearData(清空目标实例数据)、overwrite(以覆盖写的方式执行任务)、normal(跟正常流程一样,不做额外动作,默认为此值) <br>},<br>{<br/> "Key": "IsDstReadOnly", //是否在迁移时设置目标库只读<br/> "Value": "true" //true(设置只读)、false(不设置只读) <br/>}
:rtype: list of KeyValuePairOption
"""
return self._OtherOptions
@OtherOptions.setter
def OtherOptions(self, OtherOptions):
self._OtherOptions = OtherOptions
def _deserialize(self, params):
self._JobId = params.get("JobId")
if params.get("OtherOptions") is not None:
self._OtherOptions = []
for item in params.get("OtherOptions"):
obj = KeyValuePairOption()
obj._deserialize(item)
self._OtherOptions.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyMigrateRuntimeAttributeResponse(AbstractModel):
"""ModifyMigrateRuntimeAttribute返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifyMigrationJobRequest(AbstractModel):
"""ModifyMigrationJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 任务id
:type JobId: str
:param _RunMode: 运行模式,取值如:immediate(表示立即运行)、timed(表示定时运行)
:type RunMode: str
: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: str
:param _ExpectRunTime: 期待启动时间,当RunMode取值为timed时,此值必填,形如:"2006-01-02 15:04:05"
:type ExpectRunTime: str
:param _Tags: 标签信息
:type Tags: list of TagItem
:param _AutoRetryTimeRangeMinutes: 自动重试的时间段、可设置5至720分钟、0表示不重试
:type AutoRetryTimeRangeMinutes: int
"""
self._JobId = None
self._RunMode = None
self._MigrateOption = None
self._SrcInfo = None
self._DstInfo = None
self._JobName = None
self._ExpectRunTime = None
self._Tags = None
self._AutoRetryTimeRangeMinutes = None
@property
def JobId(self):
"""任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def RunMode(self):
"""运行模式,取值如:immediate(表示立即运行)、timed(表示定时运行)
:rtype: str
"""
return self._RunMode
@RunMode.setter
def RunMode(self, RunMode):
self._RunMode = RunMode
@property
def MigrateOption(self):
"""迁移任务配置选项,描述任务如何执行迁移等一系列配置信息;字段下的RateLimitOption不可配置、如果需要修改任务的限速信息、请在任务运行后通过ModifyMigrateRateLimit接口修改
:rtype: :class:`tencentcloud.dts.v20211206.models.MigrateOption`
"""
return self._MigrateOption
@MigrateOption.setter
def MigrateOption(self, MigrateOption):
self._MigrateOption = MigrateOption
@property
def SrcInfo(self):
"""源实例信息
:rtype: :class:`tencentcloud.dts.v20211206.models.DBEndpointInfo`
"""
return self._SrcInfo
@SrcInfo.setter
def SrcInfo(self, SrcInfo):
self._SrcInfo = SrcInfo
@property
def DstInfo(self):
"""目标实例信息
:rtype: :class:`tencentcloud.dts.v20211206.models.DBEndpointInfo`
"""
return self._DstInfo
@DstInfo.setter
def DstInfo(self, DstInfo):
self._DstInfo = DstInfo
@property
def JobName(self):
"""迁移任务名称,最大长度128
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
@property
def ExpectRunTime(self):
"""期待启动时间,当RunMode取值为timed时,此值必填,形如:"2006-01-02 15:04:05"
:rtype: str
"""
return self._ExpectRunTime
@ExpectRunTime.setter
def ExpectRunTime(self, ExpectRunTime):
self._ExpectRunTime = ExpectRunTime
@property
def Tags(self):
"""标签信息
:rtype: list of TagItem
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def AutoRetryTimeRangeMinutes(self):
"""自动重试的时间段、可设置5至720分钟、0表示不重试
:rtype: int
"""
return self._AutoRetryTimeRangeMinutes
@AutoRetryTimeRangeMinutes.setter
def AutoRetryTimeRangeMinutes(self, AutoRetryTimeRangeMinutes):
self._AutoRetryTimeRangeMinutes = AutoRetryTimeRangeMinutes
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._RunMode = params.get("RunMode")
if params.get("MigrateOption") is not None:
self._MigrateOption = MigrateOption()
self._MigrateOption._deserialize(params.get("MigrateOption"))
if params.get("SrcInfo") is not None:
self._SrcInfo = DBEndpointInfo()
self._SrcInfo._deserialize(params.get("SrcInfo"))
if params.get("DstInfo") is not None:
self._DstInfo = DBEndpointInfo()
self._DstInfo._deserialize(params.get("DstInfo"))
self._JobName = params.get("JobName")
self._ExpectRunTime = params.get("ExpectRunTime")
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = TagItem()
obj._deserialize(item)
self._Tags.append(obj)
self._AutoRetryTimeRangeMinutes = params.get("AutoRetryTimeRangeMinutes")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifyMigrationJobResponse(AbstractModel):
"""ModifyMigrationJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifySubscribeAutoRenewFlagRequest(AbstractModel):
"""ModifySubscribeAutoRenewFlag请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 订阅实例ID
:type SubscribeId: str
:param _AutoRenewFlag: 自动续费标识。1-自动续费,0-不自动续费
:type AutoRenewFlag: int
"""
self._SubscribeId = None
self._AutoRenewFlag = None
@property
def SubscribeId(self):
"""订阅实例ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def AutoRenewFlag(self):
"""自动续费标识。1-自动续费,0-不自动续费
:rtype: int
"""
return self._AutoRenewFlag
@AutoRenewFlag.setter
def AutoRenewFlag(self, AutoRenewFlag):
self._AutoRenewFlag = AutoRenewFlag
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._AutoRenewFlag = params.get("AutoRenewFlag")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifySubscribeAutoRenewFlagResponse(AbstractModel):
"""ModifySubscribeAutoRenewFlag返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifySubscribeNameRequest(AbstractModel):
"""ModifySubscribeName请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的ID
:type SubscribeId: str
:param _SubscribeName: 修改后的数据订阅实例的名称,长度限制为[1,60]
:type SubscribeName: str
"""
self._SubscribeId = None
self._SubscribeName = None
@property
def SubscribeId(self):
"""数据订阅实例的ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def SubscribeName(self):
"""修改后的数据订阅实例的名称,长度限制为[1,60]
:rtype: str
"""
return self._SubscribeName
@SubscribeName.setter
def SubscribeName(self, SubscribeName):
self._SubscribeName = SubscribeName
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._SubscribeName = params.get("SubscribeName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifySubscribeNameResponse(AbstractModel):
"""ModifySubscribeName返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifySubscribeObjectsRequest(AbstractModel):
"""ModifySubscribeObjects请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的ID
:type SubscribeId: str
:param _SubscribeObjectType: 数据订阅的类型,非mongo任务的枚举值:0-全实例更新;1-数据更新;2-结构更新;3-数据更新+结构更新。mongo任务的枚举值:0-全实例更新;4-订阅单库;5-订阅单集合
:type SubscribeObjectType: int
:param _Objects: 修改后的订阅数据库表信息。会覆盖原来的订阅对象,所以除非 SubscribeObjectType = 0或2,否则改字段必填。
:type Objects: list of ModifiedSubscribeObject
:param _DistributeRules: kafka分区策略。如果不填,默认不修改。如果填了,会覆盖原来的策略。
:type DistributeRules: list of DistributeRule
:param _DefaultRuleType: 默认分区策略。不满足DistributeRules中正则表达式的数据,将按照默认分区策略计算分区。
非mongo产品支持的默认策略: table-按表名分区,pk-按表名+主键分区。mongo的默认策略仅支持:collection-按集合名分区。
该字段与DistributeRules搭配使用。如果配置了DistributeRules,该字段也必填。如果配置了该字段,视为配置了一条DistributeRules,原来的分区策略也会被覆盖。
:type DefaultRuleType: str
:param _PipelineInfo: mongo输出聚合设置,mongo任务可选。如果不填,默认不修改。
:type PipelineInfo: list of PipelineInfo
"""
self._SubscribeId = None
self._SubscribeObjectType = None
self._Objects = None
self._DistributeRules = None
self._DefaultRuleType = None
self._PipelineInfo = None
@property
def SubscribeId(self):
"""数据订阅实例的ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def SubscribeObjectType(self):
"""数据订阅的类型,非mongo任务的枚举值:0-全实例更新;1-数据更新;2-结构更新;3-数据更新+结构更新。mongo任务的枚举值:0-全实例更新;4-订阅单库;5-订阅单集合
:rtype: int
"""
return self._SubscribeObjectType
@SubscribeObjectType.setter
def SubscribeObjectType(self, SubscribeObjectType):
self._SubscribeObjectType = SubscribeObjectType
@property
def Objects(self):
"""修改后的订阅数据库表信息。会覆盖原来的订阅对象,所以除非 SubscribeObjectType = 0或2,否则改字段必填。
:rtype: list of ModifiedSubscribeObject
"""
return self._Objects
@Objects.setter
def Objects(self, Objects):
self._Objects = Objects
@property
def DistributeRules(self):
"""kafka分区策略。如果不填,默认不修改。如果填了,会覆盖原来的策略。
:rtype: list of DistributeRule
"""
return self._DistributeRules
@DistributeRules.setter
def DistributeRules(self, DistributeRules):
self._DistributeRules = DistributeRules
@property
def DefaultRuleType(self):
"""默认分区策略。不满足DistributeRules中正则表达式的数据,将按照默认分区策略计算分区。
非mongo产品支持的默认策略: table-按表名分区,pk-按表名+主键分区。mongo的默认策略仅支持:collection-按集合名分区。
该字段与DistributeRules搭配使用。如果配置了DistributeRules,该字段也必填。如果配置了该字段,视为配置了一条DistributeRules,原来的分区策略也会被覆盖。
:rtype: str
"""
return self._DefaultRuleType
@DefaultRuleType.setter
def DefaultRuleType(self, DefaultRuleType):
self._DefaultRuleType = DefaultRuleType
@property
def PipelineInfo(self):
"""mongo输出聚合设置,mongo任务可选。如果不填,默认不修改。
:rtype: list of PipelineInfo
"""
return self._PipelineInfo
@PipelineInfo.setter
def PipelineInfo(self, PipelineInfo):
self._PipelineInfo = PipelineInfo
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._SubscribeObjectType = params.get("SubscribeObjectType")
if params.get("Objects") is not None:
self._Objects = []
for item in params.get("Objects"):
obj = ModifiedSubscribeObject()
obj._deserialize(item)
self._Objects.append(obj)
if params.get("DistributeRules") is not None:
self._DistributeRules = []
for item in params.get("DistributeRules"):
obj = DistributeRule()
obj._deserialize(item)
self._DistributeRules.append(obj)
self._DefaultRuleType = params.get("DefaultRuleType")
if params.get("PipelineInfo") is not None:
self._PipelineInfo = []
for item in params.get("PipelineInfo"):
obj = PipelineInfo()
obj._deserialize(item)
self._PipelineInfo.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifySubscribeObjectsResponse(AbstractModel):
"""ModifySubscribeObjects返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifySyncJobConfigRequest(AbstractModel):
"""ModifySyncJobConfig请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
:param _DynamicObjects: 修改后的同步对象
:type DynamicObjects: :class:`tencentcloud.dts.v20211206.models.Objects`
:param _DynamicOptions: 修改后的同步任务选项
:type DynamicOptions: :class:`tencentcloud.dts.v20211206.models.DynamicOptions`
"""
self._JobId = None
self._DynamicObjects = None
self._DynamicOptions = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def DynamicObjects(self):
"""修改后的同步对象
:rtype: :class:`tencentcloud.dts.v20211206.models.Objects`
"""
return self._DynamicObjects
@DynamicObjects.setter
def DynamicObjects(self, DynamicObjects):
self._DynamicObjects = DynamicObjects
@property
def DynamicOptions(self):
"""修改后的同步任务选项
:rtype: :class:`tencentcloud.dts.v20211206.models.DynamicOptions`
"""
return self._DynamicOptions
@DynamicOptions.setter
def DynamicOptions(self, DynamicOptions):
self._DynamicOptions = DynamicOptions
def _deserialize(self, params):
self._JobId = params.get("JobId")
if params.get("DynamicObjects") is not None:
self._DynamicObjects = Objects()
self._DynamicObjects._deserialize(params.get("DynamicObjects"))
if params.get("DynamicOptions") is not None:
self._DynamicOptions = DynamicOptions()
self._DynamicOptions._deserialize(params.get("DynamicOptions"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifySyncJobConfigResponse(AbstractModel):
"""ModifySyncJobConfig返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ModifySyncRateLimitRequest(AbstractModel):
"""ModifySyncRateLimit请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务ID
:type JobId: str
:param _DumpThread: 同步任务全量导出线程数、有效值为 1-16
:type DumpThread: int
:param _DumpRps: 同步任务全量导出的 Rps 限制、需要大于 0
:type DumpRps: int
:param _LoadThread: 同步任务全量导入线程数、有效值为 1-16
:type LoadThread: int
:param _SinkerThread: 同步任务增量导入线程数、有效值为 1-128
:type SinkerThread: int
:param _LoadRps: 同步任务全量导入的Rps
:type LoadRps: int
"""
self._JobId = None
self._DumpThread = None
self._DumpRps = None
self._LoadThread = None
self._SinkerThread = None
self._LoadRps = None
@property
def JobId(self):
"""迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def DumpThread(self):
"""同步任务全量导出线程数、有效值为 1-16
:rtype: int
"""
return self._DumpThread
@DumpThread.setter
def DumpThread(self, DumpThread):
self._DumpThread = DumpThread
@property
def DumpRps(self):
"""同步任务全量导出的 Rps 限制、需要大于 0
:rtype: int
"""
return self._DumpRps
@DumpRps.setter
def DumpRps(self, DumpRps):
self._DumpRps = DumpRps
@property
def LoadThread(self):
"""同步任务全量导入线程数、有效值为 1-16
:rtype: int
"""
return self._LoadThread
@LoadThread.setter
def LoadThread(self, LoadThread):
self._LoadThread = LoadThread
@property
def SinkerThread(self):
"""同步任务增量导入线程数、有效值为 1-128
:rtype: int
"""
return self._SinkerThread
@SinkerThread.setter
def SinkerThread(self, SinkerThread):
self._SinkerThread = SinkerThread
@property
def LoadRps(self):
"""同步任务全量导入的Rps
:rtype: int
"""
return self._LoadRps
@LoadRps.setter
def LoadRps(self, LoadRps):
self._LoadRps = LoadRps
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._DumpThread = params.get("DumpThread")
self._DumpRps = params.get("DumpRps")
self._LoadThread = params.get("LoadThread")
self._SinkerThread = params.get("SinkerThread")
self._LoadRps = params.get("LoadRps")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ModifySyncRateLimitResponse(AbstractModel):
"""ModifySyncRateLimit返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class MonitorInfo(AbstractModel):
"""kafka消费者组的分区详情
"""
def __init__(self):
r"""
:param _PartitionNo: 当前分区的编号,从0开始
:type PartitionNo: int
:param _ConsumerGroupOffset: 当前分区的偏移量
:type ConsumerGroupOffset: int
:param _ConsumerGroupLag: 当前分区未消费的数据量
:type ConsumerGroupLag: int
:param _Latency: 当前分区的消费延迟(单位为秒)
:type Latency: int
"""
self._PartitionNo = None
self._ConsumerGroupOffset = None
self._ConsumerGroupLag = None
self._Latency = None
@property
def PartitionNo(self):
"""当前分区的编号,从0开始
:rtype: int
"""
return self._PartitionNo
@PartitionNo.setter
def PartitionNo(self, PartitionNo):
self._PartitionNo = PartitionNo
@property
def ConsumerGroupOffset(self):
"""当前分区的偏移量
:rtype: int
"""
return self._ConsumerGroupOffset
@ConsumerGroupOffset.setter
def ConsumerGroupOffset(self, ConsumerGroupOffset):
self._ConsumerGroupOffset = ConsumerGroupOffset
@property
def ConsumerGroupLag(self):
"""当前分区未消费的数据量
:rtype: int
"""
return self._ConsumerGroupLag
@ConsumerGroupLag.setter
def ConsumerGroupLag(self, ConsumerGroupLag):
self._ConsumerGroupLag = ConsumerGroupLag
@property
def Latency(self):
"""当前分区的消费延迟(单位为秒)
:rtype: int
"""
return self._Latency
@Latency.setter
def Latency(self, Latency):
self._Latency = Latency
def _deserialize(self, params):
self._PartitionNo = params.get("PartitionNo")
self._ConsumerGroupOffset = params.get("ConsumerGroupOffset")
self._ConsumerGroupLag = params.get("ConsumerGroupLag")
self._Latency = params.get("Latency")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Objects(AbstractModel):
"""同步的数据库对对象描述
"""
def __init__(self):
r"""
:param _Mode: 同步对象类型 Partial(部分对象)
注意:此字段可能返回 null,表示取不到有效值。
:type Mode: str
:param _Databases: 同步对象,当 Mode 为 Partial 时,不为空
注意:此字段可能返回 null,表示取不到有效值。
:type Databases: list of Database
:param _AdvancedObjects: 高级对象类型,如function、procedure。注意:如果要迁移同步高级对象,此配置中应该包含对应的高级对象类型。当需要同步高级对象时,初始化类型必须包含结构初始化类型,即任务的Options.InitType字段值为Structure或Full
注意:此字段可能返回 null,表示取不到有效值。
:type AdvancedObjects: list of str
:param _OnlineDDL: OnlineDDL类型,冗余字段不做配置用途
注意:此字段可能返回 null,表示取不到有效值。
:type OnlineDDL: :class:`tencentcloud.dts.v20211206.models.OnlineDDL`
"""
self._Mode = None
self._Databases = None
self._AdvancedObjects = None
self._OnlineDDL = None
@property
def Mode(self):
"""同步对象类型 Partial(部分对象)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Mode
@Mode.setter
def Mode(self, Mode):
self._Mode = Mode
@property
def Databases(self):
"""同步对象,当 Mode 为 Partial 时,不为空
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of Database
"""
return self._Databases
@Databases.setter
def Databases(self, Databases):
self._Databases = Databases
@property
def AdvancedObjects(self):
"""高级对象类型,如function、procedure。注意:如果要迁移同步高级对象,此配置中应该包含对应的高级对象类型。当需要同步高级对象时,初始化类型必须包含结构初始化类型,即任务的Options.InitType字段值为Structure或Full
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._AdvancedObjects
@AdvancedObjects.setter
def AdvancedObjects(self, AdvancedObjects):
self._AdvancedObjects = AdvancedObjects
@property
def OnlineDDL(self):
"""OnlineDDL类型,冗余字段不做配置用途
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.OnlineDDL`
"""
return self._OnlineDDL
@OnlineDDL.setter
def OnlineDDL(self, OnlineDDL):
self._OnlineDDL = OnlineDDL
def _deserialize(self, params):
self._Mode = params.get("Mode")
if params.get("Databases") is not None:
self._Databases = []
for item in params.get("Databases"):
obj = Database()
obj._deserialize(item)
self._Databases.append(obj)
self._AdvancedObjects = params.get("AdvancedObjects")
if params.get("OnlineDDL") is not None:
self._OnlineDDL = OnlineDDL()
self._OnlineDDL._deserialize(params.get("OnlineDDL"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class OffsetTimeMap(AbstractModel):
"""数据订阅kafka分区中checkpoint信息
"""
def __init__(self):
r"""
:param _PartitionNo: kafka分区编号
注意:此字段可能返回 null,表示取不到有效值。
:type PartitionNo: int
:param _Offset: kafka offset
注意:此字段可能返回 null,表示取不到有效值。
:type Offset: int
"""
self._PartitionNo = None
self._Offset = None
@property
def PartitionNo(self):
"""kafka分区编号
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._PartitionNo
@PartitionNo.setter
def PartitionNo(self, PartitionNo):
self._PartitionNo = PartitionNo
@property
def Offset(self):
"""kafka offset
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Offset
@Offset.setter
def Offset(self, Offset):
self._Offset = Offset
def _deserialize(self, params):
self._PartitionNo = params.get("PartitionNo")
self._Offset = params.get("Offset")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class OnlineDDL(AbstractModel):
"""OnlineDDL类型
"""
def __init__(self):
r"""
:param _Status: 状态
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
"""
self._Status = None
@property
def Status(self):
"""状态
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
def _deserialize(self, params):
self._Status = params.get("Status")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Options(AbstractModel):
"""数据同步中的选项
"""
def __init__(self):
r"""
:param _InitType: 同步初始化选项,Data(全量数据初始化)、Structure(结构初始化)、Full(全量数据且结构初始化,默认)、None(仅增量)
注意:此字段可能返回 null,表示取不到有效值。
:type InitType: str
:param _DealOfExistSameTable: 同名表的处理,ReportErrorAfterCheck(前置校验并报错,默认)、ExecuteAfterIgnore(忽略并继续执行)
注意:此字段可能返回 null,表示取不到有效值。
:type DealOfExistSameTable: str
:param _ConflictHandleType: 冲突处理选项,ReportError(报错,默认为该值)、Ignore(忽略)、Cover(覆盖)、ConditionCover(条件覆盖)
注意:此字段可能返回 null,表示取不到有效值。
:type ConflictHandleType: str
:param _AddAdditionalColumn: 是否添加附加列
注意:此字段可能返回 null,表示取不到有效值。
:type AddAdditionalColumn: bool
:param _OpTypes: 所要同步的DML和DDL的选项,Insert(插入操作)、Update(更新操作)、Delete(删除操作)、DDL(结构同步), PartialDDL(自定义,和DdlOptions一起配合使用)。注意,这里至少需要包含DML中的一种。
注意:此字段可能返回 null,表示取不到有效值。
:type OpTypes: list of str
:param _ConflictHandleOption: 冲突处理的详细选项,如条件覆盖中的条件行和条件操作
注意:此字段可能返回 null,表示取不到有效值。
:type ConflictHandleOption: :class:`tencentcloud.dts.v20211206.models.ConflictHandleOption`
:param _DdlOptions: DDL同步选项,具体描述要同步那些DDL
注意:此字段可能返回 null,表示取不到有效值。
:type DdlOptions: list of DdlOption
: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: int
:param _StartPosition: 同步到kafka链路指定位点。目前只支持时间格式:2023-12-20T19:24:23+08:00。如果没有指定位点,为空。
注意:此字段可能返回 null,表示取不到有效值。
:type StartPosition: str
:param _FilterBeginCommit: 同步到kafka链路是否过滤掉begin和commit消息。目前仅mysql2kafka链路支持
注意:此字段可能返回 null,表示取不到有效值。
:type FilterBeginCommit: bool
:param _FilterCheckpoint: 同步到kafka链路是否过滤掉checkpoint消息。目前仅mysql2kafka链路支持
注意:此字段可能返回 null,表示取不到有效值。
:type FilterCheckpoint: bool
"""
self._InitType = None
self._DealOfExistSameTable = None
self._ConflictHandleType = None
self._AddAdditionalColumn = None
self._OpTypes = None
self._ConflictHandleOption = None
self._DdlOptions = None
self._KafkaOption = None
self._RateLimitOption = None
self._AutoRetryTimeRangeMinutes = None
self._StartPosition = None
self._FilterBeginCommit = None
self._FilterCheckpoint = None
@property
def InitType(self):
"""同步初始化选项,Data(全量数据初始化)、Structure(结构初始化)、Full(全量数据且结构初始化,默认)、None(仅增量)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InitType
@InitType.setter
def InitType(self, InitType):
self._InitType = InitType
@property
def DealOfExistSameTable(self):
"""同名表的处理,ReportErrorAfterCheck(前置校验并报错,默认)、ExecuteAfterIgnore(忽略并继续执行)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DealOfExistSameTable
@DealOfExistSameTable.setter
def DealOfExistSameTable(self, DealOfExistSameTable):
self._DealOfExistSameTable = DealOfExistSameTable
@property
def ConflictHandleType(self):
"""冲突处理选项,ReportError(报错,默认为该值)、Ignore(忽略)、Cover(覆盖)、ConditionCover(条件覆盖)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ConflictHandleType
@ConflictHandleType.setter
def ConflictHandleType(self, ConflictHandleType):
self._ConflictHandleType = ConflictHandleType
@property
def AddAdditionalColumn(self):
"""是否添加附加列
注意:此字段可能返回 null,表示取不到有效值。
:rtype: bool
"""
return self._AddAdditionalColumn
@AddAdditionalColumn.setter
def AddAdditionalColumn(self, AddAdditionalColumn):
self._AddAdditionalColumn = AddAdditionalColumn
@property
def OpTypes(self):
"""所要同步的DML和DDL的选项,Insert(插入操作)、Update(更新操作)、Delete(删除操作)、DDL(结构同步), PartialDDL(自定义,和DdlOptions一起配合使用)。注意,这里至少需要包含DML中的一种。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._OpTypes
@OpTypes.setter
def OpTypes(self, OpTypes):
self._OpTypes = OpTypes
@property
def ConflictHandleOption(self):
"""冲突处理的详细选项,如条件覆盖中的条件行和条件操作
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.ConflictHandleOption`
"""
return self._ConflictHandleOption
@ConflictHandleOption.setter
def ConflictHandleOption(self, ConflictHandleOption):
self._ConflictHandleOption = ConflictHandleOption
@property
def DdlOptions(self):
"""DDL同步选项,具体描述要同步那些DDL
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of DdlOption
"""
return self._DdlOptions
@DdlOptions.setter
def DdlOptions(self, DdlOptions):
self._DdlOptions = DdlOptions
@property
def KafkaOption(self):
"""kafka同步选项
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.KafkaOption`
"""
return self._KafkaOption
@KafkaOption.setter
def KafkaOption(self, KafkaOption):
self._KafkaOption = KafkaOption
@property
def RateLimitOption(self):
"""任务限速信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.RateLimitOption`
"""
return self._RateLimitOption
@RateLimitOption.setter
def RateLimitOption(self, RateLimitOption):
self._RateLimitOption = RateLimitOption
@property
def AutoRetryTimeRangeMinutes(self):
"""自动重试的时间窗口设置
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._AutoRetryTimeRangeMinutes
@AutoRetryTimeRangeMinutes.setter
def AutoRetryTimeRangeMinutes(self, AutoRetryTimeRangeMinutes):
self._AutoRetryTimeRangeMinutes = AutoRetryTimeRangeMinutes
@property
def StartPosition(self):
"""同步到kafka链路指定位点。目前只支持时间格式:2023-12-20T19:24:23+08:00。如果没有指定位点,为空。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StartPosition
@StartPosition.setter
def StartPosition(self, StartPosition):
self._StartPosition = StartPosition
@property
def FilterBeginCommit(self):
"""同步到kafka链路是否过滤掉begin和commit消息。目前仅mysql2kafka链路支持
注意:此字段可能返回 null,表示取不到有效值。
:rtype: bool
"""
return self._FilterBeginCommit
@FilterBeginCommit.setter
def FilterBeginCommit(self, FilterBeginCommit):
self._FilterBeginCommit = FilterBeginCommit
@property
def FilterCheckpoint(self):
"""同步到kafka链路是否过滤掉checkpoint消息。目前仅mysql2kafka链路支持
注意:此字段可能返回 null,表示取不到有效值。
:rtype: bool
"""
return self._FilterCheckpoint
@FilterCheckpoint.setter
def FilterCheckpoint(self, FilterCheckpoint):
self._FilterCheckpoint = FilterCheckpoint
def _deserialize(self, params):
self._InitType = params.get("InitType")
self._DealOfExistSameTable = params.get("DealOfExistSameTable")
self._ConflictHandleType = params.get("ConflictHandleType")
self._AddAdditionalColumn = params.get("AddAdditionalColumn")
self._OpTypes = params.get("OpTypes")
if params.get("ConflictHandleOption") is not None:
self._ConflictHandleOption = ConflictHandleOption()
self._ConflictHandleOption._deserialize(params.get("ConflictHandleOption"))
if params.get("DdlOptions") is not None:
self._DdlOptions = []
for item in params.get("DdlOptions"):
obj = DdlOption()
obj._deserialize(item)
self._DdlOptions.append(obj)
if params.get("KafkaOption") is not None:
self._KafkaOption = KafkaOption()
self._KafkaOption._deserialize(params.get("KafkaOption"))
if params.get("RateLimitOption") is not None:
self._RateLimitOption = RateLimitOption()
self._RateLimitOption._deserialize(params.get("RateLimitOption"))
self._AutoRetryTimeRangeMinutes = params.get("AutoRetryTimeRangeMinutes")
self._StartPosition = params.get("StartPosition")
self._FilterBeginCommit = params.get("FilterBeginCommit")
self._FilterCheckpoint = params.get("FilterCheckpoint")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PartitionAssignment(AbstractModel):
"""数据订阅中kafka消费者组的分区分配情况。该数据是实时查询的,如果需要最新数据,需重新掉接口查询。
"""
def __init__(self):
r"""
:param _ClientId: 消费者的clientId
:type ClientId: str
:param _PartitionNo: 该消费者正在消费的分区
注意:此字段可能返回 null,表示取不到有效值。
:type PartitionNo: list of int non-negative
"""
self._ClientId = None
self._PartitionNo = None
@property
def ClientId(self):
"""消费者的clientId
:rtype: str
"""
return self._ClientId
@ClientId.setter
def ClientId(self, ClientId):
self._ClientId = ClientId
@property
def PartitionNo(self):
"""该消费者正在消费的分区
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of int non-negative
"""
return self._PartitionNo
@PartitionNo.setter
def PartitionNo(self, PartitionNo):
self._PartitionNo = PartitionNo
def _deserialize(self, params):
self._ClientId = params.get("ClientId")
self._PartitionNo = params.get("PartitionNo")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PauseMigrateJobRequest(AbstractModel):
"""PauseMigrateJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""数据迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PauseMigrateJobResponse(AbstractModel):
"""PauseMigrateJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class PauseSyncJobRequest(AbstractModel):
"""PauseSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class PauseSyncJobResponse(AbstractModel):
"""PauseSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class PipelineInfo(AbstractModel):
"""mongo输出聚合设置。输出默认 Change Event
"""
def __init__(self):
r"""
:param _AggOp: 聚合运算符:$addFields、$match、$project、$replaceRoot、$redact、$replaceWith、$set、$unset。其中 $replaceWith、$set、$unset 只有当订阅实例是4.2及以上版本可选。
注意:此字段可能返回 null,表示取不到有效值。
:type AggOp: str
:param _AggCmd: 聚合表达式。必须是json格式
注意:此字段可能返回 null,表示取不到有效值。
:type AggCmd: str
"""
self._AggOp = None
self._AggCmd = None
@property
def AggOp(self):
"""聚合运算符:$addFields、$match、$project、$replaceRoot、$redact、$replaceWith、$set、$unset。其中 $replaceWith、$set、$unset 只有当订阅实例是4.2及以上版本可选。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AggOp
@AggOp.setter
def AggOp(self, AggOp):
self._AggOp = AggOp
@property
def AggCmd(self):
"""聚合表达式。必须是json格式
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AggCmd
@AggCmd.setter
def AggCmd(self, AggCmd):
self._AggCmd = AggCmd
def _deserialize(self, params):
self._AggOp = params.get("AggOp")
self._AggCmd = params.get("AggCmd")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ProcessProgress(AbstractModel):
"""任务步骤信息
"""
def __init__(self):
r"""
:param _Status: 步骤的状态, 包括:notStarted(未开始)、running(运行中)、success(成功)、failed(失败)等
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
:param _Percent: 进度信息
注意:此字段可能返回 null,表示取不到有效值。
:type Percent: int
:param _StepAll: 总的步骤数
注意:此字段可能返回 null,表示取不到有效值。
:type StepAll: int
:param _StepNow: 当前进行的步骤
注意:此字段可能返回 null,表示取不到有效值。
:type StepNow: int
:param _Message: 当前步骤输出提示信息
注意:此字段可能返回 null,表示取不到有效值。
:type Message: str
:param _Steps: 步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:type Steps: list of StepDetailInfo
"""
self._Status = None
self._Percent = None
self._StepAll = None
self._StepNow = None
self._Message = None
self._Steps = None
@property
def Status(self):
"""步骤的状态, 包括:notStarted(未开始)、running(运行中)、success(成功)、failed(失败)等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Percent(self):
"""进度信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Percent
@Percent.setter
def Percent(self, Percent):
self._Percent = Percent
@property
def StepAll(self):
"""总的步骤数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepAll
@StepAll.setter
def StepAll(self, StepAll):
self._StepAll = StepAll
@property
def StepNow(self):
"""当前进行的步骤
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepNow
@StepNow.setter
def StepNow(self, StepNow):
self._StepNow = StepNow
@property
def Message(self):
"""当前步骤输出提示信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def Steps(self):
"""步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of StepDetailInfo
"""
return self._Steps
@Steps.setter
def Steps(self, Steps):
self._Steps = Steps
def _deserialize(self, params):
self._Status = params.get("Status")
self._Percent = params.get("Percent")
self._StepAll = params.get("StepAll")
self._StepNow = params.get("StepNow")
self._Message = params.get("Message")
if params.get("Steps") is not None:
self._Steps = []
for item in params.get("Steps"):
obj = StepDetailInfo()
obj._deserialize(item)
self._Steps.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ProcessStepTip(AbstractModel):
"""错误信息及告警信息对象
"""
def __init__(self):
r"""
:param _Message: 提示信息
注意:此字段可能返回 null,表示取不到有效值。
:type Message: str
:param _Solution: 解决方案
注意:此字段可能返回 null,表示取不到有效值。
:type Solution: str
:param _HelpDoc: 文档提示
注意:此字段可能返回 null,表示取不到有效值。
:type HelpDoc: str
"""
self._Message = None
self._Solution = None
self._HelpDoc = None
@property
def Message(self):
"""提示信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def Solution(self):
"""解决方案
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Solution
@Solution.setter
def Solution(self, Solution):
self._Solution = Solution
@property
def HelpDoc(self):
"""文档提示
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._HelpDoc
@HelpDoc.setter
def HelpDoc(self, HelpDoc):
self._HelpDoc = HelpDoc
def _deserialize(self, params):
self._Message = params.get("Message")
self._Solution = params.get("Solution")
self._HelpDoc = params.get("HelpDoc")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class RateLimitOption(AbstractModel):
"""迁移和同步任务限速的详细信息
"""
def __init__(self):
r"""
:param _CurrentDumpThread: 当前生效的全量导出线程数,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为16
注意:此字段可能返回 null,表示取不到有效值。
:type CurrentDumpThread: int
:param _DefaultDumpThread: 默认的全量导出线程数,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:type DefaultDumpThread: int
:param _CurrentDumpRps: 当前生效的全量导出Rps,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为50000000
注意:此字段可能返回 null,表示取不到有效值。
:type CurrentDumpRps: int
:param _DefaultDumpRps: 默认的全量导出Rps,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:type DefaultDumpRps: int
:param _CurrentLoadThread: 当前生效的全量导入线程数,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为16
注意:此字段可能返回 null,表示取不到有效值。
:type CurrentLoadThread: int
:param _DefaultLoadThread: 默认的全量导入线程数,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:type DefaultLoadThread: int
:param _CurrentLoadRps: 当前生效的全量导入Rps,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为50000000
注意:此字段可能返回 null,表示取不到有效值。
:type CurrentLoadRps: int
:param _DefaultLoadRps: 默认的全量导入Rps,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:type DefaultLoadRps: int
:param _CurrentSinkerThread: 当前生效的增量导入线程数,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为128
注意:此字段可能返回 null,表示取不到有效值。
:type CurrentSinkerThread: int
:param _DefaultSinkerThread: 默认的增量导入线程数,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:type DefaultSinkerThread: int
:param _HasUserSetRateLimit: enum:"no"/"yes"、no表示用户未设置过限速、yes表示设置过限速,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:type HasUserSetRateLimit: str
"""
self._CurrentDumpThread = None
self._DefaultDumpThread = None
self._CurrentDumpRps = None
self._DefaultDumpRps = None
self._CurrentLoadThread = None
self._DefaultLoadThread = None
self._CurrentLoadRps = None
self._DefaultLoadRps = None
self._CurrentSinkerThread = None
self._DefaultSinkerThread = None
self._HasUserSetRateLimit = None
@property
def CurrentDumpThread(self):
"""当前生效的全量导出线程数,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为16
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._CurrentDumpThread
@CurrentDumpThread.setter
def CurrentDumpThread(self, CurrentDumpThread):
self._CurrentDumpThread = CurrentDumpThread
@property
def DefaultDumpThread(self):
"""默认的全量导出线程数,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._DefaultDumpThread
@DefaultDumpThread.setter
def DefaultDumpThread(self, DefaultDumpThread):
self._DefaultDumpThread = DefaultDumpThread
@property
def CurrentDumpRps(self):
"""当前生效的全量导出Rps,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为50000000
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._CurrentDumpRps
@CurrentDumpRps.setter
def CurrentDumpRps(self, CurrentDumpRps):
self._CurrentDumpRps = CurrentDumpRps
@property
def DefaultDumpRps(self):
"""默认的全量导出Rps,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._DefaultDumpRps
@DefaultDumpRps.setter
def DefaultDumpRps(self, DefaultDumpRps):
self._DefaultDumpRps = DefaultDumpRps
@property
def CurrentLoadThread(self):
"""当前生效的全量导入线程数,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为16
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._CurrentLoadThread
@CurrentLoadThread.setter
def CurrentLoadThread(self, CurrentLoadThread):
self._CurrentLoadThread = CurrentLoadThread
@property
def DefaultLoadThread(self):
"""默认的全量导入线程数,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._DefaultLoadThread
@DefaultLoadThread.setter
def DefaultLoadThread(self, DefaultLoadThread):
self._DefaultLoadThread = DefaultLoadThread
@property
def CurrentLoadRps(self):
"""当前生效的全量导入Rps,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为50000000
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._CurrentLoadRps
@CurrentLoadRps.setter
def CurrentLoadRps(self, CurrentLoadRps):
self._CurrentLoadRps = CurrentLoadRps
@property
def DefaultLoadRps(self):
"""默认的全量导入Rps,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._DefaultLoadRps
@DefaultLoadRps.setter
def DefaultLoadRps(self, DefaultLoadRps):
self._DefaultLoadRps = DefaultLoadRps
@property
def CurrentSinkerThread(self):
"""当前生效的增量导入线程数,配置任务时可调整该字段值,注意:如果不设置或设置为0则表示保持当前值,最大值为128
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._CurrentSinkerThread
@CurrentSinkerThread.setter
def CurrentSinkerThread(self, CurrentSinkerThread):
self._CurrentSinkerThread = CurrentSinkerThread
@property
def DefaultSinkerThread(self):
"""默认的增量导入线程数,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._DefaultSinkerThread
@DefaultSinkerThread.setter
def DefaultSinkerThread(self, DefaultSinkerThread):
self._DefaultSinkerThread = DefaultSinkerThread
@property
def HasUserSetRateLimit(self):
"""enum:"no"/"yes"、no表示用户未设置过限速、yes表示设置过限速,该字段仅在出参有意义
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._HasUserSetRateLimit
@HasUserSetRateLimit.setter
def HasUserSetRateLimit(self, HasUserSetRateLimit):
self._HasUserSetRateLimit = HasUserSetRateLimit
def _deserialize(self, params):
self._CurrentDumpThread = params.get("CurrentDumpThread")
self._DefaultDumpThread = params.get("DefaultDumpThread")
self._CurrentDumpRps = params.get("CurrentDumpRps")
self._DefaultDumpRps = params.get("DefaultDumpRps")
self._CurrentLoadThread = params.get("CurrentLoadThread")
self._DefaultLoadThread = params.get("DefaultLoadThread")
self._CurrentLoadRps = params.get("CurrentLoadRps")
self._DefaultLoadRps = params.get("DefaultLoadRps")
self._CurrentSinkerThread = params.get("CurrentSinkerThread")
self._DefaultSinkerThread = params.get("DefaultSinkerThread")
self._HasUserSetRateLimit = params.get("HasUserSetRateLimit")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class RecoverMigrateJobRequest(AbstractModel):
"""RecoverMigrateJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class RecoverMigrateJobResponse(AbstractModel):
"""RecoverMigrateJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class RecoverSyncJobRequest(AbstractModel):
"""RecoverSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步实例id(即标识一个同步作业),形如sync-werwfs23
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步实例id(即标识一个同步作业),形如sync-werwfs23
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class RecoverSyncJobResponse(AbstractModel):
"""RecoverSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ResetConsumerGroupOffsetRequest(AbstractModel):
"""ResetConsumerGroupOffset请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 订阅实例id
:type SubscribeId: str
:param _TopicName: 订阅的kafka topic
:type TopicName: str
:param _ConsumerGroupName: 消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
:type ConsumerGroupName: str
:param _PartitionNos: 需要修改offset的分区编号
:type PartitionNos: list of int
:param _ResetMode: 重置方式。枚举值为 earliest-从最开始位置开始消费;latest-从最新位置开始消费;datetime-从指定时间前最近的checkpoint开始消费
:type ResetMode: str
:param _ResetDatetime: 当 ResetMode 为 datetime 时,该项需要填,格式为:Y-m-d h:m:s。如果不填,默认用0时间,效果与earliest相同。
:type ResetDatetime: str
"""
self._SubscribeId = None
self._TopicName = None
self._ConsumerGroupName = None
self._PartitionNos = None
self._ResetMode = None
self._ResetDatetime = None
@property
def SubscribeId(self):
"""订阅实例id
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def TopicName(self):
"""订阅的kafka topic
:rtype: str
"""
return self._TopicName
@TopicName.setter
def TopicName(self, TopicName):
self._TopicName = TopicName
@property
def ConsumerGroupName(self):
"""消费组名称。实际的消费组全称形如:consumer-grp-#{SubscribeId}-#{ConsumerGroupName}
:rtype: str
"""
return self._ConsumerGroupName
@ConsumerGroupName.setter
def ConsumerGroupName(self, ConsumerGroupName):
self._ConsumerGroupName = ConsumerGroupName
@property
def PartitionNos(self):
"""需要修改offset的分区编号
:rtype: list of int
"""
return self._PartitionNos
@PartitionNos.setter
def PartitionNos(self, PartitionNos):
self._PartitionNos = PartitionNos
@property
def ResetMode(self):
"""重置方式。枚举值为 earliest-从最开始位置开始消费;latest-从最新位置开始消费;datetime-从指定时间前最近的checkpoint开始消费
:rtype: str
"""
return self._ResetMode
@ResetMode.setter
def ResetMode(self, ResetMode):
self._ResetMode = ResetMode
@property
def ResetDatetime(self):
"""当 ResetMode 为 datetime 时,该项需要填,格式为:Y-m-d h:m:s。如果不填,默认用0时间,效果与earliest相同。
:rtype: str
"""
return self._ResetDatetime
@ResetDatetime.setter
def ResetDatetime(self, ResetDatetime):
self._ResetDatetime = ResetDatetime
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._TopicName = params.get("TopicName")
self._ConsumerGroupName = params.get("ConsumerGroupName")
self._PartitionNos = params.get("PartitionNos")
self._ResetMode = params.get("ResetMode")
self._ResetDatetime = params.get("ResetDatetime")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ResetConsumerGroupOffsetResponse(AbstractModel):
"""ResetConsumerGroupOffset返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ResetSubscribeRequest(AbstractModel):
"""ResetSubscribe请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的ID
:type SubscribeId: str
"""
self._SubscribeId = None
@property
def SubscribeId(self):
"""数据订阅实例的ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ResetSubscribeResponse(AbstractModel):
"""ResetSubscribe返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ResizeSyncJobRequest(AbstractModel):
"""ResizeSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
:param _NewInstanceClass: 任务规格
:type NewInstanceClass: str
"""
self._JobId = None
self._NewInstanceClass = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def NewInstanceClass(self):
"""任务规格
:rtype: str
"""
return self._NewInstanceClass
@NewInstanceClass.setter
def NewInstanceClass(self, NewInstanceClass):
self._NewInstanceClass = NewInstanceClass
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._NewInstanceClass = params.get("NewInstanceClass")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ResizeSyncJobResponse(AbstractModel):
"""ResizeSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ResumeMigrateJobRequest(AbstractModel):
"""ResumeMigrateJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
:type JobId: str
:param _ResumeOption: 恢复任务的模式,目前的取值有:clearData 清空目标实例数据,overwrite 以覆盖写的方式执行任务,normal 跟正常流程一样,不做额外动作;注意,clearData、overwrite仅对redis生效,normal仅针对非redis链路生效
:type ResumeOption: str
"""
self._JobId = None
self._ResumeOption = None
@property
def JobId(self):
"""数据迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def ResumeOption(self):
"""恢复任务的模式,目前的取值有:clearData 清空目标实例数据,overwrite 以覆盖写的方式执行任务,normal 跟正常流程一样,不做额外动作;注意,clearData、overwrite仅对redis生效,normal仅针对非redis链路生效
:rtype: str
"""
return self._ResumeOption
@ResumeOption.setter
def ResumeOption(self, ResumeOption):
self._ResumeOption = ResumeOption
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._ResumeOption = params.get("ResumeOption")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ResumeMigrateJobResponse(AbstractModel):
"""ResumeMigrateJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ResumeSubscribeRequest(AbstractModel):
"""ResumeSubscribe请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的 ID
:type SubscribeId: str
"""
self._SubscribeId = None
@property
def SubscribeId(self):
"""数据订阅实例的 ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ResumeSubscribeResponse(AbstractModel):
"""ResumeSubscribe返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class ResumeSyncJobRequest(AbstractModel):
"""ResumeSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ResumeSyncJobResponse(AbstractModel):
"""ResumeSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class RoleItem(AbstractModel):
"""角色对象,postgresql独有参数
"""
def __init__(self):
r"""
:param _RoleName: 角色名称
注意:此字段可能返回 null,表示取不到有效值。
:type RoleName: str
:param _NewRoleName: 迁移后的角色名称
注意:此字段可能返回 null,表示取不到有效值。
:type NewRoleName: str
"""
self._RoleName = None
self._NewRoleName = None
@property
def RoleName(self):
"""角色名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._RoleName
@RoleName.setter
def RoleName(self, RoleName):
self._RoleName = RoleName
@property
def NewRoleName(self):
"""迁移后的角色名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewRoleName
@NewRoleName.setter
def NewRoleName(self, NewRoleName):
self._NewRoleName = NewRoleName
def _deserialize(self, params):
self._RoleName = params.get("RoleName")
self._NewRoleName = params.get("NewRoleName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class RowsCountDifference(AbstractModel):
"""mongodb行校验不一致详细信息
"""
def __init__(self):
r"""
:param _Db: 数据库名
注意:此字段可能返回 null,表示取不到有效值。
:type Db: str
:param _Table: 集合
注意:此字段可能返回 null,表示取不到有效值。
:type Table: str
:param _SrcCount: 源端行数
注意:此字段可能返回 null,表示取不到有效值。
:type SrcCount: int
:param _DstCount: 目标端行数
注意:此字段可能返回 null,表示取不到有效值。
:type DstCount: int
"""
self._Db = None
self._Table = None
self._SrcCount = None
self._DstCount = None
@property
def Db(self):
"""数据库名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Db
@Db.setter
def Db(self, Db):
self._Db = Db
@property
def Table(self):
"""集合
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Table
@Table.setter
def Table(self, Table):
self._Table = Table
@property
def SrcCount(self):
"""源端行数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._SrcCount
@SrcCount.setter
def SrcCount(self, SrcCount):
self._SrcCount = SrcCount
@property
def DstCount(self):
"""目标端行数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._DstCount
@DstCount.setter
def DstCount(self, DstCount):
self._DstCount = DstCount
def _deserialize(self, params):
self._Db = params.get("Db")
self._Table = params.get("Table")
self._SrcCount = params.get("SrcCount")
self._DstCount = params.get("DstCount")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SkipCheckItemRequest(AbstractModel):
"""SkipCheckItem请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
:type JobId: str
:param _StepIds: 需要跳过校验项的步骤id,需要通过DescribeMigrationCheckJob接口返回StepInfo[i].StepId字段获取,例如:["OptimizeCheck"]
:type StepIds: list of str
:param _ForeignKeyFlag: 当出现外键依赖检查导致校验不通过时、可以通过该字段选择是否迁移外键依赖,当StepIds包含ConstraintCheck且该字段值为shield时表示不迁移外键依赖、当StepIds包含ConstraintCheck且值为migrate时表示迁移外键依赖
:type ForeignKeyFlag: str
"""
self._JobId = None
self._StepIds = None
self._ForeignKeyFlag = None
@property
def JobId(self):
"""数据迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def StepIds(self):
"""需要跳过校验项的步骤id,需要通过DescribeMigrationCheckJob接口返回StepInfo[i].StepId字段获取,例如:["OptimizeCheck"]
:rtype: list of str
"""
return self._StepIds
@StepIds.setter
def StepIds(self, StepIds):
self._StepIds = StepIds
@property
def ForeignKeyFlag(self):
"""当出现外键依赖检查导致校验不通过时、可以通过该字段选择是否迁移外键依赖,当StepIds包含ConstraintCheck且该字段值为shield时表示不迁移外键依赖、当StepIds包含ConstraintCheck且值为migrate时表示迁移外键依赖
:rtype: str
"""
return self._ForeignKeyFlag
@ForeignKeyFlag.setter
def ForeignKeyFlag(self, ForeignKeyFlag):
self._ForeignKeyFlag = ForeignKeyFlag
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._StepIds = params.get("StepIds")
self._ForeignKeyFlag = params.get("ForeignKeyFlag")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SkipCheckItemResponse(AbstractModel):
"""SkipCheckItem返回参数结构体
"""
def __init__(self):
r"""
:param _Message: 跳过的提示信息
注意:此字段可能返回 null,表示取不到有效值。
:type Message: str
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._Message = None
self._RequestId = None
@property
def Message(self):
"""跳过的提示信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._Message = params.get("Message")
self._RequestId = params.get("RequestId")
class SkipSyncCheckItemRequest(AbstractModel):
"""SkipSyncCheckItem请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 任务id,如:sync-4ddgid2
:type JobId: str
:param _StepIds: 需要跳过校验项的步骤id,需要通过`DescribeCheckSyncJobResult`接口返回StepInfos[i].StepId字段获取,例如:["OptimizeCheck"]
:type StepIds: list of str
"""
self._JobId = None
self._StepIds = None
@property
def JobId(self):
"""任务id,如:sync-4ddgid2
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def StepIds(self):
"""需要跳过校验项的步骤id,需要通过`DescribeCheckSyncJobResult`接口返回StepInfos[i].StepId字段获取,例如:["OptimizeCheck"]
:rtype: list of str
"""
return self._StepIds
@StepIds.setter
def StepIds(self, StepIds):
self._StepIds = StepIds
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._StepIds = params.get("StepIds")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SkipSyncCheckItemResponse(AbstractModel):
"""SkipSyncCheckItem返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class SkippedDetail(AbstractModel):
"""跳过校验的表详情
"""
def __init__(self):
r"""
:param _TotalCount: 跳过的表数量
注意:此字段可能返回 null,表示取不到有效值。
:type TotalCount: int
:param _Items: 跳过校验的表详情
注意:此字段可能返回 null,表示取不到有效值。
:type Items: list of SkippedItem
"""
self._TotalCount = None
self._Items = None
@property
def TotalCount(self):
"""跳过的表数量
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._TotalCount
@TotalCount.setter
def TotalCount(self, TotalCount):
self._TotalCount = TotalCount
@property
def Items(self):
"""跳过校验的表详情
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of SkippedItem
"""
return self._Items
@Items.setter
def Items(self, Items):
self._Items = Items
def _deserialize(self, params):
self._TotalCount = params.get("TotalCount")
if params.get("Items") is not None:
self._Items = []
for item in params.get("Items"):
obj = SkippedItem()
obj._deserialize(item)
self._Items.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SkippedItem(AbstractModel):
"""跳过校验的表详情
"""
def __init__(self):
r"""
:param _Db: 数据库名
注意:此字段可能返回 null,表示取不到有效值。
:type Db: str
:param _Table: 表名
注意:此字段可能返回 null,表示取不到有效值。
:type Table: str
:param _Reason: 未发起检查的原因
注意:此字段可能返回 null,表示取不到有效值。
:type Reason: str
"""
self._Db = None
self._Table = None
self._Reason = None
@property
def Db(self):
"""数据库名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Db
@Db.setter
def Db(self, Db):
self._Db = Db
@property
def Table(self):
"""表名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Table
@Table.setter
def Table(self, Table):
self._Table = Table
@property
def Reason(self):
"""未发起检查的原因
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Reason
@Reason.setter
def Reason(self, Reason):
self._Reason = Reason
def _deserialize(self, params):
self._Db = params.get("Db")
self._Table = params.get("Table")
self._Reason = params.get("Reason")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StartCompareRequest(AbstractModel):
"""StartCompare请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务 Id
:type JobId: str
:param _CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:type CompareTaskId: str
"""
self._JobId = None
self._CompareTaskId = None
@property
def JobId(self):
"""迁移任务 Id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def CompareTaskId(self):
"""对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._CompareTaskId = params.get("CompareTaskId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StartCompareResponse(AbstractModel):
"""StartCompare返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StartMigrateJobRequest(AbstractModel):
"""StartMigrateJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""数据迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StartMigrateJobResponse(AbstractModel):
"""StartMigrateJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StartModifySyncJobRequest(AbstractModel):
"""StartModifySyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StartModifySyncJobResponse(AbstractModel):
"""StartModifySyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StartSubscribeRequest(AbstractModel):
"""StartSubscribe请求参数结构体
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅实例的 ID
:type SubscribeId: str
"""
self._SubscribeId = None
@property
def SubscribeId(self):
"""数据订阅实例的 ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StartSubscribeResponse(AbstractModel):
"""StartSubscribe返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StartSyncJobRequest(AbstractModel):
"""StartSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StartSyncJobResponse(AbstractModel):
"""StartSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StepDetailInfo(AbstractModel):
"""步骤信息
"""
def __init__(self):
r"""
:param _StepNo: 步骤序列
注意:此字段可能返回 null,表示取不到有效值。
:type StepNo: int
:param _StepName: 步骤展现名称
注意:此字段可能返回 null,表示取不到有效值。
:type StepName: str
:param _StepId: 步骤英文标识
注意:此字段可能返回 null,表示取不到有效值。
:type StepId: str
:param _Status: 步骤状态:success(成功)、failed(失败)、running(执行中)、notStarted(未执行)、默认为notStarted
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
:param _StartTime: 当前步骤开始的时间,格式为"yyyy-mm-dd hh:mm:ss",该字段不存在或者为空是无意义 注意:此字段可能返回 null,表示取不到有效值。
注意:此字段可能返回 null,表示取不到有效值。
:type StartTime: str
:param _StepMessage: 步骤错误信息
注意:此字段可能返回 null,表示取不到有效值。
:type StepMessage: str
:param _Percent: 执行进度
注意:此字段可能返回 null,表示取不到有效值。
:type Percent: int
:param _Errors: 错误信息
注意:此字段可能返回 null,表示取不到有效值。
:type Errors: list of ProcessStepTip
:param _Warnings: 告警提示
注意:此字段可能返回 null,表示取不到有效值。
:type Warnings: list of ProcessStepTip
"""
self._StepNo = None
self._StepName = None
self._StepId = None
self._Status = None
self._StartTime = None
self._StepMessage = None
self._Percent = None
self._Errors = None
self._Warnings = None
@property
def StepNo(self):
"""步骤序列
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepNo
@StepNo.setter
def StepNo(self, StepNo):
self._StepNo = StepNo
@property
def StepName(self):
"""步骤展现名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepName
@StepName.setter
def StepName(self, StepName):
self._StepName = StepName
@property
def StepId(self):
"""步骤英文标识
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepId
@StepId.setter
def StepId(self, StepId):
self._StepId = StepId
@property
def Status(self):
"""步骤状态:success(成功)、failed(失败)、running(执行中)、notStarted(未执行)、默认为notStarted
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def StartTime(self):
"""当前步骤开始的时间,格式为"yyyy-mm-dd hh:mm:ss",该字段不存在或者为空是无意义 注意:此字段可能返回 null,表示取不到有效值。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def StepMessage(self):
"""步骤错误信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepMessage
@StepMessage.setter
def StepMessage(self, StepMessage):
self._StepMessage = StepMessage
@property
def Percent(self):
"""执行进度
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Percent
@Percent.setter
def Percent(self, Percent):
self._Percent = Percent
@property
def Errors(self):
"""错误信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of ProcessStepTip
"""
return self._Errors
@Errors.setter
def Errors(self, Errors):
self._Errors = Errors
@property
def Warnings(self):
"""告警提示
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of ProcessStepTip
"""
return self._Warnings
@Warnings.setter
def Warnings(self, Warnings):
self._Warnings = Warnings
def _deserialize(self, params):
self._StepNo = params.get("StepNo")
self._StepName = params.get("StepName")
self._StepId = params.get("StepId")
self._Status = params.get("Status")
self._StartTime = params.get("StartTime")
self._StepMessage = params.get("StepMessage")
self._Percent = params.get("Percent")
if params.get("Errors") is not None:
self._Errors = []
for item in params.get("Errors"):
obj = ProcessStepTip()
obj._deserialize(item)
self._Errors.append(obj)
if params.get("Warnings") is not None:
self._Warnings = []
for item in params.get("Warnings"):
obj = ProcessStepTip()
obj._deserialize(item)
self._Warnings.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StepInfo(AbstractModel):
"""单个步骤的详细信息
"""
def __init__(self):
r"""
:param _StepNo: 步骤编号
注意:此字段可能返回 null,表示取不到有效值。
:type StepNo: int
:param _StepName: 步骤名
注意:此字段可能返回 null,表示取不到有效值。
:type StepName: str
:param _StepId: 步骤标号
注意:此字段可能返回 null,表示取不到有效值。
:type StepId: str
:param _Status: 当前步骤状态,可能返回有 notStarted(未开始)、running(校验中)、failed(校验任务失败)、finished(完成)、skipped(跳过)、paused(暂停)
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
:param _StartTime: 步骤开始时间,可能为空
注意:此字段可能返回 null,表示取不到有效值。
:type StartTime: str
:param _Errors: 错误信息
注意:此字段可能返回 null,表示取不到有效值。
:type Errors: list of StepTip
:param _Warnings: 警告信息
注意:此字段可能返回 null,表示取不到有效值。
:type Warnings: list of StepTip
:param _Progress: 当前步骤进度,范围为[0-100],若为-1表示当前步骤不支持查看进度
注意:此字段可能返回 null,表示取不到有效值。
:type Progress: int
"""
self._StepNo = None
self._StepName = None
self._StepId = None
self._Status = None
self._StartTime = None
self._Errors = None
self._Warnings = None
self._Progress = None
@property
def StepNo(self):
"""步骤编号
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepNo
@StepNo.setter
def StepNo(self, StepNo):
self._StepNo = StepNo
@property
def StepName(self):
"""步骤名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepName
@StepName.setter
def StepName(self, StepName):
self._StepName = StepName
@property
def StepId(self):
"""步骤标号
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepId
@StepId.setter
def StepId(self, StepId):
self._StepId = StepId
@property
def Status(self):
"""当前步骤状态,可能返回有 notStarted(未开始)、running(校验中)、failed(校验任务失败)、finished(完成)、skipped(跳过)、paused(暂停)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def StartTime(self):
"""步骤开始时间,可能为空
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def Errors(self):
"""错误信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of StepTip
"""
return self._Errors
@Errors.setter
def Errors(self, Errors):
self._Errors = Errors
@property
def Warnings(self):
"""警告信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of StepTip
"""
return self._Warnings
@Warnings.setter
def Warnings(self, Warnings):
self._Warnings = Warnings
@property
def Progress(self):
"""当前步骤进度,范围为[0-100],若为-1表示当前步骤不支持查看进度
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Progress
@Progress.setter
def Progress(self, Progress):
self._Progress = Progress
def _deserialize(self, params):
self._StepNo = params.get("StepNo")
self._StepName = params.get("StepName")
self._StepId = params.get("StepId")
self._Status = params.get("Status")
self._StartTime = params.get("StartTime")
if params.get("Errors") is not None:
self._Errors = []
for item in params.get("Errors"):
obj = StepTip()
obj._deserialize(item)
self._Errors.append(obj)
if params.get("Warnings") is not None:
self._Warnings = []
for item in params.get("Warnings"):
obj = StepTip()
obj._deserialize(item)
self._Warnings.append(obj)
self._Progress = params.get("Progress")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StepTip(AbstractModel):
"""当前步骤错误信息或者警告信息
"""
def __init__(self):
r"""
:param _Code: 错误码
注意:此字段可能返回 null,表示取不到有效值。
:type Code: str
:param _Message: 错误信息
注意:此字段可能返回 null,表示取不到有效值。
:type Message: str
:param _Solution: 解决方式
注意:此字段可能返回 null,表示取不到有效值。
:type Solution: str
:param _HelpDoc: 帮助文档
注意:此字段可能返回 null,表示取不到有效值。
:type HelpDoc: str
:param _SkipInfo: 当前步骤跳过信息
注意:此字段可能返回 null,表示取不到有效值。
:type SkipInfo: str
"""
self._Code = None
self._Message = None
self._Solution = None
self._HelpDoc = None
self._SkipInfo = None
@property
def Code(self):
"""错误码
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Code
@Code.setter
def Code(self, Code):
self._Code = Code
@property
def Message(self):
"""错误信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def Solution(self):
"""解决方式
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Solution
@Solution.setter
def Solution(self, Solution):
self._Solution = Solution
@property
def HelpDoc(self):
"""帮助文档
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._HelpDoc
@HelpDoc.setter
def HelpDoc(self, HelpDoc):
self._HelpDoc = HelpDoc
@property
def SkipInfo(self):
"""当前步骤跳过信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SkipInfo
@SkipInfo.setter
def SkipInfo(self, SkipInfo):
self._SkipInfo = SkipInfo
def _deserialize(self, params):
self._Code = params.get("Code")
self._Message = params.get("Message")
self._Solution = params.get("Solution")
self._HelpDoc = params.get("HelpDoc")
self._SkipInfo = params.get("SkipInfo")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StopCompareRequest(AbstractModel):
"""StopCompare请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 迁移任务 Id
:type JobId: str
:param _CompareTaskId: 对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:type CompareTaskId: str
:param _ForceStop: 是否强制停止。如果填true,同步任务增量阶段会跳过一致性校验产生的binlog,达到快速恢复任务的效果
:type ForceStop: bool
"""
self._JobId = None
self._CompareTaskId = None
self._ForceStop = None
@property
def JobId(self):
"""迁移任务 Id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def CompareTaskId(self):
"""对比任务 ID,形如:dts-8yv4w2i1-cmp-37skmii9
:rtype: str
"""
return self._CompareTaskId
@CompareTaskId.setter
def CompareTaskId(self, CompareTaskId):
self._CompareTaskId = CompareTaskId
@property
def ForceStop(self):
"""是否强制停止。如果填true,同步任务增量阶段会跳过一致性校验产生的binlog,达到快速恢复任务的效果
:rtype: bool
"""
return self._ForceStop
@ForceStop.setter
def ForceStop(self, ForceStop):
self._ForceStop = ForceStop
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._CompareTaskId = params.get("CompareTaskId")
self._ForceStop = params.get("ForceStop")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StopCompareResponse(AbstractModel):
"""StopCompare返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StopMigrateJobRequest(AbstractModel):
"""StopMigrateJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 数据迁移任务ID
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""数据迁移任务ID
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StopMigrateJobResponse(AbstractModel):
"""StopMigrateJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class StopSyncJobRequest(AbstractModel):
"""StopSyncJob请求参数结构体
"""
def __init__(self):
r"""
:param _JobId: 同步任务id
:type JobId: str
"""
self._JobId = None
@property
def JobId(self):
"""同步任务id
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
def _deserialize(self, params):
self._JobId = params.get("JobId")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class StopSyncJobResponse(AbstractModel):
"""StopSyncJob返回参数结构体
"""
def __init__(self):
r"""
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:type RequestId: str
"""
self._RequestId = None
@property
def RequestId(self):
"""唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
:rtype: str
"""
return self._RequestId
@RequestId.setter
def RequestId(self, RequestId):
self._RequestId = RequestId
def _deserialize(self, params):
self._RequestId = params.get("RequestId")
class SubsErr(AbstractModel):
"""订阅报错信息
"""
def __init__(self):
r"""
:param _Message: 报错信息
:type Message: str
:param _Reason: 报错原因
:type Reason: str
:param _Solution: 建议的修复方案
:type Solution: str
"""
self._Message = None
self._Reason = None
self._Solution = None
@property
def Message(self):
"""报错信息
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def Reason(self):
"""报错原因
:rtype: str
"""
return self._Reason
@Reason.setter
def Reason(self, Reason):
self._Reason = Reason
@property
def Solution(self):
"""建议的修复方案
:rtype: str
"""
return self._Solution
@Solution.setter
def Solution(self, Solution):
self._Solution = Solution
def _deserialize(self, params):
self._Message = params.get("Message")
self._Reason = params.get("Reason")
self._Solution = params.get("Solution")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SubscribeCheckStepInfo(AbstractModel):
"""订阅校验任务的各步骤信息。
"""
def __init__(self):
r"""
:param _StepName: 步骤名称
注意:此字段可能返回 null,表示取不到有效值。
:type StepName: str
:param _StepId: 步骤Id
注意:此字段可能返回 null,表示取不到有效值。
:type StepId: str
:param _StepNo: 步骤编号,从 1 开始
注意:此字段可能返回 null,表示取不到有效值。
:type StepNo: int
:param _Status: 当前步骤状态,可能值为 notStarted,running,finished,failed
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
:param _Percent: 当前步骤进度
注意:此字段可能返回 null,表示取不到有效值。
:type Percent: int
:param _Errors: 错误提示
注意:此字段可能返回 null,表示取不到有效值。
:type Errors: list of SubscribeCheckStepTip
:param _Warnings: 告警提示
注意:此字段可能返回 null,表示取不到有效值。
:type Warnings: list of SubscribeCheckStepTip
"""
self._StepName = None
self._StepId = None
self._StepNo = None
self._Status = None
self._Percent = None
self._Errors = None
self._Warnings = None
@property
def StepName(self):
"""步骤名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepName
@StepName.setter
def StepName(self, StepName):
self._StepName = StepName
@property
def StepId(self):
"""步骤Id
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StepId
@StepId.setter
def StepId(self, StepId):
self._StepId = StepId
@property
def StepNo(self):
"""步骤编号,从 1 开始
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepNo
@StepNo.setter
def StepNo(self, StepNo):
self._StepNo = StepNo
@property
def Status(self):
"""当前步骤状态,可能值为 notStarted,running,finished,failed
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def Percent(self):
"""当前步骤进度
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Percent
@Percent.setter
def Percent(self, Percent):
self._Percent = Percent
@property
def Errors(self):
"""错误提示
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of SubscribeCheckStepTip
"""
return self._Errors
@Errors.setter
def Errors(self, Errors):
self._Errors = Errors
@property
def Warnings(self):
"""告警提示
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of SubscribeCheckStepTip
"""
return self._Warnings
@Warnings.setter
def Warnings(self, Warnings):
self._Warnings = Warnings
def _deserialize(self, params):
self._StepName = params.get("StepName")
self._StepId = params.get("StepId")
self._StepNo = params.get("StepNo")
self._Status = params.get("Status")
self._Percent = params.get("Percent")
if params.get("Errors") is not None:
self._Errors = []
for item in params.get("Errors"):
obj = SubscribeCheckStepTip()
obj._deserialize(item)
self._Errors.append(obj)
if params.get("Warnings") is not None:
self._Warnings = []
for item in params.get("Warnings"):
obj = SubscribeCheckStepTip()
obj._deserialize(item)
self._Warnings.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SubscribeCheckStepTip(AbstractModel):
"""订阅校验任务的提示信息
"""
def __init__(self):
r"""
:param _Message: 错误或告警的详细信息
注意:此字段可能返回 null,表示取不到有效值。
:type Message: str
:param _HelpDoc: 帮助文档
注意:此字段可能返回 null,表示取不到有效值。
:type HelpDoc: str
"""
self._Message = None
self._HelpDoc = None
@property
def Message(self):
"""错误或告警的详细信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def HelpDoc(self):
"""帮助文档
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._HelpDoc
@HelpDoc.setter
def HelpDoc(self, HelpDoc):
self._HelpDoc = HelpDoc
def _deserialize(self, params):
self._Message = params.get("Message")
self._HelpDoc = params.get("HelpDoc")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SubscribeInfo(AbstractModel):
"""订阅实例信息
"""
def __init__(self):
r"""
:param _SubscribeId: 数据订阅的实例ID
:type SubscribeId: str
:param _SubscribeName: 数据订阅实例的名称
:type SubscribeName: str
:param _Topic: 订阅实例发送数据的kafka topic
注意:此字段可能返回 null,表示取不到有效值。
:type Topic: str
:param _Product: 订阅实例的类型,目前支持 cynosdbmysql,mariadb,mongodb,mysql,percona,tdpg,tdsqlpercona(tdsqlmysql)
:type Product: str
:param _InstanceId: 订阅的数据库实例ID(如果订阅的是云数据库)如果实例不是腾讯云上的,此值为空。
注意:此字段可能返回 null,表示取不到有效值。
:type InstanceId: str
:param _InstanceStatus: 云数据库状态:running 运行中,isolated 已隔离,offline 已下线。如果不是云上,此值为空
注意:此字段可能返回 null,表示取不到有效值。
:type InstanceStatus: str
:param _Status: 数据订阅生命周期状态,可能的值为:正常 normal, 隔离中 isolating, 已隔离 isolated, 下线中 offlining, 按量转包年包月中 post2PrePayIng
:type Status: str
:param _SubsStatus: 数据订阅状态,可能的值为:未启动 notStarted, 校验中 checking, 校验不通过 checkNotPass, 校验通过 checkPass, 启动中 starting, 运行中 running, 异常出错 error
:type SubsStatus: str
:param _ModifyTime: 上次修改时间,时间格式如:Y-m-d h:m:s
注意:此字段可能返回 null,表示取不到有效值。
:type ModifyTime: str
:param _CreateTime: 创建时间,时间格式如:Y-m-d h:m:s
注意:此字段可能返回 null,表示取不到有效值。
:type CreateTime: str
:param _IsolateTime: 隔离时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:type IsolateTime: str
:param _ExpireTime: 包年包月任务的到期时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:type ExpireTime: str
:param _OfflineTime: 下线时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:type OfflineTime: str
:param _PayType: 计费方式,0 - 包年包月,1 - 按量计费
:type PayType: int
:param _AutoRenewFlag: 自动续费标识。只有当 PayType=0,该值才有意义。枚举值:0-不自动续费,1-自动续费
:type AutoRenewFlag: int
:param _Region: 数据订阅实例所属地域
:type Region: str
:param _AccessType: 接入方式。枚举值:extranet(公网) vpncloud(vpn接入) dcg(专线接入) ccn(云联网) cdb(云数据库) cvm(云主机自建) intranet(自研上云) vpc(私有网络vpc)
注意:此字段可能返回 null,表示取不到有效值。
:type AccessType: str
:param _Endpoints: 数据库节点信息
注意:此字段可能返回 null,表示取不到有效值。
:type Endpoints: list of EndpointItem
:param _SubscribeVersion: 数据订阅版本, 当前只支持 kafka 版本。
注意:此字段可能返回 null,表示取不到有效值。
:type SubscribeVersion: str
:param _Tags: 标签
注意:此字段可能返回 null,表示取不到有效值。
:type Tags: list of TagItem
:param _Errors: 任务报错信息,如果有的话。
注意:此字段可能返回 null,表示取不到有效值。
:type Errors: list of SubsErr
"""
self._SubscribeId = None
self._SubscribeName = None
self._Topic = None
self._Product = None
self._InstanceId = None
self._InstanceStatus = None
self._Status = None
self._SubsStatus = None
self._ModifyTime = None
self._CreateTime = None
self._IsolateTime = None
self._ExpireTime = None
self._OfflineTime = None
self._PayType = None
self._AutoRenewFlag = None
self._Region = None
self._AccessType = None
self._Endpoints = None
self._SubscribeVersion = None
self._Tags = None
self._Errors = None
@property
def SubscribeId(self):
"""数据订阅的实例ID
:rtype: str
"""
return self._SubscribeId
@SubscribeId.setter
def SubscribeId(self, SubscribeId):
self._SubscribeId = SubscribeId
@property
def SubscribeName(self):
"""数据订阅实例的名称
:rtype: str
"""
return self._SubscribeName
@SubscribeName.setter
def SubscribeName(self, SubscribeName):
self._SubscribeName = SubscribeName
@property
def Topic(self):
"""订阅实例发送数据的kafka topic
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Topic
@Topic.setter
def Topic(self, Topic):
self._Topic = Topic
@property
def Product(self):
"""订阅实例的类型,目前支持 cynosdbmysql,mariadb,mongodb,mysql,percona,tdpg,tdsqlpercona(tdsqlmysql)
:rtype: str
"""
return self._Product
@Product.setter
def Product(self, Product):
self._Product = Product
@property
def InstanceId(self):
"""订阅的数据库实例ID(如果订阅的是云数据库)如果实例不是腾讯云上的,此值为空。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InstanceId
@InstanceId.setter
def InstanceId(self, InstanceId):
self._InstanceId = InstanceId
@property
def InstanceStatus(self):
"""云数据库状态:running 运行中,isolated 已隔离,offline 已下线。如果不是云上,此值为空
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InstanceStatus
@InstanceStatus.setter
def InstanceStatus(self, InstanceStatus):
self._InstanceStatus = InstanceStatus
@property
def Status(self):
"""数据订阅生命周期状态,可能的值为:正常 normal, 隔离中 isolating, 已隔离 isolated, 下线中 offlining, 按量转包年包月中 post2PrePayIng
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def SubsStatus(self):
"""数据订阅状态,可能的值为:未启动 notStarted, 校验中 checking, 校验不通过 checkNotPass, 校验通过 checkPass, 启动中 starting, 运行中 running, 异常出错 error
:rtype: str
"""
return self._SubsStatus
@SubsStatus.setter
def SubsStatus(self, SubsStatus):
self._SubsStatus = SubsStatus
@property
def ModifyTime(self):
"""上次修改时间,时间格式如:Y-m-d h:m:s
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ModifyTime
@ModifyTime.setter
def ModifyTime(self, ModifyTime):
self._ModifyTime = ModifyTime
@property
def CreateTime(self):
"""创建时间,时间格式如:Y-m-d h:m:s
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def IsolateTime(self):
"""隔离时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._IsolateTime
@IsolateTime.setter
def IsolateTime(self, IsolateTime):
self._IsolateTime = IsolateTime
@property
def ExpireTime(self):
"""包年包月任务的到期时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def OfflineTime(self):
"""下线时间,时间格式如:Y-m-d h:m:s。默认:0000-00-00 00:00:00
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._OfflineTime
@OfflineTime.setter
def OfflineTime(self, OfflineTime):
self._OfflineTime = OfflineTime
@property
def PayType(self):
"""计费方式,0 - 包年包月,1 - 按量计费
:rtype: int
"""
return self._PayType
@PayType.setter
def PayType(self, PayType):
self._PayType = PayType
@property
def AutoRenewFlag(self):
"""自动续费标识。只有当 PayType=0,该值才有意义。枚举值:0-不自动续费,1-自动续费
:rtype: int
"""
return self._AutoRenewFlag
@AutoRenewFlag.setter
def AutoRenewFlag(self, AutoRenewFlag):
self._AutoRenewFlag = AutoRenewFlag
@property
def Region(self):
"""数据订阅实例所属地域
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def AccessType(self):
"""接入方式。枚举值:extranet(公网) vpncloud(vpn接入) dcg(专线接入) ccn(云联网) cdb(云数据库) cvm(云主机自建) intranet(自研上云) vpc(私有网络vpc)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AccessType
@AccessType.setter
def AccessType(self, AccessType):
self._AccessType = AccessType
@property
def Endpoints(self):
"""数据库节点信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of EndpointItem
"""
return self._Endpoints
@Endpoints.setter
def Endpoints(self, Endpoints):
self._Endpoints = Endpoints
@property
def SubscribeVersion(self):
"""数据订阅版本, 当前只支持 kafka 版本。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SubscribeVersion
@SubscribeVersion.setter
def SubscribeVersion(self, SubscribeVersion):
self._SubscribeVersion = SubscribeVersion
@property
def Tags(self):
"""标签
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of TagItem
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def Errors(self):
"""任务报错信息,如果有的话。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of SubsErr
"""
return self._Errors
@Errors.setter
def Errors(self, Errors):
self._Errors = Errors
def _deserialize(self, params):
self._SubscribeId = params.get("SubscribeId")
self._SubscribeName = params.get("SubscribeName")
self._Topic = params.get("Topic")
self._Product = params.get("Product")
self._InstanceId = params.get("InstanceId")
self._InstanceStatus = params.get("InstanceStatus")
self._Status = params.get("Status")
self._SubsStatus = params.get("SubsStatus")
self._ModifyTime = params.get("ModifyTime")
self._CreateTime = params.get("CreateTime")
self._IsolateTime = params.get("IsolateTime")
self._ExpireTime = params.get("ExpireTime")
self._OfflineTime = params.get("OfflineTime")
self._PayType = params.get("PayType")
self._AutoRenewFlag = params.get("AutoRenewFlag")
self._Region = params.get("Region")
self._AccessType = params.get("AccessType")
if params.get("Endpoints") is not None:
self._Endpoints = []
for item in params.get("Endpoints"):
obj = EndpointItem()
obj._deserialize(item)
self._Endpoints.append(obj)
self._SubscribeVersion = params.get("SubscribeVersion")
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = TagItem()
obj._deserialize(item)
self._Tags.append(obj)
if params.get("Errors") is not None:
self._Errors = []
for item in params.get("Errors"):
obj = SubsErr()
obj._deserialize(item)
self._Errors.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SubscribeKafkaConfig(AbstractModel):
"""订阅的kafka分区数和分区规则。mariadb,percona,tdsqlmysql,tdpg不支持自定义分区,所以DistributeRules和DefaultRuleType可以不填,但是NumberOfPartitions是必填。
"""
def __init__(self):
r"""
:param _NumberOfPartitions: kafka分区数量,枚举值为1,4,8
注意:此字段可能返回 null,表示取不到有效值。
:type NumberOfPartitions: int
:param _DistributeRules: 分区规则。当NumberOfPartitions > 1时,该项必填。
注意:此字段可能返回 null,表示取不到有效值。
:type DistributeRules: list of DistributeRule
:param _DefaultRuleType: 默认分区策略。当NumberOfPartitions > 1时,该项必填。不满足DistributeRules中正则表达式的数据,将按照默认分区策略计算分区。
非mongo产品的枚举值为: table-按表名分区,pk-按表名+主键分区。mongo的枚举值为:collection-按集合名分区。
该字段与DistributeRules搭配使用,如果配置了该字段,视为配置了一条DistributeRules。
注意:此字段可能返回 null,表示取不到有效值。
:type DefaultRuleType: str
"""
self._NumberOfPartitions = None
self._DistributeRules = None
self._DefaultRuleType = None
@property
def NumberOfPartitions(self):
"""kafka分区数量,枚举值为1,4,8
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._NumberOfPartitions
@NumberOfPartitions.setter
def NumberOfPartitions(self, NumberOfPartitions):
self._NumberOfPartitions = NumberOfPartitions
@property
def DistributeRules(self):
"""分区规则。当NumberOfPartitions > 1时,该项必填。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of DistributeRule
"""
return self._DistributeRules
@DistributeRules.setter
def DistributeRules(self, DistributeRules):
self._DistributeRules = DistributeRules
@property
def DefaultRuleType(self):
"""默认分区策略。当NumberOfPartitions > 1时,该项必填。不满足DistributeRules中正则表达式的数据,将按照默认分区策略计算分区。
非mongo产品的枚举值为: table-按表名分区,pk-按表名+主键分区。mongo的枚举值为:collection-按集合名分区。
该字段与DistributeRules搭配使用,如果配置了该字段,视为配置了一条DistributeRules。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DefaultRuleType
@DefaultRuleType.setter
def DefaultRuleType(self, DefaultRuleType):
self._DefaultRuleType = DefaultRuleType
def _deserialize(self, params):
self._NumberOfPartitions = params.get("NumberOfPartitions")
if params.get("DistributeRules") is not None:
self._DistributeRules = []
for item in params.get("DistributeRules"):
obj = DistributeRule()
obj._deserialize(item)
self._DistributeRules.append(obj)
self._DefaultRuleType = params.get("DefaultRuleType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SubscribeObject(AbstractModel):
"""订阅的数据库表信息,用于配置和查询订阅任务接口。
"""
def __init__(self):
r"""
:param _ObjectType: 订阅数据的类型,枚举值:database-数据库,table-数据库的表(如果 DatabaseType 为 mongodb,则表示集合)
注意:此字段可能返回 null,表示取不到有效值。
:type ObjectType: str
:param _Database: 订阅的数据库名称
注意:此字段可能返回 null,表示取不到有效值。
:type Database: str
:param _Tables: 订阅数据库中表的名称。如果 DatabaseType 为 mongodb,填集合名。mongodb只支持订阅单库或者单集合。
注意:此字段可能返回 null,表示取不到有效值。
:type Tables: list of str
"""
self._ObjectType = None
self._Database = None
self._Tables = None
@property
def ObjectType(self):
"""订阅数据的类型,枚举值:database-数据库,table-数据库的表(如果 DatabaseType 为 mongodb,则表示集合)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ObjectType
@ObjectType.setter
def ObjectType(self, ObjectType):
self._ObjectType = ObjectType
@property
def Database(self):
"""订阅的数据库名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Database
@Database.setter
def Database(self, Database):
self._Database = Database
@property
def Tables(self):
"""订阅数据库中表的名称。如果 DatabaseType 为 mongodb,填集合名。mongodb只支持订阅单库或者单集合。
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Tables
@Tables.setter
def Tables(self, Tables):
self._Tables = Tables
def _deserialize(self, params):
self._ObjectType = params.get("ObjectType")
self._Database = params.get("Database")
self._Tables = params.get("Tables")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SyncDBEndpointInfos(AbstractModel):
"""数据同步配置多节点数据库的节点信息。多节点数据库,如tdsqlmysql使用该结构;单节点数据库,如mysql使用Endpoint。
"""
def __init__(self):
r"""
:param _Region: 数据库所在地域
注意:此字段可能返回 null,表示取不到有效值。
:type Region: str
:param _AccessType: 实例网络接入类型,如:extranet(外网)、ipv6(公网ipv6)、cvm(云主机自建)、dcg(专线接入)、vpncloud(vpn接入的实例)、cdb(云数据库)、ccn(云联网)、intranet(自研上云)、vpc(私有网络)等,注意具体可选值依赖当前链路
注意:此字段可能返回 null,表示取不到有效值。
:type AccessType: str
:param _DatabaseType: 实例数据库类型,如:mysql,redis,mongodb,postgresql,mariadb,percona 等
注意:此字段可能返回 null,表示取不到有效值。
:type DatabaseType: str
:param _Info: 数据库信息。注意:如果数据库类型为tdsqlmysql,此处Endpoint数组的顺序应满足规则:proxy节点放在set节点之前。如果SrcConnectType选择proxy接入则只需要填写proxy节点即可。如果选择set接入,数组中第一个set节点必须是shardkey范围起始为0的分片
注意:此字段可能返回 null,表示取不到有效值。
:type Info: list of Endpoint
"""
self._Region = None
self._AccessType = None
self._DatabaseType = None
self._Info = None
@property
def Region(self):
"""数据库所在地域
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Region
@Region.setter
def Region(self, Region):
self._Region = Region
@property
def AccessType(self):
"""实例网络接入类型,如:extranet(外网)、ipv6(公网ipv6)、cvm(云主机自建)、dcg(专线接入)、vpncloud(vpn接入的实例)、cdb(云数据库)、ccn(云联网)、intranet(自研上云)、vpc(私有网络)等,注意具体可选值依赖当前链路
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._AccessType
@AccessType.setter
def AccessType(self, AccessType):
self._AccessType = AccessType
@property
def DatabaseType(self):
"""实例数据库类型,如:mysql,redis,mongodb,postgresql,mariadb,percona 等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DatabaseType
@DatabaseType.setter
def DatabaseType(self, DatabaseType):
self._DatabaseType = DatabaseType
@property
def Info(self):
"""数据库信息。注意:如果数据库类型为tdsqlmysql,此处Endpoint数组的顺序应满足规则:proxy节点放在set节点之前。如果SrcConnectType选择proxy接入则只需要填写proxy节点即可。如果选择set接入,数组中第一个set节点必须是shardkey范围起始为0的分片
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of Endpoint
"""
return self._Info
@Info.setter
def Info(self, Info):
self._Info = Info
def _deserialize(self, params):
self._Region = params.get("Region")
self._AccessType = params.get("AccessType")
self._DatabaseType = params.get("DatabaseType")
if params.get("Info") is not None:
self._Info = []
for item in params.get("Info"):
obj = Endpoint()
obj._deserialize(item)
self._Info.append(obj)
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SyncDetailInfo(AbstractModel):
"""同步任务的步骤信息
"""
def __init__(self):
r"""
:param _StepAll: 总步骤数
注意:此字段可能返回 null,表示取不到有效值。
:type StepAll: int
:param _StepNow: 当前步骤
注意:此字段可能返回 null,表示取不到有效值。
:type StepNow: int
:param _Progress: 总体进度
注意:此字段可能返回 null,表示取不到有效值。
:type Progress: int
:param _CurrentStepProgress: 当前步骤进度,范围为[0-100],若为-1表示当前步骤不支持查看进度
注意:此字段可能返回 null,表示取不到有效值。
:type CurrentStepProgress: int
:param _MasterSlaveDistance: 同步两端数据量差距
注意:此字段可能返回 null,表示取不到有效值。
:type MasterSlaveDistance: int
:param _SecondsBehindMaster: 同步两端时间差距
注意:此字段可能返回 null,表示取不到有效值。
:type SecondsBehindMaster: int
:param _Message: 总体描述信息
注意:此字段可能返回 null,表示取不到有效值。
:type Message: str
:param _StepInfos: 详细步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:type StepInfos: list of StepInfo
:param _CauseOfCompareDisable: 不能发起一致性校验的原因
注意:此字段可能返回 null,表示取不到有效值。
:type CauseOfCompareDisable: str
:param _ErrInfo: 任务的错误和解决方案信息
注意:此字段可能返回 null,表示取不到有效值。
:type ErrInfo: :class:`tencentcloud.dts.v20211206.models.ErrInfo`
"""
self._StepAll = None
self._StepNow = None
self._Progress = None
self._CurrentStepProgress = None
self._MasterSlaveDistance = None
self._SecondsBehindMaster = None
self._Message = None
self._StepInfos = None
self._CauseOfCompareDisable = None
self._ErrInfo = None
@property
def StepAll(self):
"""总步骤数
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepAll
@StepAll.setter
def StepAll(self, StepAll):
self._StepAll = StepAll
@property
def StepNow(self):
"""当前步骤
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._StepNow
@StepNow.setter
def StepNow(self, StepNow):
self._StepNow = StepNow
@property
def Progress(self):
"""总体进度
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._Progress
@Progress.setter
def Progress(self, Progress):
self._Progress = Progress
@property
def CurrentStepProgress(self):
"""当前步骤进度,范围为[0-100],若为-1表示当前步骤不支持查看进度
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._CurrentStepProgress
@CurrentStepProgress.setter
def CurrentStepProgress(self, CurrentStepProgress):
self._CurrentStepProgress = CurrentStepProgress
@property
def MasterSlaveDistance(self):
"""同步两端数据量差距
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._MasterSlaveDistance
@MasterSlaveDistance.setter
def MasterSlaveDistance(self, MasterSlaveDistance):
self._MasterSlaveDistance = MasterSlaveDistance
@property
def SecondsBehindMaster(self):
"""同步两端时间差距
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._SecondsBehindMaster
@SecondsBehindMaster.setter
def SecondsBehindMaster(self, SecondsBehindMaster):
self._SecondsBehindMaster = SecondsBehindMaster
@property
def Message(self):
"""总体描述信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Message
@Message.setter
def Message(self, Message):
self._Message = Message
@property
def StepInfos(self):
"""详细步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of StepInfo
"""
return self._StepInfos
@StepInfos.setter
def StepInfos(self, StepInfos):
self._StepInfos = StepInfos
@property
def CauseOfCompareDisable(self):
"""不能发起一致性校验的原因
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CauseOfCompareDisable
@CauseOfCompareDisable.setter
def CauseOfCompareDisable(self, CauseOfCompareDisable):
self._CauseOfCompareDisable = CauseOfCompareDisable
@property
def ErrInfo(self):
"""任务的错误和解决方案信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.ErrInfo`
"""
return self._ErrInfo
@ErrInfo.setter
def ErrInfo(self, ErrInfo):
self._ErrInfo = ErrInfo
def _deserialize(self, params):
self._StepAll = params.get("StepAll")
self._StepNow = params.get("StepNow")
self._Progress = params.get("Progress")
self._CurrentStepProgress = params.get("CurrentStepProgress")
self._MasterSlaveDistance = params.get("MasterSlaveDistance")
self._SecondsBehindMaster = params.get("SecondsBehindMaster")
self._Message = params.get("Message")
if params.get("StepInfos") is not None:
self._StepInfos = []
for item in params.get("StepInfos"):
obj = StepInfo()
obj._deserialize(item)
self._StepInfos.append(obj)
self._CauseOfCompareDisable = params.get("CauseOfCompareDisable")
if params.get("ErrInfo") is not None:
self._ErrInfo = ErrInfo()
self._ErrInfo._deserialize(params.get("ErrInfo"))
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class SyncJobInfo(AbstractModel):
"""同步任务信息
"""
def __init__(self):
r"""
:param _JobId: 同步任务id,如:sync-btso140
注意:此字段可能返回 null,表示取不到有效值。
:type JobId: str
:param _JobName: 同步任务名
注意:此字段可能返回 null,表示取不到有效值。
:type JobName: str
:param _PayMode: 付款方式,PostPay(按量付费)、PrePay(包年包月)
注意:此字段可能返回 null,表示取不到有效值。
:type PayMode: str
:param _RunMode: 运行模式,Immediate(表示立即运行,默认为此项值)、Timed(表示定时运行)
注意:此字段可能返回 null,表示取不到有效值。
:type RunMode: str
:param _ExpectRunTime: 期待运行时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type ExpectRunTime: str
:param _AllActions: 支持的所有操作
注意:此字段可能返回 null,表示取不到有效值。
:type AllActions: list of str
:param _Actions: 当前状态能进行的操作
注意:此字段可能返回 null,表示取不到有效值。
:type Actions: list of str
: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: str
:param _ExpireTime: 过期时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type ExpireTime: str
:param _SrcRegion: 源端地域,如:ap-guangzhou等
注意:此字段可能返回 null,表示取不到有效值。
:type SrcRegion: str
:param _SrcDatabaseType: 源端数据库类型,mysql,cynosdbmysql,tdapg,tdpg,tdsqlmysql等
注意:此字段可能返回 null,表示取不到有效值。
:type SrcDatabaseType: str
:param _SrcAccessType: 源端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云)
注意:此字段可能返回 null,表示取不到有效值。
:type SrcAccessType: str
:param _SrcInfo: 源端信息,单节点数据库使用
注意:此字段可能返回 null,表示取不到有效值。
:type SrcInfo: :class:`tencentcloud.dts.v20211206.models.Endpoint`
:param _SrcNodeType: 枚举值:cluster、single。源库为单节点数据库使用single,多节点使用cluster
注意:此字段可能返回 null,表示取不到有效值。
:type SrcNodeType: str
:param _SrcInfos: 源端信息,多节点数据库使用
注意:此字段可能返回 null,表示取不到有效值。
:type SrcInfos: :class:`tencentcloud.dts.v20211206.models.SyncDBEndpointInfos`
:param _DstRegion: 目标端地域,如:ap-guangzhou等
注意:此字段可能返回 null,表示取不到有效值。
:type DstRegion: str
:param _DstDatabaseType: 目标端数据库类型,mysql,cynosdbmysql,tdapg,tdpg,tdsqlmysql等
注意:此字段可能返回 null,表示取不到有效值。
:type DstDatabaseType: str
:param _DstAccessType: 目标端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云)
注意:此字段可能返回 null,表示取不到有效值。
:type DstAccessType: str
:param _DstInfo: 目标端信息,单节点数据库使用
注意:此字段可能返回 null,表示取不到有效值。
:type DstInfo: :class:`tencentcloud.dts.v20211206.models.Endpoint`
:param _DstNodeType: 枚举值:cluster、single。目标库为单节点数据库使用single,多节点使用cluster
注意:此字段可能返回 null,表示取不到有效值。
:type DstNodeType: str
:param _DstInfos: 目标端信息,多节点数据库使用
注意:此字段可能返回 null,表示取不到有效值。
:type DstInfos: :class:`tencentcloud.dts.v20211206.models.SyncDBEndpointInfos`
:param _CreateTime: 创建时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type CreateTime: str
:param _StartTime: 开始时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type StartTime: str
:param _Status: 任务状态,UnInitialized(未初始化)、Initialized(已初始化)、Checking(校验中)、CheckPass(校验通过)、CheckNotPass(校验不通过)、ReadyRunning(准备运行)、Running(运行中)、Pausing(暂停中)、Paused(已暂停)、Stopping(停止中)、Stopped(已结束)、ResumableErr(任务错误)、Resuming(恢复中)、Failed(失败)、Released(已释放)、Resetting(重置中)、Unknown(未知)
注意:此字段可能返回 null,表示取不到有效值。
:type Status: str
:param _EndTime: 结束时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type EndTime: str
:param _Tags: 标签相关信息
注意:此字段可能返回 null,表示取不到有效值。
:type Tags: list of TagItem
: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: str
:param _InstanceClass: 同步链路规格,如micro,small,medium,large
注意:此字段可能返回 null,表示取不到有效值。
:type InstanceClass: str
:param _AutoRenew: 自动续费标识,当PayMode值为PrePay则此项配置有意义,取值为:1(表示自动续费)、0(不自动续费)
注意:此字段可能返回 null,表示取不到有效值。
:type AutoRenew: int
:param _OfflineTime: 下线时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:type OfflineTime: str
:param _OptObjStatus: 动态修改对象,修改任务的状态等
注意:此字段可能返回 null,表示取不到有效值。
:type OptObjStatus: str
:param _AutoRetryTimeRangeMinutes: 自动重试时间段设置
注意:此字段可能返回 null,表示取不到有效值。
:type AutoRetryTimeRangeMinutes: int
:param _DumperResumeCtrl: 全量导出可重入标识:enum::"yes"/"no"。yes表示当前任务可重入、no表示当前任务处于全量导出且不可重入阶段;如果在该值为no时重启任务导出流程不支持断点续传
注意:此字段可能返回 null,表示取不到有效值。
:type DumperResumeCtrl: str
"""
self._JobId = None
self._JobName = None
self._PayMode = None
self._RunMode = None
self._ExpectRunTime = None
self._AllActions = None
self._Actions = None
self._Options = None
self._Objects = None
self._Specification = None
self._ExpireTime = None
self._SrcRegion = None
self._SrcDatabaseType = None
self._SrcAccessType = None
self._SrcInfo = None
self._SrcNodeType = None
self._SrcInfos = None
self._DstRegion = None
self._DstDatabaseType = None
self._DstAccessType = None
self._DstInfo = None
self._DstNodeType = None
self._DstInfos = None
self._CreateTime = None
self._StartTime = None
self._Status = None
self._EndTime = None
self._Tags = None
self._Detail = None
self._TradeStatus = None
self._InstanceClass = None
self._AutoRenew = None
self._OfflineTime = None
self._OptObjStatus = None
self._AutoRetryTimeRangeMinutes = None
self._DumperResumeCtrl = None
@property
def JobId(self):
"""同步任务id,如:sync-btso140
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._JobId
@JobId.setter
def JobId(self, JobId):
self._JobId = JobId
@property
def JobName(self):
"""同步任务名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._JobName
@JobName.setter
def JobName(self, JobName):
self._JobName = JobName
@property
def PayMode(self):
"""付款方式,PostPay(按量付费)、PrePay(包年包月)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._PayMode
@PayMode.setter
def PayMode(self, PayMode):
self._PayMode = PayMode
@property
def RunMode(self):
"""运行模式,Immediate(表示立即运行,默认为此项值)、Timed(表示定时运行)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._RunMode
@RunMode.setter
def RunMode(self, RunMode):
self._RunMode = RunMode
@property
def ExpectRunTime(self):
"""期待运行时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ExpectRunTime
@ExpectRunTime.setter
def ExpectRunTime(self, ExpectRunTime):
self._ExpectRunTime = ExpectRunTime
@property
def AllActions(self):
"""支持的所有操作
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._AllActions
@AllActions.setter
def AllActions(self, AllActions):
self._AllActions = AllActions
@property
def Actions(self):
"""当前状态能进行的操作
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Actions
@Actions.setter
def Actions(self, Actions):
self._Actions = Actions
@property
def Options(self):
"""同步选项
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.Options`
"""
return self._Options
@Options.setter
def Options(self, Options):
self._Options = Options
@property
def Objects(self):
"""同步库表对象
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.Objects`
"""
return self._Objects
@Objects.setter
def Objects(self, Objects):
self._Objects = Objects
@property
def Specification(self):
"""任务规格
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Specification
@Specification.setter
def Specification(self, Specification):
self._Specification = Specification
@property
def ExpireTime(self):
"""过期时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def SrcRegion(self):
"""源端地域,如:ap-guangzhou等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SrcRegion
@SrcRegion.setter
def SrcRegion(self, SrcRegion):
self._SrcRegion = SrcRegion
@property
def SrcDatabaseType(self):
"""源端数据库类型,mysql,cynosdbmysql,tdapg,tdpg,tdsqlmysql等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SrcDatabaseType
@SrcDatabaseType.setter
def SrcDatabaseType(self, SrcDatabaseType):
self._SrcDatabaseType = SrcDatabaseType
@property
def SrcAccessType(self):
"""源端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SrcAccessType
@SrcAccessType.setter
def SrcAccessType(self, SrcAccessType):
self._SrcAccessType = SrcAccessType
@property
def SrcInfo(self):
"""源端信息,单节点数据库使用
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.Endpoint`
"""
return self._SrcInfo
@SrcInfo.setter
def SrcInfo(self, SrcInfo):
self._SrcInfo = SrcInfo
@property
def SrcNodeType(self):
"""枚举值:cluster、single。源库为单节点数据库使用single,多节点使用cluster
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._SrcNodeType
@SrcNodeType.setter
def SrcNodeType(self, SrcNodeType):
self._SrcNodeType = SrcNodeType
@property
def SrcInfos(self):
"""源端信息,多节点数据库使用
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.SyncDBEndpointInfos`
"""
return self._SrcInfos
@SrcInfos.setter
def SrcInfos(self, SrcInfos):
self._SrcInfos = SrcInfos
@property
def DstRegion(self):
"""目标端地域,如:ap-guangzhou等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DstRegion
@DstRegion.setter
def DstRegion(self, DstRegion):
self._DstRegion = DstRegion
@property
def DstDatabaseType(self):
"""目标端数据库类型,mysql,cynosdbmysql,tdapg,tdpg,tdsqlmysql等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DstDatabaseType
@DstDatabaseType.setter
def DstDatabaseType(self, DstDatabaseType):
self._DstDatabaseType = DstDatabaseType
@property
def DstAccessType(self):
"""目标端接入类型,cdb(云数据库)、cvm(云主机自建)、vpc(私有网络)、extranet(外网)、vpncloud(vpn接入)、dcg(专线接入)、ccn(云联网)、intranet(自研上云)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DstAccessType
@DstAccessType.setter
def DstAccessType(self, DstAccessType):
self._DstAccessType = DstAccessType
@property
def DstInfo(self):
"""目标端信息,单节点数据库使用
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.Endpoint`
"""
return self._DstInfo
@DstInfo.setter
def DstInfo(self, DstInfo):
self._DstInfo = DstInfo
@property
def DstNodeType(self):
"""枚举值:cluster、single。目标库为单节点数据库使用single,多节点使用cluster
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DstNodeType
@DstNodeType.setter
def DstNodeType(self, DstNodeType):
self._DstNodeType = DstNodeType
@property
def DstInfos(self):
"""目标端信息,多节点数据库使用
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.SyncDBEndpointInfos`
"""
return self._DstInfos
@DstInfos.setter
def DstInfos(self, DstInfos):
self._DstInfos = DstInfos
@property
def CreateTime(self):
"""创建时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._CreateTime
@CreateTime.setter
def CreateTime(self, CreateTime):
self._CreateTime = CreateTime
@property
def StartTime(self):
"""开始时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._StartTime
@StartTime.setter
def StartTime(self, StartTime):
self._StartTime = StartTime
@property
def Status(self):
"""任务状态,UnInitialized(未初始化)、Initialized(已初始化)、Checking(校验中)、CheckPass(校验通过)、CheckNotPass(校验不通过)、ReadyRunning(准备运行)、Running(运行中)、Pausing(暂停中)、Paused(已暂停)、Stopping(停止中)、Stopped(已结束)、ResumableErr(任务错误)、Resuming(恢复中)、Failed(失败)、Released(已释放)、Resetting(重置中)、Unknown(未知)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._Status
@Status.setter
def Status(self, Status):
self._Status = Status
@property
def EndTime(self):
"""结束时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._EndTime
@EndTime.setter
def EndTime(self, EndTime):
self._EndTime = EndTime
@property
def Tags(self):
"""标签相关信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of TagItem
"""
return self._Tags
@Tags.setter
def Tags(self, Tags):
self._Tags = Tags
@property
def Detail(self):
"""同步任务运行步骤信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: :class:`tencentcloud.dts.v20211206.models.SyncDetailInfo`
"""
return self._Detail
@Detail.setter
def Detail(self, Detail):
self._Detail = Detail
@property
def TradeStatus(self):
"""用于计费的状态,可能取值有:Normal(正常状态)、Resizing(变配中)、Renewing(续费中)、Isolating(隔离中)、Isolated(已隔离)、Offlining(下线中)、Offlined(已下线)、NotBilled(未计费)、Recovering(解隔离)、PostPay2Prepaying(按量计费转包年包月中)、PrePay2Postpaying(包年包月转按量计费中)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TradeStatus
@TradeStatus.setter
def TradeStatus(self, TradeStatus):
self._TradeStatus = TradeStatus
@property
def InstanceClass(self):
"""同步链路规格,如micro,small,medium,large
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InstanceClass
@InstanceClass.setter
def InstanceClass(self, InstanceClass):
self._InstanceClass = InstanceClass
@property
def AutoRenew(self):
"""自动续费标识,当PayMode值为PrePay则此项配置有意义,取值为:1(表示自动续费)、0(不自动续费)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._AutoRenew
@AutoRenew.setter
def AutoRenew(self, AutoRenew):
self._AutoRenew = AutoRenew
@property
def OfflineTime(self):
"""下线时间,格式为 yyyy-mm-dd hh:mm:ss
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._OfflineTime
@OfflineTime.setter
def OfflineTime(self, OfflineTime):
self._OfflineTime = OfflineTime
@property
def OptObjStatus(self):
"""动态修改对象,修改任务的状态等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._OptObjStatus
@OptObjStatus.setter
def OptObjStatus(self, OptObjStatus):
self._OptObjStatus = OptObjStatus
@property
def AutoRetryTimeRangeMinutes(self):
"""自动重试时间段设置
注意:此字段可能返回 null,表示取不到有效值。
:rtype: int
"""
return self._AutoRetryTimeRangeMinutes
@AutoRetryTimeRangeMinutes.setter
def AutoRetryTimeRangeMinutes(self, AutoRetryTimeRangeMinutes):
self._AutoRetryTimeRangeMinutes = AutoRetryTimeRangeMinutes
@property
def DumperResumeCtrl(self):
"""全量导出可重入标识:enum::"yes"/"no"。yes表示当前任务可重入、no表示当前任务处于全量导出且不可重入阶段;如果在该值为no时重启任务导出流程不支持断点续传
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DumperResumeCtrl
@DumperResumeCtrl.setter
def DumperResumeCtrl(self, DumperResumeCtrl):
self._DumperResumeCtrl = DumperResumeCtrl
def _deserialize(self, params):
self._JobId = params.get("JobId")
self._JobName = params.get("JobName")
self._PayMode = params.get("PayMode")
self._RunMode = params.get("RunMode")
self._ExpectRunTime = params.get("ExpectRunTime")
self._AllActions = params.get("AllActions")
self._Actions = params.get("Actions")
if params.get("Options") is not None:
self._Options = Options()
self._Options._deserialize(params.get("Options"))
if params.get("Objects") is not None:
self._Objects = Objects()
self._Objects._deserialize(params.get("Objects"))
self._Specification = params.get("Specification")
self._ExpireTime = params.get("ExpireTime")
self._SrcRegion = params.get("SrcRegion")
self._SrcDatabaseType = params.get("SrcDatabaseType")
self._SrcAccessType = params.get("SrcAccessType")
if params.get("SrcInfo") is not None:
self._SrcInfo = Endpoint()
self._SrcInfo._deserialize(params.get("SrcInfo"))
self._SrcNodeType = params.get("SrcNodeType")
if params.get("SrcInfos") is not None:
self._SrcInfos = SyncDBEndpointInfos()
self._SrcInfos._deserialize(params.get("SrcInfos"))
self._DstRegion = params.get("DstRegion")
self._DstDatabaseType = params.get("DstDatabaseType")
self._DstAccessType = params.get("DstAccessType")
if params.get("DstInfo") is not None:
self._DstInfo = Endpoint()
self._DstInfo._deserialize(params.get("DstInfo"))
self._DstNodeType = params.get("DstNodeType")
if params.get("DstInfos") is not None:
self._DstInfos = SyncDBEndpointInfos()
self._DstInfos._deserialize(params.get("DstInfos"))
self._CreateTime = params.get("CreateTime")
self._StartTime = params.get("StartTime")
self._Status = params.get("Status")
self._EndTime = params.get("EndTime")
if params.get("Tags") is not None:
self._Tags = []
for item in params.get("Tags"):
obj = TagItem()
obj._deserialize(item)
self._Tags.append(obj)
if params.get("Detail") is not None:
self._Detail = SyncDetailInfo()
self._Detail._deserialize(params.get("Detail"))
self._TradeStatus = params.get("TradeStatus")
self._InstanceClass = params.get("InstanceClass")
self._AutoRenew = params.get("AutoRenew")
self._OfflineTime = params.get("OfflineTime")
self._OptObjStatus = params.get("OptObjStatus")
self._AutoRetryTimeRangeMinutes = params.get("AutoRetryTimeRangeMinutes")
self._DumperResumeCtrl = params.get("DumperResumeCtrl")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class Table(AbstractModel):
"""数据同步库表信息描述
"""
def __init__(self):
r"""
:param _TableName: 表名
注意:此字段可能返回 null,表示取不到有效值。
:type TableName: str
:param _NewTableName: 新表名
注意:此字段可能返回 null,表示取不到有效值。
:type NewTableName: str
:param _FilterCondition: 过滤条件
注意:此字段可能返回 null,表示取不到有效值。
:type FilterCondition: str
:param _ColumnMode: 是否同步表中所有列,All:当前表下的所有列,Partial(ModifySyncJobConfig接口里的对应字段ColumnMode暂不支持Partial):当前表下的部分列,通过填充Columns字段详细表信息
注意:此字段可能返回 null,表示取不到有效值。
:type ColumnMode: str
:param _Columns: 同步的列信息,当ColumnMode为Partial时,必填
注意:此字段可能返回 null,表示取不到有效值。
:type Columns: list of Column
: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: list of str
:param _TableEditMode: 编辑表类型,rename(表映射),pt(同步附加表)
注意:此字段可能返回 null,表示取不到有效值。
:type TableEditMode: str
"""
self._TableName = None
self._NewTableName = None
self._FilterCondition = None
self._ColumnMode = None
self._Columns = None
self._TmpTables = None
self._TableEditMode = None
@property
def TableName(self):
"""表名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TableName
@TableName.setter
def TableName(self, TableName):
self._TableName = TableName
@property
def NewTableName(self):
"""新表名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewTableName
@NewTableName.setter
def NewTableName(self, NewTableName):
self._NewTableName = NewTableName
@property
def FilterCondition(self):
"""过滤条件
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._FilterCondition
@FilterCondition.setter
def FilterCondition(self, FilterCondition):
self._FilterCondition = FilterCondition
@property
def ColumnMode(self):
"""是否同步表中所有列,All:当前表下的所有列,Partial(ModifySyncJobConfig接口里的对应字段ColumnMode暂不支持Partial):当前表下的部分列,通过填充Columns字段详细表信息
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ColumnMode
@ColumnMode.setter
def ColumnMode(self, ColumnMode):
self._ColumnMode = ColumnMode
@property
def Columns(self):
"""同步的列信息,当ColumnMode为Partial时,必填
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of Column
"""
return self._Columns
@Columns.setter
def Columns(self, Columns):
self._Columns = Columns
@property
def TmpTables(self):
"""同步临时表,注意此配置与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,表示取不到有效值。
:rtype: list of str
"""
return self._TmpTables
@TmpTables.setter
def TmpTables(self, TmpTables):
self._TmpTables = TmpTables
@property
def TableEditMode(self):
"""编辑表类型,rename(表映射),pt(同步附加表)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TableEditMode
@TableEditMode.setter
def TableEditMode(self, TableEditMode):
self._TableEditMode = TableEditMode
def _deserialize(self, params):
self._TableName = params.get("TableName")
self._NewTableName = params.get("NewTableName")
self._FilterCondition = params.get("FilterCondition")
self._ColumnMode = params.get("ColumnMode")
if params.get("Columns") is not None:
self._Columns = []
for item in params.get("Columns"):
obj = Column()
obj._deserialize(item)
self._Columns.append(obj)
self._TmpTables = params.get("TmpTables")
self._TableEditMode = params.get("TableEditMode")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TableItem(AbstractModel):
"""表对象集合,当 TableMode 为 partial 时,此项需要填写
"""
def __init__(self):
r"""
:param _TableName: 迁移的表名,大小写敏感
注意:此字段可能返回 null,表示取不到有效值。
:type TableName: str
:param _NewTableName: 迁移后的表名,当TableEditMode为rename时此项必填,注意此配置与TmpTables互斥,只能使用其中一种
注意:此字段可能返回 null,表示取不到有效值。
:type NewTableName: str
: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: list of str
:param _TableEditMode: 编辑表类型,rename(表映射),pt(同步附加表)
注意:此字段可能返回 null,表示取不到有效值。
:type TableEditMode: str
"""
self._TableName = None
self._NewTableName = None
self._TmpTables = None
self._TableEditMode = None
@property
def TableName(self):
"""迁移的表名,大小写敏感
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TableName
@TableName.setter
def TableName(self, TableName):
self._TableName = TableName
@property
def NewTableName(self):
"""迁移后的表名,当TableEditMode为rename时此项必填,注意此配置与TmpTables互斥,只能使用其中一种
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewTableName
@NewTableName.setter
def NewTableName(self, NewTableName):
self._NewTableName = NewTableName
@property
def TmpTables(self):
"""迁移临时表,注意此配置与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,表示取不到有效值。
:rtype: list of str
"""
return self._TmpTables
@TmpTables.setter
def TmpTables(self, TmpTables):
self._TmpTables = TmpTables
@property
def TableEditMode(self):
"""编辑表类型,rename(表映射),pt(同步附加表)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TableEditMode
@TableEditMode.setter
def TableEditMode(self, TableEditMode):
self._TableEditMode = TableEditMode
def _deserialize(self, params):
self._TableName = params.get("TableName")
self._NewTableName = params.get("NewTableName")
self._TmpTables = params.get("TmpTables")
self._TableEditMode = params.get("TableEditMode")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TagFilter(AbstractModel):
"""标签过滤
"""
def __init__(self):
r"""
:param _TagKey: 标签键值
:type TagKey: str
:param _TagValue: 标签值
:type TagValue: list of str
"""
self._TagKey = None
self._TagValue = None
@property
def TagKey(self):
"""标签键值
:rtype: str
"""
return self._TagKey
@TagKey.setter
def TagKey(self, TagKey):
self._TagKey = TagKey
@property
def TagValue(self):
"""标签值
:rtype: list of str
"""
return self._TagValue
@TagValue.setter
def TagValue(self, TagValue):
self._TagValue = TagValue
def _deserialize(self, params):
self._TagKey = params.get("TagKey")
self._TagValue = params.get("TagValue")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TagItem(AbstractModel):
"""标签
"""
def __init__(self):
r"""
:param _TagKey: 标签键
注意:此字段可能返回 null,表示取不到有效值。
:type TagKey: str
:param _TagValue: 标签值
注意:此字段可能返回 null,表示取不到有效值。
:type TagValue: str
"""
self._TagKey = None
self._TagValue = None
@property
def TagKey(self):
"""标签键
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TagKey
@TagKey.setter
def TagKey(self, TagKey):
self._TagKey = TagKey
@property
def TagValue(self):
"""标签值
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TagValue
@TagValue.setter
def TagValue(self, TagValue):
self._TagValue = TagValue
def _deserialize(self, params):
self._TagKey = params.get("TagKey")
self._TagValue = params.get("TagValue")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TopicRule(AbstractModel):
"""单topic和自定义topic的描述。投递到单topic时,该数组的最后一项会被视为默认分区策略,所有未匹配到的数据都会按该策略投递,默认策略只支持 投递至partition0、按表名、表名+主键三种。
"""
def __init__(self):
r"""
:param _TopicName: topic名。单topic时,所有的TopicName必须相同
:type TopicName: str
:param _PartitionType: topic分区策略,自定义topic时支持:Random(随机投递),集中投递到单Topic时支持:AllInPartitionZero(全部投递至partition0)、PartitionByTable(按表名分区)、PartitionByTableAndKey(按表名加主键分区)、PartitionByCols(按列分区)
:type PartitionType: str
:param _DbMatchMode: 库名匹配规则,如Regular(正则匹配), Default(不符合匹配规则的剩余库),数组中最后一项必须为‘Default’
:type DbMatchMode: str
:param _DbName: 库名,DbMatchMode=Regular时生效
:type DbName: str
:param _TableMatchMode: 表名匹配规则,如Regular(正则匹配), Default(不符合匹配规则的剩余表),数组中最后一项必须为‘Default’
:type TableMatchMode: str
:param _TableName: 表名,仅TableMatchMode=Regular时生效
:type TableName: str
:param _Columns: 按列分区时需要选择配置列名,可以选择多列
注意:此字段可能返回 null,表示取不到有效值。
:type Columns: list of str
"""
self._TopicName = None
self._PartitionType = None
self._DbMatchMode = None
self._DbName = None
self._TableMatchMode = None
self._TableName = None
self._Columns = None
@property
def TopicName(self):
"""topic名。单topic时,所有的TopicName必须相同
:rtype: str
"""
return self._TopicName
@TopicName.setter
def TopicName(self, TopicName):
self._TopicName = TopicName
@property
def PartitionType(self):
"""topic分区策略,自定义topic时支持:Random(随机投递),集中投递到单Topic时支持:AllInPartitionZero(全部投递至partition0)、PartitionByTable(按表名分区)、PartitionByTableAndKey(按表名加主键分区)、PartitionByCols(按列分区)
:rtype: str
"""
return self._PartitionType
@PartitionType.setter
def PartitionType(self, PartitionType):
self._PartitionType = PartitionType
@property
def DbMatchMode(self):
"""库名匹配规则,如Regular(正则匹配), Default(不符合匹配规则的剩余库),数组中最后一项必须为‘Default’
:rtype: str
"""
return self._DbMatchMode
@DbMatchMode.setter
def DbMatchMode(self, DbMatchMode):
self._DbMatchMode = DbMatchMode
@property
def DbName(self):
"""库名,DbMatchMode=Regular时生效
:rtype: str
"""
return self._DbName
@DbName.setter
def DbName(self, DbName):
self._DbName = DbName
@property
def TableMatchMode(self):
"""表名匹配规则,如Regular(正则匹配), Default(不符合匹配规则的剩余表),数组中最后一项必须为‘Default’
:rtype: str
"""
return self._TableMatchMode
@TableMatchMode.setter
def TableMatchMode(self, TableMatchMode):
self._TableMatchMode = TableMatchMode
@property
def TableName(self):
"""表名,仅TableMatchMode=Regular时生效
:rtype: str
"""
return self._TableName
@TableName.setter
def TableName(self, TableName):
self._TableName = TableName
@property
def Columns(self):
"""按列分区时需要选择配置列名,可以选择多列
注意:此字段可能返回 null,表示取不到有效值。
:rtype: list of str
"""
return self._Columns
@Columns.setter
def Columns(self, Columns):
self._Columns = Columns
def _deserialize(self, params):
self._TopicName = params.get("TopicName")
self._PartitionType = params.get("PartitionType")
self._DbMatchMode = params.get("DbMatchMode")
self._DbName = params.get("DbName")
self._TableMatchMode = params.get("TableMatchMode")
self._TableName = params.get("TableName")
self._Columns = params.get("Columns")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class TradeInfo(AbstractModel):
"""计费状态信息
"""
def __init__(self):
r"""
:param _DealName: 交易订单号
注意:此字段可能返回 null,表示取不到有效值。
:type DealName: str
:param _LastDealName: 上一次交易订单号
注意:此字段可能返回 null,表示取不到有效值。
:type LastDealName: str
:param _InstanceClass: 实例规格,包括:micro、small、medium、large、xlarge、2xlarge等
注意:此字段可能返回 null,表示取不到有效值。
:type InstanceClass: str
:param _TradeStatus: 计费任务状态, normal(计费或待计费)、resizing(变配中)、reversing(冲正中,比较短暂的状态)、isolating(隔离中,比较短暂的状态)、isolated(已隔离)、offlining(下线中)、offlined(已下线)、notBilled(未计费)
注意:此字段可能返回 null,表示取不到有效值。
:type TradeStatus: str
:param _ExpireTime: 到期时间,格式为"yyyy-mm-dd hh:mm:ss"
注意:此字段可能返回 null,表示取不到有效值。
:type ExpireTime: str
:param _OfflineTime: 下线时间,格式为"yyyy-mm-dd hh:mm:ss"
注意:此字段可能返回 null,表示取不到有效值。
:type OfflineTime: str
:param _IsolateTime: 隔离时间,格式为"yyyy-mm-dd hh:mm:ss"
注意:此字段可能返回 null,表示取不到有效值。
:type IsolateTime: str
:param _OfflineReason: 下线原因
注意:此字段可能返回 null,表示取不到有效值。
:type OfflineReason: str
:param _IsolateReason: 隔离原因
注意:此字段可能返回 null,表示取不到有效值。
:type IsolateReason: str
:param _PayType: 付费类型,包括:postpay(后付费)、prepay(预付费)
注意:此字段可能返回 null,表示取不到有效值。
:type PayType: str
:param _BillingType: 任务计费类型,包括:billing(计费)、notBilling(不计费)、 promotions(促销活动中)
注意:此字段可能返回 null,表示取不到有效值。
:type BillingType: str
"""
self._DealName = None
self._LastDealName = None
self._InstanceClass = None
self._TradeStatus = None
self._ExpireTime = None
self._OfflineTime = None
self._IsolateTime = None
self._OfflineReason = None
self._IsolateReason = None
self._PayType = None
self._BillingType = None
@property
def DealName(self):
"""交易订单号
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._DealName
@DealName.setter
def DealName(self, DealName):
self._DealName = DealName
@property
def LastDealName(self):
"""上一次交易订单号
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._LastDealName
@LastDealName.setter
def LastDealName(self, LastDealName):
self._LastDealName = LastDealName
@property
def InstanceClass(self):
"""实例规格,包括:micro、small、medium、large、xlarge、2xlarge等
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._InstanceClass
@InstanceClass.setter
def InstanceClass(self, InstanceClass):
self._InstanceClass = InstanceClass
@property
def TradeStatus(self):
"""计费任务状态, normal(计费或待计费)、resizing(变配中)、reversing(冲正中,比较短暂的状态)、isolating(隔离中,比较短暂的状态)、isolated(已隔离)、offlining(下线中)、offlined(已下线)、notBilled(未计费)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._TradeStatus
@TradeStatus.setter
def TradeStatus(self, TradeStatus):
self._TradeStatus = TradeStatus
@property
def ExpireTime(self):
"""到期时间,格式为"yyyy-mm-dd hh:mm:ss"
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ExpireTime
@ExpireTime.setter
def ExpireTime(self, ExpireTime):
self._ExpireTime = ExpireTime
@property
def OfflineTime(self):
"""下线时间,格式为"yyyy-mm-dd hh:mm:ss"
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._OfflineTime
@OfflineTime.setter
def OfflineTime(self, OfflineTime):
self._OfflineTime = OfflineTime
@property
def IsolateTime(self):
"""隔离时间,格式为"yyyy-mm-dd hh:mm:ss"
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._IsolateTime
@IsolateTime.setter
def IsolateTime(self, IsolateTime):
self._IsolateTime = IsolateTime
@property
def OfflineReason(self):
"""下线原因
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._OfflineReason
@OfflineReason.setter
def OfflineReason(self, OfflineReason):
self._OfflineReason = OfflineReason
@property
def IsolateReason(self):
"""隔离原因
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._IsolateReason
@IsolateReason.setter
def IsolateReason(self, IsolateReason):
self._IsolateReason = IsolateReason
@property
def PayType(self):
"""付费类型,包括:postpay(后付费)、prepay(预付费)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._PayType
@PayType.setter
def PayType(self, PayType):
self._PayType = PayType
@property
def BillingType(self):
"""任务计费类型,包括:billing(计费)、notBilling(不计费)、 promotions(促销活动中)
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._BillingType
@BillingType.setter
def BillingType(self, BillingType):
self._BillingType = BillingType
def _deserialize(self, params):
self._DealName = params.get("DealName")
self._LastDealName = params.get("LastDealName")
self._InstanceClass = params.get("InstanceClass")
self._TradeStatus = params.get("TradeStatus")
self._ExpireTime = params.get("ExpireTime")
self._OfflineTime = params.get("OfflineTime")
self._IsolateTime = params.get("IsolateTime")
self._OfflineReason = params.get("OfflineReason")
self._IsolateReason = params.get("IsolateReason")
self._PayType = params.get("PayType")
self._BillingType = params.get("BillingType")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class View(AbstractModel):
"""数据同步view的描述
"""
def __init__(self):
r"""
:param _ViewName: view名
注意:此字段可能返回 null,表示取不到有效值。
:type ViewName: str
:param _NewViewName: 预留字段、目前暂时不支持view的重命名
注意:此字段可能返回 null,表示取不到有效值。
:type NewViewName: str
"""
self._ViewName = None
self._NewViewName = None
@property
def ViewName(self):
"""view名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ViewName
@ViewName.setter
def ViewName(self, ViewName):
self._ViewName = ViewName
@property
def NewViewName(self):
"""预留字段、目前暂时不支持view的重命名
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewViewName
@NewViewName.setter
def NewViewName(self, NewViewName):
self._NewViewName = NewViewName
def _deserialize(self, params):
self._ViewName = params.get("ViewName")
self._NewViewName = params.get("NewViewName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
class ViewItem(AbstractModel):
"""视图对象
"""
def __init__(self):
r"""
:param _ViewName: 视图名称
注意:此字段可能返回 null,表示取不到有效值。
:type ViewName: str
:param _NewViewName: 迁移后的视图名称
注意:此字段可能返回 null,表示取不到有效值。
:type NewViewName: str
"""
self._ViewName = None
self._NewViewName = None
@property
def ViewName(self):
"""视图名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._ViewName
@ViewName.setter
def ViewName(self, ViewName):
self._ViewName = ViewName
@property
def NewViewName(self):
"""迁移后的视图名称
注意:此字段可能返回 null,表示取不到有效值。
:rtype: str
"""
return self._NewViewName
@NewViewName.setter
def NewViewName(self, NewViewName):
self._NewViewName = NewViewName
def _deserialize(self, params):
self._ViewName = params.get("ViewName")
self._NewViewName = params.get("NewViewName")
memeber_set = set(params.keys())
for name, value in vars(self).items():
property_name = name[1:]
if property_name in memeber_set:
memeber_set.remove(property_name)
if len(memeber_set) > 0:
warnings.warn("%s fileds are useless." % ",".join(memeber_set))